Condividi tramite


Pool di Microsoft.DevOpsInfrastructure

Definizione di risorsa Bicep

Il tipo di risorsa pool può essere distribuito con operazioni destinate a:

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato delle risorse

Per creare una risorsa Microsoft.DevOpsInfrastructure/pools, aggiungere il bicep seguente al modello.

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'
  }
}

Oggetti OrganizationProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per AzureDevOps, usare:

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

Per GitHub, usare:

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

Oggetti AgentProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per Stateful, utilizzare:

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

Per gli apolidi, utilizzare:

{
  kind: 'Stateless'
}

Oggetti ResourcePredictionsProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per l'Automatico, utilizzare:

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

Per il manuale, utilizzare:

{
  kind: 'Manual'
}

Oggetti FabricProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per Vmss, utilizzare:

{
  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'
  }
}

Valori delle proprietà

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Identità del servizio gestito assegnate a questa risorsa. ManagedServiceIdentity
location Posizione geografica in cui risiede la risorsa stringa (obbligatorio)
name Nome della risorsa string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obbligatorio)
properties Proprietà specifiche della risorsa. PoolProperties
scopo Usare quando si crea una risorsa in un ambito diverso dall'ambito di distribuzione. Impostare questa proprietà sul nome simbolico di una risorsa per applicare la risorsa di estensione .
tags Tag delle risorse Dizionario di nomi e valori di tag. Vedere tag nei modelli

AgentProfile

Name Description Value
kind Impostare su "Stateful" per il tipo Stateful. Impostare su 'Stateless' per il tipo StatelessAgentProfile. 'Stateful'
"Apolide" (obbligatorio)
resourcePredictions Definisce gli agenti di buffer/stand-by del pool. any
resourcePredictionsProfile Definisce il modo in cui vengono forniti gli agenti buffer/stand-by del pool. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Determina il modo in cui deve essere fornito lo schema stand-by. 'Automatico' (obbligatorio)
predictionPreference Determina l'equilibrio tra costi e prestazioni. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Un alias per fare riferimento al nome del pool di Azure DevOps. string
kind Proprietà discriminatoria per OrganizationProfile. 'AzureDevOps' (obbligatorio)
organizations L'elenco delle organizzazioni di Azure DevOps in cui deve essere presente il pool. Organizzazione[] (richiesto)
permissionProfile Tipo di autorizzazione che determina quali account sono amministratori nel pool di Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Indirizzi di posta elettronica del gruppo string[]
kind Determina chi dispone delle autorizzazioni di amministratore per il pool di Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (obbligatorio)
users Indirizzi di posta elettronica utente string[]

DataDisk

Name Description Value
caching Tipo di memorizzazione nella cache da abilitare per i dischi dati. Il valore predefinito per la memorizzazione nella cache è readwrite. Per informazioni sulle opzioni di memorizzazione nella cache, vedere: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Dimensioni iniziali del disco in gigabyte. int
driveLetter Lettera di unità per il disco dati vuoto. Se non specificato, sarà la prima lettera disponibile. string
storageAccountType Tipo di account di archiviazione da usare per il disco dati. Se omesso, il valore predefinito è "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Nome dello SKU di Azure dei computer nel pool. stringa (obbligatorio)

FabricProfile

Name Description Value
kind Impostare su 'Vmss' per il tipo VmssFabricProfile. 'Vmss' (obbligatorio)

GitHubOrganization

Name Description Value
repositories Elenco facoltativo di repository in cui creare il pool. string[]
url URL dell'organizzazione GitHub in cui deve essere creato il pool. stringa (obbligatorio)

GitHubOrganizationProfile

Name Description Value
kind Proprietà discriminatoria per OrganizationProfile. 'GitHub' (obbligatorio)
organizations L'elenco di organizzazioni/repository GitHub in cui deve essere presente il pool. GitHubOrganization[] (obbligatorio)

ManagedServiceIdentity

