Microsoft. DevOpsInfrastructure havuzları 2025-01-21

Bicep kaynak tanımı

Havuz kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

  • kaynak grupları - Bkz. kaynak grubu dağıtım komutları

Her API sürümünde değiştirilen özelliklerin listesi için bkz. değişiklik günlüğü.

Kullanım Örnekleri

Azure Doğrulanmış Modülleri

Aşağıdaki Azure Doğrulanmış Modüller bu kaynak türünü dağıtmak için kullanılabilir.

Module Description
DevOps Altyapı Havuzu DevOps Altyapı Havuzu için AVM Kaynak Modülü

Kaynak biçimi

Bir Microsoft yaratmak için. DevOpsInfrastructure/pools kaynağı için aşağıdaki Bicep'i şablonunuza ekleyin.

resource symbolicname 'Microsoft.DevOpsInfrastructure/pools@2025-01-21' = {
  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'
  }
}

OrganizationProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

AzureDevOps için şunu kullanın:

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

GitHub için şunları kullanın:

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

ResourcePredictionsProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Otomatik için şunu kullanın:

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

Manuel için şunu kullanın:

{
  kind: 'Manual'
}

FabricProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Vmss için şunu kullanın:

{
  images: [
    {
      aliases: [
        'string'
      ]
      buffer: 'string'
      ephemeralType: 'string'
      resourceId: 'string'
      wellKnownImageName: 'string'
    }
  ]
  kind: 'Vmss'
  networkProfile: {
    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'
  }
}

AgentProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Durum bilgisi olan için şunu kullanın:

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

Durum Bilgisi Olmayanlar için şunu kullanın:

{
  kind: 'Stateless'
}

Özellik Değerleri

Microsoft. DevOpsInfrastructure/havuzlar

Name Description Value
identity Bu kaynağa atanan yönetilen hizmet kimlikleri. ManagedServiceIdentity
location Kaynağın bulunduğu coğrafi konum dize (gerekli)
name Kaynak adı string

Constraints:
Desen = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (gerekli)
properties Bu kaynağın kaynağa özgü özellikleri. PoolProperties
tags Kaynak etiketleri Etiket adları ve değerleri sözlüğü. Bkz. şablonlardaki Etiketleri

AgentProfile

Name Description Value
kind Durum bilgisi olan türü için 'Durum Bilgisi' olarak ayarlayın. StatelessAgentProfile türü için 'Durum Bilgisiz' olarak ayarlayın. 'Stateful'
'Vatansız' (gerekli)
resourcePredictions Havuz arabelleği/stand-by aracılarını tanımlar. any
resourcePredictionsProfile Havuz arabelleği/stand-by aracılarının nasıl sağlandığını tanımlar. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Stand-by düzeninin nasıl sağlanması gerektiğini belirler. 'Otomatik' (gerekli)
predictionPreference Maliyet ve performans arasındaki dengeyi belirler. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
kind OrganizationProfile için discriminator özelliği. 'AzureDevOps' (gerekli)
organizations Havuzun bulunması gereken Azure DevOps organizasyonlarının listesi. Kuruluş[] (gerekli)
permissionProfile Azure DevOps havuzunda hangi hesapların yönetici olduğunu belirleyen izin türü. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups E-posta adreslerini gruplandırma string[]
kind Azure DevOps havuzuna kimlerin yönetici izinlerine sahip olduğunu belirler. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (gerekli)
users Kullanıcı e-posta adresleri string[]

DataDisk

Name Description Value
caching Veri diskleri için etkinleştirilecek önbelleğe alma türü. Önbelleğe alma için varsayılan değer readwrite değeridir. Önbelleğe alma seçenekleri hakkında bilgi için bkz. https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Gigabayt cinsinden ilk disk boyutu. int
driveLetter Boş veri diskinin sürücü harfi. Belirtilmezse, kullanılabilir ilk harf olacaktır. string
storageAccountType Veri diski için kullanılacak depolama Hesabı türü. Atlanırsa, varsayılan değer "standard_lrs"dir. 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Havuzdaki makinelerin Azure SKU adı. dize (gerekli)

FabricProfile

Name Description Value
kind VmssFabricProfile türü için 'Vmss' olarak ayarlayın. 'Vmss' (gerekli)

GitHubOrganization

