Compartir a través de


Grupos de Microsoft.DevOpsInfrastructure

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