Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Definición de recursos de Bicep
El tipo de recurso pools se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.DevOpsInfrastructure/pools, agregue el siguiente bicep a la plantilla.
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'
}
}
Objetos OrganizationProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para AzureDevOps, use:
{
alias: 'string'
kind: 'AzureDevOps'
organizations: [
{
alias: 'string'
openAccess: bool
parallelism: int
projects: [
'string'
]
url: 'string'
}
]
permissionProfile: {
groups: [
'string'
]
kind: 'string'
users: [
'string'
]
}
}
Para GitHub, use:
{
kind: 'GitHub'
organizations: [
{
repositories: [
'string'
]
url: 'string'
}
]
}
Objetos AgentProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Stateful, use:
{
gracePeriodTimeSpan: 'string'
kind: 'Stateful'
maxAgentLifetime: 'string'
}
Para Stateless, use:
{
kind: 'Stateless'
}
Objetos ResourcePredictionsProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Automático, use:
{
kind: 'Automatic'
predictionPreference: 'string'
}
Para Manual, use:
{
kind: 'Manual'
}
Objetos FabricProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Vmss, use:
{
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'
}
}
Valores de propiedad
Microsoft.DevOpsInfrastructure/pools
| Name | Description | Value |
|---|---|---|
| identity | Identidades de servicio administradas asignadas a este recurso. | ManagedServiceIdentity |
| location | Ubicación geográfica donde reside el recurso | string (obligatorio) |
| name | El nombre del recurso | string Constraints: Patrón = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatorio) |
| properties | Propiedades específicas del recurso para este recurso. | PoolProperties |
| scope | Use al crear un recurso en un ámbito diferente del ámbito de implementación. | Establezca esta propiedad en el nombre simbólico de un recurso para aplicar el recurso de extensión . |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
AgentProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Stateful" para el tipo Stateful. Establézcalo en 'Stateless' para el tipo StatelessAgentProfile. | 'Stateful' 'Apátrida' (obligatorio) |
| resourcePredictions | Define los agentes de búfer de grupo o de stand-by. | any |
| resourcePredictionsProfile | Define cómo se proporcionan los agentes de búfer o de espera del grupo. | ResourcePredictionsProfile |
AutomaticResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Determina cómo se debe proporcionar el esquema stand-by. | 'Automático' (obligatorio) |
| predictionPreference | Determina el equilibrio entre el costo y el rendimiento. | 'Balanced' 'BestPerformance' 'MoreCostEffective' 'MorePerformance' 'MostCostEffective' |
AzureDevOpsOrganizationProfile
| Name | Description | Value |
|---|---|---|
| alias | Un alias para hacer referencia al nombre del grupo de Azure DevOps. | string |
| kind | Propiedad Discriminador para OrganizationProfile. | 'AzureDevOps' (obligatorio) |
| organizations | La lista de organizaciones de Azure DevOps en las que debe estar presente el grupo. | Organización[] (obligatorio) |
| permissionProfile | Tipo de permiso que determina qué cuentas son administradores en el grupo de Azure DevOps. | AzureDevOpsPermissionProfile |
AzureDevOpsPermissionProfile
| Name | Description | Value |
|---|---|---|
| groups | Direcciones de correo electrónico de grupo | string[] |
| kind | Determina quién tiene permisos de administrador para el grupo de Azure DevOps. | 'CreatorOnly' 'Inherit' 'SpecificAccounts' (obligatorio) |
| users | Direcciones de correo electrónico de usuario | string[] |
DataDisk
| Name | Description | Value |
|---|---|---|
| caching | Tipo de almacenamiento en caché que se va a habilitar para los discos de datos. El valor predeterminado para el almacenamiento en caché es readwrite. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. | 'None' 'ReadOnly' 'ReadWrite' |
| diskSizeGiB | Tamaño inicial del disco en gigabytes. | int |
| driveLetter | Letra de unidad del disco de datos vacío. Si no se especifica, será la primera letra disponible. | string |
| storageAccountType | Tipo de cuenta de almacenamiento que se va a usar para el disco de datos. Si se omite, el valor predeterminado es "standard_lrs". | 'Premium_LRS' 'Premium_ZRS' 'StandardSSD_LRS' 'StandardSSD_ZRS' 'Standard_LRS' |
DevOpsAzureSku
| Name | Description | Value |
|---|---|---|
| name | Nombre de la SKU de Azure de las máquinas del grupo. | string (obligatorio) |
FabricProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Vmss" para el tipo VmssFabricProfile. | 'Vmss' (obligatorio) |
GitHubOrganization
| Name | Description | Value |
|---|---|---|
| repositories | Lista opcional de repositorios en los que se debe crear el grupo. | string[] |
| url | Dirección URL de la organización de GitHub en la que se debe crear el grupo. | string (obligatorio) |
GitHubOrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | Propiedad Discriminador para OrganizationProfile. | 'GitHub' (obligatorio) |
| organizations | La lista de organizaciones o repositorios de GitHub en los que debe estar presente el grupo. | GitHubOrganization[] (obligatorio) |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obligatorio) |
| userAssignedIdentities | Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManualResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Determina cómo se debe proporcionar el esquema stand-by. | 'Manual' (obligatorio) |
NetworkProfile
| Name | Description | Value |
|---|---|---|
| staticIpAddressCount | El número de direcciones IP públicas estáticas para las conexiones salientes asignadas al grupo. | int |
| subnetId | Identificador de subred en el que se van a colocar todas las máquinas creadas en el grupo. | string |
Organization
| Name | Description | Value |
|---|---|---|
| alias | Un alias para hacer referencia al nombre del grupo de Azure DevOps. | string |
| openAccess | Determina si el grupo debe tener acceso abierto a todos los proyectos de esta organización. | bool |
| parallelism | Número máximo de máquinas que se pueden crear en esta organización fuera de la máxima simultaneidad del grupo. | int |
| projects | Lista opcional de proyectos en los que se debe crear el grupo. | string[] |
| url | Dirección URL de la organización de Azure DevOps en la que se debe crear el grupo. | string (obligatorio) |
OrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "AzureDevOps" para el tipo AzureDevOpsOrganizationProfile. Establézcalo en "GitHub" para el tipo GitHubOrganizationProfile. | 'AzureDevOps' 'GitHub' (obligatorio) |
OsProfile
| Name | Description | Value |
|---|---|---|
| logonType | Determina cómo se debe ejecutar el servicio. De forma predeterminada, se establecerá en Servicio. | 'Interactive' 'Service' |
| secretsManagementSettings | Configuración de administración de secretos de las máquinas del grupo. | SecretsManagementSettings |
PoolImage
| Name | Description | Value |
|---|---|---|
| aliases | Lista de alias por los que hacer referencia a la imagen. | string[] |
| buffer | Porcentaje del búfer que se va a asignar a esta imagen. | string |
| ephemeralType | Tipo efímero de la imagen. | 'Automatic' 'CacheDisk' 'ResourceDisk' |
| resourceId | Identificador de recurso de la imagen. | string |
| wellKnownImageName | Imagen que se va a usar desde un conjunto conocido de imágenes que están disponibles para los clientes. | string |
PoolProperties
| Name | Description | Value |
|---|---|---|
| agentProfile | Define cómo se controlará la máquina una vez que ejecutó un trabajo. | AgentProfile (obligatorio) |
| devCenterProjectResourceId | Identificador de recurso del proyecto de DevCenter al que pertenece el grupo. | string (obligatorio) |
| fabricProfile | Define el tipo de tejido en el que se ejecutará el agente. | FabricProfile (obligatorio) |
| maximumConcurrency | Define el número de recursos que se pueden crear en un momento dado. | int Constraints: Valor mínimo = 1 Valor máximo = 10000 (obligatorio) |
| organizationProfile | Define la organización en la que se usará el grupo. | OrganizationProfile (obligatorio) |
| provisioningState | Estado de la operación actual. | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
| configuración de tiempo de ejecución | La configuración en tiempo de ejecución del grupo. | Configuración en tiempo de ejecución |
ResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Automático" para el tipo AutomaticResourcePredictionsProfile. Establézcalo en "Manual" para el tipo ManualResourcePredictionsProfile. | 'Automatic' 'Manual' (obligatorio) |
Configuración en tiempo de ejecución
| Name | Description | Value |
|---|---|---|
| workFolder | La carpeta de trabajo de destino del agente de tareas en la máquina. | string |
SecretsManagementSettings
| Name | Description | Value |
|---|---|---|
| certificateStoreLocation | Dónde almacenar certificados en la máquina. | string |
| certificateStoreName | Nombre del almacén de certificados que se va a usar en la máquina, actualmente se admiten "My" y "Root". | 'My' 'Root' |
| keyExportable | Define si la clave de los certificados debe ser exportable. | bool (obligatorio) |
| observedCertificates | Lista de certificados que se van a instalar en todas las máquinas del grupo. | string[] (obligatorio) |
Stateful
| Name | Description | Value |
|---|---|---|
| gracePeriodTimeSpan | Cuánto tiempo debe mantenerse la máquina después de ejecutar una carga de trabajo cuando no hay ningún agente independiente. El máximo es una semana. | string |
| kind | Propiedad Discriminador para AgentProfile. | 'Stateful' (obligatorio) |
| maxAgentLifetime | Cuánto tiempo deben mantenerse las máquinas con estado. El máximo es una semana. | string |
StatelessAgentProfile
| Name | Description | Value |
|---|---|---|
| kind | Propiedad Discriminador para AgentProfile. | 'Apátrida' (obligatorio) |
StorageProfile
| Name | Description | Value |
|---|---|---|
| dataDisks | Lista de discos de datos vacíos que se van a conectar. | DataDisk[] |
| osDiskStorageAccountType | Nombre de la SKU de Azure de las máquinas del grupo. | 'Premium' 'Standard' 'StandardSSD' |
TrackedResourceTags
| Name | Description | Value |
|---|
UserAssignedIdentity
| Name | Description | Value |
|---|
VmssFabricProfile
| Name | Description | Value |
|---|---|---|
| images | Imágenes de máquina virtual de las máquinas del grupo. | PoolImage[] (obligatorio) |
| kind | Propiedad Discriminador para FabricProfile. | 'Vmss' (obligatorio) |
| networkProfile | Perfil de red de las máquinas del grupo. | NetworkProfile |
| osProfile | Perfil del sistema operativo de las máquinas del grupo. | OsProfile |
| sku | SKU de Azure de las máquinas del grupo. | DevOpsAzureSku (obligatorio) |
| storageProfile | Perfil de almacenamiento de las máquinas del grupo. | StorageProfile |
Ejemplos de uso
Módulos comprobados de Azure
Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.
| Module | Description |
|---|---|
| Grupo de infraestructura de DevOps | Módulo de recursos de AVM para el grupo de infraestructura de DevOps |
Definición de recursos de plantilla de ARM
El tipo de recurso pools se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.DevOpsInfrastructure/pools, agregue el siguiente JSON a la plantilla.
{
"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"
}
}
Objetos OrganizationProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para AzureDevOps, use:
{
"alias": "string",
"kind": "AzureDevOps",
"organizations": [
{
"alias": "string",
"openAccess": "bool",
"parallelism": "int",
"projects": [ "string" ],
"url": "string"
}
],
"permissionProfile": {
"groups": [ "string" ],
"kind": "string",
"users": [ "string" ]
}
}
Para GitHub, use:
{
"kind": "GitHub",
"organizations": [
{
"repositories": [ "string" ],
"url": "string"
}
]
}
Objetos AgentProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Stateful, use:
{
"gracePeriodTimeSpan": "string",
"kind": "Stateful",
"maxAgentLifetime": "string"
}
Para Stateless, use:
{
"kind": "Stateless"
}
Objetos ResourcePredictionsProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Automático, use:
{
"kind": "Automatic",
"predictionPreference": "string"
}
Para Manual, use:
{
"kind": "Manual"
}
Objetos FabricProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Vmss, use:
{
"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"
}
}
Valores de propiedad
Microsoft.DevOpsInfrastructure/pools
| Name | Description | Value |
|---|---|---|
| apiVersion | La versión de api | '2025-09-20' |
| identity | Identidades de servicio administradas asignadas a este recurso. | ManagedServiceIdentity |
| location | Ubicación geográfica donde reside el recurso | string (obligatorio) |
| name | El nombre del recurso | string Constraints: Patrón = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatorio) |
| properties | Propiedades específicas del recurso para este recurso. | PoolProperties |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
| type | El tipo de recurso | 'Microsoft.DevOpsInfrastructure/pools' |
AgentProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Stateful" para el tipo Stateful. Establézcalo en 'Stateless' para el tipo StatelessAgentProfile. | 'Stateful' 'Apátrida' (obligatorio) |
| resourcePredictions | Define los agentes de búfer de grupo o de stand-by. | any |
| resourcePredictionsProfile | Define cómo se proporcionan los agentes de búfer o de espera del grupo. | ResourcePredictionsProfile |
AutomaticResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Determina cómo se debe proporcionar el esquema stand-by. | 'Automático' (obligatorio) |
| predictionPreference | Determina el equilibrio entre el costo y el rendimiento. | 'Balanced' 'BestPerformance' 'MoreCostEffective' 'MorePerformance' 'MostCostEffective' |
AzureDevOpsOrganizationProfile
| Name | Description | Value |
|---|---|---|
| alias | Un alias para hacer referencia al nombre del grupo de Azure DevOps. | string |
| kind | Propiedad Discriminador para OrganizationProfile. | 'AzureDevOps' (obligatorio) |
| organizations | La lista de organizaciones de Azure DevOps en las que debe estar presente el grupo. | Organización[] (obligatorio) |
| permissionProfile | Tipo de permiso que determina qué cuentas son administradores en el grupo de Azure DevOps. | AzureDevOpsPermissionProfile |
AzureDevOpsPermissionProfile
| Name | Description | Value |
|---|---|---|
| groups | Direcciones de correo electrónico de grupo | string[] |
| kind | Determina quién tiene permisos de administrador para el grupo de Azure DevOps. | 'CreatorOnly' 'Inherit' 'SpecificAccounts' (obligatorio) |
| users | Direcciones de correo electrónico de usuario | string[] |
DataDisk
| Name | Description | Value |
|---|---|---|
| caching | Tipo de almacenamiento en caché que se va a habilitar para los discos de datos. El valor predeterminado para el almacenamiento en caché es readwrite. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. | 'None' 'ReadOnly' 'ReadWrite' |
| diskSizeGiB | Tamaño inicial del disco en gigabytes. | int |
| driveLetter | Letra de unidad del disco de datos vacío. Si no se especifica, será la primera letra disponible. | string |
| storageAccountType | Tipo de cuenta de almacenamiento que se va a usar para el disco de datos. Si se omite, el valor predeterminado es "standard_lrs". | 'Premium_LRS' 'Premium_ZRS' 'StandardSSD_LRS' 'StandardSSD_ZRS' 'Standard_LRS' |
DevOpsAzureSku
| Name | Description | Value |
|---|---|---|
| name | Nombre de la SKU de Azure de las máquinas del grupo. | string (obligatorio) |
FabricProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Vmss" para el tipo VmssFabricProfile. | 'Vmss' (obligatorio) |
GitHubOrganization
| Name | Description | Value |
|---|---|---|
| repositories | Lista opcional de repositorios en los que se debe crear el grupo. | string[] |
| url | Dirección URL de la organización de GitHub en la que se debe crear el grupo. | string (obligatorio) |
GitHubOrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | Propiedad Discriminador para OrganizationProfile. | 'GitHub' (obligatorio) |
| organizations | La lista de organizaciones o repositorios de GitHub en los que debe estar presente el grupo. | GitHubOrganization[] (obligatorio) |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obligatorio) |
| userAssignedIdentities | Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManualResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Determina cómo se debe proporcionar el esquema stand-by. | 'Manual' (obligatorio) |
NetworkProfile
| Name | Description | Value |
|---|---|---|
| staticIpAddressCount | El número de direcciones IP públicas estáticas para las conexiones salientes asignadas al grupo. | int |
| subnetId | Identificador de subred en el que se van a colocar todas las máquinas creadas en el grupo. | string |
Organization
| Name | Description | Value |
|---|---|---|
| alias | Un alias para hacer referencia al nombre del grupo de Azure DevOps. | string |
| openAccess | Determina si el grupo debe tener acceso abierto a todos los proyectos de esta organización. | bool |
| parallelism | Número máximo de máquinas que se pueden crear en esta organización fuera de la máxima simultaneidad del grupo. | int |
| projects | Lista opcional de proyectos en los que se debe crear el grupo. | string[] |
| url | Dirección URL de la organización de Azure DevOps en la que se debe crear el grupo. | string (obligatorio) |
OrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "AzureDevOps" para el tipo AzureDevOpsOrganizationProfile. Establézcalo en "GitHub" para el tipo GitHubOrganizationProfile. | 'AzureDevOps' 'GitHub' (obligatorio) |
OsProfile
| Name | Description | Value |
|---|---|---|
| logonType | Determina cómo se debe ejecutar el servicio. De forma predeterminada, se establecerá en Servicio. | 'Interactive' 'Service' |
| secretsManagementSettings | Configuración de administración de secretos de las máquinas del grupo. | SecretsManagementSettings |
PoolImage
| Name | Description | Value |
|---|---|---|
| aliases | Lista de alias por los que hacer referencia a la imagen. | string[] |
| buffer | Porcentaje del búfer que se va a asignar a esta imagen. | string |
| ephemeralType | Tipo efímero de la imagen. | 'Automatic' 'CacheDisk' 'ResourceDisk' |
| resourceId | Identificador de recurso de la imagen. | string |
| wellKnownImageName | Imagen que se va a usar desde un conjunto conocido de imágenes que están disponibles para los clientes. | string |
PoolProperties
| Name | Description | Value |
|---|---|---|
| agentProfile | Define cómo se controlará la máquina una vez que ejecutó un trabajo. | AgentProfile (obligatorio) |
| devCenterProjectResourceId | Identificador de recurso del proyecto de DevCenter al que pertenece el grupo. | string (obligatorio) |
| fabricProfile | Define el tipo de tejido en el que se ejecutará el agente. | FabricProfile (obligatorio) |
| maximumConcurrency | Define el número de recursos que se pueden crear en un momento dado. | int Constraints: Valor mínimo = 1 Valor máximo = 10000 (obligatorio) |
| organizationProfile | Define la organización en la que se usará el grupo. | OrganizationProfile (obligatorio) |
| provisioningState | Estado de la operación actual. | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
| configuración de tiempo de ejecución | La configuración en tiempo de ejecución del grupo. | Configuración en tiempo de ejecución |
ResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Automático" para el tipo AutomaticResourcePredictionsProfile. Establézcalo en "Manual" para el tipo ManualResourcePredictionsProfile. | 'Automatic' 'Manual' (obligatorio) |
Configuración en tiempo de ejecución
| Name | Description | Value |
|---|---|---|
| workFolder | La carpeta de trabajo de destino del agente de tareas en la máquina. | string |
SecretsManagementSettings
| Name | Description | Value |
|---|---|---|
| certificateStoreLocation | Dónde almacenar certificados en la máquina. | string |
| certificateStoreName | Nombre del almacén de certificados que se va a usar en la máquina, actualmente se admiten "My" y "Root". | 'My' 'Root' |
| keyExportable | Define si la clave de los certificados debe ser exportable. | bool (obligatorio) |
| observedCertificates | Lista de certificados que se van a instalar en todas las máquinas del grupo. | string[] (obligatorio) |
Stateful
| Name | Description | Value |
|---|---|---|
| gracePeriodTimeSpan | Cuánto tiempo debe mantenerse la máquina después de ejecutar una carga de trabajo cuando no hay ningún agente independiente. El máximo es una semana. | string |
| kind | Propiedad Discriminador para AgentProfile. | 'Stateful' (obligatorio) |
| maxAgentLifetime | Cuánto tiempo deben mantenerse las máquinas con estado. El máximo es una semana. | string |
StatelessAgentProfile
| Name | Description | Value |
|---|---|---|
| kind | Propiedad Discriminador para AgentProfile. | 'Apátrida' (obligatorio) |
StorageProfile
| Name | Description | Value |
|---|---|---|
| dataDisks | Lista de discos de datos vacíos que se van a conectar. | DataDisk[] |
| osDiskStorageAccountType | Nombre de la SKU de Azure de las máquinas del grupo. | 'Premium' 'Standard' 'StandardSSD' |
TrackedResourceTags
| Name | Description | Value |
|---|
UserAssignedIdentity
| Name | Description | Value |
|---|
VmssFabricProfile
| Name | Description | Value |
|---|---|---|
| images | Imágenes de máquina virtual de las máquinas del grupo. | PoolImage[] (obligatorio) |
| kind | Propiedad Discriminador para FabricProfile. | 'Vmss' (obligatorio) |
| networkProfile | Perfil de red de las máquinas del grupo. | NetworkProfile |
| osProfile | Perfil del sistema operativo de las máquinas del grupo. | OsProfile |
| sku | SKU de Azure de las máquinas del grupo. | DevOpsAzureSku (obligatorio) |
| storageProfile | Perfil de almacenamiento de las máquinas del grupo. | StorageProfile |
Ejemplos de uso
Definición de recursos de Terraform (proveedor AzAPI)
El tipo de recurso pools se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.DevOpsInfrastructure/pools, agregue el siguiente terraform a la plantilla.
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"
}
}
}
}
Objetos OrganizationProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para AzureDevOps, use:
{
alias = "string"
kind = "AzureDevOps"
organizations = [
{
alias = "string"
openAccess = bool
parallelism = int
projects = [
"string"
]
url = "string"
}
]
permissionProfile = {
groups = [
"string"
]
kind = "string"
users = [
"string"
]
}
}
Para GitHub, use:
{
kind = "GitHub"
organizations = [
{
repositories = [
"string"
]
url = "string"
}
]
}
Objetos AgentProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Stateful, use:
{
gracePeriodTimeSpan = "string"
kind = "Stateful"
maxAgentLifetime = "string"
}
Para Stateless, use:
{
kind = "Stateless"
}
Objetos ResourcePredictionsProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Automático, use:
{
kind = "Automatic"
predictionPreference = "string"
}
Para Manual, use:
{
kind = "Manual"
}
Objetos FabricProfile
Establezca la propiedad kind para especificar el tipo de objeto.
Para Vmss, use:
{
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"
}
}
Valores de propiedad
Microsoft.DevOpsInfrastructure/pools
| Name | Description | Value |
|---|---|---|
| identity | Identidades de servicio administradas asignadas a este recurso. | ManagedServiceIdentity |
| location | Ubicación geográfica donde reside el recurso | string (obligatorio) |
| name | El nombre del recurso | string Constraints: Patrón = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (obligatorio) |
| parent_id | Identificador del recurso al que se va a aplicar este recurso de extensión. | string (obligatorio) |
| properties | Propiedades específicas del recurso para este recurso. | PoolProperties |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. |
| type | El tipo de recurso | "Microsoft.DevOpsInfrastructure/pools@2025-09-20" |
AgentProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Stateful" para el tipo Stateful. Establézcalo en 'Stateless' para el tipo StatelessAgentProfile. | 'Stateful' 'Apátrida' (obligatorio) |
| resourcePredictions | Define los agentes de búfer de grupo o de stand-by. | any |
| resourcePredictionsProfile | Define cómo se proporcionan los agentes de búfer o de espera del grupo. | ResourcePredictionsProfile |
AutomaticResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Determina cómo se debe proporcionar el esquema stand-by. | 'Automático' (obligatorio) |
| predictionPreference | Determina el equilibrio entre el costo y el rendimiento. | 'Balanced' 'BestPerformance' 'MoreCostEffective' 'MorePerformance' 'MostCostEffective' |
AzureDevOpsOrganizationProfile
| Name | Description | Value |
|---|---|---|
| alias | Un alias para hacer referencia al nombre del grupo de Azure DevOps. | string |
| kind | Propiedad Discriminador para OrganizationProfile. | 'AzureDevOps' (obligatorio) |
| organizations | La lista de organizaciones de Azure DevOps en las que debe estar presente el grupo. | Organización[] (obligatorio) |
| permissionProfile | Tipo de permiso que determina qué cuentas son administradores en el grupo de Azure DevOps. | AzureDevOpsPermissionProfile |
AzureDevOpsPermissionProfile
| Name | Description | Value |
|---|---|---|
| groups | Direcciones de correo electrónico de grupo | string[] |
| kind | Determina quién tiene permisos de administrador para el grupo de Azure DevOps. | 'CreatorOnly' 'Inherit' 'SpecificAccounts' (obligatorio) |
| users | Direcciones de correo electrónico de usuario | string[] |
DataDisk
| Name | Description | Value |
|---|---|---|
| caching | Tipo de almacenamiento en caché que se va a habilitar para los discos de datos. El valor predeterminado para el almacenamiento en caché es readwrite. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. | 'None' 'ReadOnly' 'ReadWrite' |
| diskSizeGiB | Tamaño inicial del disco en gigabytes. | int |
| driveLetter | Letra de unidad del disco de datos vacío. Si no se especifica, será la primera letra disponible. | string |
| storageAccountType | Tipo de cuenta de almacenamiento que se va a usar para el disco de datos. Si se omite, el valor predeterminado es "standard_lrs". | 'Premium_LRS' 'Premium_ZRS' 'StandardSSD_LRS' 'StandardSSD_ZRS' 'Standard_LRS' |
DevOpsAzureSku
| Name | Description | Value |
|---|---|---|
| name | Nombre de la SKU de Azure de las máquinas del grupo. | string (obligatorio) |
FabricProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Vmss" para el tipo VmssFabricProfile. | 'Vmss' (obligatorio) |
GitHubOrganization
| Name | Description | Value |
|---|---|---|
| repositories | Lista opcional de repositorios en los que se debe crear el grupo. | string[] |
| url | Dirección URL de la organización de GitHub en la que se debe crear el grupo. | string (obligatorio) |
GitHubOrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | Propiedad Discriminador para OrganizationProfile. | 'GitHub' (obligatorio) |
| organizations | La lista de organizaciones o repositorios de GitHub en los que debe estar presente el grupo. | GitHubOrganization[] (obligatorio) |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obligatorio) |
| userAssignedIdentities | Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManualResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Determina cómo se debe proporcionar el esquema stand-by. | 'Manual' (obligatorio) |
NetworkProfile
| Name | Description | Value |
|---|---|---|
| staticIpAddressCount | El número de direcciones IP públicas estáticas para las conexiones salientes asignadas al grupo. | int |
| subnetId | Identificador de subred en el que se van a colocar todas las máquinas creadas en el grupo. | string |
Organization
| Name | Description | Value |
|---|---|---|
| alias | Un alias para hacer referencia al nombre del grupo de Azure DevOps. | string |
| openAccess | Determina si el grupo debe tener acceso abierto a todos los proyectos de esta organización. | bool |
| parallelism | Número máximo de máquinas que se pueden crear en esta organización fuera de la máxima simultaneidad del grupo. | int |
| projects | Lista opcional de proyectos en los que se debe crear el grupo. | string[] |
| url | Dirección URL de la organización de Azure DevOps en la que se debe crear el grupo. | string (obligatorio) |
OrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "AzureDevOps" para el tipo AzureDevOpsOrganizationProfile. Establézcalo en "GitHub" para el tipo GitHubOrganizationProfile. | 'AzureDevOps' 'GitHub' (obligatorio) |
OsProfile
| Name | Description | Value |
|---|---|---|
| logonType | Determina cómo se debe ejecutar el servicio. De forma predeterminada, se establecerá en Servicio. | 'Interactive' 'Service' |
| secretsManagementSettings | Configuración de administración de secretos de las máquinas del grupo. | SecretsManagementSettings |
PoolImage
| Name | Description | Value |
|---|---|---|
| aliases | Lista de alias por los que hacer referencia a la imagen. | string[] |
| buffer | Porcentaje del búfer que se va a asignar a esta imagen. | string |
| ephemeralType | Tipo efímero de la imagen. | 'Automatic' 'CacheDisk' 'ResourceDisk' |
| resourceId | Identificador de recurso de la imagen. | string |
| wellKnownImageName | Imagen que se va a usar desde un conjunto conocido de imágenes que están disponibles para los clientes. | string |
PoolProperties
| Name | Description | Value |
|---|---|---|
| agentProfile | Define cómo se controlará la máquina una vez que ejecutó un trabajo. | AgentProfile (obligatorio) |
| devCenterProjectResourceId | Identificador de recurso del proyecto de DevCenter al que pertenece el grupo. | string (obligatorio) |
| fabricProfile | Define el tipo de tejido en el que se ejecutará el agente. | FabricProfile (obligatorio) |
| maximumConcurrency | Define el número de recursos que se pueden crear en un momento dado. | int Constraints: Valor mínimo = 1 Valor máximo = 10000 (obligatorio) |
| organizationProfile | Define la organización en la que se usará el grupo. | OrganizationProfile (obligatorio) |
| provisioningState | Estado de la operación actual. | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
| configuración de tiempo de ejecución | La configuración en tiempo de ejecución del grupo. | Configuración en tiempo de ejecución |
ResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | Establézcalo en "Automático" para el tipo AutomaticResourcePredictionsProfile. Establézcalo en "Manual" para el tipo ManualResourcePredictionsProfile. | 'Automatic' 'Manual' (obligatorio) |
Configuración en tiempo de ejecución
| Name | Description | Value |
|---|---|---|
| workFolder | La carpeta de trabajo de destino del agente de tareas en la máquina. | string |
SecretsManagementSettings
| Name | Description | Value |
|---|---|---|
| certificateStoreLocation | Dónde almacenar certificados en la máquina. | string |
| certificateStoreName | Nombre del almacén de certificados que se va a usar en la máquina, actualmente se admiten "My" y "Root". | 'My' 'Root' |
| keyExportable | Define si la clave de los certificados debe ser exportable. | bool (obligatorio) |
| observedCertificates | Lista de certificados que se van a instalar en todas las máquinas del grupo. | string[] (obligatorio) |
Stateful
| Name | Description | Value |
|---|---|---|
| gracePeriodTimeSpan | Cuánto tiempo debe mantenerse la máquina después de ejecutar una carga de trabajo cuando no hay ningún agente independiente. El máximo es una semana. | string |
| kind | Propiedad Discriminador para AgentProfile. | 'Stateful' (obligatorio) |
| maxAgentLifetime | Cuánto tiempo deben mantenerse las máquinas con estado. El máximo es una semana. | string |
StatelessAgentProfile
| Name | Description | Value |
|---|---|---|
| kind | Propiedad Discriminador para AgentProfile. | 'Apátrida' (obligatorio) |
StorageProfile
| Name | Description | Value |
|---|---|---|
| dataDisks | Lista de discos de datos vacíos que se van a conectar. | DataDisk[] |
| osDiskStorageAccountType | Nombre de la SKU de Azure de las máquinas del grupo. | 'Premium' 'Standard' 'StandardSSD' |
TrackedResourceTags
| Name | Description | Value |
|---|
UserAssignedIdentity
| Name | Description | Value |
|---|
VmssFabricProfile
| Name | Description | Value |
|---|---|---|
| images | Imágenes de máquina virtual de las máquinas del grupo. | PoolImage[] (obligatorio) |
| kind | Propiedad Discriminador para FabricProfile. | 'Vmss' (obligatorio) |
| networkProfile | Perfil de red de las máquinas del grupo. | NetworkProfile |
| osProfile | Perfil del sistema operativo de las máquinas del grupo. | OsProfile |
| sku | SKU de Azure de las máquinas del grupo. | DevOpsAzureSku (obligatorio) |
| storageProfile | Perfil de almacenamiento de las máquinas del grupo. | StorageProfile |
Ejemplos de uso
Módulos comprobados de Azure
Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.
| Module | Description |
|---|---|
| Grupos de DevOps | Módulo de recursos de AVM para grupos de DevOps |