Name Description Value
repositories Havuzun oluşturulması gereken isteğe bağlı depo listesi. string[]
url Havuzun oluşturulması gereken GitHub organizasyon URL'si. dize (gerekli)

GitHubOrganizationProfile

Name Description Value
kind OrganizationProfile için discriminator özelliği. 'GitHub' (zorunlu)
organizations Havuzun bulunması gereken GitHub organizasyonları/depolarının listesi. GitHubOrganization[] (gerekli)

ManagedServiceIdentity

Name Description Value
type Yönetilen hizmet kimliği türü (hem SystemAssigned hem de UserAssigned türlerine izin verilir). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (gerekli)
userAssignedIdentities Kaynakla ilişkili kullanıcı tarafından atanan kimlik kümesi. userAssignedIdentities sözlük anahtarları, şu biçimde ARM kaynak kimlikleri olacaktır: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}. Sözlük değerleri, isteklerdeki boş nesneler ({}) olabilir. UserAssignedIdentities

ManualResourcePredictionsProfile

Name Description Value
kind Stand-by düzeninin nasıl sağlanması gerektiğini belirler. 'Manuel' (gerekli)

NetworkProfile

Name Description Value
subnetId Havuza oluşturulan tüm makinelerin yerleştirildiği alt ağ kimliği. dize (gerekli)

Organization

Name Description Value
openAccess Havuzun bu kuruluştaki tüm projelere açık erişimi olup olmadığını belirler. bool
parallelism Bu kuruluşta havuzun maximumConcurrency değeri dışında en fazla kaç makine oluşturulabilir? int
projects Havuzun oluşturulması gereken projelerin isteğe bağlı listesi. string[]
url Havuzun oluşturulması gereken Azure DevOps organizasyon URL'si. dize (gerekli)

OrganizationProfile

Name Description Value
kind AzureDevOpsOrganizationProfile türü için 'AzureDevOps' olarak ayarlayın. Tip için GitHubOrganizationProfile için 'GitHub' olarak ayarlandı. 'AzureDevOps'
'GitHub' (zorunlu)

OsProfile

Name Description Value
logonType Hizmetin nasıl çalıştırılması gerektiğini belirler. Varsayılan olarak, bu Hizmet olarak ayarlanır. 'Interactive'
'Service'
secretsManagementSettings Havuzdaki makinelerin gizli dizi yönetimi ayarları. SecretsManagementSettings

PoolImage

Name Description Value
aliases Görüntüye başvuracak diğer adların listesi. string[]
buffer Bu görüntüye ayrılacak arabellek yüzdesi. string
ephemeralType Görüntünün kısa ömürlü türü. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Görüntünün kaynak kimliği. string
wellKnownImageName Müşterilerin kullanımına sunulan iyi bilinen bir görüntü kümesinden kullanılacak görüntü. string

PoolProperties

Name Description Value
agentProfile Makinenin bir işi yürüttkten sonra nasıl işleneceğini tanımlar. AgentProfile (gerekli)
devCenterProjectResourceId Havuzun ait olduğu DevCenter Project'in kaynak kimliği. dize (gerekli)
fabricProfile Aracının üzerinde çalıştırılacağı doku türünü tanımlar. FabricProfile (gerekli)
maximumConcurrency Herhangi bir zamanda kaç kaynak oluşturulabileceğini tanımlar. int

Constraints:
Min değer = 1
Maksimum değer = 10000 (gerekli)
organizationProfile Havuzun kullanılacağı kuruluşu tanımlar. OrganizationProfile (gerekli)
provisioningState Geçerli işlemin durumu. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'

ResourcePredictionsProfile

Name Description Value
kind AutomaticResourcePredictionsProfile türü için 'Otomatik' olarak ayarlayın. ManualResourcePredictionsProfile türü için 'Manuel' olarak ayarlayın. 'Automatic'
'Manuel' (gerekli)

SecretsManagementSettings

Name Description Value
certificateStoreLocation Makinede sertifikaların depolandığı yer. string
certificateStoreName Makinede kullanılacak sertifika deposunun adı; şu anda 'My' ve 'Root' desteklenir. 'My'
'Root'
keyExportable Sertifikaların anahtarının dışarı aktarılabilir olup olmadığını tanımlar. bool (gerekli)
observedCertificates Havuzdaki tüm makinelere yüklenecek sertifikaların listesi. string[] (gerekli)

