Udostępnij przez


Pule Microsoft.DevOpsInfrastructure

Definicja zasobu Bicep

Typ zasobu pul można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.DevOpsInfrastructure/pools, dodaj następujący kod Bicep do szablonu.

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'
  }
}

Obiekty OrganizationProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku usługi AzureDevOps użyj:

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

W przypadku usługi GitHub użyj:

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

Obiekty AgentProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku funkcji Stateful użyj:

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

W przypadku bezstanowych użyj:

{
  kind: 'Stateless'
}

Obiekty ResourcePredictionsProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku opcji Automatyczny użyj:

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

W przypadku instrukcji użyj:

{
  kind: 'Manual'
}

Obiekty FabricProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku usługi VMSS użyj:

{
  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'
  }
}

Wartości właściwości

Microsoft.DevOpsInfrastructure/pools

Name Description Value
tożsamość Tożsamości usługi zarządzanej przypisane do tego zasobu. ManagedServiceIdentity
lokalizacja Lokalizacja geograficzna, w której znajduje się zasób ciąg (wymagany)
name Nazwa zasobu string

Constraints:
Wzorzec = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (wymagane)
properties Właściwości specyficzne dla zasobu dla tego zasobu. PoolProperties
zakres Użyj polecenia podczas tworzenia zasobu w zakresie innym niż zakres wdrożenia. Ustaw tę właściwość na symboliczną nazwę zasobu, aby zastosować zasób rozszerzenia.
tags Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach

AgentProfile

Name Description Value
kind Ustaw wartość "Stateful" dla typu Stateful. Ustaw wartość "Stateless" dla typu StatelessAgentProfile. 'Stateful'
"Bezstanowy" (wymagane)
resourcePredictions Definiuje bufor puli/agentów rezerwowych. any
resourcePredictionsProfile Definiuje sposób zapewniania buforu puli/agentów rezerwowych. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Określa sposób zapewniania schematu rezerwowego. "Automatyczny" (wymagane)
predictionPreference Określa równowagę między kosztami i wydajnością. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Alias odwołujący się do nazwy puli usługi Azure DevOps. ciąg
kind Właściwość dyskryminująca dla elementu OrganizationProfile. "AzureDevOps" (wymagane)
organizations Lista organizacji usługi Azure DevOps, w których powinna znajdować się pula. Organizacja[] (wymagane)
permissionProfile Typ uprawnienia, który określa, które konta są administratorami w puli usługi Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Adresy e-mail grupy string[]
kind Określa, kto ma uprawnienia administratora do puli usługi Azure DevOps. 'CreatorOnly'
'Inherit'
"SpecificAccounts" (wymagane)
users Adresy e-mail użytkownika string[]

DataDisk

Name Description Value
buforowanie Typ buforowania, który ma być włączony dla dysków danych. Wartość domyślna buforowania to readwrite. Aby uzyskać informacje o opcjach buforowania, zobacz: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Początkowy rozmiar dysku w gigabajtach. int
driveLetter Litera dysku dla pustego dysku danych. Jeśli nie zostanie określony, będzie to pierwsza dostępna litera. ciąg
storageAccountType Typ konta magazynu, który ma być używany dla dysku danych. W przypadku pominięcia wartość domyślna to "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Nazwa jednostki SKU platformy Azure maszyn w puli. ciąg (wymagany)

FabricProfile

Name Description Value
kind Ustaw wartość "Vmss" dla typu VmssFabricProfile. "Vmss" (wymagane)

GitHubOrganization

Name Description Value
repositories Opcjonalna lista repozytoriów, w których należy utworzyć pulę. string[]
url Adres URL organizacji usługi GitHub, w którym należy utworzyć pulę. ciąg (wymagany)

GitHubOrganizationProfile

Name Description Value
kind Właściwość dyskryminująca dla elementu OrganizationProfile. "GitHub" (wymagane)
organizations Lista organizacji/repozytoriów usługi GitHub, w których powinna znajdować się pula. GitHubOrganization[] (wymagane)

ManagedServiceIdentity

