Поделиться через


Пулы Microsoft.DevOpsInfrastructure

Определение ресурсов Bicep

Тип ресурса пулов можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.DevOpsInfrastructure/pools, добавьте следующий Bicep в шаблон.

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

Объекты OrganizationProfile

Задайте свойство kind , чтобы указать тип объекта.

Для AzureDevOps используйте:

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

Для GitHub используйте:

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

Объекты ResourcePredictionsProfile

Задайте свойство kind , чтобы указать тип объекта.

Для автоматического использования используйте:

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

Для ручного использования используйте:

{
  kind: 'Manual'
}

Объекты AgentProfile

Задайте свойство kind , чтобы указать тип объекта.

Для отслеживания состояния используйте:

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

Для лиц без сохранения состояния используйте:

{
  kind: 'Stateless'
}

Объекты FabricProfile

Задайте свойство kind , чтобы указать тип объекта.

Для VMSS используйте:

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

Значения свойств

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Удостоверения управляемой службы, назначенные этому ресурсу. ManagedServiceIdentity
location Географическое расположение, в котором находится ресурс строка (обязательно)
name имя ресурса. string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (обязательно)
properties Свойства, относящиеся к ресурсу, для этого ресурса. PoolProperties
scope Используется при создании ресурса в области, отличной от области развертывания. Задайте для этого свойства символьное имя ресурса, чтобы применить ресурс расширения.
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

AgentProfile

Name Description Value
kind Установите значение "Stateful" для типа Stateful. Установите значение " Stateless" для типа StatelessAgentProfile. 'Stateful'
«Без гражданства» (обязательно)
resourcePredictions Определяет буфер пула или автономные агенты. any
resourcePredictionsProfile Определяет, как предоставляется буфер или автономный агент пула. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Определяет способ предоставления автономной схемы. «Автоматический» (обязательно)
predictionPreference Определяет баланс между затратами и производительностью. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Псевдоним для ссылки на имя пула Azure DevOps. string
kind Дискриминационное свойство для OrganizationProfile. 'AzureDevOps' (обязательно)
organizations Список организаций Azure DevOps, в которые должен присутствовать пул. Организация[] (обязательно)
permissionProfile Тип разрешения, определяющего, какие учетные записи являются администраторами в пуле Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Групповые адреса электронной почты string[]
kind Определяет, кто имеет разрешения администратора в пуле Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (обязательно)
users Адреса электронной почты пользователя string[]

DataDisk

Name Description Value
caching Тип кэширования для дисков данных. Значение по умолчанию для кэширования — readwrite. Сведения о параметрах кэширования см. в статье https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Начальный размер диска в гигабайтах. int
driveLetter Буква диска для пустого диска данных. Если оно не указано, оно будет первым доступным письмом. string
storageAccountType Тип учетной записи хранения, используемый для диска данных. Если опущено, значение по умолчанию — "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Имя SKU Azure для компьютеров в пуле. строка (обязательно)

FabricProfile

Name Description Value
kind Установите значение 'Vmss' для типа VmssFabricProfile. 'Vmss' (обязательно)

GitHubOrganization

Name Description Value
repositories Необязательный список репозиториев, в которых должен быть создан пул. string[]
url URL-адрес организации GitHub, в котором должен быть создан пул. строка (обязательно)

GitHubOrganizationProfile

Name Description Value
kind Дискриминационное свойство для OrganizationProfile. 'GitHub' (обязательно)
organizations Список организаций и репозиториев GitHub, в который должен присутствовать пул. GitHubOrganization[] (обязательно)

ManagedServiceIdentity

Name Description Value
type Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Определяет способ предоставления автономной схемы. «Вручную» (обязательно)

NetworkProfile

Name Description Value
staticIpAddressCount Количество статических общедоступных IP-адресов для исходящих подключений, назначенных пулу. int
subnetId Идентификатор подсети, на котором будут помещены все компьютеры, созданные в пуле. string

Organization