Stateful

Name Description Value
gracePeriodTimeSpan Bir iş yükünü çalıştırdıktan sonra, hazırda duran aracılar olmadığında makinenin ne kadar süreyle tutulacağı. En fazla bir hafta. string
kind AgentProfile için discriminator özelliği. 'Durum bilgisi' (gerekli)
maxAgentLifetime Durum bilgisi olan makinelerin ne kadar süreyle tutulacağı. En fazla bir hafta. string

StatelessAgentProfile

Name Description Value
kind AgentProfile için discriminator özelliği. 'Vatansız' (gerekli)

StorageProfile

Name Description Value
dataDisks Eklenecek boş veri disklerinin listesi. DataDisk[]
osDiskStorageAccountType Havuzdaki makinelerin Azure SKU adı. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Havuzdaki makinelerin VM görüntüleri. PoolImage[] (gerekli)
kind FabricProfile için discriminator özelliği. 'Vmss' (gerekli)
networkProfile Havuzdaki makinelerin ağ profili. NetworkProfile
osProfile Havuzdaki makinelerin işletim sistemi profili. OsProfile
sku Havuzdaki makinelerin Azure SKU'su. DevOpsAzureSku (gerekli)
storageProfile Havuzdaki makinelerin depolama profili. StorageProfile

ARM şablonu kaynak tanımı

Havuz kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

Kullanım Örnekleri

Kaynak biçimi

Bir Microsoft yaratmak için. DevOpsInfrastructure/pools resource, aşağıdaki JSON'u şablonunuza ekleyin.

{
  "type": "Microsoft.DevOpsInfrastructure/pools",
  "apiVersion": "2025-01-21",
  "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"
  }
}

OrganizationProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

AzureDevOps için şunu kullanın:

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

GitHub için şunları kullanın:

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

ResourcePredictionsProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Otomatik için şunu kullanın:

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

Manuel için şunu kullanın:

{
  "kind": "Manual"
}

FabricProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Vmss için şunu kullanın:

{
  "images": [
    {
      "aliases": [ "string" ],
      "buffer": "string",
      "ephemeralType": "string",
      "resourceId": "string",
      "wellKnownImageName": "string"
    }
  ],
  "kind": "Vmss",
  "networkProfile": {
    "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"
  }
}

AgentProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Durum bilgisi olan için şunu kullanın:

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

Durum Bilgisi Olmayanlar için şunu kullanın:

{
  "kind": "Stateless"
}

Özellik Değerleri

Microsoft. DevOpsInfrastructure/havuzlar

Name Description Value
apiVersion API sürümü '2025-01-21'
identity Bu kaynağa atanan yönetilen hizmet kimlikleri. ManagedServiceIdentity
location Kaynağın bulunduğu coğrafi konum dize (gerekli)
name Kaynak adı string

Constraints:
Desen = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (gerekli)
properties Bu kaynağın kaynağa özgü özellikleri. PoolProperties
tags Kaynak etiketleri Etiket adları ve değerleri sözlüğü. Bkz. şablonlardaki Etiketleri
type Kaynak türü 'Microsoft. DevOpsInfrastructure/pools'

AgentProfile

Name Description Value
kind Durum bilgisi olan türü için 'Durum Bilgisi' olarak ayarlayın. StatelessAgentProfile türü için 'Durum Bilgisiz' olarak ayarlayın. 'Stateful'
'Vatansız' (gerekli)
resourcePredictions Havuz arabelleği/stand-by aracılarını tanımlar. any
resourcePredictionsProfile Havuz arabelleği/stand-by aracılarının nasıl sağlandığını tanımlar. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Stand-by düzeninin nasıl sağlanması gerektiğini belirler. 'Otomatik' (gerekli)
predictionPreference Maliyet ve performans arasındaki dengeyi belirler. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
kind OrganizationProfile için discriminator özelliği. 'AzureDevOps' (gerekli)
organizations Havuzun bulunması gereken Azure DevOps organizasyonlarının listesi. Kuruluş[] (gerekli)
permissionProfile Azure DevOps havuzunda hangi hesapların yönetici olduğunu belirleyen izin türü. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups E-posta adreslerini gruplandırma string[]
kind Azure DevOps havuzuna kimlerin yönetici izinlerine sahip olduğunu belirler. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (gerekli)
users Kullanıcı e-posta adresleri string[]