Name Description Value
typ Typ tożsamości usługi zarządzanej (gdzie dozwolone są typy SystemAssigned i UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
"UserAssigned" (wymagane)
userAssignedIdentities Zestaw tożsamości przypisanych przez użytkownika skojarzonych z zasobem. Klucze słownika userAssignedIdentities będą identyfikatorami zasobów usługi ARM w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Wartości słownika mogą być pustymi obiektami ({}) w żądaniach. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Określa sposób zapewniania schematu rezerwowego. "Ręczny" (wymagane)

NetworkProfile

Name Description Value
staticIpAddressCount Liczba statycznych publicznych adresów IP dla połączeń wychodzących przypisanych do puli. int
subnetId Identyfikator podsieci, w której mają być umieszczone wszystkie maszyny utworzone w puli. ciąg

Organization

Name Description Value
alias Alias odwołujący się do nazwy puli usługi Azure DevOps. ciąg
openAccess Określa, czy pula powinna mieć otwarty dostęp do wszystkich projektów w tej organizacji. bool
parallelism Ile maszyn można utworzyć maksymalnie w tej organizacji z maksymalnej liczby komputerów w puli. int
projects Opcjonalna lista projektów, w których należy utworzyć pulę. string[]
url Adres URL organizacji usługi Azure DevOps, w którym należy utworzyć pulę. ciąg (wymagany)

OrganizationProfile

Name Description Value
kind Ustaw wartość "AzureDevOps" dla typu AzureDevOpsOrganizationProfile. Ustaw wartość "GitHub" dla typu GitHubOrganizationProfile. 'AzureDevOps'
"GitHub" (wymagane)

OsProfile

Name Description Value
logonType Określa sposób uruchamiania usługi. Domyślnie zostanie ustawiona wartość Usługa. 'Interactive'
'Service'
secretsManagementSettings Ustawienia zarządzania wpisami tajnymi maszyn w puli. SecretsManagementSettings

PoolImage

Name Description Value
aliases Lista aliasów do odwołowania się do obrazu. string[]
bufor Procent buforu, który ma zostać przydzielony do tego obrazu. ciąg
ephemeralType Efemeryczny typ obrazu. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Identyfikator zasobu obrazu. ciąg
wellKnownImageName Obraz do użycia z dobrze znanego zestawu obrazów udostępnianych klientom. ciąg

PoolProperties

Name Description Value
agentProfile Definiuje sposób obsługi maszyny po wykonaniu zadania. AgentProfile (wymagane)
devCenterProjectResourceId Identyfikator zasobu projektu DevCenter, do którego należy pula. ciąg (wymagany)
fabricProfile Definiuje typ sieci szkieletowej, na których będzie uruchamiany agent. FabricProfile (wymagane)
maximumConcurrency Określa, ile zasobów można utworzyć w danym momencie. int

Constraints:
Minimalna wartość = 1
Wartość maksymalna = 10000 (wymagane)
organizationProfile Definiuje organizację, w której będzie używana pula. OrganizationProfile (wymagane)
provisioningState Stan bieżącej operacji. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration (konfiguracja środowiska uruchomieniowego) Konfiguracja środowiska uruchomieniowego puli. RuntimeConfiguration (konfiguracja środowiska uruchomieniowego)

ResourcePredictionsProfile

Name Description Value
kind Ustaw wartość "Automatycznie" dla typu AutomaticResourcePredictionsProfile. Ustaw wartość "Ręcznie" dla typu ManualResourcePredictionsProfile. 'Automatic'
"Ręczny" (wymagane)

RuntimeConfiguration (konfiguracja środowiska uruchomieniowego)

Name Description Value
workFolder (folder roboczy) Docelowy folder roboczy agenta zadań na komputerze. ciąg

SecretsManagementSettings

Name Description Value
certificateStoreLocation Gdzie przechowywać certyfikaty na maszynie. ciąg
certificateStoreName Nazwa magazynu certyfikatów do użycia na maszynie, obecnie obsługiwane są pozycje "Moje" i "Root". 'My'
'Root'
keyExportable Określa, czy klucz certyfikatów powinien być eksportowalny. bool (wymagane)
observedCertificates Lista certyfikatów do zainstalowania na wszystkich maszynach w puli. ciąg[] (wymagane)

Stateful

Name Description Value
gracePeriodTimeSpan Jak długo maszyna powinna być przechowywana po uruchomieniu obciążenia, gdy nie ma agentów rezerwowych. Maksymalna wartość to tydzień. ciąg
kind Właściwość dyskryminująca dla agentaProfile. "Stanowy" (wymagane)
maxAgentLifetime Jak długo powinny być przechowywane stanowe maszyny. Maksymalna wartość to tydzień. ciąg

StatelessAgentProfile

Name Description Value
kind Właściwość dyskryminująca dla agentaProfile. "Bezstanowy" (wymagane)

StorageProfile

Name Description Value
dataDisks Lista pustych dysków danych do dołączenia. DataDisk[]
osDiskStorageAccountType Nazwa jednostki SKU platformy Azure maszyn w puli. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Obrazy maszyn wirtualnych maszyn w puli. PoolImage[] (wymagane)
kind Dyskryminująca właściwość fabricProfile. "Vmss" (wymagane)
networkProfile Profil sieciowy maszyn w puli. NetworkProfile
osProfile Profil systemu operacyjnego maszyn w puli. OsProfile
sku Jednostka SKU platformy Azure maszyn w puli. DevOpsAzureSku (wymagane)
storageProfile Profil magazynu maszyn w puli. StorageProfile

Przykłady użycia

Moduły zweryfikowane na platformie Azure

Następujące moduły zweryfikowane platformy Azure mogą służyć do wdrażania tego typu zasobu.

Module Description
Pula infrastruktury DevOps Moduł zasobów AVM dla puli infrastruktury DevOps

Definicja zasobu szablonu usługi ARM

Typ zasobu pul można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.DevOpsInfrastructure/pools, dodaj następujący kod JSON do szablonu.

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

Obiekty OrganizationProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku usługi AzureDevOps użyj:

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

W przypadku usługi GitHub użyj:

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

Obiekty AgentProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku funkcji Stateful użyj:

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

W przypadku bezstanowych użyj:

{
  "kind": "Stateless"
}

Obiekty ResourcePredictionsProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku opcji Automatyczny użyj:

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

W przypadku instrukcji użyj:

{
  "kind": "Manual"
}

Obiekty FabricProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku usługi VMSS użyj:

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

Wartości właściwości

Microsoft.DevOpsInfrastructure/pools

Name Description Value
apiVersion Wersja interfejsu API '2025-09-20'
tożsamość Tożsamości usługi zarządzanej przypisane do tego zasobu. ManagedServiceIdentity
lokalizacja Lokalizacja geograficzna, w której znajduje się zasób ciąg (wymagany)
name Nazwa zasobu string

Constraints:
Wzorzec = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (wymagane)
properties Właściwości specyficzne dla zasobu dla tego zasobu. PoolProperties
tags Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach
typ Typ zasobu 'Microsoft.DevOpsInfrastructure/pools'

AgentProfile

Name Description Value
kind Ustaw wartość "Stateful" dla typu Stateful. Ustaw wartość "Stateless" dla typu StatelessAgentProfile. 'Stateful'
"Bezstanowy" (wymagane)
resourcePredictions Definiuje bufor puli/agentów rezerwowych. any
resourcePredictionsProfile Definiuje sposób zapewniania buforu puli/agentów rezerwowych. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Określa sposób zapewniania schematu rezerwowego. "Automatyczny" (wymagane)
predictionPreference Określa równowagę między kosztami i wydajnością. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Alias odwołujący się do nazwy puli usługi Azure DevOps. ciąg
kind Właściwość dyskryminująca dla elementu OrganizationProfile. "AzureDevOps" (wymagane)
organizations Lista organizacji usługi Azure DevOps, w których powinna znajdować się pula. Organizacja[] (wymagane)
permissionProfile Typ uprawnienia, który określa, które konta są administratorami w puli usługi Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Adresy e-mail grupy string[]
kind Określa, kto ma uprawnienia administratora do puli usługi Azure DevOps. 'CreatorOnly'
'Inherit'
"SpecificAccounts" (wymagane)
users Adresy e-mail użytkownika string[]

DataDisk

Name Description Value
buforowanie Typ buforowania, który ma być włączony dla dysków danych. Wartość domyślna buforowania to readwrite. Aby uzyskać informacje o opcjach buforowania, zobacz: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Początkowy rozmiar dysku w gigabajtach. int
driveLetter Litera dysku dla pustego dysku danych. Jeśli nie zostanie określony, będzie to pierwsza dostępna litera. ciąg
storageAccountType Typ konta magazynu, który ma być używany dla dysku danych. W przypadku pominięcia wartość domyślna to "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Nazwa jednostki SKU platformy Azure maszyn w puli. ciąg (wymagany)

FabricProfile

Name Description Value
kind Ustaw wartość "Vmss" dla typu VmssFabricProfile. "Vmss" (wymagane)

GitHubOrganization

Name Description Value
repositories Opcjonalna lista repozytoriów, w których należy utworzyć pulę. string[]
url Adres URL organizacji usługi GitHub, w którym należy utworzyć pulę. ciąg (wymagany)

GitHubOrganizationProfile

Name Description Value
kind Właściwość dyskryminująca dla elementu OrganizationProfile. "GitHub" (wymagane)
organizations Lista organizacji/repozytoriów usługi GitHub, w których powinna znajdować się pula. GitHubOrganization[] (wymagane)

ManagedServiceIdentity

Name Description Value
typ Typ tożsamości usługi zarządzanej (gdzie dozwolone są typy SystemAssigned i UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
"UserAssigned" (wymagane)
userAssignedIdentities Zestaw tożsamości przypisanych przez użytkownika skojarzonych z zasobem. Klucze słownika userAssignedIdentities będą identyfikatorami zasobów usługi ARM w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Wartości słownika mogą być pustymi obiektami ({}) w żądaniach. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Określa sposób zapewniania schematu rezerwowego. "Ręczny" (wymagane)

NetworkProfile

Name Description Value
staticIpAddressCount Liczba statycznych publicznych adresów IP dla połączeń wychodzących przypisanych do puli. int
subnetId Identyfikator podsieci, w której mają być umieszczone wszystkie maszyny utworzone w puli. ciąg

Organization

Name Description Value
alias Alias odwołujący się do nazwy puli usługi Azure DevOps. ciąg
openAccess Określa, czy pula powinna mieć otwarty dostęp do wszystkich projektów w tej organizacji. bool
parallelism Ile maszyn można utworzyć maksymalnie w tej organizacji z maksymalnej liczby komputerów w puli. int
projects Opcjonalna lista projektów, w których należy utworzyć pulę. string[]
url Adres URL organizacji usługi Azure DevOps, w którym należy utworzyć pulę. ciąg (wymagany)

OrganizationProfile

Name Description Value
kind Ustaw wartość "AzureDevOps" dla typu AzureDevOpsOrganizationProfile. Ustaw wartość "GitHub" dla typu GitHubOrganizationProfile. 'AzureDevOps'
"GitHub" (wymagane)

OsProfile

Name Description Value
logonType Określa sposób uruchamiania usługi. Domyślnie zostanie ustawiona wartość Usługa. 'Interactive'
'Service'
secretsManagementSettings Ustawienia zarządzania wpisami tajnymi maszyn w puli. SecretsManagementSettings

PoolImage

Name Description Value
aliases Lista aliasów do odwołowania się do obrazu. string[]
bufor Procent buforu, który ma zostać przydzielony do tego obrazu. ciąg
ephemeralType Efemeryczny typ obrazu. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Identyfikator zasobu obrazu. ciąg
wellKnownImageName Obraz do użycia z dobrze znanego zestawu obrazów udostępnianych klientom. ciąg

PoolProperties

Name Description Value
agentProfile Definiuje sposób obsługi maszyny po wykonaniu zadania. AgentProfile (wymagane)
devCenterProjectResourceId Identyfikator zasobu projektu DevCenter, do którego należy pula. ciąg (wymagany)
fabricProfile Definiuje typ sieci szkieletowej, na których będzie uruchamiany agent. FabricProfile (wymagane)
maximumConcurrency Określa, ile zasobów można utworzyć w danym momencie. int

Constraints:
Minimalna wartość = 1
Wartość maksymalna = 10000 (wymagane)
organizationProfile Definiuje organizację, w której będzie używana pula. OrganizationProfile (wymagane)
provisioningState Stan bieżącej operacji. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration (konfiguracja środowiska uruchomieniowego) Konfiguracja środowiska uruchomieniowego puli. RuntimeConfiguration (konfiguracja środowiska uruchomieniowego)

ResourcePredictionsProfile

Name Description Value
kind Ustaw wartość "Automatycznie" dla typu AutomaticResourcePredictionsProfile. Ustaw wartość "Ręcznie" dla typu ManualResourcePredictionsProfile. 'Automatic'
"Ręczny" (wymagane)

RuntimeConfiguration (konfiguracja środowiska uruchomieniowego)

Name Description Value
workFolder (folder roboczy) Docelowy folder roboczy agenta zadań na komputerze. ciąg

SecretsManagementSettings

Name Description Value
certificateStoreLocation Gdzie przechowywać certyfikaty na maszynie. ciąg
certificateStoreName Nazwa magazynu certyfikatów do użycia na maszynie, obecnie obsługiwane są pozycje "Moje" i "Root". 'My'
'Root'
keyExportable Określa, czy klucz certyfikatów powinien być eksportowalny. bool (wymagane)
observedCertificates Lista certyfikatów do zainstalowania na wszystkich maszynach w puli. ciąg[] (wymagane)

Stateful

Name Description Value
gracePeriodTimeSpan Jak długo maszyna powinna być przechowywana po uruchomieniu obciążenia, gdy nie ma agentów rezerwowych. Maksymalna wartość to tydzień. ciąg
kind Właściwość dyskryminująca dla agentaProfile. "Stanowy" (wymagane)
maxAgentLifetime Jak długo powinny być przechowywane stanowe maszyny. Maksymalna wartość to tydzień. ciąg

StatelessAgentProfile

Name Description Value
kind Właściwość dyskryminująca dla agentaProfile. "Bezstanowy" (wymagane)

StorageProfile

Name Description Value
dataDisks Lista pustych dysków danych do dołączenia. DataDisk[]
osDiskStorageAccountType Nazwa jednostki SKU platformy Azure maszyn w puli. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Obrazy maszyn wirtualnych maszyn w puli. PoolImage[] (wymagane)
kind Dyskryminująca właściwość fabricProfile. "Vmss" (wymagane)
networkProfile Profil sieciowy maszyn w puli. NetworkProfile
osProfile Profil systemu operacyjnego maszyn w puli. OsProfile
sku Jednostka SKU platformy Azure maszyn w puli. DevOpsAzureSku (wymagane)
storageProfile Profil magazynu maszyn w puli. StorageProfile

Przykłady użycia

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu pul można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.DevOpsInfrastructure/pools, dodaj następujący program Terraform do szablonu.

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"
      }
    }
  }
}