Name Description Value
alias Псевдоним для ссылки на имя пула Azure DevOps. string
openAccess Определяет, должен ли пул иметь открытый доступ ко всем проектам в этой организации. bool
parallelism Сколько компьютеров можно создать в этой организации в максимальной мере из максимального количества компьютеров пула. int
projects Необязательный список проектов, в которых должен быть создан пул. string[]
url URL-адрес организации Azure DevOps, в котором необходимо создать пул. строка (обязательно)

OrganizationProfile

Name Description Value
kind Задайте значение "AzureDevOps" для типа AzureDevOpsOrganizationProfile. Задайте значение GitHub для типа GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (обязательно)

OsProfile

Name Description Value
logonType Определяет, как должна выполняться служба. По умолчанию этот параметр будет иметь значение Service. 'Interactive'
'Service'
secretsManagementSettings Параметры управления секретами компьютеров в пуле. SecretsManagementSettings

PoolImage

Name Description Value
aliases Список псевдонимов для ссылки на изображение. string[]
buffer Процент буфера, выделенного этому изображению. string
ephemeralType Эфемерный тип изображения. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Идентификатор ресурса изображения. string
wellKnownImageName Изображение, используемое из известного набора образов, предоставляемых клиентам. string

PoolProperties

Name Description Value
agentProfile Определяет способ обработки компьютера после выполнения задания. AgentProfile (обязательно)
devCenterProjectResourceId Идентификатор ресурса проекта DevCenter, к которому принадлежит пул. строка (обязательно)
fabricProfile Определяет тип структуры, на который будет работать агент. FabricProfile (обязательно)
maximumConcurrency Определяет, сколько ресурсов можно создавать в любое время. int

Constraints:
Минимальное значение = 1
Максимальное значение = 10000 (обязательно)
organizationProfile Определяет организацию, в которой будет использоваться пул. OrganizationProfile (обязательно)
provisioningState Состояние текущей операции. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeКонфигурация Конфигурация среды выполнения пула. RuntimeConfiguration (Конфигурация Runtime)

ResourcePredictionsProfile

Name Description Value
kind Установите значение "Automatic" для типа AutomaticResourcePredictionsProfile. Установите значение "Manual" для типа ManualResourcePredictionsProfile. 'Automatic'
«Вручную» (обязательно)

RuntimeConfiguration (Конфигурация Runtime)

Name Description Value
workFolder Целевая рабочая папка агента задач на компьютере. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Где хранить сертификаты на компьютере. string
certificateStoreName Имя хранилища сертификатов, используемого на компьютере, в настоящее время поддерживается "My" и "Root". 'My'
'Root'
keyExportable Определяет, следует ли экспортировать ключ сертификатов. bool (обязательно)
observedCertificates Список сертификатов для установки на всех компьютерах в пуле. string[] (обязательно)

Stateful

Name Description Value
gracePeriodTimeSpan Сколько времени компьютер должен храниться вокруг после запуска рабочей нагрузки, когда не существует автономных агентов. Максимальное значение составляет одну неделю. string
kind Дискриминационные свойства для AgentProfile. «С отслеживанием состояния» (обязательно)
maxAgentLifetime Как долго должны храниться компьютеры с отслеживанием состояния. Максимальное значение составляет одну неделю. string

StatelessAgentProfile

Name Description Value
kind Дискриминационные свойства для AgentProfile. «Без гражданства» (обязательно)

StorageProfile

Name Description Value
dataDisks Список пустых дисков данных для подключения. DataDisk[]
osDiskStorageAccountType Имя SKU Azure для компьютеров в пуле. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Образы виртуальных машин в пуле. PoolImage[] (обязательно)
kind Дискриминационное свойство Для FabricProfile. 'Vmss' (обязательно)
networkProfile Сетевой профиль компьютеров в пуле. NetworkProfile
osProfile Профиль ОС компьютеров в пуле. OsProfile
sku Номер SKU Azure для компьютеров в пуле. DevOpsAzureSku (обязательно)
storageProfile Профиль хранения компьютеров в пуле. StorageProfile

Примеры использования

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Module Description
Пул инфраструктуры DevOps Модуль ресурсов AVM для пула инфраструктуры DevOps

