Freigeben über


Microsoft.DevOpsInfrastructure-Pools

Bicep-Ressourcendefinition

Der Ressourcentyp "Pools" kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Format der Ressource

Um eine Microsoft.DevOpsInfrastructure/pools-Ressource zu erstellen, fügen Sie der Vorlage die folgende Bicep hinzu.

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-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für AzureDevOps Folgendes:

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

Verwenden Sie für GitHub Folgendes:

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

AgentProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für Stateful Folgendes:

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

Verwenden Sie für Stateless Folgendes:

{
  kind: 'Stateless'
}

ResourcePredictionsProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für Automatik:

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

Verwenden Sie für das manuelle Steuerelement:

{
  kind: 'Manual'
}

FabricProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für 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'
  }
}

Eigenschaftswerte

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Die verwalteten Dienstidentitäten, die dieser Ressource zugewiesen sind. ManagedServiceIdentity
location Der geografische Standort, an dem sich die Ressource befindet Zeichenfolge (erforderlich)
name Der Ressourcenname string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (erforderlich)
properties Die ressourcenspezifischen Eigenschaften für diese Ressource. PoolProperties
scope Verwenden Sie diese Verwendung beim Erstellen einer Ressource in einem Bereich, der sich von dem Bereitstellungsbereich unterscheidet. Legen Sie diese Eigenschaft auf den symbolischen Namen einer Ressource fest, um die Erweiterungsressourceanzuwenden.
tags Ressourcenetiketten Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen

AgentProfile

Name Description Value
kind Legen Sie den Wert auf "Stateful" für den Typ "Stateful" fest. Legen Sie den Wert auf 'Stateless' für den Typ StatelessAgentProfile fest. 'Stateful'
"Staatenlos" (erforderlich)
resourcePredictions Definiert Poolpuffer/Stand-by-Agents. any
resourcePredictionsProfile Definiert, wie der Poolpuffer/stand-by-Agents bereitgestellt wird. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Bestimmt, wie das stand-by-Schema bereitgestellt werden soll. 'Automatisch' (erforderlich)
predictionPreference Bestimmt das Gleichgewicht zwischen Kosten und Leistung. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Ein Alias, um auf den Namen des Azure DevOps-Pools zu verweisen. string
kind Diskriminator-Eigenschaft für OrganizationProfile. 'AzureDevOps' (erforderlich)
organizations Die Liste der Azure DevOps-Organisationen, in der der Pool vorhanden sein sollte. Organisation[] (erforderlich)
permissionProfile Der Berechtigungstyp, der bestimmt, welche Konten Administratoren im Azure DevOps-Pool sind. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Gruppen-E-Mail-Adressen string[]
kind Bestimmt, wer über Administratorberechtigungen für den Azure DevOps-Pool verfügt. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (erforderlich)
users E-Mail-Adressen des Benutzers string[]

DataDisk

Name Description Value
caching Der Typ der Zwischenspeicherung, die für die Datenträger aktiviert werden soll. Der Standardwert für die Zwischenspeicherung ist "readwrite". Informationen zu den Zwischenspeicherungsoptionen finden Sie unter: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Die anfängliche Datenträgergröße in Gigabyte. int
driveLetter Der Laufwerkbuchstaben für den leeren Datenträger. Wenn nicht angegeben, ist es der erste verfügbare Buchstabe. string
storageAccountType Der Speicherkontotyp, der für den Datenträger verwendet werden soll. Wenn nicht angegeben, lautet der Standardwert "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Der Azure-SKU-Name der Computer im Pool. Zeichenfolge (erforderlich)

FabricProfile

Name Description Value
kind Legen Sie den Wert auf 'Vmss' für den Typ VmssFabricProfile fest. 'Vmss' (erforderlich)

GitHubOrganization

Name Description Value
repositories Optionale Liste der Repositorys, in denen der Pool erstellt werden soll. string[]
url Die GitHub-Organisations-URL, in der der Pool erstellt werden soll. Zeichenfolge (erforderlich)

GitHubOrganizationProfile

Name Description Value
kind Diskriminator-Eigenschaft für OrganizationProfile. 'GitHub' (erforderlich)
organizations Die Liste der GitHub-Organisationen/Repositorys, in der der Pool vorhanden sein sollte. GitHubOrganization[] (erforderlich)

ManagedServiceIdentity

