Freigeben über


Microsoft.DevOpsInfrastructure-Pools 2024-10-19

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@2024-10-19' = {
  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'
  }
  tags: {
    {customized property}: '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'
      resourceId: 'string'
      wellKnownImageName: 'string'
    }
  ]
  kind: 'Vmss'
  networkProfile: {
    subnetId: 'string'
  }
  osProfile: {
    logonType: 'string'
    secretsManagementSettings: {
      certificateStoreLocation: 'string'
      keyExportable: bool
      observedCertificates: [
        'string'
      ]
    }
  }
  sku: {
    name: 'string'
  }
  storageProfile: {
    dataDisks: [
      {
        caching: 'string'
        diskSizeGiB: int
        driveLetter: 'string'
        storageAccountType: 'string'
      }
    ]
    osDiskStorageAccountType: 'string'
  }
}

OrganizationProfile-Objekte

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

Verwenden Sie für AzureDevOps Folgendes:

{
  kind: 'AzureDevOps'
  organizations: [
    {
      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'
    }
  ]
}

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
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. UserAssignedIdentities

ManualResourcePredictionsProfile

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

NetworkProfile

Name Description Value
subnetId Die Subnetz-ID, auf der alle Computer im Pool erstellt werden sollen. Zeichenfolge (erforderlich)

Organization

Name Description Value
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
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'

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)

SecretsManagementSettings

Name Description Value
certificateStoreLocation Speicherort für Zertifikate auf dem Computer. string
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

UserAssignedIdentities

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": "2024-10-19",
  "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"
  },
  "tags": {
    "{customized property}": "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",
      "resourceId": "string",
      "wellKnownImageName": "string"
    }
  ],
  "kind": "Vmss",
  "networkProfile": {
    "subnetId": "string"
  },
  "osProfile": {
    "logonType": "string",
    "secretsManagementSettings": {
      "certificateStoreLocation": "string",
      "keyExportable": "bool",
      "observedCertificates": [ "string" ]
    }
  },
  "sku": {
    "name": "string"
  },
  "storageProfile": {
    "dataDisks": [
      {
        "caching": "string",
        "diskSizeGiB": "int",
        "driveLetter": "string",
        "storageAccountType": "string"
      }
    ],
    "osDiskStorageAccountType": "string"
  }
}

OrganizationProfile-Objekte

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

Verwenden Sie für AzureDevOps Folgendes:

{
  "kind": "AzureDevOps",
  "organizations": [
    {
      "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"
    }
  ]
}

Eigenschaftswerte

Microsoft.DevOpsInfrastructure/pools

Name Description Value
apiVersion Die API-Version '2024-10-19'
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
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. UserAssignedIdentities

ManualResourcePredictionsProfile

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

NetworkProfile

Name Description Value
subnetId Die Subnetz-ID, auf der alle Computer im Pool erstellt werden sollen. Zeichenfolge (erforderlich)

Organization

Name Description Value
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
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'

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)

SecretsManagementSettings

Name Description Value
certificateStoreLocation Speicherort für Zertifikate auf dem Computer. string
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

UserAssignedIdentities

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@2024-10-19"
  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"
    }
  }
}

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"
      resourceId = "string"
      wellKnownImageName = "string"
    }
  ]
  kind = "Vmss"
  networkProfile = {
    subnetId = "string"
  }
  osProfile = {
    logonType = "string"
    secretsManagementSettings = {
      certificateStoreLocation = "string"
      keyExportable = bool
      observedCertificates = [
        "string"
      ]
    }
  }
  sku = {
    name = "string"
  }
  storageProfile = {
    dataDisks = [
      {
        caching = "string"
        diskSizeGiB = int
        driveLetter = "string"
        storageAccountType = "string"
      }
    ]
    osDiskStorageAccountType = "string"
  }
}

OrganizationProfile-Objekte

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

Verwenden Sie für AzureDevOps Folgendes:

{
  kind = "AzureDevOps"
  organizations = [
    {
      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"
    }
  ]
}

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@2024-10-19"

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
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. UserAssignedIdentities

ManualResourcePredictionsProfile

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

NetworkProfile

Name Description Value
subnetId Die Subnetz-ID, auf der alle Computer im Pool erstellt werden sollen. Zeichenfolge (erforderlich)

Organization

Name Description Value
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
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'

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)

SecretsManagementSettings

Name Description Value
certificateStoreLocation Speicherort für Zertifikate auf dem Computer. string
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

UserAssignedIdentities

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