Определение ресурса шаблона ARM

Тип ресурса пулов можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.DevOpsInfrastructure/pools, добавьте следующий код JSON в шаблон.

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

Объекты OrganizationProfile

Задайте свойство kind , чтобы указать тип объекта.

Для AzureDevOps используйте:

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

Для GitHub используйте:

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

Объекты ResourcePredictionsProfile

Задайте свойство kind , чтобы указать тип объекта.

Для автоматического использования используйте:

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

Для ручного использования используйте:

{
  "kind": "Manual"
}

Объекты AgentProfile

Задайте свойство kind , чтобы указать тип объекта.

Для отслеживания состояния используйте:

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

Для лиц без сохранения состояния используйте:

{
  "kind": "Stateless"
}

Объекты FabricProfile

Задайте свойство kind , чтобы указать тип объекта.

Для VMSS используйте:

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

Значения свойств

Microsoft.DevOpsInfrastructure/pools

Name Description Value
apiVersion Версия API '2025-09-20'
identity Удостоверения управляемой службы, назначенные этому ресурсу. ManagedServiceIdentity
location Географическое расположение, в котором находится ресурс строка (обязательно)
name имя ресурса. string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (обязательно)
properties Свойства, относящиеся к ресурсу, для этого ресурса. PoolProperties
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
type Тип ресурса 'Microsoft.DevOpsInfrastructure/pools'

AgentProfile

Name Description Value
kind Установите значение "Stateful" для типа Stateful. Установите значение " Stateless" для типа StatelessAgentProfile. 'Stateful'
«Без гражданства» (обязательно)
resourcePredictions Определяет буфер пула или автономные агенты. any
resourcePredictionsProfile Определяет, как предоставляется буфер или автономный агент пула. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Определяет способ предоставления автономной схемы. «Автоматический» (обязательно)
predictionPreference Определяет баланс между затратами и производительностью. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Псевдоним для ссылки на имя пула Azure DevOps. string
kind Дискриминационное свойство для OrganizationProfile. 'AzureDevOps' (обязательно)
organizations Список организаций Azure DevOps, в которые должен присутствовать пул. Организация[] (обязательно)
permissionProfile Тип разрешения, определяющего, какие учетные записи являются администраторами в пуле Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Групповые адреса электронной почты string[]
kind Определяет, кто имеет разрешения администратора в пуле Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (обязательно)
users Адреса электронной почты пользователя string[]

DataDisk

Name Description Value
caching Тип кэширования для дисков данных. Значение по умолчанию для кэширования — readwrite. Сведения о параметрах кэширования см. в статье https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Начальный размер диска в гигабайтах. int
driveLetter Буква диска для пустого диска данных. Если оно не указано, оно будет первым доступным письмом. string
storageAccountType Тип учетной записи хранения, используемый для диска данных. Если опущено, значение по умолчанию — "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Имя SKU Azure для компьютеров в пуле. строка (обязательно)

FabricProfile

Name Description Value
kind Установите значение 'Vmss' для типа VmssFabricProfile. 'Vmss' (обязательно)

GitHubOrganization

Name Description Value
repositories Необязательный список репозиториев, в которых должен быть создан пул. string[]
url URL-адрес организации GitHub, в котором должен быть создан пул. строка (обязательно)

GitHubOrganizationProfile

Name Description Value
kind Дискриминационное свойство для OrganizationProfile. 'GitHub' (обязательно)
organizations Список организаций и репозиториев GitHub, в который должен присутствовать пул. GitHubOrganization[] (обязательно)

ManagedServiceIdentity

Name Description Value
type Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Определяет способ предоставления автономной схемы. «Вручную» (обязательно)

NetworkProfile

Name Description Value
staticIpAddressCount Количество статических общедоступных IP-адресов для исходящих подключений, назначенных пулу. int
subnetId Идентификатор подсети, на котором будут помещены все компьютеры, созданные в пуле. string

Organization