Name Description Value
type Tipo di identità del servizio gestito (in cui sono consentiti sia i tipi SystemAssigned che UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Set di identità assegnate dall'utente associate alla risorsa. Le chiavi del dizionario userAssignedIdentities saranno ID risorsa ARM nel formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. I valori del dizionario possono essere oggetti vuoti ({}) nelle richieste. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Determina il modo in cui deve essere fornito lo schema stand-by. 'Manuale' (obbligatorio)

NetworkProfile

Name Description Value
staticIpAddressCount Numero di indirizzi IP pubblici statici per le connessioni in uscita assegnate al pool. int
subnetId ID subnet in cui inserire tutti i computer creati nel pool. string

Organization

Name Description Value
alias Un alias per fare riferimento al nome del pool di Azure DevOps. string
openAccess Determina se il pool deve avere accesso aperto a tutti i progetti dell'organizzazione. bool
parallelism Numero massimo di computer che possono essere creati in questa organizzazione al di fuori della concorrenza massima del pool. int
projects Elenco facoltativo di progetti in cui creare il pool. string[]
url URL dell'organizzazione di Azure DevOps in cui creare il pool. stringa (obbligatorio)

OrganizationProfile

Name Description Value
kind Impostare su 'AzureDevOps' per il tipo AzureDevOpsOrganizationProfile. Impostare su 'GitHub' per il tipo GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obbligatorio)

OsProfile

Name Description Value
logonType Determina la modalità di esecuzione del servizio. Per impostazione predefinita, questa opzione verrà impostata su Servizio. 'Interactive'
'Service'
secretsManagementSettings Impostazioni di gestione dei segreti dei computer nel pool. SecretsManagementSettings

PoolImage

Name Description Value
aliases Elenco di alias per cui fare riferimento all'immagine. string[]
buffer Percentuale del buffer da allocare a questa immagine. string
ephemeralType Tipo temporaneo dell'immagine. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId ID risorsa dell'immagine. string
wellKnownImageName Immagine da usare da un set noto di immagini rese disponibili ai clienti. string

PoolProperties

Name Description Value
agentProfile Definisce la modalità di gestione del computer dopo l'esecuzione di un processo. AgentProfile (obbligatorio)
devCenterProjectResourceId ID risorsa del progetto DevCenter a cui appartiene il pool. stringa (obbligatorio)
fabricProfile Definisce il tipo di infrastruttura in cui verrà eseguito l'agente. FabricProfile (richiesto)
maximumConcurrency Definisce il numero di risorse che è possibile creare in qualsiasi momento. int

Constraints:
Valore minimo = 1
Valore massimo = 10000 (obbligatorio)
organizationProfile Definisce l'organizzazione in cui verrà usato il pool. OrganizationProfile (obbligatorio)
provisioningState Stato dell'operazione corrente. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Configurazione di runtime del pool. Configurazione del runtime

ResourcePredictionsProfile

Name Description Value
kind Impostare su "Automatico" per il tipo AutomaticResourcePredictionsProfile. Impostare su 'Manual' per il tipo ManualResourcePredictionsProfile. 'Automatic'
'Manuale' (obbligatorio)

Configurazione del runtime

Name Description Value
cartella di lavoro Cartella di lavoro di destinazione dell'agente attività nel computer. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Dove archiviare i certificati nel computer. string
certificateStoreName Il nome dell'archivio certificati da usare nel computer, attualmente sono supportati "My" e "Root". 'My'
'Root'
keyExportable Definisce se la chiave dei certificati deve essere esportabile. bool (obbligatorio)
observedCertificates Elenco di certificati da installare in tutti i computer nel pool. string[] (obbligatorio)

Stateful

Name Description Value
gracePeriodTimeSpan Quanto tempo deve essere mantenuto il computer dopo l'esecuzione di un carico di lavoro quando non sono presenti agenti stand-by. Il valore massimo è una settimana. string
kind Proprietà discriminatoria per AgentProfile. 'Stateful' (obbligatorio)
maxAgentLifetime Per quanto tempo devono essere mantenute le macchine con stato. Il valore massimo è una settimana. string

StatelessAgentProfile

Name Description Value
kind Proprietà discriminatoria per AgentProfile. "Apolide" (obbligatorio)

StorageProfile

Name Description Value
dataDisks Elenco di dischi dati vuoti da collegare. DataDisk[]
osDiskStorageAccountType Nome dello SKU di Azure dei computer nel pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Immagini di macchine virtuali dei computer nel pool. PoolImage[] (obbligatorio)
kind Proprietà discriminatoria per FabricProfile. 'Vmss' (obbligatorio)
networkProfile Profilo di rete dei computer nel pool. NetworkProfile
osProfile Profilo del sistema operativo dei computer nel pool. OsProfile
sku SKU di Azure dei computer nel pool. DevOpsAzureSku (obbligatorio)
storageProfile Profilo di archiviazione dei computer nel pool. StorageProfile

Esempi di utilizzo

Moduli verificati di Azure

Per distribuire questo tipo di risorsa, è possibile usare moduli verificati di Azure.