Name Description Value
type Typ der verwalteten Dienstidentität (wobei systemAssigned- und UserAssigned-Typen zulässig sind). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (erforderlich)
userAssignedIdentities Die Gruppe der benutzerzuweisungen Identitäten, die der Ressource zugeordnet sind. Die Wörterbuchschlüssel "userAssignedIdentities" sind ARM-Ressourcen-IDs im Formular: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Bestimmt, wie das stand-by-Schema bereitgestellt werden soll. 'Manuell' (erforderlich)

NetworkProfile

Name Description Value
staticIpAddressCount Die Anzahl der statischen öffentlichen IP-Adressen für ausgehende Verbindungen, die dem Pool zugewiesen sind. int
subnetId Die Subnetz-ID, auf der alle Computer im Pool erstellt werden sollen. string

Organization

Name Description Value
alias Ein Alias, um auf den Namen des Azure DevOps-Pools zu verweisen. string
openAccess Bestimmt, ob der Pool offenen Zugriff auf alle Projekte in dieser Organisation haben soll. bool
parallelism Anzahl der Computer, die maximal in dieser Organisation erstellt werden können, aus der maximalen Anzahl der Pools. int
projects Optionale Liste der Projekte, in denen der Pool erstellt werden soll. string[]
url Die Azure DevOps-Organisations-URL, in der der Pool erstellt werden soll. Zeichenfolge (erforderlich)

OrganizationProfile

Name Description Value
kind Legen Sie "AzureDevOps" für den Typ AzureDevOpsOrganizationProfile fest. Legen Sie den Wert auf "GitHub" für den Typ GitHubOrganizationProfile fest. 'AzureDevOps'
'GitHub' (erforderlich)

OsProfile

Name Description Value
logonType Bestimmt, wie der Dienst ausgeführt werden soll. Standardmäßig wird dies auf "Dienst" festgelegt. 'Interactive'
'Service'
secretsManagementSettings Die Einstellungen für die geheime Verwaltung der Computer im Pool. SecretsManagementSettings

PoolImage

Name Description Value
aliases Liste der Aliase, nach der auf das Bild verwiesen werden soll. string[]
buffer Der Prozentsatz des Puffers, der diesem Bild zugeordnet werden soll. string
ephemeralType Der kurzlebige Typ des Bilds. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Die Ressourcen-ID des Bilds. string
wellKnownImageName Das Bild, das von einer bekannten Gruppe von Bildern verwendet werden soll, die Kunden zur Verfügung gestellt werden. string

PoolProperties

Name Description Value
agentProfile Definiert, wie der Computer verarbeitet wird, nachdem er einen Auftrag ausgeführt hat. AgentProfile (erforderlich)
devCenterProjectResourceId Die Ressourcen-ID des DevCenter-Projekts, zu dem der Pool gehört. Zeichenfolge (erforderlich)
fabricProfile Definiert den Typ der Fabric, auf der der Agent ausgeführt wird. FabricProfile (erforderlich)
maximumConcurrency Definiert, wie viele Ressourcen zu einem bestimmten Zeitpunkt erstellt werden können. int

Constraints:
Min.-Wert = 1
Maximalwert = 10000 (erforderlich)
organizationProfile Definiert die Organisation, in der der Pool verwendet wird. OrganizationProfile (erforderlich)
provisioningState Der Status des aktuellen Vorgangs. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Die Laufzeitkonfiguration des Pools. RuntimeConfiguration

ResourcePredictionsProfile

Name Description Value
kind Legen Sie für den Typ AutomaticResourcePredictionsProfile den Wert "Automatic" fest. Legen Sie für den Typ ManualResourcePredictionsProfile auf 'Manual' fest. 'Automatic'
'Manuell' (erforderlich)

RuntimeConfiguration

Name Description Value
workFolder (englisch) Der Zielarbeitsordner des Task-Agenten auf dem Computer. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Speicherort für Zertifikate auf dem Computer. string
certificateStoreName Der Name des Zertifikatspeichers, der auf dem Computer verwendet werden soll, werden derzeit "My" und "Root" unterstützt. 'My'
'Root'
keyExportable Definiert, ob der Schlüssel der Zertifikate exportierbar sein soll. bool (erforderlich)
observedCertificates Die Liste der Zertifikate, die auf allen Computern im Pool installiert werden sollen. string[] (erforderlich)

Stateful

