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@2025-09-20' = {
  scope: resourceSymbolicName or scope
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    agentProfile: {
      resourcePredictions: any(...)
      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'
    runtimeConfiguration: {
      workFolder: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Objets OrganizationProfile

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

Pour AzureDevOps, utilisez :

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

Pour GitHub, utilisez :

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

Objets AgentProfile

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

Pour Stateful, utilisez :

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

Pour Stateless, utilisez :

{
  kind: 'Stateless'
}

Objets ResourcePredictionsProfile

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

Pour l’automatique, utilisez :

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

Pour le manuel, utilisez :

{
  kind: 'Manual'
}

Objets FabricProfile

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

Pour Vmss, utilisez :

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

Valeurs de propriété

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Identités de service managées affectées à cette ressource. ManagedServiceIdentity
location Emplacement géographique où réside la ressource chaîne (obligatoire)
name Nom de la ressource string

Constraints:
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatoire)
properties Propriétés spécifiques à la ressource pour cette ressource. PoolProperties
portée Utilisez-la lors de la création d’une ressource dans une étendue différente de l’étendue de déploiement. Définissez cette propriété sur le nom symbolique d’une ressource pour appliquer la ressource d’extension .
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

AgentProfile

Name Description Value
kind Défini sur 'Stateful' pour le type Stateful. Défini sur « Stateless » pour le type StatelessAgentProfile. 'Stateful'
« Apatride » (obligatoire)
resourcePredictions Définit les agents de mémoire tampon/stand-by du pool. any
resourcePredictionsProfile Définit la façon dont les agents de mémoire tampon/stand-by du pool sont fournis. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Détermine la façon dont le schéma autonome doit être fourni. 'Automatique' (obligatoire)
predictionPreference Détermine l’équilibre entre les coûts et les performances. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Alias pour référencer le nom du pool Azure DevOps. string
kind Propriété Discriminator pour OrganizationProfile. « AzureDevOps » (obligatoire)
organizations La liste des organisations Azure DevOps dans laquelle le pool doit être présent. Organisation[] (obligatoire)
permissionProfile Type d’autorisation qui détermine quels comptes sont des administrateurs sur le pool Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Adresses e-mail de groupe string[]
kind Détermine qui dispose des autorisations d’administrateur pour le pool Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (obligatoire)
users Adresses e-mail utilisateur string[]

DataDisk

Name Description Value
caching 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. string
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

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

FabricProfile

Name Description Value
kind Définissez la valeur « Vmss » pour le type VmssFabricProfile. 'Vmss' (obligatoire)

GitHubOrganization

Name Description Value
repositories 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

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

ManagedServiceIdentity

Name Description Value
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. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Détermine la façon dont le schéma autonome doit être fourni. 'Manuel' (obligatoire)

NetworkProfile

Name Description Value
staticIpAddressCount Nombre d’adresses IP publiques statiques pour les connexions sortantes affectées au pool. int
subnetId ID de sous-réseau sur lequel placer toutes les machines créées dans le pool. string

Organization

Name Description Value
alias Alias pour référencer le nom du pool Azure DevOps. string
openAccess Détermine si le pool doit avoir un accès ouvert à tous les projets de cette organisation. bool
parallelism Combien de machines peuvent être créées au maximum dans cette organisation hors de la valeur maximaleConcurrency du pool. int
projects 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

Name Description Value
kind Définissez sur « AzureDevOps » pour le type AzureDevOpsOrganizationProfile. Définissez la valeur « GitHub » pour le type GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obligatoire)

OsProfile

Name Description Value
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

Name Description Value
aliases Liste d’alias à référencer l’image par. string[]
buffer Pourcentage de la mémoire tampon à allouer à cette image. string
ephemeralType Type éphémère de l’image. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId ID de ressource de l’image. string
wellKnownImageName Image à utiliser à partir d’un ensemble connu d’images mis à la disposition des clients. string

PoolProperties

Name Description Value
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

