Partager via


Pools Microsoft.DevOpsInfrastructure

Définition de ressource Bicep

Le type de ressource pools peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.DevOpsInfrastructure/pools, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.DevOpsInfrastructure/pools@2024-10-19' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    agentProfile: {
      resourcePredictions: any(Azure.Bicep.Types.Concrete.AnyType)
      resourcePredictionsProfile: {
        kind: 'string'
        // For remaining properties, see ResourcePredictionsProfile objects
      }
      kind: 'string'
      // For remaining properties, see AgentProfile objects
    }
    devCenterProjectResourceId: 'string'
    fabricProfile: {
      kind: 'string'
      // For remaining properties, see FabricProfile objects
    }
    maximumConcurrency: int
    organizationProfile: {
      kind: 'string'
      // For remaining properties, see OrganizationProfile objects
    }
    provisioningState: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Objets AgentProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour avec état, utilisez :

{
  gracePeriodTimeSpan: 'string'
  kind: 'Stateful'
  maxAgentLifetime: 'string'
}

Pour sans état, utilisez :

{
  kind: 'Stateless'
}

Objets ResourcePredictionsProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour automatique, utilisez :

{
  kind: 'Automatic'
  predictionPreference: 'string'
}

Pour manuel, utilisez :

{
  kind: 'Manual'
}

Objets FabricProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour machines virtuelles, utilisez :

{
  images: [
    {
      aliases: [
        'string'
      ]
      buffer: 'string'
      resourceId: 'string'
      wellKnownImageName: 'string'
    }
  ]
  kind: 'Vmss'
  networkProfile: {
    subnetId: 'string'
  }
  osProfile: {
    logonType: 'string'
    secretsManagementSettings: {
      certificateStoreLocation: 'string'
      keyExportable: bool
      observedCertificates: [
        'string'
      ]
    }
  }
  sku: {
    name: 'string'
  }
  storageProfile: {
    dataDisks: [
      {
        caching: 'string'
        diskSizeGiB: int
        driveLetter: 'string'
        storageAccountType: 'string'
      }
    ]
    osDiskStorageAccountType: 'string'
  }
}

Objets OrganizationProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour AzureDevOps, utilisez :

{
  kind: 'AzureDevOps'
  organizations: [
    {
      parallelism: int
      projects: [
        'string'
      ]
      url: 'string'
    }
  ]
  permissionProfile: {
    groups: [
      'string'
    ]
    kind: 'string'
    users: [
      'string'
    ]
  }
}

Pour GitHub, utilisez :

{
  kind: 'GitHub'
  organizations: [
    {
      repositories: [
        'string'
      ]
      url: 'string'
    }
  ]
}

Valeurs de propriété

AgentProfile

Nom Description Valeur
gentil Défini sur « Avec état » pour le type avec état . Défini sur « Sans état » pour le type StatelessAgentProfile. 'Avec état'
'Sans état' (obligatoire)
resourcePredictions Définit les agents de mémoire tampon/stand-by du pool. quelconque
resourcePredictionsProfile Définit la façon dont les agents de mémoire tampon/stand-by du pool sont fournis. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Nom Description Valeur
gentil Détermine la façon dont le schéma autonome doit être fourni. 'Automatic' (obligatoire)
predictionPreference Détermine l’équilibre entre les coûts et les performances. 'Équilibré'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Nom Description Valeur
gentil Propriété Discriminator pour OrganizationProfile. 'AzureDevOps' (obligatoire)
Organisations La liste des organisations Azure DevOps dans laquelle le pool doit être présent. Organization[] (obligatoire)
permissionProfile Type d’autorisation qui détermine quels comptes sont des administrateurs sur le pool Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Nom Description Valeur
groupe Adresses e-mail de groupe string[]
gentil Détermine qui dispose des autorisations d’administrateur pour le pool Azure DevOps. 'CreatorOnly'
'Hériter'
'SpecificAccounts' (obligatoire)
Utilisateurs Adresses e-mail utilisateur string[]

DataDisk