DataDisk

Name Description Value
caching Veri diskleri için etkinleştirilecek önbelleğe alma türü. Önbelleğe alma için varsayılan değer readwrite değeridir. Önbelleğe alma seçenekleri hakkında bilgi için bkz. https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Gigabayt cinsinden ilk disk boyutu. int
driveLetter Boş veri diskinin sürücü harfi. Belirtilmezse, kullanılabilir ilk harf olacaktır. string
storageAccountType Veri diski için kullanılacak depolama Hesabı türü. Atlanırsa, varsayılan değer "standard_lrs"dir. 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Havuzdaki makinelerin Azure SKU adı. dize (gerekli)

FabricProfile

Name Description Value
kind VmssFabricProfile türü için 'Vmss' olarak ayarlayın. 'Vmss' (gerekli)

GitHubOrganization

Name Description Value
repositories Havuzun oluşturulması gereken isteğe bağlı depo listesi. string[]
url Havuzun oluşturulması gereken GitHub organizasyon URL'si. dize (gerekli)

GitHubOrganizationProfile

Name Description Value
kind OrganizationProfile için discriminator özelliği. 'GitHub' (zorunlu)
organizations Havuzun bulunması gereken GitHub organizasyonları/depolarının listesi. GitHubOrganization[] (gerekli)

ManagedServiceIdentity

Name Description Value
type Yönetilen hizmet kimliği türü (hem SystemAssigned hem de UserAssigned türlerine izin verilir). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (gerekli)
userAssignedIdentities Kaynakla ilişkili kullanıcı tarafından atanan kimlik kümesi. userAssignedIdentities sözlük anahtarları, şu biçimde ARM kaynak kimlikleri olacaktır: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}. Sözlük değerleri, isteklerdeki boş nesneler ({}) olabilir. UserAssignedIdentities

ManualResourcePredictionsProfile

Name Description Value
kind Stand-by düzeninin nasıl sağlanması gerektiğini belirler. 'Manuel' (gerekli)

NetworkProfile

Name Description Value
subnetId Havuza oluşturulan tüm makinelerin yerleştirildiği alt ağ kimliği. dize (gerekli)

Organization

Name Description Value
openAccess Havuzun bu kuruluştaki tüm projelere açık erişimi olup olmadığını belirler. bool
parallelism Bu kuruluşta havuzun maximumConcurrency değeri dışında en fazla kaç makine oluşturulabilir? int
projects Havuzun oluşturulması gereken projelerin isteğe bağlı listesi. string[]
url Havuzun oluşturulması gereken Azure DevOps organizasyon URL'si. dize (gerekli)

OrganizationProfile

Name Description Value
kind AzureDevOpsOrganizationProfile türü için 'AzureDevOps' olarak ayarlayın. Tip için GitHubOrganizationProfile için 'GitHub' olarak ayarlandı. 'AzureDevOps'
'GitHub' (zorunlu)

OsProfile

Name Description Value
logonType Hizmetin nasıl çalıştırılması gerektiğini belirler. Varsayılan olarak, bu Hizmet olarak ayarlanır. 'Interactive'
'Service'
secretsManagementSettings Havuzdaki makinelerin gizli dizi yönetimi ayarları. SecretsManagementSettings

PoolImage

Name Description Value
aliases Görüntüye başvuracak diğer adların listesi. string[]
buffer Bu görüntüye ayrılacak arabellek yüzdesi. string
ephemeralType Görüntünün kısa ömürlü türü. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Görüntünün kaynak kimliği. string
wellKnownImageName Müşterilerin kullanımına sunulan iyi bilinen bir görüntü kümesinden kullanılacak görüntü. string

PoolProperties

Name Description Value
agentProfile Makinenin bir işi yürüttkten sonra nasıl işleneceğini tanımlar. AgentProfile (gerekli)
devCenterProjectResourceId Havuzun ait olduğu DevCenter Project'in kaynak kimliği. dize (gerekli)
fabricProfile Aracının üzerinde çalıştırılacağı doku türünü tanımlar. FabricProfile (gerekli)
maximumConcurrency Herhangi bir zamanda kaç kaynak oluşturulabileceğini tanımlar. int