Constraints:
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. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Configuration d’exécution du pool. RuntimeConfiguration

ResourcePredictionsProfile

Name Description Value
kind Définissez la valeur « Automatique » pour le type AutomaticResourcePredictionsProfile. Définissez sur 'Manual' pour le type ManualResourcePredictionsProfile. 'Automatic'
'Manuel' (obligatoire)

RuntimeConfiguration

Name Description Value
workFolder Dossier de travail cible de l’agent de tâches sur l’ordinateur. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Où stocker des certificats sur l’ordinateur. string
certificateStoreName Le nom du magasin de certificats à utiliser sur l’ordinateur, actuellement « My » et « Root » sont pris en charge. 'My'
'Root'
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

Name Description Value
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. string
kind Propriété de discrimination pour AgentProfile. 'Stateful' (obligatoire)
maxAgentLifetime Durée pendant laquelle les machines avec état doivent être conservées. Le maximum est d’une semaine. string

StatelessAgentProfile

Name Description Value
kind Propriété de discrimination pour AgentProfile. « Apatride » (obligatoire)

StorageProfile

Name Description Value
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

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Images de machine virtuelle des machines dans le pool. PoolImage[] (obligatoire)
kind 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

Exemples d’utilisation

Modules vérifiés Azure

Les modules vérifiés Azure suivants peuvent être utilisés pour déployer ce type de ressource.

Module Description
Pool d’infrastructures DevOps Module de ressources AVM pour le pool d’infrastructures DevOps

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": "2025-09-20",
  "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",
    "runtimeConfiguration": {
      "workFolder": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Objets OrganizationProfile

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

Pour AzureDevOps, utilisez :

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

Pour GitHub, utilisez :

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

Objets AgentProfile

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

Pour Stateful, utilisez :

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

Pour Stateless, utilisez :

{
  "kind": "Stateless"
}

Objets ResourcePredictionsProfile

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

Pour l’automatique, utilisez :

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

Pour le manuel, utilisez :

{
  "kind": "Manual"
}

Objets FabricProfile

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

Pour Vmss, utilisez :

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

Valeurs de propriété

Microsoft.DevOpsInfrastructure/pools

Name Description Value
apiVersion Version de l’API '2025-09-20'
identity Identités de service managées affectées à cette ressource. ManagedServiceIdentity
location Emplacement géographique où réside la ressource chaîne (obligatoire)
name Nom de la ressource string

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

AgentProfile

Name Description Value
kind Défini sur 'Stateful' pour le type Stateful. Défini sur « Stateless » pour le type StatelessAgentProfile. 'Stateful'
« Apatride » (obligatoire)
resourcePredictions Définit les agents de mémoire tampon/stand-by du pool. any
resourcePredictionsProfile Définit la façon dont les agents de mémoire tampon/stand-by du pool sont fournis. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Détermine la façon dont le schéma autonome doit être fourni. 'Automatique' (obligatoire)
predictionPreference Détermine l’équilibre entre les coûts et les performances. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Alias pour référencer le nom du pool Azure DevOps. string
kind Propriété Discriminator pour OrganizationProfile. « AzureDevOps » (obligatoire)
organizations La liste des organisations Azure DevOps dans laquelle le pool doit être présent. Organisation[] (obligatoire)
permissionProfile Type d’autorisation qui détermine quels comptes sont des administrateurs sur le pool Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Adresses e-mail de groupe string[]
kind Détermine qui dispose des autorisations d’administrateur pour le pool Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (obligatoire)
users Adresses e-mail utilisateur string[]

DataDisk

Name Description Value
caching 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. string
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

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

FabricProfile

Name Description Value
kind Définissez la valeur « Vmss » pour le type VmssFabricProfile. 'Vmss' (obligatoire)

GitHubOrganization

Name Description Value
repositories 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

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

ManagedServiceIdentity

Name Description Value
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. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Détermine la façon dont le schéma autonome doit être fourni. 'Manuel' (obligatoire)

NetworkProfile

Name Description Value
staticIpAddressCount Nombre d’adresses IP publiques statiques pour les connexions sortantes affectées au pool. int
subnetId ID de sous-réseau sur lequel placer toutes les machines créées dans le pool. string

Organization

Name Description Value
alias Alias pour référencer le nom du pool Azure DevOps. string
openAccess Détermine si le pool doit avoir un accès ouvert à tous les projets de cette organisation. bool
parallelism Combien de machines peuvent être créées au maximum dans cette organisation hors de la valeur maximaleConcurrency du pool. int
projects 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

Name Description Value
kind Définissez sur « AzureDevOps » pour le type AzureDevOpsOrganizationProfile. Définissez la valeur « GitHub » pour le type GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obligatoire)