Nom Description Valeur
Cache Type de mise en cache à activer pour les disques de données. La valeur par défaut de la mise en cache est readwrite. Pour plus d’informations sur les options de mise en cache, consultez : https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Taille du disque initial en gigaoctets. Int
driveLetter Lettre de lecteur pour le disque de données vide. S’il n’est pas spécifié, il s’agit de la première lettre disponible. corde
storageAccountType Type de compte de stockage à utiliser pour le disque de données. S’il est omis, la valeur par défaut est « standard_lrs ». 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Nom Description Valeur
nom Nom de la référence SKU Azure des machines du pool. chaîne (obligatoire)

FabricProfile

Nom Description Valeur
gentil Défini sur « Vmss » pour le type VmssFabricProfile. 'Vmss' (obligatoire)

GitHubOrganization

Nom Description Valeur
Dépôts Liste facultative des référentiels dans lesquels le pool doit être créé. string[]
URL URL de l’organisation GitHub dans laquelle le pool doit être créé. chaîne (obligatoire)

GitHubOrganizationProfile

Nom Description Valeur
gentil Propriété Discriminator pour OrganizationProfile. 'GitHub' (obligatoire)
Organisations La liste des organisations/référentiels GitHub dans laquelle le pool doit être présent. GitHubOrganization [] (obligatoire)

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

ManualResourcePredictionsProfile

Nom Description Valeur
gentil Détermine la façon dont le schéma autonome doit être fourni. 'Manual' (obligatoire)

Microsoft.DevOpsInfrastructure/pools

Nom Description Valeur
identité Identités de service managées affectées à cette ressource. ManagedServiceIdentity
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
nom Nom de la ressource corde

Contraintes:
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatoire)
Propriétés Propriétés spécifiques à la ressource pour cette ressource. PoolProperties
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

NetworkProfile

Nom Description Valeur
subnetId ID de sous-réseau sur lequel placer toutes les machines créées dans le pool. chaîne (obligatoire)

Organisation

Nom Description Valeur
parallélisme Combien de machines peuvent être créées au maximum dans cette organisation hors de la valeur maximaleConcurrency du pool. Int
Projets Liste facultative des projets dans lesquels le pool doit être créé. string[]
URL URL de l’organisation Azure DevOps dans laquelle le pool doit être créé. chaîne (obligatoire)

OrganizationProfile

Nom Description Valeur
gentil Défini sur « AzureDevOps » pour le type AzureDevOpsOrganizationProfile. Défini sur « GitHub » pour le type GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obligatoire)

OsProfile

Nom Description Valeur
logonType Détermine la façon dont le service doit être exécuté. Par défaut, cette valeur est définie sur Service. 'Interactive'
'Service'
secretsManagementSettings Paramètres de gestion des secrets des machines du pool. SecretsManagementSettings

PoolImage

Nom Description Valeur
Alias Liste d’alias à référencer l’image par. string[]
tampon Pourcentage de la mémoire tampon à allouer à cette image. corde
resourceId ID de ressource de l’image. corde
wellKnownImageName Image à utiliser à partir d’un ensemble connu d’images mis à la disposition des clients. corde

PoolProperties

Nom Description Valeur
agentProfile Définit la façon dont la machine sera gérée une fois qu’elle a exécuté un travail. AgentProfile (obligatoire)
devCenterProjectResourceId ID de ressource du projet DevCenter auquel appartient le pool. chaîne (obligatoire)
fabricProfile Définit le type d’infrastructure sur lequel l’agent s’exécute. FabricProfile (obligatoire)
maximumConcurrency Définit le nombre de ressources qui peuvent être créées à tout moment. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 1 0000 (obligatoire)
organizationProfile Définit l’organisation dans laquelle le pool sera utilisé. OrganizationProfile (obligatoire)
provisioningState État de l’opération actuelle. 'Accepté'
'Annulé'
'Suppression'
'Échec'
'Approvisionnement'
'Réussi'
'Mise à jour'

ResourcePredictionsProfile

Nom Description Valeur
gentil Défini sur « Automatic » pour le type AutomaticResourcePredictionsProfile. Défini sur « Manual » pour le type ManualResourcePredictionsProfile. 'Automatique'
'Manual' (obligatoire)

SecretsManagementSettings

Nom Description Valeur
certificateStoreLocation Où stocker des certificats sur l’ordinateur. corde
keyExportable Définit si la clé des certificats doit être exportable. bool (obligatoire)
observedCertificates Liste des certificats à installer sur tous les ordinateurs du pool. string[] (obligatoire)

Stateful