Constraints:
Min değer = 1
Maksimum değer = 10000 (gerekli)
organizationProfile Havuzun kullanılacağı kuruluşu tanımlar. OrganizationProfile (gerekli)
provisioningState Geçerli işlemin durumu. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'

ResourcePredictionsProfile

Name Description Value
kind AutomaticResourcePredictionsProfile türü için 'Otomatik' olarak ayarlayın. ManualResourcePredictionsProfile türü için 'Manuel' olarak ayarlayın. 'Automatic'
'Manuel' (gerekli)

SecretsManagementSettings

Name Description Value
certificateStoreLocation Makinede sertifikaların depolandığı yer. string
certificateStoreName Makinede kullanılacak sertifika deposunun adı; şu anda 'My' ve 'Root' desteklenir. 'My'
'Root'
keyExportable Sertifikaların anahtarının dışarı aktarılabilir olup olmadığını tanımlar. bool (gerekli)
observedCertificates Havuzdaki tüm makinelere yüklenecek sertifikaların listesi. string[] (gerekli)

Stateful

Name Description Value
gracePeriodTimeSpan Bir iş yükünü çalıştırdıktan sonra, hazırda duran aracılar olmadığında makinenin ne kadar süreyle tutulacağı. En fazla bir hafta. string
kind AgentProfile için discriminator özelliği. 'Durum bilgisi' (gerekli)
maxAgentLifetime Durum bilgisi olan makinelerin ne kadar süreyle tutulacağı. En fazla bir hafta. string

StatelessAgentProfile

Name Description Value
kind AgentProfile için discriminator özelliği. 'Vatansız' (gerekli)

StorageProfile

Name Description Value
dataDisks Eklenecek boş veri disklerinin listesi. DataDisk[]
osDiskStorageAccountType Havuzdaki makinelerin Azure SKU adı. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Havuzdaki makinelerin VM görüntüleri. PoolImage[] (gerekli)
kind FabricProfile için discriminator özelliği. 'Vmss' (gerekli)
networkProfile Havuzdaki makinelerin ağ profili. NetworkProfile
osProfile Havuzdaki makinelerin işletim sistemi profili. OsProfile
sku Havuzdaki makinelerin Azure SKU'su. DevOpsAzureSku (gerekli)
storageProfile Havuzdaki makinelerin depolama profili. StorageProfile

Terraform (AzAPI sağlayıcısı) kaynak tanımı

Havuz kaynak türü, aşağıdakileri hedefleyen işlemlerle dağıtılabilir:

Kullanım Örnekleri

Azure Doğrulanmış Modülleri

Aşağıdaki Azure Doğrulanmış Modüller bu kaynak türünü dağıtmak için kullanılabilir.

Module Description
DevOps Havuzları DevOps Havuzları için AVM Kaynak Modülü

Kaynak biçimi

Bir Microsoft yaratmak için. DevOpsInfrastructure/pools resource için aşağıdaki Terraform'u şablonunuza ekleyin.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevOpsInfrastructure/pools@2025-01-21"
  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"
    }
  }
}

OrganizationProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

AzureDevOps için şunu kullanın:

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

GitHub için şunları kullanın:

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

ResourcePredictionsProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Otomatik için şunu kullanın:

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

Manuel için şunu kullanın:

{
  kind = "Manual"
}

FabricProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Vmss için şunu kullanın:

{
  images = [
    {
      aliases = [
        "string"
      ]
      buffer = "string"
      ephemeralType = "string"
      resourceId = "string"
      wellKnownImageName = "string"
    }
  ]
  kind = "Vmss"
  networkProfile = {
    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"
  }
}

AgentProfile nesneleri

Nesnenin türünü belirtmek için kind özelliğini ayarlayın.

Durum bilgisi olan için şunu kullanın:

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

Durum Bilgisi Olmayanlar için şunu kullanın:

{
  kind = "Stateless"
}

Özellik Değerleri

Microsoft. DevOpsInfrastructure/havuzlar

Name Description Value
identity Bu kaynağa atanan yönetilen hizmet kimlikleri. ManagedServiceIdentity
location Kaynağın bulunduğu coğrafi konum dize (gerekli)
name Kaynak adı string

