Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The pools resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevOpsInfrastructure/pools resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DevOpsInfrastructure/pools@2023-10-30-preview' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
agentProfile: {
resourcePredictions: any(...)
kind: 'string'
// For remaining properties, see AgentProfile objects
}
devCenterProjectResourceId: 'string'
fabricProfile: {
kind: 'string'
// For remaining properties, see FabricProfile objects
}
maximumConcurrency: int
organizationProfile: {
kind: 'string'
// For remaining properties, see OrganizationProfile objects
}
provisioningState: 'string'
}
tags: {
{customized property}: 'string'
}
}
FabricProfile objects
Set the kind property to specify the type of object.
For Vmss, use:
{
images: [
{
aliases: [
'string'
]
buffer: 'string'
resourceId: 'string'
}
]
kind: 'Vmss'
networkProfile: {
subnetId: 'string'
}
osProfile: {
secretsManagementSettings: {
certificateStoreLocation: 'string'
keyExportable: bool
observedCertificates: [
'string'
]
}
}
sku: {
name: 'string'
tier: 'string'
}
}
OrganizationProfile objects
Set the kind property to specify the type of object.
For AzureDevOps, use:
{
kind: 'AzureDevOps'
organizations: [
{
parallelism: int
projects: [
'string'
]
url: 'string'
}
]
}
AgentProfile objects
Set the kind property to specify the type of object.
For Stateful, use:
{
kind: 'Stateful'
maxAgentLifetime: 'string'
}
For Stateless, use:
{
kind: 'Stateless'
}
Property Values
AgentProfile
Name | Description | Value |
---|---|---|
kind | Set to 'Stateful' for type Stateful. Set to 'Stateless' for type StatelessAgentProfile. | 'Stateful' 'Stateless' (required) |
resourcePredictions | Defines pool buffer. | any |
AzureDevOpsOrganizationProfile
Name | Description | Value |
---|---|---|
kind | Discriminator property for OrganizationProfile. | 'AzureDevOps' (required) |
organizations | The list of Azure DevOps organizations the pool should be present in. | Organization[] (required) |
DevOpsAzureSku
Name | Description | Value |
---|---|---|
name | The Azure SKU name of the machines in the pool. | string (required) |
tier | The Azure SKU tier of the machines in the pool. | string |
FabricProfile
Name | Description | Value |
---|---|---|
kind | Set to 'Vmss' for type VmssFabricProfile. | 'Vmss' (required) |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
Microsoft.DevOpsInfrastructure/pools
Name | Description | Value |
---|---|---|
identity | The managed service identities assigned to this resource. | ManagedServiceIdentity |
location | The geo-location where the resource lives | string (required) |
name | The resource name | string Constraints: Pattern = ^[a-z][a-z0-9]*$ (required) |
properties | The resource-specific properties for this resource. | PoolProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
NetworkProfile
Name | Description | Value |
---|---|---|
subnetId | The subnet id on which to put all machines created in the pool. | string (required) |
Organization
Name | Description | Value |
---|---|---|
parallelism | How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. | int |
projects | Optional list of projects in which the pool should be created. | string[] |
url | The Azure DevOps organization URL in which the pool should be created. | string (required) |
OrganizationProfile
Name | Description | Value |
---|---|---|
kind | Set to 'AzureDevOps' for type AzureDevOpsOrganizationProfile. | 'AzureDevOps' (required) |
OsProfile
Name | Description | Value |
---|---|---|
secretsManagementSettings | The secret management settings of the machines in the pool. | SecretsManagementSettings (required) |
PoolImage
Name | Description | Value |
---|---|---|
aliases | List of aliases to reference the image by. | string[] |
buffer | The percentage of the buffer to be allocated to this image. | string |
resourceId | The resource id of the image. | string (required) |
PoolProperties
Name | Description | Value |
---|---|---|
agentProfile | Defines how the machine will be handled once it executed a job. | AgentProfile (required) |
devCenterProjectResourceId | The resource id of the DevCenter Project the pool belongs to. | string (required) |
fabricProfile | Defines the type of fabric the agent will run on. | FabricProfile (required) |
maximumConcurrency | Defines how many resources can there be created at any given time. | int Constraints: Min value = 1 Max value = 10000 (required) |
organizationProfile | Defines the organization in which the pool will be used. | OrganizationProfile (required) |
provisioningState | The status of the current operation. | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
SecretsManagementSettings
Name | Description | Value |
---|---|---|
certificateStoreLocation | Where to store certificates on the machine. | string |
keyExportable | Defines if the key of the certificates should be exportable. | bool (required) |
observedCertificates | The list of certificates to install on all machines in the pool. | string[] (required) |
Stateful
Name | Description | Value |
---|---|---|
kind | Discriminator property for AgentProfile. | 'Stateful' (required) |
maxAgentLifetime | How long should stateful machines be kept around. The maximum is one week. | string (required) |
StatelessAgentProfile
Name | Description | Value |
---|---|---|
kind | Discriminator property for AgentProfile. | 'Stateless' (required) |
TrackedResourceTags
Name | Description | Value |
---|
UserAssignedIdentities
Name | Description | Value |
---|
UserAssignedIdentity
Name | Description | Value |
---|
VmssFabricProfile
Name | Description | Value |
---|---|---|
images | The VM images of the machines in the pool. | PoolImage[] (required) |
kind | Discriminator property for FabricProfile. | 'Vmss' (required) |
networkProfile | The network profile of the machines in the pool. | NetworkProfile |
osProfile | The OS profile of the machines in the pool. | OsProfile |
sku | The Azure SKU of the machines in the pool. | DevOpsAzureSku (required) |
Usage Examples
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
Module | Description |
---|---|
DevOps Infrastructure Pool | AVM Resource Module for DevOps Infrastructure Pool |
ARM template resource definition
The pools resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevOpsInfrastructure/pools resource, add the following JSON to your template.
{
"type": "Microsoft.DevOpsInfrastructure/pools",
"apiVersion": "2023-10-30-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"agentProfile": {
"resourcePredictions": {},
"kind": "string"
// For remaining properties, see AgentProfile objects
},
"devCenterProjectResourceId": "string",
"fabricProfile": {
"kind": "string"
// For remaining properties, see FabricProfile objects
},
"maximumConcurrency": "int",
"organizationProfile": {
"kind": "string"
// For remaining properties, see OrganizationProfile objects
},
"provisioningState": "string"
},
"tags": {
"{customized property}": "string"
}
}
FabricProfile objects
Set the kind property to specify the type of object.
For Vmss, use:
{
"images": [
{
"aliases": [ "string" ],
"buffer": "string",
"resourceId": "string"
}
],
"kind": "Vmss",
"networkProfile": {
"subnetId": "string"
},
"osProfile": {
"secretsManagementSettings": {
"certificateStoreLocation": "string",
"keyExportable": "bool",
"observedCertificates": [ "string" ]
}
},
"sku": {
"name": "string",
"tier": "string"
}
}
OrganizationProfile objects
Set the kind property to specify the type of object.
For AzureDevOps, use:
{
"kind": "AzureDevOps",
"organizations": [
{
"parallelism": "int",
"projects": [ "string" ],
"url": "string"
}
]
}
AgentProfile objects
Set the kind property to specify the type of object.
For Stateful, use:
{
"kind": "Stateful",
"maxAgentLifetime": "string"
}
For Stateless, use:
{
"kind": "Stateless"
}
Property Values
AgentProfile
Name | Description | Value |
---|---|---|
kind | Set to 'Stateful' for type Stateful. Set to 'Stateless' for type StatelessAgentProfile. | 'Stateful' 'Stateless' (required) |
resourcePredictions | Defines pool buffer. | any |
AzureDevOpsOrganizationProfile
Name | Description | Value |
---|---|---|
kind | Discriminator property for OrganizationProfile. | 'AzureDevOps' (required) |
organizations | The list of Azure DevOps organizations the pool should be present in. | Organization[] (required) |
DevOpsAzureSku
Name | Description | Value |
---|---|---|
name | The Azure SKU name of the machines in the pool. | string (required) |
tier | The Azure SKU tier of the machines in the pool. | string |
FabricProfile
Name | Description | Value |
---|---|---|
kind | Set to 'Vmss' for type VmssFabricProfile. | 'Vmss' (required) |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
Microsoft.DevOpsInfrastructure/pools
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2023-10-30-preview' |
identity | The managed service identities assigned to this resource. | ManagedServiceIdentity |
location | The geo-location where the resource lives | string (required) |
name | The resource name | string Constraints: Pattern = ^[a-z][a-z0-9]*$ (required) |
properties | The resource-specific properties for this resource. | PoolProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.DevOpsInfrastructure/pools' |
NetworkProfile
Name | Description | Value |
---|---|---|
subnetId | The subnet id on which to put all machines created in the pool. | string (required) |
Organization
Name | Description | Value |
---|---|---|
parallelism | How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. | int |
projects | Optional list of projects in which the pool should be created. | string[] |
url | The Azure DevOps organization URL in which the pool should be created. | string (required) |
OrganizationProfile
Name | Description | Value |
---|---|---|
kind | Set to 'AzureDevOps' for type AzureDevOpsOrganizationProfile. | 'AzureDevOps' (required) |
OsProfile
Name | Description | Value |
---|---|---|
secretsManagementSettings | The secret management settings of the machines in the pool. | SecretsManagementSettings (required) |
PoolImage
Name | Description | Value |
---|---|---|
aliases | List of aliases to reference the image by. | string[] |
buffer | The percentage of the buffer to be allocated to this image. | string |
resourceId | The resource id of the image. | string (required) |
PoolProperties
Name | Description | Value |
---|---|---|
agentProfile | Defines how the machine will be handled once it executed a job. | AgentProfile (required) |
devCenterProjectResourceId | The resource id of the DevCenter Project the pool belongs to. | string (required) |
fabricProfile | Defines the type of fabric the agent will run on. | FabricProfile (required) |
maximumConcurrency | Defines how many resources can there be created at any given time. | int Constraints: Min value = 1 Max value = 10000 (required) |
organizationProfile | Defines the organization in which the pool will be used. | OrganizationProfile (required) |
provisioningState | The status of the current operation. | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
SecretsManagementSettings
Name | Description | Value |
---|---|---|
certificateStoreLocation | Where to store certificates on the machine. | string |
keyExportable | Defines if the key of the certificates should be exportable. | bool (required) |
observedCertificates | The list of certificates to install on all machines in the pool. | string[] (required) |
Stateful
Name | Description | Value |
---|---|---|
kind | Discriminator property for AgentProfile. | 'Stateful' (required) |
maxAgentLifetime | How long should stateful machines be kept around. The maximum is one week. | string (required) |
StatelessAgentProfile
Name | Description | Value |
---|---|---|
kind | Discriminator property for AgentProfile. | 'Stateless' (required) |
TrackedResourceTags
Name | Description | Value |
---|
UserAssignedIdentities
Name | Description | Value |
---|
UserAssignedIdentity
Name | Description | Value |
---|
VmssFabricProfile
Name | Description | Value |
---|---|---|
images | The VM images of the machines in the pool. | PoolImage[] (required) |
kind | Discriminator property for FabricProfile. | 'Vmss' (required) |
networkProfile | The network profile of the machines in the pool. | NetworkProfile |
osProfile | The OS profile of the machines in the pool. | OsProfile |
sku | The Azure SKU of the machines in the pool. | DevOpsAzureSku (required) |
Usage Examples
Terraform (AzAPI provider) resource definition
The pools resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevOpsInfrastructure/pools resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DevOpsInfrastructure/pools@2023-10-30-preview"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
agentProfile = {
resourcePredictions = ?
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"
}
}
}
FabricProfile objects
Set the kind property to specify the type of object.
For Vmss, use:
{
images = [
{
aliases = [
"string"
]
buffer = "string"
resourceId = "string"
}
]
kind = "Vmss"
networkProfile = {
subnetId = "string"
}
osProfile = {
secretsManagementSettings = {
certificateStoreLocation = "string"
keyExportable = bool
observedCertificates = [
"string"
]
}
}
sku = {
name = "string"
tier = "string"
}
}
OrganizationProfile objects
Set the kind property to specify the type of object.
For AzureDevOps, use:
{
kind = "AzureDevOps"
organizations = [
{
parallelism = int
projects = [
"string"
]
url = "string"
}
]
}
AgentProfile objects
Set the kind property to specify the type of object.
For Stateful, use:
{
kind = "Stateful"
maxAgentLifetime = "string"
}
For Stateless, use:
{
kind = "Stateless"
}
Property Values
AgentProfile
Name | Description | Value |
---|---|---|
kind | Set to 'Stateful' for type Stateful. Set to 'Stateless' for type StatelessAgentProfile. | 'Stateful' 'Stateless' (required) |
resourcePredictions | Defines pool buffer. | any |
AzureDevOpsOrganizationProfile
Name | Description | Value |
---|---|---|
kind | Discriminator property for OrganizationProfile. | 'AzureDevOps' (required) |
organizations | The list of Azure DevOps organizations the pool should be present in. | Organization[] (required) |
DevOpsAzureSku
Name | Description | Value |
---|---|---|
name | The Azure SKU name of the machines in the pool. | string (required) |
tier | The Azure SKU tier of the machines in the pool. | string |
FabricProfile
Name | Description | Value |
---|---|---|
kind | Set to 'Vmss' for type VmssFabricProfile. | 'Vmss' (required) |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
Microsoft.DevOpsInfrastructure/pools
Name | Description | Value |
---|---|---|
identity | The managed service identities assigned to this resource. | ManagedServiceIdentity |
location | The geo-location where the resource lives | string (required) |
name | The resource name | string Constraints: Pattern = ^[a-z][a-z0-9]*$ (required) |
properties | The resource-specific properties for this resource. | PoolProperties |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.DevOpsInfrastructure/pools@2023-10-30-preview" |
NetworkProfile
Name | Description | Value |
---|---|---|
subnetId | The subnet id on which to put all machines created in the pool. | string (required) |
Organization
Name | Description | Value |
---|---|---|
parallelism | How many machines can be created at maximum in this organization out of the maximumConcurrency of the pool. | int |
projects | Optional list of projects in which the pool should be created. | string[] |
url | The Azure DevOps organization URL in which the pool should be created. | string (required) |
OrganizationProfile
Name | Description | Value |
---|---|---|
kind | Set to 'AzureDevOps' for type AzureDevOpsOrganizationProfile. | 'AzureDevOps' (required) |
OsProfile
Name | Description | Value |
---|---|---|
secretsManagementSettings | The secret management settings of the machines in the pool. | SecretsManagementSettings (required) |
PoolImage
Name | Description | Value |
---|---|---|
aliases | List of aliases to reference the image by. | string[] |
buffer | The percentage of the buffer to be allocated to this image. | string |
resourceId | The resource id of the image. | string (required) |
PoolProperties
Name | Description | Value |
---|---|---|
agentProfile | Defines how the machine will be handled once it executed a job. | AgentProfile (required) |
devCenterProjectResourceId | The resource id of the DevCenter Project the pool belongs to. | string (required) |
fabricProfile | Defines the type of fabric the agent will run on. | FabricProfile (required) |
maximumConcurrency | Defines how many resources can there be created at any given time. | int Constraints: Min value = 1 Max value = 10000 (required) |
organizationProfile | Defines the organization in which the pool will be used. | OrganizationProfile (required) |
provisioningState | The status of the current operation. | 'Accepted' 'Canceled' 'Deleting' 'Failed' 'Provisioning' 'Succeeded' 'Updating' |
SecretsManagementSettings
Name | Description | Value |
---|---|---|
certificateStoreLocation | Where to store certificates on the machine. | string |
keyExportable | Defines if the key of the certificates should be exportable. | bool (required) |
observedCertificates | The list of certificates to install on all machines in the pool. | string[] (required) |
Stateful
Name | Description | Value |
---|---|---|
kind | Discriminator property for AgentProfile. | 'Stateful' (required) |
maxAgentLifetime | How long should stateful machines be kept around. The maximum is one week. | string (required) |
StatelessAgentProfile
Name | Description | Value |
---|---|---|
kind | Discriminator property for AgentProfile. | 'Stateless' (required) |
TrackedResourceTags
Name | Description | Value |
---|
UserAssignedIdentities
Name | Description | Value |
---|
UserAssignedIdentity
Name | Description | Value |
---|
VmssFabricProfile
Name | Description | Value |
---|---|---|
images | The VM images of the machines in the pool. | PoolImage[] (required) |
kind | Discriminator property for FabricProfile. | 'Vmss' (required) |
networkProfile | The network profile of the machines in the pool. | NetworkProfile |
osProfile | The OS profile of the machines in the pool. | OsProfile |
sku | The Azure SKU of the machines in the pool. | DevOpsAzureSku (required) |
Usage Examples
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
Module | Description |
---|---|
DevOps Pools | AVM Resource Module for DevOps Pools |