Obiekty OrganizationProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku usługi AzureDevOps użyj:

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

W przypadku usługi GitHub użyj:

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

Obiekty AgentProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku funkcji Stateful użyj:

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

W przypadku bezstanowych użyj:

{
  kind = "Stateless"
}

Obiekty ResourcePredictionsProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku opcji Automatyczny użyj:

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

W przypadku instrukcji użyj:

{
  kind = "Manual"
}

Obiekty FabricProfile

Ustaw właściwość kind , aby określić typ obiektu.

W przypadku usługi VMSS użyj:

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

Wartości właściwości

Microsoft.DevOpsInfrastructure/pools

Name Description Value
tożsamość Tożsamości usługi zarządzanej przypisane do tego zasobu. ManagedServiceIdentity
lokalizacja Lokalizacja geograficzna, w której znajduje się zasób ciąg (wymagany)
name Nazwa zasobu string

Constraints:
Wzorzec = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (wymagane)
parent_id Identyfikator zasobu, do który ma być stosowany ten zasób rozszerzenia. ciąg (wymagany)
properties Właściwości specyficzne dla zasobu dla tego zasobu. PoolProperties
tags Tagi zasobów Słownik nazw tagów i wartości.
typ Typ zasobu "Microsoft.DevOpsInfrastructure/pools@2025-09-20"

