Compartir a través de


Grupos de Microsoft.DevOpsInfrastructure 2025-01-21

Definición de recurso 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 la API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.DevOpsInfrastructure/pools, añade el siguiente Bicep a tu plantilla.

resource symbolicname 'Microsoft.DevOpsInfrastructure/pools@2025-01-21' = {
  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'
  }
  tags: {
    {customized property}: 'string'
  }
}

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

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 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 OrganizationProfile

Establezca la propiedad kind para especificar el tipo de objeto.

Para AzureDevOps, use:

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

Para GitHub, usa:

{
  kind: 'GitHub'
  organizations: [
    {
      repositories: [
        'string'
      ]
      url: '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
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
kind Propiedad Discriminador para OrganizationProfile. 'AzureDevOps' (obligatorio)
organizations La lista de organizaciones de Azure DevOps en las que debería estar presente el pool. Organización[] (obligatorio)
permissionProfile El tipo de permiso que determina qué cuentas son administradoras en el pool 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 pool 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 El nombre SKU de Azure de las máquinas del pool. 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 La URL de organización de GitHub en la que debe crearse el pool. string (obligatorio)

GitHubOrganizationProfile

Name Description Value
kind Propiedad Discriminador para OrganizationProfile. 'GitHub' (obligatorio)
organizations La lista de organizaciones/repositorios de GitHub en los que debería estar el pool. 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. UserAssignedIdentities

ManualResourcePredictionsProfile

Name Description Value
kind Determina cómo se debe proporcionar el esquema stand-by. 'Manual' (obligatorio)

NetworkProfile

Name Description Value
subnetId Identificador de subred en el que se van a colocar todas las máquinas creadas en el grupo. string (obligatorio)

Organization

Name Description Value
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 La URL de organización de Azure DevOps en la que debe crearse el pool. string (obligatorio)

OrganizationProfile

Name Description Value
kind Establézcalo en "AzureDevOps" para el tipo AzureDevOpsOrganizationProfile. Configura 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'

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)

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 El nombre SKU de Azure de las máquinas del pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

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 El SKU de Azure de las máquinas del pool. DevOpsAzureSku (obligatorio)
storageProfile Perfil de almacenamiento de las máquinas del grupo. StorageProfile

Ejemplos de uso

Azure Verified Modules

Los siguientes módulos verificados Azure pueden usarse para desplegar este tipo de recurso.

Module Description
Pool de Infraestructura 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 la 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-01-21",
  "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"
  },
  "tags": {
    "{customized property}": "string"
  }
}

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

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 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 OrganizationProfile

Establezca la propiedad kind para especificar el tipo de objeto.

Para AzureDevOps, use:

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

Para GitHub, usa:

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

Valores de propiedad

Microsoft.DevOpsInfrastructure/pools

Name Description Value
apiVersion La versión de api '2025-01-21'
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
kind Propiedad Discriminador para OrganizationProfile. 'AzureDevOps' (obligatorio)
organizations La lista de organizaciones de Azure DevOps en las que debería estar presente el pool. Organización[] (obligatorio)
permissionProfile El tipo de permiso que determina qué cuentas son administradoras en el pool 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 pool 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 El nombre SKU de Azure de las máquinas del pool. 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 La URL de organización de GitHub en la que debe crearse el pool. string (obligatorio)

GitHubOrganizationProfile

Name Description Value
kind Propiedad Discriminador para OrganizationProfile. 'GitHub' (obligatorio)
organizations La lista de organizaciones/repositorios de GitHub en los que debería estar el pool. 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. UserAssignedIdentities

ManualResourcePredictionsProfile

Name Description Value
kind Determina cómo se debe proporcionar el esquema stand-by. 'Manual' (obligatorio)

NetworkProfile

Name Description Value
subnetId Identificador de subred en el que se van a colocar todas las máquinas creadas en el grupo. string (obligatorio)

Organization

Name Description Value
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 La URL de organización de Azure DevOps en la que debe crearse el pool. string (obligatorio)

OrganizationProfile

Name Description Value
kind Establézcalo en "AzureDevOps" para el tipo AzureDevOpsOrganizationProfile. Configura 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'

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)

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 El nombre SKU de Azure de las máquinas del pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

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 El SKU de Azure de las máquinas del pool. 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:

  • Grupos de recursos

Para obtener una lista de las propiedades modificadas en cada versión de la 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-01-21"
  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"
    }
  }
}

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

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 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 OrganizationProfile

Establezca la propiedad kind para especificar el tipo de objeto.

Para AzureDevOps, use:

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

Para GitHub, usa:

{
  kind = "GitHub"
  organizations = [
    {
      repositories = [
        "string"
      ]
      url = "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
tags Etiquetas de recursos Diccionario de nombres y valores de etiqueta.
type El tipo de recurso "Microsoft.DevOpsInfrastructure/pools@2025-01-21"

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
kind Propiedad Discriminador para OrganizationProfile. 'AzureDevOps' (obligatorio)
organizations La lista de organizaciones de Azure DevOps en las que debería estar presente el pool. Organización[] (obligatorio)
permissionProfile El tipo de permiso que determina qué cuentas son administradoras en el pool 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 pool 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 El nombre SKU de Azure de las máquinas del pool. 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 La URL de organización de GitHub en la que debe crearse el pool. string (obligatorio)

GitHubOrganizationProfile

Name Description Value
kind Propiedad Discriminador para OrganizationProfile. 'GitHub' (obligatorio)
organizations La lista de organizaciones/repositorios de GitHub en los que debería estar el pool. 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. UserAssignedIdentities

ManualResourcePredictionsProfile

Name Description Value
kind Determina cómo se debe proporcionar el esquema stand-by. 'Manual' (obligatorio)

NetworkProfile

Name Description Value
subnetId Identificador de subred en el que se van a colocar todas las máquinas creadas en el grupo. string (obligatorio)

Organization

Name Description Value
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 La URL de organización de Azure DevOps en la que debe crearse el pool. string (obligatorio)

OrganizationProfile

Name Description Value
kind Establézcalo en "AzureDevOps" para el tipo AzureDevOpsOrganizationProfile. Configura 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'

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)

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 El nombre SKU de Azure de las máquinas del pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

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 El SKU de Azure de las máquinas del pool. DevOpsAzureSku (obligatorio)
storageProfile Perfil de almacenamiento de las máquinas del grupo. StorageProfile

Ejemplos de uso

Azure Verified Modules

Los siguientes módulos verificados Azure pueden usarse para desplegar este tipo de recurso.

Module Description
Ops Módulo de recursos de AVM para grupos de DevOps