Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 |