AgentProfile

Name Description Value
kind Ustaw wartość "Stateful" dla typu Stateful. Ustaw wartość "Stateless" dla typu StatelessAgentProfile. 'Stateful'
"Bezstanowy" (wymagane)
resourcePredictions Definiuje bufor puli/agentów rezerwowych. any
resourcePredictionsProfile Definiuje sposób zapewniania buforu puli/agentów rezerwowych. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Określa sposób zapewniania schematu rezerwowego. "Automatyczny" (wymagane)
predictionPreference Określa równowagę między kosztami i wydajnością. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
alias Alias odwołujący się do nazwy puli usługi Azure DevOps. ciąg
kind Właściwość dyskryminująca dla elementu OrganizationProfile. "AzureDevOps" (wymagane)
organizations Lista organizacji usługi Azure DevOps, w których powinna znajdować się pula. Organizacja[] (wymagane)
permissionProfile Typ uprawnienia, który określa, które konta są administratorami w puli usługi Azure DevOps. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups Adresy e-mail grupy string[]
kind Określa, kto ma uprawnienia administratora do puli usługi Azure DevOps. 'CreatorOnly'
'Inherit'
"SpecificAccounts" (wymagane)
users Adresy e-mail użytkownika string[]

DataDisk

Name Description Value
buforowanie Typ buforowania, który ma być włączony dla dysków danych. Wartość domyślna buforowania to readwrite. Aby uzyskać informacje o opcjach buforowania, zobacz: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Początkowy rozmiar dysku w gigabajtach. int
driveLetter Litera dysku dla pustego dysku danych. Jeśli nie zostanie określony, będzie to pierwsza dostępna litera. ciąg
storageAccountType Typ konta magazynu, który ma być używany dla dysku danych. W przypadku pominięcia wartość domyślna to "standard_lrs". 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Nazwa jednostki SKU platformy Azure maszyn w puli. ciąg (wymagany)