Module Description
Pool di infrastruttura DevOps Modulo di risorse AVM per il pool di infrastruttura DevOps

Definizione di risorsa del modello di Resource Manager

Il tipo di risorsa pool può essere distribuito con operazioni destinate a:

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato delle risorse

Per creare una risorsa Microsoft.DevOpsInfrastructure/pools, aggiungere il codice JSON seguente al modello.

{
  "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"
  }
}

Oggetti OrganizationProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per AzureDevOps, usare:

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

Per GitHub, usare:

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

Oggetti AgentProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per Stateful, utilizzare:

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

Per gli apolidi, utilizzare:

{
  "kind": "Stateless"
}

Oggetti ResourcePredictionsProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per l'Automatico, utilizzare:

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

Per il manuale, utilizzare:

{
  "kind": "Manual"
}

Oggetti FabricProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per Vmss, utilizzare:

{
  "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"
  }
}

Valori delle proprietà

Microsoft.DevOpsInfrastructure/pools

Name Description Value
apiVersion Versione dell'API '2025-09-20'
identity Identità del servizio gestito assegnate a questa risorsa. ManagedServiceIdentity
location Posizione geografica in cui risiede la risorsa stringa (obbligatorio)
name Nome della risorsa string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obbligatorio)
properties Proprietà specifiche della risorsa. PoolProperties
tags Tag delle risorse Dizionario di nomi e valori di tag. Vedere tag nei modelli
type Tipo di risorsa 'Microsoft.DevOpsInfrastructure/pools'

AgentProfile

Name Description Value
kind Impostare su "Stateful" per il tipo Stateful. Impostare su 'Stateless' per il tipo StatelessAgentProfile. 'Stateful'
"Apolide" (obbligatorio)
resourcePredictions Definisce gli agenti di buffer/stand-by del pool. any
resourcePredictionsProfile Definisce il modo in cui vengono forniti gli agenti buffer/stand-by del pool. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Determina il modo in cui deve essere fornito lo schema stand-by. 'Automatico' (obbligatorio)
predictionPreference Determina l'equilibrio tra costi e prestazioni. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Un alias per fare riferimento al nome del pool di Azure DevOps. string
kind Proprietà discriminatoria per OrganizationProfile. 'AzureDevOps' (obbligatorio)
organizations L'elenco delle organizzazioni di Azure DevOps in cui deve essere presente il pool. Organizzazione[] (richiesto)
permissionProfile Tipo di autorizzazione che determina quali account sono amministratori nel pool di Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Indirizzi di posta elettronica del gruppo string[]
kind Determina chi dispone delle autorizzazioni di amministratore per il pool di Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (obbligatorio)
users Indirizzi di posta elettronica utente string[]

DataDisk

Name Description Value
caching Tipo di memorizzazione nella cache da abilitare per i dischi dati. Il valore predefinito per la memorizzazione nella cache è readwrite. Per informazioni sulle opzioni di memorizzazione nella cache, vedere: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Dimensioni iniziali del disco in gigabyte. int
driveLetter Lettera di unità per il disco dati vuoto. Se non specificato, sarà la prima lettera disponibile. string
storageAccountType Tipo di account di archiviazione da usare per il disco dati. Se omesso, il valore predefinito è "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Nome dello SKU di Azure dei computer nel pool. stringa (obbligatorio)

FabricProfile

Name Description Value
kind Impostare su 'Vmss' per il tipo VmssFabricProfile. 'Vmss' (obbligatorio)

GitHubOrganization

Name Description Value
repositories Elenco facoltativo di repository in cui creare il pool. string[]
url URL dell'organizzazione GitHub in cui deve essere creato il pool. stringa (obbligatorio)

GitHubOrganizationProfile

Name Description Value
kind Proprietà discriminatoria per OrganizationProfile. 'GitHub' (obbligatorio)
organizations L'elenco di organizzazioni/repository GitHub in cui deve essere presente il pool. GitHubOrganization[] (obbligatorio)

ManagedServiceIdentity