Nom Description Valeur
gracePeriodTimeSpan Combien de temps la machine doit-elle être conservée après l’exécution d’une charge de travail lorsqu’il n’y a pas d’agents autonomes. Le maximum est d’une semaine. corde
gentil Propriété de discrimination pour AgentProfile. 'Avec état' (obligatoire)
maxAgentLifetime Durée pendant laquelle les machines avec état doivent être conservées. Le maximum est d’une semaine. corde

StatelessAgentProfile

Nom Description Valeur
gentil Propriété de discrimination pour AgentProfile. 'Sans état' (obligatoire)

StorageProfile

Nom Description Valeur
dataDisks Liste des disques de données vides à attacher. DataDisk[]
osDiskStorageAccountType Nom de la référence SKU Azure des machines du pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Nom Description Valeur

UserAssignedIdentities

Nom Description Valeur

UserAssignedIdentity

Nom Description Valeur

VmssFabricProfile

Nom Description Valeur
Images Images de machine virtuelle des machines dans le pool. PoolImage[] (obligatoire)
gentil Propriété discriminator pour FabricProfile. 'Vmss' (obligatoire)
networkProfile Profil réseau des machines du pool. NetworkProfile
osProfile Profil du système d’exploitation des machines du pool. OsProfile
Sku Référence SKU Azure des machines du pool. DevOpsAzureSku (obligatoire)
storageProfile Profil de stockage des machines du pool. StorageProfile

Définition de ressource de modèle ARM

Le type de ressource pools peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.DevOpsInfrastructure/pools, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.DevOpsInfrastructure/pools",
  "apiVersion": "2024-10-19",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "agentProfile": {
      "resourcePredictions": {},
      "resourcePredictionsProfile": {
        "kind": "string"
        // For remaining properties, see ResourcePredictionsProfile objects
      },
      "kind": "string"
      // For remaining properties, see AgentProfile objects
    },
    "devCenterProjectResourceId": "string",
    "fabricProfile": {
      "kind": "string"
      // For remaining properties, see FabricProfile objects
    },
    "maximumConcurrency": "int",
    "organizationProfile": {
      "kind": "string"
      // For remaining properties, see OrganizationProfile objects
    },
    "provisioningState": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Objets AgentProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour avec état, utilisez :

{
  "gracePeriodTimeSpan": "string",
  "kind": "Stateful",
  "maxAgentLifetime": "string"
}

Pour sans état, utilisez :

{
  "kind": "Stateless"
}

Objets ResourcePredictionsProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour automatique, utilisez :

{
  "kind": "Automatic",
  "predictionPreference": "string"
}

Pour manuel, utilisez :

{
  "kind": "Manual"
}

Objets FabricProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour machines virtuelles, utilisez :

{
  "images": [
    {
      "aliases": [ "string" ],
      "buffer": "string",
      "resourceId": "string",
      "wellKnownImageName": "string"
    }
  ],
  "kind": "Vmss",
  "networkProfile": {
    "subnetId": "string"
  },
  "osProfile": {
    "logonType": "string",
    "secretsManagementSettings": {
      "certificateStoreLocation": "string",
      "keyExportable": "bool",
      "observedCertificates": [ "string" ]
    }
  },
  "sku": {
    "name": "string"
  },
  "storageProfile": {
    "dataDisks": [
      {
        "caching": "string",
        "diskSizeGiB": "int",
        "driveLetter": "string",
        "storageAccountType": "string"
      }
    ],
    "osDiskStorageAccountType": "string"
  }
}

Objets OrganizationProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour AzureDevOps, utilisez :

{
  "kind": "AzureDevOps",
  "organizations": [
    {
      "parallelism": "int",
      "projects": [ "string" ],
      "url": "string"
    }
  ],
  "permissionProfile": {
    "groups": [ "string" ],
    "kind": "string",
    "users": [ "string" ]
  }
}

Pour GitHub, utilisez :

{
  "kind": "GitHub",
  "organizations": [
    {
      "repositories": [ "string" ],
      "url": "string"
    }
  ]
}

Valeurs de propriété

AgentProfile