Constraints:
Desen = ^[a-zA-Z0-9][a-zA-Z0-9-.]*$ (gerekli)
properties Bu kaynağın kaynağa özgü özellikleri. PoolProperties
tags Kaynak etiketleri Etiket adları ve değerleri sözlüğü.
type Kaynak türü "Microsoft. DevOpsInfrastructure/pools@2025-01-21"

AgentProfile

Name Description Value
kind Durum bilgisi olan türü için 'Durum Bilgisi' olarak ayarlayın. StatelessAgentProfile türü için 'Durum Bilgisiz' olarak ayarlayın. 'Stateful'
'Vatansız' (gerekli)
resourcePredictions Havuz arabelleği/stand-by aracılarını tanımlar. any
resourcePredictionsProfile Havuz arabelleği/stand-by aracılarının nasıl sağlandığını tanımlar. ResourcePredictionsProfile

AutomaticResourcePredictionsProfile

Name Description Value
kind Stand-by düzeninin nasıl sağlanması gerektiğini belirler. 'Otomatik' (gerekli)
predictionPreference Maliyet ve performans arasındaki dengeyi belirler. 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'

AzureDevOpsOrganizationProfile

Name Description Value
kind OrganizationProfile için discriminator özelliği. 'AzureDevOps' (gerekli)
organizations Havuzun bulunması gereken Azure DevOps organizasyonlarının listesi. Kuruluş[] (gerekli)
permissionProfile Azure DevOps havuzunda hangi hesapların yönetici olduğunu belirleyen izin türü. AzureDevOpsPermissionProfile

AzureDevOpsPermissionProfile

Name Description Value
groups E-posta adreslerini gruplandırma string[]
kind Azure DevOps havuzuna kimlerin yönetici izinlerine sahip olduğunu belirler. 'CreatorOnly'
'Inherit'
'SpecificAccounts' (gerekli)
users Kullanıcı e-posta adresleri string[]

DataDisk

Name Description Value
caching Veri diskleri için etkinleştirilecek önbelleğe alma türü. Önbelleğe alma için varsayılan değer readwrite değeridir. Önbelleğe alma seçenekleri hakkında bilgi için bkz. https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. 'None'
'ReadOnly'
'ReadWrite'
diskSizeGiB Gigabayt cinsinden ilk disk boyutu. int
driveLetter Boş veri diskinin sürücü harfi. Belirtilmezse, kullanılabilir ilk harf olacaktır. string
storageAccountType Veri diski için kullanılacak depolama Hesabı türü. Atlanırsa, varsayılan değer "standard_lrs"dir. 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'

DevOpsAzureSku

Name Description Value
name Havuzdaki makinelerin Azure SKU adı. dize (gerekli)

FabricProfile

Name Description Value
kind VmssFabricProfile türü için 'Vmss' olarak ayarlayın. 'Vmss' (gerekli)

GitHubOrganization

Name Description Value
repositories Havuzun oluşturulması gereken isteğe bağlı depo listesi. string[]
url Havuzun oluşturulması gereken GitHub organizasyon URL'si. dize (gerekli)

GitHubOrganizationProfile

Name Description Value
kind OrganizationProfile için discriminator özelliği. 'GitHub' (zorunlu)
organizations Havuzun bulunması gereken GitHub organizasyonları/depolarının listesi. GitHubOrganization[] (gerekli)

ManagedServiceIdentity

Name Description Value
type Yönetilen hizmet kimliği türü (hem SystemAssigned hem de UserAssigned türlerine izin verilir). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (gerekli)
userAssignedIdentities Kaynakla ilişkili kullanıcı tarafından atanan kimlik kümesi. userAssignedIdentities sözlük anahtarları, şu biçimde ARM kaynak kimlikleri olacaktır: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}. Sözlük değerleri, isteklerdeki boş nesneler ({}) olabilir. UserAssignedIdentities

ManualResourcePredictionsProfile

Name Description Value
kind Stand-by düzeninin nasıl sağlanması gerektiğini belirler. 'Manuel' (gerekli)

NetworkProfile

Name Description Value
subnetId Havuza oluşturulan tüm makinelerin yerleştirildiği alt ağ kimliği. dize (gerekli)

Organization

Name Description Value
openAccess Havuzun bu kuruluştaki tüm projelere açık erişimi olup olmadığını belirler. bool
parallelism Bu kuruluşta havuzun maximumConcurrency değeri dışında en fazla kaç makine oluşturulabilir? int
projects Havuzun oluşturulması gereken projelerin isteğe bağlı listesi. string[]
url Havuzun oluşturulması gereken Azure DevOps organizasyon URL'si. dize (gerekli)