Name Description Value
type Tipo di identità del servizio gestito (in cui sono consentiti sia i tipi SystemAssigned che UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Set di identità assegnate dall'utente associate alla risorsa. Le chiavi del dizionario userAssignedIdentities saranno ID risorsa ARM nel formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. I valori del dizionario possono essere oggetti vuoti ({}) nelle richieste. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Determina il modo in cui deve essere fornito lo schema stand-by. 'Manuale' (obbligatorio)

NetworkProfile

Name Description Value
staticIpAddressCount Numero di indirizzi IP pubblici statici per le connessioni in uscita assegnate al pool. int
subnetId ID subnet in cui inserire tutti i computer creati nel pool. string

Organization

Name Description Value
alias Un alias per fare riferimento al nome del pool di Azure DevOps. string
openAccess Determina se il pool deve avere accesso aperto a tutti i progetti dell'organizzazione. bool
parallelism Numero massimo di computer che possono essere creati in questa organizzazione al di fuori della concorrenza massima del pool. int
projects Elenco facoltativo di progetti in cui creare il pool. string[]
url URL dell'organizzazione di Azure DevOps in cui creare il pool. stringa (obbligatorio)

OrganizationProfile

Name Description Value
kind Impostare su 'AzureDevOps' per il tipo AzureDevOpsOrganizationProfile. Impostare su 'GitHub' per il tipo GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obbligatorio)

OsProfile

Name Description Value
logonType Determina la modalità di esecuzione del servizio. Per impostazione predefinita, questa opzione verrà impostata su Servizio. 'Interactive'
'Service'
secretsManagementSettings Impostazioni di gestione dei segreti dei computer nel pool. SecretsManagementSettings

PoolImage

Name Description Value
aliases Elenco di alias per cui fare riferimento all'immagine. string[]
buffer Percentuale del buffer da allocare a questa immagine. string
ephemeralType Tipo temporaneo dell'immagine. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId ID risorsa dell'immagine. string
wellKnownImageName Immagine da usare da un set noto di immagini rese disponibili ai clienti. string

PoolProperties

Name Description Value
agentProfile Definisce la modalità di gestione del computer dopo l'esecuzione di un processo. AgentProfile (obbligatorio)
devCenterProjectResourceId ID risorsa del progetto DevCenter a cui appartiene il pool. stringa (obbligatorio)
fabricProfile Definisce il tipo di infrastruttura in cui verrà eseguito l'agente. FabricProfile (richiesto)
maximumConcurrency Definisce il numero di risorse che è possibile creare in qualsiasi momento. int

Constraints:
Valore minimo = 1
Valore massimo = 10000 (obbligatorio)
organizationProfile Definisce l'organizzazione in cui verrà usato il pool. OrganizationProfile (obbligatorio)
provisioningState Stato dell'operazione corrente. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Configurazione di runtime del pool. Configurazione del runtime

ResourcePredictionsProfile

Name Description Value
kind Impostare su "Automatico" per il tipo AutomaticResourcePredictionsProfile. Impostare su 'Manual' per il tipo ManualResourcePredictionsProfile. 'Automatic'
'Manuale' (obbligatorio)

Configurazione del runtime

Name Description Value
cartella di lavoro Cartella di lavoro di destinazione dell'agente attività nel computer. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Dove archiviare i certificati nel computer. string
certificateStoreName Il nome dell'archivio certificati da usare nel computer, attualmente sono supportati "My" e "Root". 'My'
'Root'
keyExportable Definisce se la chiave dei certificati deve essere esportabile. bool (obbligatorio)
observedCertificates Elenco di certificati da installare in tutti i computer nel pool. string[] (obbligatorio)

Stateful

Name Description Value
gracePeriodTimeSpan Quanto tempo deve essere mantenuto il computer dopo l'esecuzione di un carico di lavoro quando non sono presenti agenti stand-by. Il valore massimo è una settimana. string
kind Proprietà discriminatoria per AgentProfile. 'Stateful' (obbligatorio)
maxAgentLifetime Per quanto tempo devono essere mantenute le macchine con stato. Il valore massimo è una settimana. string

StatelessAgentProfile

Name Description Value
kind Proprietà discriminatoria per AgentProfile. "Apolide" (obbligatorio)

StorageProfile

Name Description Value
dataDisks Elenco di dischi dati vuoti da collegare. DataDisk[]
osDiskStorageAccountType Nome dello SKU di Azure dei computer nel pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Immagini di macchine virtuali dei computer nel pool. PoolImage[] (obbligatorio)
kind Proprietà discriminatoria per FabricProfile. 'Vmss' (obbligatorio)
networkProfile Profilo di rete dei computer nel pool. NetworkProfile
osProfile Profilo del sistema operativo dei computer nel pool. OsProfile
sku SKU di Azure dei computer nel pool. DevOpsAzureSku (obbligatorio)
storageProfile Profilo di archiviazione dei computer nel pool. StorageProfile

Esempi di utilizzo

Definizione di risorsa Terraform (provider AzAPI)