Nom Description Valeur
gentil Défini sur « Avec état » pour le type avec état . Défini sur « Sans état » pour le type StatelessAgentProfile. 'Avec état'
'Sans état' (obligatoire)
resourcePredictions Définit les agents de mémoire tampon/stand-by du pool. quelconque
resourcePredictionsProfile Définit la façon dont les agents de mémoire tampon/stand-by du pool sont fournis. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Nom Description Valeur
gentil Détermine la façon dont le schéma autonome doit être fourni. 'Automatic' (obligatoire)
predictionPreference Détermine l’équilibre entre les coûts et les performances. 'Équilibré'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Nom Description Valeur
gentil Propriété Discriminator pour OrganizationProfile. 'AzureDevOps' (obligatoire)
Organisations La liste des organisations Azure DevOps dans laquelle le pool doit être présent. Organization[] (obligatoire)
permissionProfile Type d’autorisation qui détermine quels comptes sont des administrateurs sur le pool Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Nom Description Valeur
groupe Adresses e-mail de groupe string[]
gentil Détermine qui dispose des autorisations d’administrateur pour le pool Azure DevOps. 'CreatorOnly'
'Hériter'
'SpecificAccounts' (obligatoire)
Utilisateurs Adresses e-mail utilisateur string[]

DataDisk

Nom Description Valeur
Cache Type de mise en cache à activer pour les disques de données. La valeur par défaut de la mise en cache est readwrite. Pour plus d’informations sur les options de mise en cache, consultez : https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Taille du disque initial en gigaoctets. Int
driveLetter Lettre de lecteur pour le disque de données vide. S’il n’est pas spécifié, il s’agit de la première lettre disponible. corde
storageAccountType Type de compte de stockage à utiliser pour le disque de données. S’il est omis, la valeur par défaut est « standard_lrs ». 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Nom Description Valeur
nom Nom de la référence SKU Azure des machines du pool. chaîne (obligatoire)

FabricProfile

Nom Description Valeur
gentil Défini sur « Vmss » pour le type VmssFabricProfile. 'Vmss' (obligatoire)

GitHubOrganization

Nom Description Valeur
Dépôts Liste facultative des référentiels dans lesquels le pool doit être créé. string[]
URL URL de l’organisation GitHub dans laquelle le pool doit être créé. chaîne (obligatoire)

GitHubOrganizationProfile

Nom Description Valeur
gentil Propriété Discriminator pour OrganizationProfile. 'GitHub' (obligatoire)
Organisations La liste des organisations/référentiels GitHub dans laquelle le pool doit être présent. GitHubOrganization [] (obligatoire)

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

ManualResourcePredictionsProfile

Nom Description Valeur
gentil Détermine la façon dont le schéma autonome doit être fourni. 'Manual' (obligatoire)

Microsoft.DevOpsInfrastructure/pools

Nom Description Valeur
apiVersion Version de l’API '2024-10-19'
identité Identités de service managées affectées à cette ressource. ManagedServiceIdentity
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
nom Nom de la ressource corde

Contraintes:
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatoire)
Propriétés Propriétés spécifiques à la ressource pour cette ressource. PoolProperties
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
type Type de ressource 'Microsoft.DevOpsInfrastructure/pools'

NetworkProfile

Nom Description Valeur
subnetId ID de sous-réseau sur lequel placer toutes les machines créées dans le pool. chaîne (obligatoire)

Organisation

Nom Description Valeur
parallélisme Combien de machines peuvent être créées au maximum dans cette organisation hors de la valeur maximaleConcurrency du pool. Int
Projets Liste facultative des projets dans lesquels le pool doit être créé. string[]
URL URL de l’organisation Azure DevOps dans laquelle le pool doit être créé. chaîne (obligatoire)

OrganizationProfile

Nom Description Valeur
gentil Défini sur « AzureDevOps » pour le type AzureDevOpsOrganizationProfile. Défini sur « GitHub » pour le type GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obligatoire)

OsProfile

Nom Description Valeur
logonType Détermine la façon dont le service doit être exécuté. Par défaut, cette valeur est définie sur Service. 'Interactive'
'Service'
secretsManagementSettings Paramètres de gestion des secrets des machines du pool. SecretsManagementSettings

PoolImage

Nom Description Valeur
Alias Liste d’alias à référencer l’image par. string[]
tampon Pourcentage de la mémoire tampon à allouer à cette image. corde
resourceId ID de ressource de l’image. corde
wellKnownImageName Image à utiliser à partir d’un ensemble connu d’images mis à la disposition des clients. corde

PoolProperties