Name Description Value
gracePeriodTimeSpan Wie lange sollte der Computer beibehalten werden, nachdem er eine Workload ausgeführt hat, wenn keine eigenständigen Agents vorhanden sind. Das Maximum beträgt eine Woche. string
kind Diskriminator-Eigenschaft für AgentProfile. "Stateful" (erforderlich)
maxAgentLifetime Wie lange zustandsbehaftete Computer beibehalten werden sollen. Das Maximum beträgt eine Woche. string

StatelessAgentProfile

Name Description Value
kind Diskriminator-Eigenschaft für AgentProfile. "Staatenlos" (erforderlich)

StorageProfile

Name Description Value
dataDisks Eine Liste leerer Datenträger, die angefügt werden sollen. DataDisk[]
osDiskStorageAccountType Der Azure-SKU-Name der Computer im Pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Die VM-Images der Computer im Pool. PoolImage[] (erforderlich)
kind Diskriminator-Eigenschaft für FabricProfile. 'Vmss' (erforderlich)
networkProfile Das Netzwerkprofil der Computer im Pool. NetworkProfile
osProfile Das Betriebssystemprofil der Computer im Pool. OsProfile
sku Die Azure-SKU der Computer im Pool. DevOpsAzureSku (erforderlich)
storageProfile Das Speicherprofil der Computer im Pool. StorageProfile

Verwendungsbeispiele

Von Azure verifizierte Module

Die folgenden Azure Verified Modules können verwendet werden, um diesen Ressourcentyp bereitzustellen.

Module Description
DevOps-Infrastrukturpool AVM-Ressourcenmodul für DevOps-Infrastrukturpool

ARM-Vorlagenressourcendefinition

Der Ressourcentyp "Pools" kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Format der Ressource

Um eine Microsoft.DevOpsInfrastructure/pools-Ressource zu erstellen, fügen Sie der Vorlage den folgenden JSON-Code hinzu.

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

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für AzureDevOps Folgendes:

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

Verwenden Sie für GitHub Folgendes:

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

AgentProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für Stateful Folgendes:

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

Verwenden Sie für Stateless Folgendes:

{
  "kind": "Stateless"
}

ResourcePredictionsProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für Automatik:

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

Verwenden Sie für das manuelle Steuerelement:

{
  "kind": "Manual"
}

FabricProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für 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"
  }
}

Eigenschaftswerte

Microsoft.DevOpsInfrastructure/pools

Name Description Value
apiVersion Die API-Version '2025-09-20'
identity Die verwalteten Dienstidentitäten, die dieser Ressource zugewiesen sind. ManagedServiceIdentity
location Der geografische Standort, an dem sich die Ressource befindet Zeichenfolge (erforderlich)
name Der Ressourcenname string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (erforderlich)
properties Die ressourcenspezifischen Eigenschaften für diese Ressource. PoolProperties
tags Ressourcenetiketten Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen
type Der Ressourcentyp 'Microsoft.DevOpsInfrastructure/pools'

AgentProfile

Name Description Value
kind Legen Sie den Wert auf "Stateful" für den Typ "Stateful" fest. Legen Sie den Wert auf 'Stateless' für den Typ StatelessAgentProfile fest. 'Stateful'
"Staatenlos" (erforderlich)
resourcePredictions Definiert Poolpuffer/Stand-by-Agents. any
resourcePredictionsProfile Definiert, wie der Poolpuffer/stand-by-Agents bereitgestellt wird. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Bestimmt, wie das stand-by-Schema bereitgestellt werden soll. 'Automatisch' (erforderlich)
predictionPreference Bestimmt das Gleichgewicht zwischen Kosten und Leistung. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Ein Alias, um auf den Namen des Azure DevOps-Pools zu verweisen. string
kind Diskriminator-Eigenschaft für OrganizationProfile. 'AzureDevOps' (erforderlich)
organizations Die Liste der Azure DevOps-Organisationen, in der der Pool vorhanden sein sollte. Organisation[] (erforderlich)
permissionProfile Der Berechtigungstyp, der bestimmt, welche Konten Administratoren im Azure DevOps-Pool sind. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Gruppen-E-Mail-Adressen string[]
kind Bestimmt, wer über Administratorberechtigungen für den Azure DevOps-Pool verfügt. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (erforderlich)
users E-Mail-Adressen des Benutzers string[]

DataDisk

