Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |