Udostępnij przez


Projekty Microsoft.DevCenter 2025-02-01

Definicja zasobu Bicep

Typ zasobu projektów 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.DevCenter/projects, dodaj następujący kod Bicep do szablonu.

resource symbolicname 'Microsoft.DevCenter/projects@2025-02-01' = {
  scope: resourceSymbolicName or scope
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    catalogSettings: {
      catalogItemSyncTypes: [
        'string'
      ]
    }
    description: 'string'
    devCenterId: 'string'
    displayName: 'string'
    maxDevBoxesPerUser: int
  }
  tags: {
    {customized property}: 'string'
  }
}

Wartości właściwości

Microsoft.DevCenter/projects

Name Description Value
tożsamość Właściwości tożsamości zarządzanej ManagedServiceIdentity
lokalizacja Lokalizacja geograficzna, w której znajduje się zasób ciąg (wymagany)
name Nazwa zasobu string

Constraints:
Minimalna długość = 3
Maksymalna długość = 63
Wzorzec = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (wymagane)
properties Właściwości projektu. ProjectProperties
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

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

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Wskazuje typy elementów wykazu, które można zsynchronizować. Tablica ciągów zawierająca dowolną z:
'EnvironmentDefinition'
'ImageDefinition'

ProjectProperties

Name Description Value
catalogSettings Ustawienia, które mają być używane podczas kojarzenia projektu z wykazem. ProjectCatalogSettings
description Opis projektu. ciąg
devCenterId Identyfikator zasobu skojarzonego centrum deweloperów ciąg
displayName Nazwa wyświetlana projektu. ciąg
maxDevBoxesPerUser Po określeniu limituje maksymalną liczbę pól deweloperskich, które może utworzyć pojedynczy użytkownik we wszystkich pulach w projekcie. Nie będzie to miało wpływu na istniejące pola deweloperskie po zmniejszeniu. int

Constraints:
Minimalna wartość = 0

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

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.

Moduł Description
Projekt Centrum deweloperów Moduł zasobów AVM dla projektu Centrum deweloperów

Przykłady szybkiego startu platformy Azure

Poniższe szablony szybkiego startu platformy Azure zawierają przykłady Bicep na potrzeby wdrażania tego typu zasobu.

Plik Bicep Description
Konfigurowanie usługi środowiska wdrażania Ten szablon umożliwia konfigurowanie środowisk wdrażania.
Konfigurowanie usługi Dev Box Ten szablon umożliwia utworzenie wszystkich zasobów administracyjnych usługi Dev Box zgodnie z przewodnikiem Szybki start dotyczącym usługi Dev Box (/azure/dev-box/quickstart-create-dev-box). Możesz wyświetlić wszystkie utworzone zasoby lub bezpośrednio przejść do DevPortal.microsoft.com, aby utworzyć pierwsze rozwiązanie Dev Box.
Wdrażanie usługi Dev Box Service Ten szablon umożliwia skonfigurowanie wszystkich zasobów wymaganych do utworzenia urządzenia Dev Box.
wdrażanie usługi Dev Box Service z wbudowanym obrazem Ten szablon umożliwia wdrożenie usługi Dev Box z wbudowanym obrazem.

Definicja zasobu szablonu usługi ARM

Typ zasobu projektów 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.DevCenter/projects, dodaj następujący kod JSON do szablonu.

{
  "type": "Microsoft.DevCenter/projects",
  "apiVersion": "2025-02-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "catalogSettings": {
      "catalogItemSyncTypes": [ "string" ]
    },
    "description": "string",
    "devCenterId": "string",
    "displayName": "string",
    "maxDevBoxesPerUser": "int"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Wartości właściwości

Microsoft.DevCenter/projects

Name Description Value
apiVersion Wersja interfejsu API '2025-02-01'
tożsamość Właściwości tożsamości zarządzanej ManagedServiceIdentity
lokalizacja Lokalizacja geograficzna, w której znajduje się zasób ciąg (wymagany)
name Nazwa zasobu string

Constraints:
Minimalna długość = 3
Maksymalna długość = 63
Wzorzec = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (wymagane)
properties Właściwości projektu. ProjectProperties
tags Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach
typ Typ zasobu 'Microsoft.DevCenter/projects'

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

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Wskazuje typy elementów wykazu, które można zsynchronizować. Tablica ciągów zawierająca dowolną z:
'EnvironmentDefinition'
'ImageDefinition'