Name Description Value
caching Der Typ der Zwischenspeicherung, die für die Datenträger aktiviert werden soll. Der Standardwert für die Zwischenspeicherung ist "readwrite". Informationen zu den Zwischenspeicherungsoptionen finden Sie unter: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Die anfängliche Datenträgergröße in Gigabyte. int
driveLetter Der Laufwerkbuchstaben für den leeren Datenträger. Wenn nicht angegeben, ist es der erste verfügbare Buchstabe. string
storageAccountType Der Speicherkontotyp, der für den Datenträger verwendet werden soll. Wenn nicht angegeben, lautet der Standardwert "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Der Azure-SKU-Name der Computer im Pool. Zeichenfolge (erforderlich)

FabricProfile

Name Description Value
kind Legen Sie den Wert auf 'Vmss' für den Typ VmssFabricProfile fest. 'Vmss' (erforderlich)

GitHubOrganization

Name Description Value
repositories Optionale Liste der Repositorys, in denen der Pool erstellt werden soll. string[]
url Die GitHub-Organisations-URL, in der der Pool erstellt werden soll. Zeichenfolge (erforderlich)

GitHubOrganizationProfile

Name Description Value
kind Diskriminator-Eigenschaft für OrganizationProfile. 'GitHub' (erforderlich)
organizations Die Liste der GitHub-Organisationen/Repositorys, in der der Pool vorhanden sein sollte. GitHubOrganization[] (erforderlich)

ManagedServiceIdentity

Name Description Value
type Typ der verwalteten Dienstidentität (wobei systemAssigned- und UserAssigned-Typen zulässig sind). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (erforderlich)
userAssignedIdentities Die Gruppe der benutzerzuweisungen Identitäten, die der Ressource zugeordnet sind. Die Wörterbuchschlüssel "userAssignedIdentities" sind ARM-Ressourcen-IDs im Formular: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Bestimmt, wie das stand-by-Schema bereitgestellt werden soll. 'Manuell' (erforderlich)

NetworkProfile

Name Description Value
staticIpAddressCount Die Anzahl der statischen öffentlichen IP-Adressen für ausgehende Verbindungen, die dem Pool zugewiesen sind. int
subnetId Die Subnetz-ID, auf der alle Computer im Pool erstellt werden sollen. string

Organization

Name Description Value
alias Ein Alias, um auf den Namen des Azure DevOps-Pools zu verweisen. string
openAccess Bestimmt, ob der Pool offenen Zugriff auf alle Projekte in dieser Organisation haben soll. bool
parallelism Anzahl der Computer, die maximal in dieser Organisation erstellt werden können, aus der maximalen Anzahl der Pools. int
projects Optionale Liste der Projekte, in denen der Pool erstellt werden soll. string[]
url Die Azure DevOps-Organisations-URL, in der der Pool erstellt werden soll. Zeichenfolge (erforderlich)

OrganizationProfile

Name Description Value
kind Legen Sie "AzureDevOps" für den Typ AzureDevOpsOrganizationProfile fest. Legen Sie den Wert auf "GitHub" für den Typ GitHubOrganizationProfile fest. 'AzureDevOps'
'GitHub' (erforderlich)

OsProfile

Name Description Value
logonType Bestimmt, wie der Dienst ausgeführt werden soll. Standardmäßig wird dies auf "Dienst" festgelegt. 'Interactive'
'Service'
secretsManagementSettings Die Einstellungen für die geheime Verwaltung der Computer im Pool. SecretsManagementSettings

PoolImage

Name Description Value
aliases Liste der Aliase, nach der auf das Bild verwiesen werden soll. string[]
buffer Der Prozentsatz des Puffers, der diesem Bild zugeordnet werden soll. string
ephemeralType Der kurzlebige Typ des Bilds. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Die Ressourcen-ID des Bilds. string
wellKnownImageName Das Bild, das von einer bekannten Gruppe von Bildern verwendet werden soll, die Kunden zur Verfügung gestellt werden. string

PoolProperties

Name Description Value
agentProfile Definiert, wie der Computer verarbeitet wird, nachdem er einen Auftrag ausgeführt hat. AgentProfile (erforderlich)
devCenterProjectResourceId Die Ressourcen-ID des DevCenter-Projekts, zu dem der Pool gehört. Zeichenfolge (erforderlich)
fabricProfile Definiert den Typ der Fabric, auf der der Agent ausgeführt wird. FabricProfile (erforderlich)
maximumConcurrency Definiert, wie viele Ressourcen zu einem bestimmten Zeitpunkt erstellt werden können. int

