Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определение ресурсов 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 |