Il tipo di risorsa pool può essere distribuito con operazioni destinate a:

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato delle risorse

Per creare una risorsa Microsoft.DevOpsInfrastructure/pools, aggiungere il codice Terraform seguente al modello.

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"
      }
    }
  }
}

Oggetti OrganizationProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per AzureDevOps, usare:

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

Per GitHub, usare:

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

Oggetti AgentProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per Stateful, utilizzare:

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

Per gli apolidi, utilizzare:

{
  kind = "Stateless"
}

Oggetti ResourcePredictionsProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per l'Automatico, utilizzare:

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

Per il manuale, utilizzare:

{
  kind = "Manual"
}

Oggetti FabricProfile

Impostare la proprietà kind per specificare il tipo di oggetto.

Per Vmss, utilizzare:

{
  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"
  }
}

Valori delle proprietà

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Identità del servizio gestito assegnate a questa risorsa. ManagedServiceIdentity
location Posizione geografica in cui risiede la risorsa stringa (obbligatorio)
name Nome della risorsa string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obbligatorio)
parent_id ID della risorsa a cui applicare la risorsa di estensione. stringa (obbligatorio)
properties Proprietà specifiche della risorsa. PoolProperties
tags Tag delle risorse Dizionario di nomi e valori di tag.
type Tipo di risorsa "Microsoft.DevOpsInfrastructure/pools@2025-09-20"

AgentProfile

Name Description Value
kind Impostare su "Stateful" per il tipo Stateful. Impostare su 'Stateless' per il tipo StatelessAgentProfile. 'Stateful'
"Apolide" (obbligatorio)
resourcePredictions Definisce gli agenti di buffer/stand-by del pool. any
resourcePredictionsProfile Definisce il modo in cui vengono forniti gli agenti buffer/stand-by del pool. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Determina il modo in cui deve essere fornito lo schema stand-by. 'Automatico' (obbligatorio)
predictionPreference Determina l'equilibrio tra costi e prestazioni. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Un alias per fare riferimento al nome del pool di Azure DevOps. string
kind Proprietà discriminatoria per OrganizationProfile. 'AzureDevOps' (obbligatorio)
organizations L'elenco delle organizzazioni di Azure DevOps in cui deve essere presente il pool. Organizzazione[] (richiesto)
permissionProfile Tipo di autorizzazione che determina quali account sono amministratori nel pool di Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Indirizzi di posta elettronica del gruppo string[]
kind Determina chi dispone delle autorizzazioni di amministratore per il pool di Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (obbligatorio)
users Indirizzi di posta elettronica utente string[]

DataDisk

Name Description Value
caching Tipo di memorizzazione nella cache da abilitare per i dischi dati. Il valore predefinito per la memorizzazione nella cache è readwrite. Per informazioni sulle opzioni di memorizzazione nella cache, vedere: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Dimensioni iniziali del disco in gigabyte. int
driveLetter Lettera di unità per il disco dati vuoto. Se non specificato, sarà la prima lettera disponibile. string
storageAccountType Tipo di account di archiviazione da usare per il disco dati. Se omesso, il valore predefinito è "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Nome dello SKU di Azure dei computer nel pool. stringa (obbligatorio)

FabricProfile

Name Description Value
kind Impostare su 'Vmss' per il tipo VmssFabricProfile. 'Vmss' (obbligatorio)

GitHubOrganization

Name Description Value
repositories Elenco facoltativo di repository in cui creare il pool. string[]
url URL dell'organizzazione GitHub in cui deve essere creato il pool. stringa (obbligatorio)

GitHubOrganizationProfile

Name Description Value
kind Proprietà discriminatoria per OrganizationProfile. 'GitHub' (obbligatorio)
organizations L'elenco di organizzazioni/repository GitHub in cui deve essere presente il pool. GitHubOrganization[] (obbligatorio)

ManagedServiceIdentity