Constraints:
Min.-Wert = 1
Maximalwert = 10000 (erforderlich)
organizationProfile Definiert die Organisation, in der der Pool verwendet wird. OrganizationProfile (erforderlich)
provisioningState Der Status des aktuellen Vorgangs. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Die Laufzeitkonfiguration des Pools. RuntimeConfiguration

ResourcePredictionsProfile

Name Description Value
kind Legen Sie für den Typ AutomaticResourcePredictionsProfile den Wert "Automatic" fest. Legen Sie für den Typ ManualResourcePredictionsProfile auf 'Manual' fest. 'Automatic'
'Manuell' (erforderlich)

RuntimeConfiguration

Name Description Value
workFolder (englisch) Der Zielarbeitsordner des Task-Agenten auf dem Computer. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Speicherort für Zertifikate auf dem Computer. string
certificateStoreName Der Name des Zertifikatspeichers, der auf dem Computer verwendet werden soll, werden derzeit "My" und "Root" unterstützt. 'My'
'Root'
keyExportable Definiert, ob der Schlüssel der Zertifikate exportierbar sein soll. bool (erforderlich)
observedCertificates Die Liste der Zertifikate, die auf allen Computern im Pool installiert werden sollen. string[] (erforderlich)

Stateful

Name Description Value
gracePeriodTimeSpan Wie lange sollte der Computer beibehalten werden, nachdem er eine Workload ausgeführt hat, wenn keine eigenständigen Agents vorhanden sind. Das Maximum beträgt eine Woche. string
kind Diskriminator-Eigenschaft für AgentProfile. "Stateful" (erforderlich)
maxAgentLifetime Wie lange zustandsbehaftete Computer beibehalten werden sollen. Das Maximum beträgt eine Woche. string

StatelessAgentProfile

Name Description Value
kind Diskriminator-Eigenschaft für AgentProfile. "Staatenlos" (erforderlich)

StorageProfile

Name Description Value
dataDisks Eine Liste leerer Datenträger, die angefügt werden sollen. DataDisk[]
osDiskStorageAccountType Der Azure-SKU-Name der Computer im Pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Die VM-Images der Computer im Pool. PoolImage[] (erforderlich)
kind Diskriminator-Eigenschaft für FabricProfile. 'Vmss' (erforderlich)
networkProfile Das Netzwerkprofil der Computer im Pool. NetworkProfile
osProfile Das Betriebssystemprofil der Computer im Pool. OsProfile
sku Die Azure-SKU der Computer im Pool. DevOpsAzureSku (erforderlich)
storageProfile Das Speicherprofil der Computer im Pool. StorageProfile

Verwendungsbeispiele

Terraform -Ressourcendefinition (AzAPI-Anbieter)

Der Ressourcentyp "Pools" kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Format der Ressource

Um eine Microsoft.DevOpsInfrastructure/pools-Ressource zu erstellen, fügen Sie Ihrer Vorlage die folgende Terraform hinzu.

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-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für AzureDevOps Folgendes:

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

Verwenden Sie für GitHub Folgendes:

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

AgentProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für Stateful Folgendes:

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

Verwenden Sie für Stateless Folgendes:

{
  kind = "Stateless"
}

ResourcePredictionsProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für Automatik:

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

Verwenden Sie für das manuelle Steuerelement:

{
  kind = "Manual"
}

FabricProfile-Objekte

Legen Sie die kind-Eigenschaft fest, um den Typ des Objekts anzugeben.

Verwenden Sie für 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"
  }
}

Eigenschaftswerte

Microsoft.DevOpsInfrastructure/pools

Name Description Value
identity Die verwalteten Dienstidentitäten, die dieser Ressource zugewiesen sind. ManagedServiceIdentity
location Der geografische Standort, an dem sich die Ressource befindet Zeichenfolge (erforderlich)
name Der Ressourcenname string

Constraints:
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (erforderlich)
parent_id Die ID der Ressource, auf die diese Erweiterungsressource angewendet werden soll. Zeichenfolge (erforderlich)
properties Die ressourcenspezifischen Eigenschaften für diese Ressource. PoolProperties
tags Ressourcenetiketten Wörterbuch der Tagnamen und -werte.
type Der Ressourcentyp "Microsoft.DevOpsInfrastructure/pools@2025-09-20"

AgentProfile