OsProfile

Name Description Value
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

Name Description Value
aliases Liste d’alias à référencer l’image par. string[]
buffer Pourcentage de la mémoire tampon à allouer à cette image. string
ephemeralType Type éphémère de l’image. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId ID de ressource de l’image. string
wellKnownImageName Image à utiliser à partir d’un ensemble connu d’images mis à la disposition des clients. string

PoolProperties

Name Description Value
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

Constraints:
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. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Configuration d’exécution du pool. RuntimeConfiguration

ResourcePredictionsProfile

Name Description Value
kind Définissez la valeur « Automatique » pour le type AutomaticResourcePredictionsProfile. Définissez sur 'Manual' pour le type ManualResourcePredictionsProfile. 'Automatic'
'Manuel' (obligatoire)

RuntimeConfiguration

Name Description Value
workFolder Dossier de travail cible de l’agent de tâches sur l’ordinateur. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Où stocker des certificats sur l’ordinateur. string
certificateStoreName Le nom du magasin de certificats à utiliser sur l’ordinateur, actuellement « My » et « Root » sont pris en charge. 'My'
'Root'
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

Name Description Value
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. string
kind Propriété de discrimination pour AgentProfile. 'Stateful' (obligatoire)
maxAgentLifetime Durée pendant laquelle les machines avec état doivent être conservées. Le maximum est d’une semaine. string

StatelessAgentProfile

Name Description Value
kind Propriété de discrimination pour AgentProfile. « Apatride » (obligatoire)

StorageProfile

Name Description Value
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

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Images de machine virtuelle des machines dans le pool. PoolImage[] (obligatoire)
kind 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

Exemples d’utilisation

Définition de ressource Terraform (fournisseur AzAPI)

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 terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevOpsInfrastructure/pools@2025-09-20"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    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"
      runtimeConfiguration = {
        workFolder = "string"
      }
    }
  }
}

Objets OrganizationProfile

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

Pour AzureDevOps, utilisez :

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

Pour GitHub, utilisez :

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

Objets AgentProfile

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

Pour Stateful, utilisez :

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

Pour Stateless, utilisez :

{
  kind = "Stateless"
}

Objets ResourcePredictionsProfile

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

Pour l’automatique, utilisez :

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

Pour le manuel, utilisez :

{
  kind = "Manual"
}

Objets FabricProfile

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

Pour Vmss, utilisez :

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

Valeurs de propriété

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Identités de service managées affectées à cette ressource. ManagedServiceIdentity
location Emplacement géographique où réside la ressource chaîne (obligatoire)
name Nom de la ressource string

Constraints:
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatoire)
parent_id ID de la ressource à laquelle appliquer cette ressource d’extension. chaîne (obligatoire)
properties Propriétés spécifiques à la ressource pour cette ressource. PoolProperties
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource « Microsoft.DevOpsInfrastructure/pools@2025-09-20 »

AgentProfile