Name Description Value
type Tipo di identità del servizio gestito (in cui sono consentiti sia i tipi SystemAssigned che UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Set di identità assegnate dall'utente associate alla risorsa. Le chiavi del dizionario userAssignedIdentities saranno ID risorsa ARM nel formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. I valori del dizionario possono essere oggetti vuoti ({}) nelle richieste. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Determina il modo in cui deve essere fornito lo schema stand-by. 'Manuale' (obbligatorio)

NetworkProfile

Name Description Value
staticIpAddressCount Numero di indirizzi IP pubblici statici per le connessioni in uscita assegnate al pool. int
subnetId ID subnet in cui inserire tutti i computer creati nel pool. string

Organization

Name Description Value
alias Un alias per fare riferimento al nome del pool di Azure DevOps. string
openAccess Determina se il pool deve avere accesso aperto a tutti i progetti dell'organizzazione. bool
parallelism Numero massimo di computer che possono essere creati in questa organizzazione al di fuori della concorrenza massima del pool. int
projects Elenco facoltativo di progetti in cui creare il pool. string[]
url URL dell'organizzazione di Azure DevOps in cui creare il pool. stringa (obbligatorio)

OrganizationProfile

Name Description Value
kind Impostare su 'AzureDevOps' per il tipo AzureDevOpsOrganizationProfile. Impostare su 'GitHub' per il tipo GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (obbligatorio)

OsProfile

Name Description Value
logonType Determina la modalità di esecuzione del servizio. Per impostazione predefinita, questa opzione verrà impostata su Servizio. 'Interactive'
'Service'
secretsManagementSettings Impostazioni di gestione dei segreti dei computer nel pool. SecretsManagementSettings

PoolImage

Name Description Value
aliases Elenco di alias per cui fare riferimento all'immagine. string[]
buffer Percentuale del buffer da allocare a questa immagine. string
ephemeralType Tipo temporaneo dell'immagine. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId ID risorsa dell'immagine. string
wellKnownImageName Immagine da usare da un set noto di immagini rese disponibili ai clienti. string

PoolProperties

Name Description Value
agentProfile Definisce la modalità di gestione del computer dopo l'esecuzione di un processo. AgentProfile (obbligatorio)
devCenterProjectResourceId ID risorsa del progetto DevCenter a cui appartiene il pool. stringa (obbligatorio)
fabricProfile Definisce il tipo di infrastruttura in cui verrà eseguito l'agente. FabricProfile (richiesto)
maximumConcurrency Definisce il numero di risorse che è possibile creare in qualsiasi momento. int

Constraints:
Valore minimo = 1
Valore massimo = 10000 (obbligatorio)
organizationProfile Definisce l'organizzazione in cui verrà usato il pool. OrganizationProfile (obbligatorio)
provisioningState Stato dell'operazione corrente. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Configurazione di runtime del pool. Configurazione del runtime

ResourcePredictionsProfile

Name Description Value
kind Impostare su "Automatico" per il tipo AutomaticResourcePredictionsProfile. Impostare su 'Manual' per il tipo ManualResourcePredictionsProfile. 'Automatic'
'Manuale' (obbligatorio)

Configurazione del runtime

Name Description Value
cartella di lavoro Cartella di lavoro di destinazione dell'agente attività nel computer. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Dove archiviare i certificati nel computer. string
certificateStoreName Il nome dell'archivio certificati da usare nel computer, attualmente sono supportati "My" e "Root". 'My'
'Root'
keyExportable Definisce se la chiave dei certificati deve essere esportabile. bool (obbligatorio)
observedCertificates Elenco di certificati da installare in tutti i computer nel pool. string[] (obbligatorio)

Stateful

Name Description Value
gracePeriodTimeSpan Quanto tempo deve essere mantenuto il computer dopo l'esecuzione di un carico di lavoro quando non sono presenti agenti stand-by. Il valore massimo è una settimana. string
kind Proprietà discriminatoria per AgentProfile. 'Stateful' (obbligatorio)
maxAgentLifetime Per quanto tempo devono essere mantenute le macchine con stato. Il valore massimo è una settimana. string

StatelessAgentProfile

Name Description Value
kind Proprietà discriminatoria per AgentProfile. "Apolide" (obbligatorio)

StorageProfile

Name Description Value
dataDisks Elenco di dischi dati vuoti da collegare. DataDisk[]
osDiskStorageAccountType Nome dello SKU di Azure dei computer nel pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Immagini di macchine virtuali dei computer nel pool. PoolImage[] (obbligatorio)
kind Proprietà discriminatoria per FabricProfile. 'Vmss' (obbligatorio)
networkProfile Profilo di rete dei computer nel pool. NetworkProfile
osProfile Profilo del sistema operativo dei computer nel pool. OsProfile
sku SKU di Azure dei computer nel pool. DevOpsAzureSku (obbligatorio)
storageProfile Profilo di archiviazione dei computer nel pool. StorageProfile

Esempi di utilizzo

Moduli verificati di Azure

Per distribuire questo tipo di risorsa, è possibile usare moduli verificati di Azure.

Module Description
Pool DevOps Modulo di risorse AVM per i pool DevOps