FabricProfile

Name Description Value
kind Ustaw wartość "Vmss" dla typu VmssFabricProfile. "Vmss" (wymagane)

GitHubOrganization

Name Description Value
repositories Opcjonalna lista repozytoriów, w których należy utworzyć pulę. string[]
url Adres URL organizacji usługi GitHub, w którym należy utworzyć pulę. ciąg (wymagany)

GitHubOrganizationProfile

Name Description Value
kind Właściwość dyskryminująca dla elementu OrganizationProfile. "GitHub" (wymagane)
organizations Lista organizacji/repozytoriów usługi GitHub, w których powinna znajdować się pula. GitHubOrganization[] (wymagane)

ManagedServiceIdentity

Name Description Value
typ Typ tożsamości usługi zarządzanej (gdzie dozwolone są typy SystemAssigned i UserAssigned). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
"UserAssigned" (wymagane)
userAssignedIdentities Zestaw tożsamości przypisanych przez użytkownika skojarzonych z zasobem. Klucze słownika userAssignedIdentities będą identyfikatorami zasobów usługi ARM w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Wartości słownika mogą być pustymi obiektami ({}) w żądaniach. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

ManualResourcePredictionsProfile

Name Description Value
kind Określa sposób zapewniania schematu rezerwowego. "Ręczny" (wymagane)