Name Description Value
kind Legen Sie den Wert auf "Stateful" für den Typ "Stateful" fest. Legen Sie den Wert auf 'Stateless' für den Typ StatelessAgentProfile fest. 'Stateful'
"Staatenlos" (erforderlich)
resourcePredictions Definiert Poolpuffer/Stand-by-Agents. any
resourcePredictionsProfile Definiert, wie der Poolpuffer/stand-by-Agents bereitgestellt wird. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Bestimmt, wie das stand-by-Schema bereitgestellt werden soll. 'Automatisch' (erforderlich)
predictionPreference Bestimmt das Gleichgewicht zwischen Kosten und Leistung. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Ein Alias, um auf den Namen des Azure DevOps-Pools zu verweisen. string
kind Diskriminator-Eigenschaft für OrganizationProfile. 'AzureDevOps' (erforderlich)
organizations Die Liste der Azure DevOps-Organisationen, in der der Pool vorhanden sein sollte. Organisation[] (erforderlich)
permissionProfile Der Berechtigungstyp, der bestimmt, welche Konten Administratoren im Azure DevOps-Pool sind. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Gruppen-E-Mail-Adressen string[]
kind Bestimmt, wer über Administratorberechtigungen für den Azure DevOps-Pool verfügt. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (erforderlich)
users E-Mail-Adressen des Benutzers string[]

DataDisk

Name Description Value
caching Der Typ der Zwischenspeicherung, die für die Datenträger aktiviert werden soll. Der Standardwert für die Zwischenspeicherung ist "readwrite". Informationen zu den Zwischenspeicherungsoptionen finden Sie unter: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Die anfängliche Datenträgergröße in Gigabyte. int
driveLetter Der Laufwerkbuchstaben für den leeren Datenträger. Wenn nicht angegeben, ist es der erste verfügbare Buchstabe. string
storageAccountType Der Speicherkontotyp, der für den Datenträger verwendet werden soll. Wenn nicht angegeben, lautet der Standardwert "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Der Azure-SKU-Name der Computer im Pool. Zeichenfolge (erforderlich)

FabricProfile

Name Description Value
kind Legen Sie den Wert auf 'Vmss' für den Typ VmssFabricProfile fest. 'Vmss' (erforderlich)

GitHubOrganization

Name Description Value
repositories Optionale Liste der Repositorys, in denen der Pool erstellt werden soll. string[]
url Die GitHub-Organisations-URL, in der der Pool erstellt werden soll. Zeichenfolge (erforderlich)

GitHubOrganizationProfile

Name Description Value
kind Diskriminator-Eigenschaft für OrganizationProfile. 'GitHub' (erforderlich)
organizations Die Liste der GitHub-Organisationen/Repositorys, in der der Pool vorhanden sein sollte. GitHubOrganization[] (erforderlich)

ManagedServiceIdentity

Name Description Value
type Typ der verwalteten Dienstidentität (wobei systemAssigned- und UserAssigned-Typen zulässig sind). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (erforderlich)
userAssignedIdentities Die Gruppe der benutzerzuweisungen Identitäten, die der Ressource zugeordnet sind. Die Wörterbuchschlüssel "userAssignedIdentities" sind ARM-Ressourcen-IDs im Formular: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Bestimmt, wie das stand-by-Schema bereitgestellt werden soll. 'Manuell' (erforderlich)

NetworkProfile

Name Description Value
staticIpAddressCount Die Anzahl der statischen öffentlichen IP-Adressen für ausgehende Verbindungen, die dem Pool zugewiesen sind. int
subnetId Die Subnetz-ID, auf der alle Computer im Pool erstellt werden sollen. string

Organization

Name Description Value
alias Ein Alias, um auf den Namen des Azure DevOps-Pools zu verweisen. string
openAccess Bestimmt, ob der Pool offenen Zugriff auf alle Projekte in dieser Organisation haben soll. bool
parallelism Anzahl der Computer, die maximal in dieser Organisation erstellt werden können, aus der maximalen Anzahl der Pools. int
projects Optionale Liste der Projekte, in denen der Pool erstellt werden soll. string[]
url Die Azure DevOps-Organisations-URL, in der der Pool erstellt werden soll. Zeichenfolge (erforderlich)

OrganizationProfile

Name Description Value
kind Legen Sie "AzureDevOps" für den Typ AzureDevOpsOrganizationProfile fest. Legen Sie den Wert auf "GitHub" für den Typ GitHubOrganizationProfile fest. 'AzureDevOps'
'GitHub' (erforderlich)

