Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 |