Name Description Value
alias Псевдоним для ссылки на имя пула Azure DevOps. string
openAccess Определяет, должен ли пул иметь открытый доступ ко всем проектам в этой организации. bool
parallelism Сколько компьютеров можно создать в этой организации в максимальной мере из максимального количества компьютеров пула. int
projects Необязательный список проектов, в которых должен быть создан пул. string[]
url URL-адрес организации Azure DevOps, в котором необходимо создать пул. строка (обязательно)

OrganizationProfile

Name Description Value
kind Задайте значение "AzureDevOps" для типа AzureDevOpsOrganizationProfile. Задайте значение GitHub для типа GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (обязательно)

OsProfile

Name Description Value
logonType Определяет, как должна выполняться служба. По умолчанию этот параметр будет иметь значение Service. 'Interactive'
'Service'
secretsManagementSettings Параметры управления секретами компьютеров в пуле. SecretsManagementSettings

PoolImage

Name Description Value
aliases Список псевдонимов для ссылки на изображение. string[]
buffer Процент буфера, выделенного этому изображению. string
ephemeralType Эфемерный тип изображения. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Идентификатор ресурса изображения. string
wellKnownImageName Изображение, используемое из известного набора образов, предоставляемых клиентам. string

PoolProperties

Name Description Value
agentProfile Определяет способ обработки компьютера после выполнения задания. AgentProfile (обязательно)
devCenterProjectResourceId Идентификатор ресурса проекта DevCenter, к которому принадлежит пул. строка (обязательно)
fabricProfile Определяет тип структуры, на который будет работать агент. FabricProfile (обязательно)
maximumConcurrency Определяет, сколько ресурсов можно создавать в любое время. int

Constraints:
Минимальное значение = 1
Максимальное значение = 10000 (обязательно)
organizationProfile Определяет организацию, в которой будет использоваться пул. OrganizationProfile (обязательно)
provisioningState Состояние текущей операции. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeКонфигурация Конфигурация среды выполнения пула. RuntimeConfiguration (Конфигурация Runtime)

ResourcePredictionsProfile

Name Description Value
kind Установите значение "Automatic" для типа AutomaticResourcePredictionsProfile. Установите значение "Manual" для типа ManualResourcePredictionsProfile. 'Automatic'
«Вручную» (обязательно)

RuntimeConfiguration (Конфигурация Runtime)

Name Description Value
workFolder Целевая рабочая папка агента задач на компьютере. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Где хранить сертификаты на компьютере. string
certificateStoreName Имя хранилища сертификатов, используемого на компьютере, в настоящее время поддерживается "My" и "Root". 'My'
'Root'
keyExportable Определяет, следует ли экспортировать ключ сертификатов. bool (обязательно)
observedCertificates Список сертификатов для установки на всех компьютерах в пуле. string[] (обязательно)

Stateful

Name Description Value
gracePeriodTimeSpan Сколько времени компьютер должен храниться вокруг после запуска рабочей нагрузки, когда не существует автономных агентов. Максимальное значение составляет одну неделю. string
kind Дискриминационные свойства для AgentProfile. «С отслеживанием состояния» (обязательно)
maxAgentLifetime Как долго должны храниться компьютеры с отслеживанием состояния. Максимальное значение составляет одну неделю. string

StatelessAgentProfile

Name Description Value
kind Дискриминационные свойства для AgentProfile. «Без гражданства» (обязательно)

StorageProfile

Name Description Value
dataDisks Список пустых дисков данных для подключения. DataDisk[]
osDiskStorageAccountType Имя SKU Azure для компьютеров в пуле. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Образы виртуальных машин в пуле. PoolImage[] (обязательно)
kind Дискриминационное свойство Для FabricProfile. 'Vmss' (обязательно)
networkProfile Сетевой профиль компьютеров в пуле. NetworkProfile
osProfile Профиль ОС компьютеров в пуле. OsProfile
sku Номер SKU Azure для компьютеров в пуле. DevOpsAzureSku (обязательно)
storageProfile Профиль хранения компьютеров в пуле. StorageProfile

Примеры использования

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса пулов можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.DevOpsInfrastructure/pools, добавьте следующий объект Terraform в шаблон.

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

