你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep资源定义
可以使用目标操作部署池资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
要创建 Microsoft.DevOpsInfrastructure/pools 资源,请将以下 Bicep 添加到你的模板中。
resource symbolicname 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
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'
}
}
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'
}
}
ResourcePredictionsProfile 对象
设置 kind 属性以指定对象的类型。
对于 自动,请使用:
{
kind: 'Automatic'
predictionPreference: 'string'
}
对于 手动,请使用:
{
kind: 'Manual'
}
AgentProfile 对象
设置 kind 属性以指定对象的类型。
对于 有状态,请使用:
{
gracePeriodTimeSpan: 'string'
kind: 'Stateful'
maxAgentLifetime: 'string'
}
对于 无状态,请使用:
{
kind: 'Stateless'
}
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'
}
]
}
属性值
Microsoft.DevOpsInfrastructure/pools
| Name | Description | Value |
|---|---|---|
| 标识 | 分配给此资源的托管服务标识。 | ManagedServiceIdentity |
| 位置 | 资源所在的地理位置 | string (必需) |
| name | 资源名称 | string Constraints: 模式 = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (必需) |
| properties | 此资源的资源特定属性。 | PoolProperties |
| tags | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
AgentProfile
| Name | Description | Value |
|---|---|---|
| kind | 将 Stateful 类型设置为“ Stateful”。 将类型 StatelessAgentProfile 设置为“Stateless”。 | 'Stateful' “无状态”(必需) |
| resourcePredictions | 定义池缓冲/备用代理。 | any |
| resourcePredictionsProfile | 定义如何提供池缓冲/备用代理。 | ResourcePredictionsProfile |
AutomaticResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 确定应如何提供备用方案。 | “自动”(必填) |
| predictionPreference | 确定成本和性能之间的平衡。 | 'Balanced' 'BestPerformance' 'MoreCostEffective' 'MorePerformance' 'MostCostEffective' |
AzureDevOpsOrganizationProfile
| Name | Description | Value |
|---|---|---|
| 别名 | 一个别名用于引用 Azure DevOps 池名。 | 字符串 |
| 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 |
|---|---|---|
| 高速缓存 | 要为数据磁盘启用的缓存类型。 缓存的默认值为 readwrite。 有关缓存选项的信息,请参阅:https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/。 | 'None' 'ReadOnly' 'ReadWrite' |
| diskSizeGiB | 初始磁盘大小(以 GB 为单位)。 | int |
| driveLetter | 空数据磁盘的驱动器号。 如果未指定,它将是第一个可用字母。 | 字符串 |
| storageAccountType | 要用于数据磁盘的存储帐户类型。 如果省略,则默认值为“standard_lrs”。 | 'Premium_LRS' 'Premium_ZRS' 'StandardSSD_LRS' 'StandardSSD_ZRS' 'Standard_LRS' |
DevOpsAzureSku
| Name | Description | Value |
|---|---|---|
| name | 池中机器的Azure SKU名称。 | string (必需) |
FabricProfile
| Name | Description | Value |
|---|---|---|
| kind | 将 VmssFabricProfile 类型设置为“Vmss”。 | 'Vmss'(必填) |
GitHubOrganization
| Name | Description | Value |
|---|---|---|
| repositories | 应在其中创建池的存储库的可选列表。 | string[] |
| url | 创建池的GitHub组织URL。 | string (必需) |
GitHubOrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | OrganizationProfile 的鉴别器属性。 | 'GitHub'(必填) |
| organizations | GitHub 组织/仓库列表应该包含该池。 | GitHubOrganization[](必需) |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| 类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' “UserAssigned”(必需) |
| userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManualResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 确定应如何提供备用方案。 | “手动”(必填) |
NetworkProfile
| Name | Description | Value |
|---|---|---|
| 静态 IpAddressCount | 分配给池的传出连接的静态公共 IP 地址数。 | int |
| subnetId | 要在其中放置池中创建的所有计算机的子网 ID。 | 字符串 |
Organization
| Name | Description | Value |
|---|---|---|
| 别名 | 一个别名用于引用 Azure DevOps 池名。 | 字符串 |
| openAccess | 确定池是否应该对此组织中的所有项目具有开放访问权限。 | bool |
| parallelism | 在此组织中,可以从池的最大并发性中最多创建多少台计算机。 | int |
| projects | 应在其中创建池的项目的可选列表。 | string[] |
| url | Azure DevOps 组织的 URL,池应在此创建。 | string (必需) |
OrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | 对于类型 AzureDevOpsOrganizationProfile,设置为“AzureDevOps”。 将类型设置为“GitHub”,类型为GitHubOrganizationProfile。 | 'AzureDevOps' 'GitHub'(必填) |
OsProfile
| Name | Description | Value |
|---|---|---|
| logonType | 确定服务应如何运行。 默认情况下,此值将设置为“服务”。 | 'Interactive' 'Service' |
| secretsManagementSettings | 池中计算机的机密管理设置。 | SecretsManagementSettings |
PoolImage
| Name | Description | Value |
|---|---|---|
| aliases | 要引用图像的别名列表。 | string[] |
| 缓冲 | 要分配给此映像的缓冲区的百分比。 | 字符串 |
| ephemeralType | 图像的临时类型。 | 'Automatic' 'CacheDisk' 'ResourceDisk' |
| resourceId | 映像的资源 ID。 | 字符串 |
| wellKnownImageName | 要从提供给客户的一组已知映像中使用的映像。 | 字符串 |
PoolProperties
| Name | Description | Value |
|---|---|---|
| agentProfile | 定义执行作业后计算机将如何处理。 | AgentProfile (必需) |
| devCenterProjectResourceId | 池所属的 DevCenter 项目的资源 ID。 | string (必需) |
| fabricProfile | 定义代理将运行的结构类型。 | FabricProfile (必需) |
| maximumConcurrency | 定义在任何给定时间可以创建多少个资源。 | int Constraints: 最小值 = 1 最大值 = 10000 (必需) |
| organizationProfile | 定义将使用池的组织。 | OrganizationProfile (必需) |
| provisioningState | 当前作的状态。 | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
| 运行时配置 | 池的运行时配置。 | 运行时配置 |
ResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 将类型 AutomaticResourcePredictionsProfile 设置为“自动”。 将类型 ManualResourcePredictionsProfile 设置为“手动”。 | 'Automatic' “手动”(必填) |
运行时配置
| Name | Description | Value |
|---|---|---|
| 工作文件夹 | 计算机上任务代理的目标工作文件夹。 | 字符串 |
SecretsManagementSettings
| Name | Description | Value |
|---|---|---|
| certificateStoreLocation | 在计算机上存储证书的位置。 | 字符串 |
| certificateStoreName | 计算机上要使用的证书存储的名称,目前支持“My”和“Root”。 | 'My' 'Root' |
| keyExportable | 定义证书的密钥是否应可导出。 | bool(必填) |
| observedCertificates | 要安装在池中所有计算机上的证书列表。 | string[] (必需) |
Stateful
| Name | Description | Value |
|---|---|---|
| gracePeriodTimeSpan | 当没有备用代理时,计算机在运行工作负荷后应保留多长时间。 最大值为一周。 | 字符串 |
| kind | AgentProfile 的鉴别器属性。 | “有状态”(必填) |
| maxAgentLifetime | 有状态计算机应该保留多长时间。 最大值为一周。 | 字符串 |
StatelessAgentProfile
| Name | Description | Value |
|---|---|---|
| kind | AgentProfile 的鉴别器属性。 | “无状态”(必需) |
StorageProfile
| Name | Description | Value |
|---|---|---|
| dataDisks | 要附加的空数据磁盘的列表。 | DataDisk[] |
| osDiskStorageAccountType | 池中机器的Azure SKU名称。 | 'Premium' 'Standard' 'StandardSSD' |
TrackedResourceTags
| Name | Description | Value |
|---|
UserAssignedIdentity
| Name | Description | Value |
|---|
VmssFabricProfile
| Name | Description | Value |
|---|---|---|
| images | 池中计算机的 VM 映像。 | PoolImage[](必需) |
| kind | FabricProfile 的鉴别器属性。 | 'Vmss'(必填) |
| networkProfile | 池中计算机的网络配置文件。 | NetworkProfile |
| osProfile | 池中计算机的 OS 配置文件。 | OsProfile |
| sku | 池中机器的 Azure SKU。 | DevOpsAzureSku (必需) |
| storageProfile | 池中计算机的存储配置文件。 | StorageProfile |
用法示例
Azure verified modules
以下 Azure 验证模块可用于部署该资源类型。
| Module | Description |
|---|---|
| DevOps 基础设施池 | DevOps 基础结构池的 AVM 资源模块 |
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"
}
}
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"
}
}
ResourcePredictionsProfile 对象
设置 kind 属性以指定对象的类型。
对于 自动,请使用:
{
"kind": "Automatic",
"predictionPreference": "string"
}
对于 手动,请使用:
{
"kind": "Manual"
}
AgentProfile 对象
设置 kind 属性以指定对象的类型。
对于 有状态,请使用:
{
"gracePeriodTimeSpan": "string",
"kind": "Stateful",
"maxAgentLifetime": "string"
}
对于 无状态,请使用:
{
"kind": "Stateless"
}
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"
}
]
}
属性值
Microsoft.DevOpsInfrastructure/pools
| Name | Description | Value |
|---|---|---|
| apiVersion | API 版本 | '2025-09-20' |
| 标识 | 分配给此资源的托管服务标识。 | ManagedServiceIdentity |
| 位置 | 资源所在的地理位置 | string (必需) |
| name | 资源名称 | string Constraints: 模式 = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (必需) |
| properties | 此资源的资源特定属性。 | PoolProperties |
| tags | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
| 类型 | 资源类型 | 'Microsoft.DevOpsInfrastructure/pools' |
AgentProfile
| Name | Description | Value |
|---|---|---|
| kind | 将 Stateful 类型设置为“ Stateful”。 将类型 StatelessAgentProfile 设置为“Stateless”。 | 'Stateful' “无状态”(必需) |
| resourcePredictions | 定义池缓冲/备用代理。 | any |
| resourcePredictionsProfile | 定义如何提供池缓冲/备用代理。 | ResourcePredictionsProfile |
AutomaticResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 确定应如何提供备用方案。 | “自动”(必填) |
| predictionPreference | 确定成本和性能之间的平衡。 | 'Balanced' 'BestPerformance' 'MoreCostEffective' 'MorePerformance' 'MostCostEffective' |
AzureDevOpsOrganizationProfile
| Name | Description | Value |
|---|---|---|
| 别名 | 一个别名用于引用 Azure DevOps 池名。 | 字符串 |
| 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 |
|---|---|---|
| 高速缓存 | 要为数据磁盘启用的缓存类型。 缓存的默认值为 readwrite。 有关缓存选项的信息,请参阅:https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/。 | 'None' 'ReadOnly' 'ReadWrite' |
| diskSizeGiB | 初始磁盘大小(以 GB 为单位)。 | int |
| driveLetter | 空数据磁盘的驱动器号。 如果未指定,它将是第一个可用字母。 | 字符串 |
| storageAccountType | 要用于数据磁盘的存储帐户类型。 如果省略,则默认值为“standard_lrs”。 | 'Premium_LRS' 'Premium_ZRS' 'StandardSSD_LRS' 'StandardSSD_ZRS' 'Standard_LRS' |
DevOpsAzureSku
| Name | Description | Value |
|---|---|---|
| name | 池中机器的Azure SKU名称。 | string (必需) |
FabricProfile
| Name | Description | Value |
|---|---|---|
| kind | 将 VmssFabricProfile 类型设置为“Vmss”。 | 'Vmss'(必填) |
GitHubOrganization
| Name | Description | Value |
|---|---|---|
| repositories | 应在其中创建池的存储库的可选列表。 | string[] |
| url | 创建池的GitHub组织URL。 | string (必需) |
GitHubOrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | OrganizationProfile 的鉴别器属性。 | 'GitHub'(必填) |
| organizations | GitHub 组织/仓库列表应该包含该池。 | GitHubOrganization[](必需) |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| 类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' “UserAssigned”(必需) |
| userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManualResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 确定应如何提供备用方案。 | “手动”(必填) |
NetworkProfile
| Name | Description | Value |
|---|---|---|
| 静态 IpAddressCount | 分配给池的传出连接的静态公共 IP 地址数。 | int |
| subnetId | 要在其中放置池中创建的所有计算机的子网 ID。 | 字符串 |
Organization
| Name | Description | Value |
|---|---|---|
| 别名 | 一个别名用于引用 Azure DevOps 池名。 | 字符串 |
| openAccess | 确定池是否应该对此组织中的所有项目具有开放访问权限。 | bool |
| parallelism | 在此组织中,可以从池的最大并发性中最多创建多少台计算机。 | int |
| projects | 应在其中创建池的项目的可选列表。 | string[] |
| url | Azure DevOps 组织的 URL,池应在此创建。 | string (必需) |
OrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | 对于类型 AzureDevOpsOrganizationProfile,设置为“AzureDevOps”。 将类型设置为“GitHub”,类型为GitHubOrganizationProfile。 | 'AzureDevOps' 'GitHub'(必填) |
OsProfile
| Name | Description | Value |
|---|---|---|
| logonType | 确定服务应如何运行。 默认情况下,此值将设置为“服务”。 | 'Interactive' 'Service' |
| secretsManagementSettings | 池中计算机的机密管理设置。 | SecretsManagementSettings |
PoolImage
| Name | Description | Value |
|---|---|---|
| aliases | 要引用图像的别名列表。 | string[] |
| 缓冲 | 要分配给此映像的缓冲区的百分比。 | 字符串 |
| ephemeralType | 图像的临时类型。 | 'Automatic' 'CacheDisk' 'ResourceDisk' |
| resourceId | 映像的资源 ID。 | 字符串 |
| wellKnownImageName | 要从提供给客户的一组已知映像中使用的映像。 | 字符串 |
PoolProperties
| Name | Description | Value |
|---|---|---|
| agentProfile | 定义执行作业后计算机将如何处理。 | AgentProfile (必需) |
| devCenterProjectResourceId | 池所属的 DevCenter 项目的资源 ID。 | string (必需) |
| fabricProfile | 定义代理将运行的结构类型。 | FabricProfile (必需) |
| maximumConcurrency | 定义在任何给定时间可以创建多少个资源。 | int Constraints: 最小值 = 1 最大值 = 10000 (必需) |
| organizationProfile | 定义将使用池的组织。 | OrganizationProfile (必需) |
| provisioningState | 当前作的状态。 | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
| 运行时配置 | 池的运行时配置。 | 运行时配置 |
ResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 将类型 AutomaticResourcePredictionsProfile 设置为“自动”。 将类型 ManualResourcePredictionsProfile 设置为“手动”。 | 'Automatic' “手动”(必填) |
运行时配置
| Name | Description | Value |
|---|---|---|
| 工作文件夹 | 计算机上任务代理的目标工作文件夹。 | 字符串 |
SecretsManagementSettings
| Name | Description | Value |
|---|---|---|
| certificateStoreLocation | 在计算机上存储证书的位置。 | 字符串 |
| certificateStoreName | 计算机上要使用的证书存储的名称,目前支持“My”和“Root”。 | 'My' 'Root' |
| keyExportable | 定义证书的密钥是否应可导出。 | bool(必填) |
| observedCertificates | 要安装在池中所有计算机上的证书列表。 | string[] (必需) |
Stateful
| Name | Description | Value |
|---|---|---|
| gracePeriodTimeSpan | 当没有备用代理时,计算机在运行工作负荷后应保留多长时间。 最大值为一周。 | 字符串 |
| kind | AgentProfile 的鉴别器属性。 | “有状态”(必填) |
| maxAgentLifetime | 有状态计算机应该保留多长时间。 最大值为一周。 | 字符串 |
StatelessAgentProfile
| Name | Description | Value |
|---|---|---|
| kind | AgentProfile 的鉴别器属性。 | “无状态”(必需) |
StorageProfile
| Name | Description | Value |
|---|---|---|
| dataDisks | 要附加的空数据磁盘的列表。 | DataDisk[] |
| osDiskStorageAccountType | 池中机器的Azure SKU名称。 | 'Premium' 'Standard' 'StandardSSD' |
TrackedResourceTags
| Name | Description | Value |
|---|
UserAssignedIdentity
| Name | Description | Value |
|---|
VmssFabricProfile
| Name | Description | Value |
|---|---|---|
| images | 池中计算机的 VM 映像。 | PoolImage[](必需) |
| kind | FabricProfile 的鉴别器属性。 | 'Vmss'(必填) |
| networkProfile | 池中计算机的网络配置文件。 | NetworkProfile |
| osProfile | 池中计算机的 OS 配置文件。 | OsProfile |
| sku | 池中机器的 Azure SKU。 | 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"
}
}
}
}
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"
}
}
ResourcePredictionsProfile 对象
设置 kind 属性以指定对象的类型。
对于 自动,请使用:
{
kind = "Automatic"
predictionPreference = "string"
}
对于 手动,请使用:
{
kind = "Manual"
}
AgentProfile 对象
设置 kind 属性以指定对象的类型。
对于 有状态,请使用:
{
gracePeriodTimeSpan = "string"
kind = "Stateful"
maxAgentLifetime = "string"
}
对于 无状态,请使用:
{
kind = "Stateless"
}
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"
}
]
}
属性值
Microsoft.DevOpsInfrastructure/pools
| Name | Description | Value |
|---|---|---|
| 标识 | 分配给此资源的托管服务标识。 | ManagedServiceIdentity |
| 位置 | 资源所在的地理位置 | string (必需) |
| name | 资源名称 | string Constraints: 模式 = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (必需) |
| properties | 此资源的资源特定属性。 | PoolProperties |
| tags | 资源标记 | 标记名称和值的字典。 |
| 类型 | 资源类型 | “Microsoft.DevOpsInfrastructure/pools@2025-09-20” |
AgentProfile
| Name | Description | Value |
|---|---|---|
| kind | 将 Stateful 类型设置为“ Stateful”。 将类型 StatelessAgentProfile 设置为“Stateless”。 | 'Stateful' “无状态”(必需) |
| resourcePredictions | 定义池缓冲/备用代理。 | any |
| resourcePredictionsProfile | 定义如何提供池缓冲/备用代理。 | ResourcePredictionsProfile |
AutomaticResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 确定应如何提供备用方案。 | “自动”(必填) |
| predictionPreference | 确定成本和性能之间的平衡。 | 'Balanced' 'BestPerformance' 'MoreCostEffective' 'MorePerformance' 'MostCostEffective' |
AzureDevOpsOrganizationProfile
| Name | Description | Value |
|---|---|---|
| 别名 | 一个别名用于引用 Azure DevOps 池名。 | 字符串 |
| 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 |
|---|---|---|
| 高速缓存 | 要为数据磁盘启用的缓存类型。 缓存的默认值为 readwrite。 有关缓存选项的信息,请参阅:https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/。 | 'None' 'ReadOnly' 'ReadWrite' |
| diskSizeGiB | 初始磁盘大小(以 GB 为单位)。 | int |
| driveLetter | 空数据磁盘的驱动器号。 如果未指定,它将是第一个可用字母。 | 字符串 |
| storageAccountType | 要用于数据磁盘的存储帐户类型。 如果省略,则默认值为“standard_lrs”。 | 'Premium_LRS' 'Premium_ZRS' 'StandardSSD_LRS' 'StandardSSD_ZRS' 'Standard_LRS' |
DevOpsAzureSku
| Name | Description | Value |
|---|---|---|
| name | 池中机器的Azure SKU名称。 | string (必需) |
FabricProfile
| Name | Description | Value |
|---|---|---|
| kind | 将 VmssFabricProfile 类型设置为“Vmss”。 | 'Vmss'(必填) |
GitHubOrganization
| Name | Description | Value |
|---|---|---|
| repositories | 应在其中创建池的存储库的可选列表。 | string[] |
| url | 创建池的GitHub组织URL。 | string (必需) |
GitHubOrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | OrganizationProfile 的鉴别器属性。 | 'GitHub'(必填) |
| organizations | GitHub 组织/仓库列表应该包含该池。 | GitHubOrganization[](必需) |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| 类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' “UserAssigned”(必需) |
| userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | ManagedServiceIdentityUserAssignedIdentities |
ManagedServiceIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManualResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 确定应如何提供备用方案。 | “手动”(必填) |
NetworkProfile
| Name | Description | Value |
|---|---|---|
| 静态 IpAddressCount | 分配给池的传出连接的静态公共 IP 地址数。 | int |
| subnetId | 要在其中放置池中创建的所有计算机的子网 ID。 | 字符串 |
Organization
| Name | Description | Value |
|---|---|---|
| 别名 | 一个别名用于引用 Azure DevOps 池名。 | 字符串 |
| openAccess | 确定池是否应该对此组织中的所有项目具有开放访问权限。 | bool |
| parallelism | 在此组织中,可以从池的最大并发性中最多创建多少台计算机。 | int |
| projects | 应在其中创建池的项目的可选列表。 | string[] |
| url | Azure DevOps 组织的 URL,池应在此创建。 | string (必需) |
OrganizationProfile
| Name | Description | Value |
|---|---|---|
| kind | 对于类型 AzureDevOpsOrganizationProfile,设置为“AzureDevOps”。 将类型设置为“GitHub”,类型为GitHubOrganizationProfile。 | 'AzureDevOps' 'GitHub'(必填) |
OsProfile
| Name | Description | Value |
|---|---|---|
| logonType | 确定服务应如何运行。 默认情况下,此值将设置为“服务”。 | 'Interactive' 'Service' |
| secretsManagementSettings | 池中计算机的机密管理设置。 | SecretsManagementSettings |
PoolImage
| Name | Description | Value |
|---|---|---|
| aliases | 要引用图像的别名列表。 | string[] |
| 缓冲 | 要分配给此映像的缓冲区的百分比。 | 字符串 |
| ephemeralType | 图像的临时类型。 | 'Automatic' 'CacheDisk' 'ResourceDisk' |
| resourceId | 映像的资源 ID。 | 字符串 |
| wellKnownImageName | 要从提供给客户的一组已知映像中使用的映像。 | 字符串 |
PoolProperties
| Name | Description | Value |
|---|---|---|
| agentProfile | 定义执行作业后计算机将如何处理。 | AgentProfile (必需) |
| devCenterProjectResourceId | 池所属的 DevCenter 项目的资源 ID。 | string (必需) |
| fabricProfile | 定义代理将运行的结构类型。 | FabricProfile (必需) |
| maximumConcurrency | 定义在任何给定时间可以创建多少个资源。 | int Constraints: 最小值 = 1 最大值 = 10000 (必需) |
| organizationProfile | 定义将使用池的组织。 | OrganizationProfile (必需) |
| provisioningState | 当前作的状态。 | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
| 运行时配置 | 池的运行时配置。 | 运行时配置 |
ResourcePredictionsProfile
| Name | Description | Value |
|---|---|---|
| kind | 将类型 AutomaticResourcePredictionsProfile 设置为“自动”。 将类型 ManualResourcePredictionsProfile 设置为“手动”。 | 'Automatic' “手动”(必填) |
运行时配置
| Name | Description | Value |
|---|---|---|
| 工作文件夹 | 计算机上任务代理的目标工作文件夹。 | 字符串 |
SecretsManagementSettings
| Name | Description | Value |
|---|---|---|
| certificateStoreLocation | 在计算机上存储证书的位置。 | 字符串 |
| certificateStoreName | 计算机上要使用的证书存储的名称,目前支持“My”和“Root”。 | 'My' 'Root' |
| keyExportable | 定义证书的密钥是否应可导出。 | bool(必填) |
| observedCertificates | 要安装在池中所有计算机上的证书列表。 | string[] (必需) |
Stateful
| Name | Description | Value |
|---|---|---|
| gracePeriodTimeSpan | 当没有备用代理时,计算机在运行工作负荷后应保留多长时间。 最大值为一周。 | 字符串 |
| kind | AgentProfile 的鉴别器属性。 | “有状态”(必填) |
| maxAgentLifetime | 有状态计算机应该保留多长时间。 最大值为一周。 | 字符串 |
StatelessAgentProfile
| Name | Description | Value |
|---|---|---|
| kind | AgentProfile 的鉴别器属性。 | “无状态”(必需) |
StorageProfile
| Name | Description | Value |
|---|---|---|
| dataDisks | 要附加的空数据磁盘的列表。 | DataDisk[] |
| osDiskStorageAccountType | 池中机器的Azure SKU名称。 | 'Premium' 'Standard' 'StandardSSD' |
TrackedResourceTags
| Name | Description | Value |
|---|
UserAssignedIdentity
| Name | Description | Value |
|---|
VmssFabricProfile
| Name | Description | Value |
|---|---|---|
| images | 池中计算机的 VM 映像。 | PoolImage[](必需) |
| kind | FabricProfile 的鉴别器属性。 | 'Vmss'(必填) |
| networkProfile | 池中计算机的网络配置文件。 | NetworkProfile |
| osProfile | 池中计算机的 OS 配置文件。 | OsProfile |
| sku | 池中机器的 Azure SKU。 | DevOpsAzureSku (必需) |
| storageProfile | 池中计算机的存储配置文件。 | StorageProfile |
用法示例
Azure verified modules
以下 Azure 验证模块可用于部署该资源类型。
| Module | Description |
|---|---|
| DevOps Pools | DevOps 池的 AVM 资源模块 |