Nom Description Valeur
agentProfile Définit la façon dont la machine sera gérée une fois qu’elle a exécuté un travail. AgentProfile (obligatoire)
devCenterProjectResourceId ID de ressource du projet DevCenter auquel appartient le pool. chaîne (obligatoire)
fabricProfile Définit le type d’infrastructure sur lequel l’agent s’exécute. FabricProfile (obligatoire)
maximumConcurrency Définit le nombre de ressources qui peuvent être créées à tout moment. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 1 0000 (obligatoire)
organizationProfile Définit l’organisation dans laquelle le pool sera utilisé. OrganizationProfile (obligatoire)
provisioningState État de l’opération actuelle. 'Accepté'
'Annulé'
'Suppression'
'Échec'
'Approvisionnement'
'Réussi'
'Mise à jour'

ResourcePredictionsProfile

Nom Description Valeur
gentil Défini sur « Automatic » pour le type AutomaticResourcePredictionsProfile. Défini sur « Manual » pour le type ManualResourcePredictionsProfile. 'Automatique'
'Manual' (obligatoire)

SecretsManagementSettings

Nom Description Valeur
certificateStoreLocation Où stocker des certificats sur l’ordinateur. corde
keyExportable Définit si la clé des certificats doit être exportable. bool (obligatoire)
observedCertificates Liste des certificats à installer sur tous les ordinateurs du pool. string[] (obligatoire)

Stateful

Nom Description Valeur
gracePeriodTimeSpan Combien de temps la machine doit-elle être conservée après l’exécution d’une charge de travail lorsqu’il n’y a pas d’agents autonomes. Le maximum est d’une semaine. corde
gentil Propriété de discrimination pour AgentProfile. 'Avec état' (obligatoire)
maxAgentLifetime Durée pendant laquelle les machines avec état doivent être conservées. Le maximum est d’une semaine. corde

StatelessAgentProfile

Nom Description Valeur
gentil Propriété de discrimination pour AgentProfile. 'Sans état' (obligatoire)

StorageProfile

Nom Description Valeur
dataDisks Liste des disques de données vides à attacher. DataDisk[]
osDiskStorageAccountType Nom de la référence SKU Azure des machines du pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Nom Description Valeur

UserAssignedIdentities

Nom Description Valeur

UserAssignedIdentity

Nom Description Valeur

VmssFabricProfile

Nom Description Valeur
Images Images de machine virtuelle des machines dans le pool. PoolImage[] (obligatoire)
gentil Propriété discriminator pour FabricProfile. 'Vmss' (obligatoire)
networkProfile Profil réseau des machines du pool. NetworkProfile
osProfile Profil du système d’exploitation des machines du pool. OsProfile
Sku Référence SKU Azure des machines du pool. DevOpsAzureSku (obligatoire)
storageProfile Profil de stockage des machines du pool. StorageProfile

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource pools peut être déployé avec des opérations qui ciblent :

  • groupes de ressources

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.DevOpsInfrastructure/pools, ajoutez terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevOpsInfrastructure/pools@2024-10-19"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  body = jsonencode({
    properties = {
      agentProfile = {
        resourcePredictions = ?
        resourcePredictionsProfile = {
          kind = "string"
          // For remaining properties, see ResourcePredictionsProfile objects
        }
        kind = "string"
        // For remaining properties, see AgentProfile objects
      }
      devCenterProjectResourceId = "string"
      fabricProfile = {
        kind = "string"
        // For remaining properties, see FabricProfile objects
      }
      maximumConcurrency = int
      organizationProfile = {
        kind = "string"
        // For remaining properties, see OrganizationProfile objects
      }
      provisioningState = "string"
    }
  })
  tags = {
    {customized property} = "string"
  }
}

Objets AgentProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour avec état, utilisez :

{
  gracePeriodTimeSpan = "string"
  kind = "Stateful"
  maxAgentLifetime = "string"
}

Pour sans état, utilisez :

{
  kind = "Stateless"
}

Objets ResourcePredictionsProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour automatique, utilisez :

{
  kind = "Automatic"
  predictionPreference = "string"
}

Pour manuel, utilisez :

{
  kind = "Manual"
}

Objets FabricProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour machines virtuelles, utilisez :