NetworkProfile

Name Description Value
staticIpAddressCount Liczba statycznych publicznych adresów IP dla połączeń wychodzących przypisanych do puli. int
subnetId Identyfikator podsieci, w której mają być umieszczone wszystkie maszyny utworzone w puli. ciąg

Organization

Name Description Value
alias Alias odwołujący się do nazwy puli usługi Azure DevOps. ciąg
openAccess Określa, czy pula powinna mieć otwarty dostęp do wszystkich projektów w tej organizacji. bool
parallelism Ile maszyn można utworzyć maksymalnie w tej organizacji z maksymalnej liczby komputerów w puli. int
projects Opcjonalna lista projektów, w których należy utworzyć pulę. string[]
url Adres URL organizacji usługi Azure DevOps, w którym należy utworzyć pulę. ciąg (wymagany)

OrganizationProfile

Name Description Value
kind Ustaw wartość "AzureDevOps" dla typu AzureDevOpsOrganizationProfile. Ustaw wartość "GitHub" dla typu GitHubOrganizationProfile. 'AzureDevOps'
"GitHub" (wymagane)

OsProfile

Name Description Value
logonType Określa sposób uruchamiania usługi. Domyślnie zostanie ustawiona wartość Usługa. 'Interactive'
'Service'
secretsManagementSettings Ustawienia zarządzania wpisami tajnymi maszyn w puli. SecretsManagementSettings

