Microsoft.DevOpsInfrastructure pools 2023-10-30-preview
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(Azure.Bicep.Types.Concrete.AnyType)
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'
}
}
AgentProfile objects
Set the kind property to specify the type of object.
For Stateful, use:
{
kind: 'Stateful'
maxAgentLifetime: 'string'
}
For Stateless, use:
{
kind: 'Stateless'
}
OrganizationProfile objects
Set the kind property to specify the type of object.
For AzureDevOps, use:
{
kind: 'AzureDevOps'
organizations: [
{
parallelism: int
projects: [
'string'
]
url: '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'
}
}
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) |
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"
}
}
AgentProfile objects
Set the kind property to specify the type of object.
For Stateful, use:
{
"kind": "Stateful",
"maxAgentLifetime": "string"
}
For Stateless, use:
{
"kind": "Stateless"
}
OrganizationProfile objects
Set the kind property to specify the type of object.
For AzureDevOps, use:
{
"kind": "AzureDevOps",
"organizations": [
{
"parallelism": "int",
"projects": [ "string" ],
"url": "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"
}
}
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) |
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"
identity = {
type = "string"
userAssignedIdentities = {
{customized property} = {
}
}
}
location = "string"
body = jsonencode({
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"
}
}
AgentProfile objects
Set the kind property to specify the type of object.
For Stateful, use:
{
kind = "Stateful"
maxAgentLifetime = "string"
}
For Stateless, use:
{
kind = "Stateless"
}
OrganizationProfile objects
Set the kind property to specify the type of object.
For AzureDevOps, use:
{
kind = "AzureDevOps"
organizations = [
{
parallelism = int
projects = [
"string"
]
url = "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"
}
}
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) |