ProjectProperties

Name Description Value
catalogSettings Ustawienia, które mają być używane podczas kojarzenia projektu z wykazem. ProjectCatalogSettings
description Opis projektu. ciąg
devCenterId Identyfikator zasobu skojarzonego centrum deweloperów ciąg
displayName Nazwa wyświetlana projektu. ciąg
maxDevBoxesPerUser Po określeniu limituje maksymalną liczbę pól deweloperskich, które może utworzyć pojedynczy użytkownik we wszystkich pulach w projekcie. Nie będzie to miało wpływu na istniejące pola deweloperskie po zmniejszeniu. int

Constraints:
Minimalna wartość = 0

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

Przykłady użycia

Szablony szybkiego startu platformy Azure

Następujące szablony szybkiego startu platformy Azure wdrożyć ten typ zasobu.

Template Description
Konfigurowanie usługi środowiska wdrażania

Wdrażanie do Azure
Ten szablon umożliwia konfigurowanie środowisk wdrażania.
Konfigurowanie usługi Dev Box

Wdrażanie do Azure
Ten szablon umożliwia utworzenie wszystkich zasobów administracyjnych usługi Dev Box zgodnie z przewodnikiem Szybki start dotyczącym usługi Dev Box (/azure/dev-box/quickstart-create-dev-box). Możesz wyświetlić wszystkie utworzone zasoby lub bezpośrednio przejść do DevPortal.microsoft.com, aby utworzyć pierwsze rozwiązanie Dev Box.
Wdrażanie usługi Dev Box Service

Wdrażanie do Azure
Ten szablon umożliwia skonfigurowanie wszystkich zasobów wymaganych do utworzenia urządzenia Dev Box.
wdrażanie usługi Dev Box Service z wbudowanym obrazem

Wdrażanie do Azure
Ten szablon umożliwia wdrożenie usługi Dev Box z wbudowanym obrazem.

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu projektów 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.DevCenter/projects, dodaj następujący program Terraform do szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevCenter/projects@2025-02-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      catalogSettings = {
        catalogItemSyncTypes = [
          "string"
        ]
      }
      description = "string"
      devCenterId = "string"
      displayName = "string"
      maxDevBoxesPerUser = int
    }
  }
}

Wartości właściwości

Microsoft.DevCenter/projects

Name Description Value
tożsamość Właściwości tożsamości zarządzanej ManagedServiceIdentity
lokalizacja Lokalizacja geograficzna, w której znajduje się zasób ciąg (wymagany)
name Nazwa zasobu string

Constraints:
Minimalna długość = 3
Maksymalna długość = 63
Wzorzec = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (wymagane)
parent_id Identyfikator zasobu, do który ma być stosowany ten zasób rozszerzenia. ciąg (wymagany)
properties Właściwości projektu. ProjectProperties
tags Tagi zasobów Słownik nazw tagów i wartości.
typ Typ zasobu "Microsoft.DevCenter/projects@2025-02-01"

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

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Wskazuje typy elementów wykazu, które można zsynchronizować. Tablica ciągów zawierająca dowolną z:
'EnvironmentDefinition'
'ImageDefinition'

ProjectProperties

Name Description Value
catalogSettings Ustawienia, które mają być używane podczas kojarzenia projektu z wykazem. ProjectCatalogSettings
description Opis projektu. ciąg
devCenterId Identyfikator zasobu skojarzonego centrum deweloperów ciąg
displayName Nazwa wyświetlana projektu. ciąg
maxDevBoxesPerUser Po określeniu limituje maksymalną liczbę pól deweloperskich, które może utworzyć pojedynczy użytkownik we wszystkich pulach w projekcie. Nie będzie to miało wpływu na istniejące pola deweloperskie po zmniejszeniu. int

Constraints:
Minimalna wartość = 0

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania projektu Centrum deweloperów.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westus"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "devCenter" {
  type      = "Microsoft.DevCenter/devCenters@2025-02-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type = "SystemAssigned"
  }
  body = {
    properties = {}
  }
}

resource "azapi_resource" "project" {
  type      = "Microsoft.DevCenter/projects@2025-02-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-proj"
  location  = var.location
  body = {
    properties = {
      description        = ""
      devCenterId        = azapi_resource.devCenter.id
      maxDevBoxesPerUser = 0
    }
  }
}