OrganizationProfile

Name Description Value
kind AzureDevOpsOrganizationProfile türü için 'AzureDevOps' olarak ayarlayın. Tip için GitHubOrganizationProfile için 'GitHub' olarak ayarlandı. 'AzureDevOps'
'GitHub' (zorunlu)

OsProfile

Name Description Value
logonType Hizmetin nasıl çalıştırılması gerektiğini belirler. Varsayılan olarak, bu Hizmet olarak ayarlanır. 'Interactive'
'Service'
secretsManagementSettings Havuzdaki makinelerin gizli dizi yönetimi ayarları. SecretsManagementSettings

PoolImage

Name Description Value
aliases Görüntüye başvuracak diğer adların listesi. string[]
buffer Bu görüntüye ayrılacak arabellek yüzdesi. string
ephemeralType Görüntünün kısa ömürlü türü. 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId Görüntünün kaynak kimliği. string
wellKnownImageName Müşterilerin kullanımına sunulan iyi bilinen bir görüntü kümesinden kullanılacak görüntü. string

PoolProperties

Name Description Value
agentProfile Makinenin bir işi yürüttkten sonra nasıl işleneceğini tanımlar. AgentProfile (gerekli)
devCenterProjectResourceId Havuzun ait olduğu DevCenter Project'in kaynak kimliği. dize (gerekli)
fabricProfile Aracının üzerinde çalıştırılacağı doku türünü tanımlar. FabricProfile (gerekli)
maximumConcurrency Herhangi bir zamanda kaç kaynak oluşturulabileceğini tanımlar. int

Constraints:
Min değer = 1
Maksimum değer = 10000 (gerekli)
organizationProfile Havuzun kullanılacağı kuruluşu tanımlar. OrganizationProfile (gerekli)
provisioningState Geçerli işlemin durumu. 'Accepted'
'Canceled'
'Deleting'
'Failed'
'Provisioning'
'Succeeded'
'Updating'

ResourcePredictionsProfile

Name Description Value
kind AutomaticResourcePredictionsProfile türü için 'Otomatik' olarak ayarlayın. ManualResourcePredictionsProfile türü için 'Manuel' olarak ayarlayın. 'Automatic'
'Manuel' (gerekli)

SecretsManagementSettings

Name Description Value
certificateStoreLocation Makinede sertifikaların depolandığı yer. string
certificateStoreName Makinede kullanılacak sertifika deposunun adı; şu anda 'My' ve 'Root' desteklenir. 'My'
'Root'
keyExportable Sertifikaların anahtarının dışarı aktarılabilir olup olmadığını tanımlar. bool (gerekli)
observedCertificates Havuzdaki tüm makinelere yüklenecek sertifikaların listesi. string[] (gerekli)

Stateful

Name Description Value
gracePeriodTimeSpan Bir iş yükünü çalıştırdıktan sonra, hazırda duran aracılar olmadığında makinenin ne kadar süreyle tutulacağı. En fazla bir hafta. string
kind AgentProfile için discriminator özelliği. 'Durum bilgisi' (gerekli)
maxAgentLifetime Durum bilgisi olan makinelerin ne kadar süreyle tutulacağı. En fazla bir hafta. string

StatelessAgentProfile

Name Description Value
kind AgentProfile için discriminator özelliği. 'Vatansız' (gerekli)

StorageProfile

Name Description Value
dataDisks Eklenecek boş veri disklerinin listesi. DataDisk[]
osDiskStorageAccountType Havuzdaki makinelerin Azure SKU adı. 'Premium'
'Standard'
'StandardSSD'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

VmssFabricProfile

Name Description Value
images Havuzdaki makinelerin VM görüntüleri. PoolImage[] (gerekli)
kind FabricProfile için discriminator özelliği. 'Vmss' (gerekli)
networkProfile Havuzdaki makinelerin ağ profili. NetworkProfile
osProfile Havuzdaki makinelerin işletim sistemi profili. OsProfile
sku Havuzdaki makinelerin Azure SKU'su. DevOpsAzureSku (gerekli)
storageProfile Havuzdaki makinelerin depolama profili. StorageProfile