OsProfile

Name Description Value
logonType Bestimmt, wie der Dienst ausgeführt werden soll. Standardmäßig wird dies auf "Dienst" festgelegt. 'Interactive'
'Service'
secretsManagementSettings Die Einstellungen für die geheime Verwaltung der Computer im Pool. SecretsManagementSettings

PoolImage

Name Description Value
aliases Liste der Aliase, nach der auf das Bild verwiesen werden soll. string[]
buffer Der Prozentsatz des Puffers, der diesem Bild zugeordnet werden soll. string
ephemeralType Der kurzlebige Typ des Bilds. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Die Ressourcen-ID des Bilds. string
wellKnownImageName Das Bild, das von einer bekannten Gruppe von Bildern verwendet werden soll, die Kunden zur Verfügung gestellt werden. string

PoolProperties

Name Description Value
agentProfile Definiert, wie der Computer verarbeitet wird, nachdem er einen Auftrag ausgeführt hat. AgentProfile (erforderlich)
devCenterProjectResourceId Die Ressourcen-ID des DevCenter-Projekts, zu dem der Pool gehört. Zeichenfolge (erforderlich)
fabricProfile Definiert den Typ der Fabric, auf der der Agent ausgeführt wird. FabricProfile (erforderlich)
maximumConcurrency Definiert, wie viele Ressourcen zu einem bestimmten Zeitpunkt erstellt werden können. int

Constraints:
Min.-Wert = 1
Maximalwert = 10000 (erforderlich)
organizationProfile Definiert die Organisation, in der der Pool verwendet wird. OrganizationProfile (erforderlich)
provisioningState Der Status des aktuellen Vorgangs. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration Die Laufzeitkonfiguration des Pools. RuntimeConfiguration

ResourcePredictionsProfile

Name Description Value
kind Legen Sie für den Typ AutomaticResourcePredictionsProfile den Wert "Automatic" fest. Legen Sie für den Typ ManualResourcePredictionsProfile auf 'Manual' fest. 'Automatic'
'Manuell' (erforderlich)

RuntimeConfiguration

Name Description Value
workFolder (englisch) Der Zielarbeitsordner des Task-Agenten auf dem Computer. string

SecretsManagementSettings

Name Description Value
certificateStoreLocation Speicherort für Zertifikate auf dem Computer. string
certificateStoreName Der Name des Zertifikatspeichers, der auf dem Computer verwendet werden soll, werden derzeit "My" und "Root" unterstützt. 'My'
'Root'
keyExportable Definiert, ob der Schlüssel der Zertifikate exportierbar sein soll. bool (erforderlich)
observedCertificates Die Liste der Zertifikate, die auf allen Computern im Pool installiert werden sollen. string[] (erforderlich)

Stateful

Name Description Value
gracePeriodTimeSpan Wie lange sollte der Computer beibehalten werden, nachdem er eine Workload ausgeführt hat, wenn keine eigenständigen Agents vorhanden sind. Das Maximum beträgt eine Woche. string
kind Diskriminator-Eigenschaft für AgentProfile. "Stateful" (erforderlich)
maxAgentLifetime Wie lange zustandsbehaftete Computer beibehalten werden sollen. Das Maximum beträgt eine Woche. string

StatelessAgentProfile

Name Description Value
kind Diskriminator-Eigenschaft für AgentProfile. "Staatenlos" (erforderlich)

StorageProfile

Name Description Value
dataDisks Eine Liste leerer Datenträger, die angefügt werden sollen. DataDisk[]
osDiskStorageAccountType Der Azure-SKU-Name der Computer im Pool. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Die VM-Images der Computer im Pool. PoolImage[] (erforderlich)
kind Diskriminator-Eigenschaft für FabricProfile. 'Vmss' (erforderlich)
networkProfile Das Netzwerkprofil der Computer im Pool. NetworkProfile
osProfile Das Betriebssystemprofil der Computer im Pool. OsProfile
sku Die Azure-SKU der Computer im Pool. DevOpsAzureSku (erforderlich)
storageProfile Das Speicherprofil der Computer im Pool. StorageProfile

Verwendungsbeispiele

Von Azure verifizierte Module

Die folgenden Azure Verified Modules können verwendet werden, um diesen Ressourcentyp bereitzustellen.

Module Description
DevOps-Pools AVM-Ressourcenmodul für DevOps-Pools