{
  images = [
    {
      aliases = [
        "string"
      ]
      buffer = "string"
      resourceId = "string"
      wellKnownImageName = "string"
    }
  ]
  kind = "Vmss"
  networkProfile = {
    subnetId = "string"
  }
  osProfile = {
    logonType = "string"
    secretsManagementSettings = {
      certificateStoreLocation = "string"
      keyExportable = bool
      observedCertificates = [
        "string"
      ]
    }
  }
  sku = {
    name = "string"
  }
  storageProfile = {
    dataDisks = [
      {
        caching = "string"
        diskSizeGiB = int
        driveLetter = "string"
        storageAccountType = "string"
      }
    ]
    osDiskStorageAccountType = "string"
  }
}

Objets OrganizationProfile

Définissez le type propriété pour spécifier le type d’objet.

Pour AzureDevOps, utilisez :

{
  kind = "AzureDevOps"
  organizations = [
    {
      parallelism = int
      projects = [
        "string"
      ]
      url = "string"
    }
  ]
  permissionProfile = {
    groups = [
      "string"
    ]
    kind = "string"
    users = [
      "string"
    ]
  }
}

Pour GitHub, utilisez :

{
  kind = "GitHub"
  organizations = [
    {
      repositories = [
        "string"
      ]
      url = "string"
    }
  ]
}

Valeurs de propriété

AgentProfile

Nom Description Valeur
gentil Défini sur « Avec état » pour le type avec état . Défini sur « Sans état » pour le type StatelessAgentProfile. 'Avec état'
'Sans état' (obligatoire)
resourcePredictions Définit les agents de mémoire tampon/stand-by du pool. quelconque
resourcePredictionsProfile Définit la façon dont les agents de mémoire tampon/stand-by du pool sont fournis. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Nom Description Valeur
gentil Détermine la façon dont le schéma autonome doit être fourni. 'Automatic' (obligatoire)
predictionPreference Détermine l’équilibre entre les coûts et les performances. 'Équilibré'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Nom Description Valeur
gentil Propriété Discriminator pour OrganizationProfile. 'AzureDevOps' (obligatoire)
Organisations La liste des organisations Azure DevOps dans laquelle le pool doit être présent. Organization[] (obligatoire)
permissionProfile Type d’autorisation qui détermine quels comptes sont des administrateurs sur le pool Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Nom Description Valeur
groupe Adresses e-mail de groupe string[]
gentil Détermine qui dispose des autorisations d’administrateur pour le pool Azure DevOps. 'CreatorOnly'
'Hériter'
'SpecificAccounts' (obligatoire)
Utilisateurs Adresses e-mail utilisateur string[]

DataDisk

Nom Description Valeur
Cache Type de mise en cache à activer pour les disques de données. La valeur par défaut de la mise en cache est readwrite. Pour plus d’informations sur les options de mise en cache, consultez : https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Taille du disque initial en gigaoctets. Int
driveLetter Lettre de lecteur pour le disque de données vide. S’il n’est pas spécifié, il s’agit de la première lettre disponible. corde
storageAccountType Type de compte de stockage à utiliser pour le disque de données. S’il est omis, la valeur par défaut est « standard_lrs ». 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Nom Description Valeur
nom Nom de la référence SKU Azure des machines du pool. chaîne (obligatoire)

FabricProfile

Nom Description Valeur
gentil Défini sur « Vmss » pour le type VmssFabricProfile. 'Vmss' (obligatoire)

GitHubOrganization

Nom Description Valeur
Dépôts Liste facultative des référentiels dans lesquels le pool doit être créé. string[]
URL URL de l’organisation GitHub dans laquelle le pool doit être créé. chaîne (obligatoire)

GitHubOrganizationProfile

Nom Description Valeur
gentil Propriété Discriminator pour OrganizationProfile. 'GitHub' (obligatoire)
Organisations La liste des organisations/référentiels GitHub dans laquelle le pool doit être présent. GitHubOrganization [] (obligatoire)

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

ManualResourcePredictionsProfile

Nom Description Valeur
gentil Détermine la façon dont le schéma autonome doit être fourni. 'Manual' (obligatoire)

Microsoft.DevOpsInfrastructure/pools

Nom Description Valeur
identité Identités de service managées affectées à cette ressource. ManagedServiceIdentity
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
nom Nom de la ressource corde