Объекты OrganizationProfile

Задайте свойство kind , чтобы указать тип объекта.

Для AzureDevOps используйте:

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

Для GitHub используйте:

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

Объекты ResourcePredictionsProfile

Задайте свойство kind , чтобы указать тип объекта.

Для автоматического использования используйте:

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

Для ручного использования используйте:

{
  kind = "Manual"
}

Объекты AgentProfile

Задайте свойство kind , чтобы указать тип объекта.

Для отслеживания состояния используйте:

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

Для лиц без сохранения состояния используйте:

{
  kind = "Stateless"
}

Объекты FabricProfile

Задайте свойство kind , чтобы указать тип объекта.

Для VMSS используйте:

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

Значения свойств

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Удостоверения управляемой службы, назначенные этому ресурсу. ManagedServiceIdentity
location Географическое расположение, в котором находится ресурс строка (обязательно)
name имя ресурса. string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (обязательно)
parent_id Идентификатор ресурса для применения этого ресурса расширения. строка (обязательно)
properties Свойства, относящиеся к ресурсу, для этого ресурса. PoolProperties
tags Теги ресурсов Словарь имен и значений тегов.
type Тип ресурса "Microsoft.DevOpsInfrastructure/pools@2025-09-20"

AgentProfile

Name Description Value
kind Установите значение "Stateful" для типа Stateful. Установите значение " Stateless" для типа StatelessAgentProfile. 'Stateful'
«Без гражданства» (обязательно)
resourcePredictions Определяет буфер пула или автономные агенты. any
resourcePredictionsProfile Определяет, как предоставляется буфер или автономный агент пула. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Определяет способ предоставления автономной схемы. «Автоматический» (обязательно)
predictionPreference Определяет баланс между затратами и производительностью. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Псевдоним для ссылки на имя пула Azure DevOps. string
kind Дискриминационное свойство для OrganizationProfile. 'AzureDevOps' (обязательно)
organizations Список организаций Azure DevOps, в которые должен присутствовать пул. Организация[] (обязательно)
permissionProfile Тип разрешения, определяющего, какие учетные записи являются администраторами в пуле Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Групповые адреса электронной почты string[]
kind Определяет, кто имеет разрешения администратора в пуле Azure DevOps. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (обязательно)
users Адреса электронной почты пользователя string[]

DataDisk

Name Description Value
caching Тип кэширования для дисков данных. Значение по умолчанию для кэширования — readwrite. Сведения о параметрах кэширования см. в статье https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Начальный размер диска в гигабайтах. int
driveLetter Буква диска для пустого диска данных. Если оно не указано, оно будет первым доступным письмом. string
storageAccountType Тип учетной записи хранения, используемый для диска данных. Если опущено, значение по умолчанию — "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Имя SKU Azure для компьютеров в пуле. строка (обязательно)

FabricProfile

Name Description Value
kind Установите значение 'Vmss' для типа VmssFabricProfile. 'Vmss' (обязательно)

GitHubOrganization

Name Description Value
repositories Необязательный список репозиториев, в которых должен быть создан пул. string[]
url URL-адрес организации GitHub, в котором должен быть создан пул. строка (обязательно)

GitHubOrganizationProfile

Name Description Value
kind Дискриминационное свойство для OrganizationProfile. 'GitHub' (обязательно)
organizations Список организаций и репозиториев GitHub, в который должен присутствовать пул. GitHubOrganization[] (обязательно)

ManagedServiceIdentity

Name Description Value
type Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Определяет способ предоставления автономной схемы. «Вручную» (обязательно)

NetworkProfile

Name Description Value
staticIpAddressCount Количество статических общедоступных IP-адресов для исходящих подключений, назначенных пулу. int
subnetId Идентификатор подсети, на котором будут помещены все компьютеры, созданные в пуле. string

Organization