Name Description Value
kind Défini sur 'Stateful' pour le type Stateful. Défini sur « Stateless » pour le type StatelessAgentProfile. 'Stateful'
« Apatride » (obligatoire)
resourcePredictions Définit les agents de mémoire tampon/stand-by du pool. any
resourcePredictionsProfile Définit la façon dont les agents de mémoire tampon/stand-by du pool sont fournis. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Détermine la façon dont le schéma autonome doit être fourni. 'Automatique' (obligatoire)
predictionPreference Détermine l’équilibre entre les coûts et les performances. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Alias pour référencer le nom du pool Azure DevOps. string
kind Propriété Discriminator pour OrganizationProfile. « AzureDevOps » (obligatoire)
organizations La liste des organisations Azure DevOps dans laquelle le pool doit être présent. Organisation[] (obligatoire)
permissionProfile Type d’autorisation qui détermine quels comptes sont des administrateurs sur le pool Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Adresses e-mail de groupe string[]
kind Détermine qui dispose des autorisations d’administrateur pour le pool Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (obligatoire)
users Adresses e-mail utilisateur string[]

DataDisk

Name Description Value
caching 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. string
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

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

FabricProfile

Name Description Value
kind Définissez la valeur « Vmss » pour le type VmssFabricProfile. 'Vmss' (obligatoire)

GitHubOrganization

Name Description Value
repositories 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

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

ManagedServiceIdentity

Name Description Value
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. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Détermine la façon dont le schéma autonome doit être fourni. 'Manuel' (obligatoire)

NetworkProfile

Name Description Value
staticIpAddressCount Nombre d’adresses IP publiques statiques pour les connexions sortantes affectées au pool. int
subnetId ID de sous-réseau sur lequel placer toutes les machines créées dans le pool. string

Organization

Name Description Value
alias Alias pour référencer le nom du pool Azure DevOps. string
openAccess Détermine si le pool doit avoir un accès ouvert à tous les projets de cette organisation. bool
parallelism Combien de machines peuvent être créées au maximum dans cette organisation hors de la valeur maximaleConcurrency du pool. int
projects 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

Name Description Value
kind Définissez sur « AzureDevOps » pour le type AzureDevOpsOrganizationProfile. Définissez la valeur « GitHub » pour le type GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obligatoire)

OsProfile

Name Description Value
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

Name Description Value
aliases Liste d’alias à référencer l’image par. string[]
buffer Pourcentage de la mémoire tampon à allouer à cette image. string
ephemeralType Type éphémère de l’image. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId ID de ressource de l’image. string
wellKnownImageName Image à utiliser à partir d’un ensemble connu d’images mis à la disposition des clients. string

PoolProperties

Name Description Value
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

Constraints:
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. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Configuration d’exécution du pool. RuntimeConfiguration

ResourcePredictionsProfile

Name Description Value
kind Définissez la valeur « Automatique » pour le type AutomaticResourcePredictionsProfile. Définissez sur 'Manual' pour le type ManualResourcePredictionsProfile. 'Automatic'
'Manuel' (obligatoire)

RuntimeConfiguration

Name Description Value
workFolder Dossier de travail cible de l’agent de tâches sur l’ordinateur. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Où stocker des certificats sur l’ordinateur. string
certificateStoreName Le nom du magasin de certificats à utiliser sur l’ordinateur, actuellement « My » et « Root » sont pris en charge. 'My'
'Root'
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

Name Description Value
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. string
kind Propriété de discrimination pour AgentProfile. 'Stateful' (obligatoire)
maxAgentLifetime Durée pendant laquelle les machines avec état doivent être conservées. Le maximum est d’une semaine. string

StatelessAgentProfile

Name Description Value
kind Propriété de discrimination pour AgentProfile. « Apatride » (obligatoire)

StorageProfile

Name Description Value
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

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Images de machine virtuelle des machines dans le pool. PoolImage[] (obligatoire)
kind 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

Exemples d’utilisation

Modules vérifiés Azure

Les modules vérifiés Azure suivants peuvent être utilisés pour déployer ce type de ressource.

Module Description
pools DevOps Module de ressources AVM pour les pools DevOps