Contraintes:
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatoire)
Propriétés Propriétés spécifiques à la ressource pour cette ressource. PoolProperties
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource « Microsoft.DevOpsInfrastructure/pools@2024-10-19 »

NetworkProfile

Nom Description Valeur
subnetId ID de sous-réseau sur lequel placer toutes les machines créées dans le pool. chaîne (obligatoire)

Organisation

Nom Description Valeur
parallélisme Combien de machines peuvent être créées au maximum dans cette organisation hors de la valeur maximaleConcurrency du pool. Int
Projets Liste facultative des projets dans lesquels le pool doit être créé. string[]
URL URL de l’organisation Azure DevOps dans laquelle le pool doit être créé. chaîne (obligatoire)

OrganizationProfile

Nom Description Valeur
gentil Défini sur « AzureDevOps » pour le type AzureDevOpsOrganizationProfile. Défini sur « GitHub » pour le type GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obligatoire)

OsProfile

Nom Description Valeur
logonType Détermine la façon dont le service doit être exécuté. Par défaut, cette valeur est définie sur Service. 'Interactive'
'Service'
secretsManagementSettings Paramètres de gestion des secrets des machines du pool. SecretsManagementSettings

PoolImage

Nom Description Valeur
Alias Liste d’alias à référencer l’image par. string[]
tampon Pourcentage de la mémoire tampon à allouer à cette image. corde
resourceId ID de ressource de l’image. corde
wellKnownImageName Image à utiliser à partir d’un ensemble connu d’images mis à la disposition des clients. corde

PoolProperties

Nom Description Valeur
agentProfile Définit la façon dont la machine sera gérée une fois qu’elle a exécuté un travail. AgentProfile (obligatoire)
devCenterProjectResourceId ID de ressource du projet DevCenter auquel appartient le pool. chaîne (obligatoire)
fabricProfile Définit le type d’infrastructure sur lequel l’agent s’exécute. FabricProfile (obligatoire)
maximumConcurrency Définit le nombre de ressources qui peuvent être créées à tout moment. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 1 0000 (obligatoire)
organizationProfile Définit l’organisation dans laquelle le pool sera utilisé. OrganizationProfile (obligatoire)
provisioningState État de l’opération actuelle. 'Accepté'
'Annulé'
'Suppression'
'Échec'
'Approvisionnement'
'Réussi'
'Mise à jour'

ResourcePredictionsProfile

Nom Description Valeur
gentil Défini sur « Automatic » pour le type AutomaticResourcePredictionsProfile. Défini sur « Manual » pour le type ManualResourcePredictionsProfile. 'Automatique'
'Manual' (obligatoire)

SecretsManagementSettings

Nom Description Valeur
certificateStoreLocation Où stocker des certificats sur l’ordinateur. corde
keyExportable Définit si la clé des certificats doit être exportable. bool (obligatoire)
observedCertificates Liste des certificats à installer sur tous les ordinateurs du pool. string[] (obligatoire)

Stateful

Nom Description Valeur
gracePeriodTimeSpan Combien de temps la machine doit-elle être conservée après l’exécution d’une charge de travail lorsqu’il n’y a pas d’agents autonomes. Le maximum est d’une semaine. corde
gentil Propriété de discrimination pour AgentProfile. 'Avec état' (obligatoire)
maxAgentLifetime Durée pendant laquelle les machines avec état doivent être conservées. Le maximum est d’une semaine. corde

StatelessAgentProfile

Nom Description Valeur
gentil Propriété de discrimination pour AgentProfile. 'Sans état' (obligatoire)

StorageProfile

Nom Description Valeur
dataDisks Liste des disques de données vides à attacher. DataDisk[]
osDiskStorageAccountType Nom de la référence SKU Azure des machines du pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Nom Description Valeur

UserAssignedIdentities

Nom Description Valeur

UserAssignedIdentity

Nom Description Valeur

VmssFabricProfile

Nom Description Valeur
Images Images de machine virtuelle des machines dans le pool. PoolImage[] (obligatoire)
gentil Propriété discriminator pour FabricProfile. 'Vmss' (obligatoire)
networkProfile Profil réseau des machines du pool. NetworkProfile
osProfile Profil du système d’exploitation des machines du pool. OsProfile
Sku Référence SKU Azure des machines du pool. DevOpsAzureSku (obligatoire)
storageProfile Profil de stockage des machines du pool. StorageProfile