PoolImage

Name Description Value
aliases Lista aliasów do odwołowania się do obrazu. string[]
bufor Procent buforu, który ma zostać przydzielony do tego obrazu. ciąg
ephemeralType Efemeryczny typ obrazu. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Identyfikator zasobu obrazu. ciąg
wellKnownImageName Obraz do użycia z dobrze znanego zestawu obrazów udostępnianych klientom. ciąg

PoolProperties

Name Description Value
agentProfile Definiuje sposób obsługi maszyny po wykonaniu zadania. AgentProfile (wymagane)
devCenterProjectResourceId Identyfikator zasobu projektu DevCenter, do którego należy pula. ciąg (wymagany)
fabricProfile Definiuje typ sieci szkieletowej, na których będzie uruchamiany agent. FabricProfile (wymagane)
maximumConcurrency Określa, ile zasobów można utworzyć w danym momencie. int

Constraints:
Minimalna wartość = 1
Wartość maksymalna = 10000 (wymagane)
organizationProfile Definiuje organizację, w której będzie używana pula. OrganizationProfile (wymagane)
provisioningState Stan bieżącej operacji. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'
runtimeConfiguration (konfiguracja środowiska uruchomieniowego) Konfiguracja środowiska uruchomieniowego puli. RuntimeConfiguration (konfiguracja środowiska uruchomieniowego)

ResourcePredictionsProfile

Name Description Value
kind Ustaw wartość "Automatycznie" dla typu AutomaticResourcePredictionsProfile. Ustaw wartość "Ręcznie" dla typu ManualResourcePredictionsProfile. 'Automatic'
"Ręczny" (wymagane)

RuntimeConfiguration (konfiguracja środowiska uruchomieniowego)

Name Description Value
workFolder (folder roboczy) Docelowy folder roboczy agenta zadań na komputerze. ciąg

SecretsManagementSettings

Name Description Value
certificateStoreLocation Gdzie przechowywać certyfikaty na maszynie. ciąg
certificateStoreName Nazwa magazynu certyfikatów do użycia na maszynie, obecnie obsługiwane są pozycje "Moje" i "Root". 'My'
'Root'
keyExportable Określa, czy klucz certyfikatów powinien być eksportowalny. bool (wymagane)
observedCertificates Lista certyfikatów do zainstalowania na wszystkich maszynach w puli. ciąg[] (wymagane)

Stateful

Name Description Value
gracePeriodTimeSpan Jak długo maszyna powinna być przechowywana po uruchomieniu obciążenia, gdy nie ma agentów rezerwowych. Maksymalna wartość to tydzień. ciąg
kind Właściwość dyskryminująca dla agentaProfile. "Stanowy" (wymagane)
maxAgentLifetime Jak długo powinny być przechowywane stanowe maszyny. Maksymalna wartość to tydzień. ciąg

StatelessAgentProfile

Name Description Value
kind Właściwość dyskryminująca dla agentaProfile. "Bezstanowy" (wymagane)

StorageProfile

Name Description Value
dataDisks Lista pustych dysków danych do dołączenia. DataDisk[]
osDiskStorageAccountType Nazwa jednostki SKU platformy Azure maszyn w puli. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Obrazy maszyn wirtualnych maszyn w puli. PoolImage[] (wymagane)
kind Dyskryminująca właściwość fabricProfile. "Vmss" (wymagane)
networkProfile Profil sieciowy maszyn w puli. NetworkProfile
osProfile Profil systemu operacyjnego maszyn w puli. OsProfile
sku Jednostka SKU platformy Azure maszyn w puli. DevOpsAzureSku (wymagane)
storageProfile Profil magazynu maszyn w puli. StorageProfile

Przykłady użycia

Moduły zweryfikowane na platformie Azure

Następujące moduły zweryfikowane platformy Azure mogą służyć do wdrażania tego typu zasobu.

Module Description
Pule DevOps Moduł zasobów AVM dla pul DevOps