Name Description Value
alias Псевдоним для ссылки на имя пула Azure DevOps. string
openAccess Определяет, должен ли пул иметь открытый доступ ко всем проектам в этой организации. bool
parallelism Сколько компьютеров можно создать в этой организации в максимальной мере из максимального количества компьютеров пула. int
projects Необязательный список проектов, в которых должен быть создан пул. string[]
url URL-адрес организации Azure DevOps, в котором необходимо создать пул. строка (обязательно)

OrganizationProfile

Name Description Value
kind Задайте значение "AzureDevOps" для типа AzureDevOpsOrganizationProfile. Задайте значение GitHub для типа GitHubOrganizationProfile. 'AzureDevOps'
'GitHub' (обязательно)

OsProfile

Name Description Value
logonType Определяет, как должна выполняться служба. По умолчанию этот параметр будет иметь значение Service. 'Interactive'
'Service'
secretsManagementSettings Параметры управления секретами компьютеров в пуле. SecretsManagementSettings

PoolImage

Name Description Value
aliases Список псевдонимов для ссылки на изображение. string[]
buffer Процент буфера, выделенного этому изображению. string
ephemeralType Эфемерный тип изображения. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Идентификатор ресурса изображения. string
wellKnownImageName Изображение, используемое из известного набора образов, предоставляемых клиентам. string

PoolProperties

Name Description Value
agentProfile Определяет способ обработки компьютера после выполнения задания. AgentProfile (обязательно)
devCenterProjectResourceId Идентификатор ресурса проекта DevCenter, к которому принадлежит пул. строка (обязательно)
fabricProfile Определяет тип структуры, на который будет работать агент. FabricProfile (обязательно)
maximumConcurrency Определяет, сколько ресурсов можно создавать в любое время. int

Constraints:
Минимальное значение = 1
Максимальное значение = 10000 (обязательно)
organizationProfile Определяет организацию, в которой будет использоваться пул. OrganizationProfile (обязательно)
provisioningState Состояние текущей операции. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeКонфигурация Конфигурация среды выполнения пула. RuntimeConfiguration (Конфигурация Runtime)

ResourcePredictionsProfile

Name Description Value
kind Установите значение "Automatic" для типа AutomaticResourcePredictionsProfile. Установите значение "Manual" для типа ManualResourcePredictionsProfile. 'Automatic'
«Вручную» (обязательно)

RuntimeConfiguration (Конфигурация Runtime)

Name Description Value
workFolder Целевая рабочая папка агента задач на компьютере. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Где хранить сертификаты на компьютере. string
certificateStoreName Имя хранилища сертификатов, используемого на компьютере, в настоящее время поддерживается "My" и "Root". 'My'
'Root'
keyExportable Определяет, следует ли экспортировать ключ сертификатов. bool (обязательно)
observedCertificates Список сертификатов для установки на всех компьютерах в пуле. string[] (обязательно)

Stateful

Name Description Value
gracePeriodTimeSpan Сколько времени компьютер должен храниться вокруг после запуска рабочей нагрузки, когда не существует автономных агентов. Максимальное значение составляет одну неделю. string
kind Дискриминационные свойства для AgentProfile. «С отслеживанием состояния» (обязательно)
maxAgentLifetime Как долго должны храниться компьютеры с отслеживанием состояния. Максимальное значение составляет одну неделю. string

StatelessAgentProfile

Name Description Value
kind Дискриминационные свойства для AgentProfile. «Без гражданства» (обязательно)

StorageProfile

Name Description Value
dataDisks Список пустых дисков данных для подключения. DataDisk[]
osDiskStorageAccountType Имя SKU Azure для компьютеров в пуле. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Образы виртуальных машин в пуле. PoolImage[] (обязательно)
kind Дискриминационное свойство Для FabricProfile. 'Vmss' (обязательно)
networkProfile Сетевой профиль компьютеров в пуле. NetworkProfile
osProfile Профиль ОС компьютеров в пуле. OsProfile
sku Номер SKU Azure для компьютеров в пуле. DevOpsAzureSku (обязательно)
storageProfile Профиль хранения компьютеров в пуле. StorageProfile

Примеры использования

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Module Description
Пулы DevOps Модуль ресурсов AVM для пулов DevOps