Проекты Microsoft.DevCenter

Определение ресурсов Bicep

Тип ресурса проектов можно развернуть с помощью операций, предназначенных для следующих целей:

Список измененных свойств в каждой версии API см. в журнала изменений.

Примеры использования

Примеры Bicep

Простой пример развертывания проекта Центра разработки.

param resourceName string = 'acctest0001'
param location string = 'westus'

resource devCenter 'Microsoft.DevCenter/devCenters@2025-02-01' = {
  name: resourceName
  location: location
  properties: {}
}

resource project 'Microsoft.DevCenter/projects@2025-02-01' = {
  name: '${resourceName}-proj'
  location: location
  properties: {
    description: ''
    devCenterId: devCenter.id
    maxDevBoxesPerUser: 0
  }
}

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Модуль Description
Проект Центра разработки Ресурсный модуль AVM для проекта Центра разработки

Примеры быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.

Bicep-файл Description
Настройка службы сред развертывания Этот шаблон предоставляет способ настройки сред развертывания.
настройка службы Dev Box Этот шаблон создаст все ресурсы администратора Dev Box в рамках краткого руководства по началу работы Dev Box (/azure/dev-box/quickstart-create-dev-box). Вы можете просмотреть все созданные ресурсы или напрямую перейти к DevPortal.microsoft.com для создания первого поля разработки.
Развертывание службы Dev Box Этот шаблон позволяет настроить все ресурсы, необходимые для создания Dev Box.
развертывание службы Dev Box Со встроенным образом Этот шаблон предоставляет способ развертывания службы Dev Box со встроенным образом.

Формат ресурса

Чтобы создать ресурс Microsoft.DevCenter/projects, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.DevCenter/projects@2026-01-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    assignedGroups: [
      {
        objectId: 'string'
        scope: 'string'
      }
    ]
    azureAiServicesSettings: {
      azureAiServicesMode: 'string'
    }
    catalogSettings: {
      catalogItemSyncTypes: [
        'string'
      ]
    }
    customizationSettings: {
      identities: [
        {
          identityResourceId: 'string'
          identityType: 'string'
        }
      ]
      userCustomizationsEnableStatus: 'string'
    }
    description: 'string'
    devBoxScheduleDeleteSettings: {
      cancelOnConnectEnableStatus: 'string'
      deleteMode: 'string'
      gracePeriod: 'string'
      inactiveThreshold: 'string'
    }
    devCenterId: 'string'
    displayName: 'string'
    maxDevBoxesPerUser: int
    serverlessGpuSessionsSettings: {
      maxConcurrentSessionsPerProject: int
      serverlessGpuSessionsMode: 'string'
    }
    workspaceStorageSettings: {
      workspaceStorageMode: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Значения свойств

Microsoft.DevCenter/projects

Name Description Value
identity Свойства управляемого удостоверения. ManagedServiceIdentity
location Географическое расположение, в котором находится ресурс строка (обязательно)
name Имя ресурса string

Constraints:
Минимальная длина = 3
Максимальная длина = 63
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (обязательно)
properties Свойства проекта. ProjectProperties
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

НазначеннаяГруппа

Name Description Value
objectId Идентификатор объекта группы Entra (GUID). string

Constraints:
Минимальная длина = 36
Максимальная длина = 36
Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
scope Объем задания. «DevBox»

AzureAiServicesSettings

Name Description Value
azureAiServicesMode Свойство указывает, включены ли службы Azure AI. 'AutoDeploy'
'Disabled'

DevBoxScheduleDeleteSettings (DevBoxScheduleDeleteSettings)

Name Description Value
cancelOnConnectEnableStatus Указывает, следует ли отменять запланированное удаление при подключении пользователя к полю разработки. 'Disabled'
'Enabled'
deleteMode Указывает режим удаления для полей разработки в этом проекте. 'Auto'
'Manual'
gracePeriod ISO8601 время, необходимое для того, чтобы окно разработки было помечено для удаления перед его удалением. ISO8601 формат PT[n]H[n]M[n]S. string
inactiveThreshold ISO8601 время, необходимое для того, чтобы окно разработки не было неактивным до того, как его запланировали удалить. ISO8601 формат PT[n]H[n]M[n]S. string

ManagedServiceIdentity

Name Description Value
type Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). 'None'
'SystemAssigned'
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Указывает типы элементов каталога, которые можно синхронизировать. Массив строк, содержащий любой из:
'EnvironmentDefinition'
'ImageDefinition'

ProjectCustomizationManagedIdentity

Name Description Value
identityResourceId Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<группы ресурсов>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Взаимоисключающая с identityType systemAssignedIdentity. string
identityType Значения могут быть systemAssignedIdentity или userAssignedIdentity. 'systemAssignedIdentity'
'userAssignedIdentity'

ProjectCustomizationSettings

Name Description Value
identities Удостоверения, которые можно использовать в сценариях настройки; Например, для клонирования репозитория. ProjectCustomizationManagedIdentity[]
userCustomizationsEnableStatus Указывает, включены ли пользовательские настройки. 'Disabled'
'Enabled'

ProjectProperties

Name Description Value
assignedGroups Список назначений группы Entra ID, связанных с этим проектом. Назначенная группа[]
azureAiServicesSettings Указывает, включены ли службы Azure AI для проекта. AzureAiServicesSettings
catalogSettings Параметры, используемые при связывании проекта с каталогом. ProjectCatalogSettings
customizationSettings Настройки, которые будут использоваться для персонализации. ProjectCustomizationSettings
description Описание проекта. string
devBoxScheduleDeleteSettings Ящик для разработчиков: Расписание Удаление настроек. DevBoxScheduleDeleteSettings (DevBoxScheduleDeleteSettings)
devCenterId Идентификатор ресурса связанного Центра разработки. string
displayName Отображаемое имя проекта. string
maxDevBoxesPerUser При указании ограничивает максимальное количество объектов Dev Boxes, которые один пользователь может создавать во всех пулах проекта. Это не повлияет на существующие поля разработки при снижении. int

Constraints:
Минимальное значение = 0
serverlessGpuSessionsSettings Настройки, которые будут использоваться для бессерверного графического процессора. ServerlessGpuSessionsSettings
workspaceStorageSettings Настройки, которые будут использоваться для хранения рабочей области. WorkspaceStorageSettings

ServerlessGpuSessionsSettings

Name Description Value
maxConcurrentSessionsPerProject Если указано, ограничивает максимальное количество одновременных сеансов во всех пулах в проекте. int

Constraints:
Минимальное значение = 1
serverlessGpuSessionsMode Свойство указывает, включен ли в проекте бессерверный доступ к графическому процессору. 'AutoDeploy'
'Disabled'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

WorkspaceStorageSettings

Name Description Value
workspaceStorageMode Указывает, включено ли хранилище рабочей области. 'AutoDeploy'
'Disabled'

Определение ресурса шаблона ARM

Тип ресурса проектов можно развернуть с помощью операций, предназначенных для следующих целей:

Примеры использования

Шаблоны быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.

Template Description
Настройка службы сред развертывания

развертывание в Azure
Этот шаблон предоставляет способ настройки сред развертывания.
настройка службы Dev Box

развертывание в Azure
Этот шаблон создаст все ресурсы администратора Dev Box в рамках краткого руководства по началу работы Dev Box (/azure/dev-box/quickstart-create-dev-box). Вы можете просмотреть все созданные ресурсы или напрямую перейти к DevPortal.microsoft.com для создания первого поля разработки.
Развертывание службы Dev Box

развертывание в Azure
Этот шаблон позволяет настроить все ресурсы, необходимые для создания Dev Box.
развертывание службы Dev Box Со встроенным образом

развертывание в Azure
Этот шаблон предоставляет способ развертывания службы Dev Box со встроенным образом.

Формат ресурса

Чтобы создать ресурс Microsoft.DevCenter/projects, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.DevCenter/projects",
  "apiVersion": "2026-01-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "assignedGroups": [
      {
        "objectId": "string",
        "scope": "string"
      }
    ],
    "azureAiServicesSettings": {
      "azureAiServicesMode": "string"
    },
    "catalogSettings": {
      "catalogItemSyncTypes": [ "string" ]
    },
    "customizationSettings": {
      "identities": [
        {
          "identityResourceId": "string",
          "identityType": "string"
        }
      ],
      "userCustomizationsEnableStatus": "string"
    },
    "description": "string",
    "devBoxScheduleDeleteSettings": {
      "cancelOnConnectEnableStatus": "string",
      "deleteMode": "string",
      "gracePeriod": "string",
      "inactiveThreshold": "string"
    },
    "devCenterId": "string",
    "displayName": "string",
    "maxDevBoxesPerUser": "int",
    "serverlessGpuSessionsSettings": {
      "maxConcurrentSessionsPerProject": "int",
      "serverlessGpuSessionsMode": "string"
    },
    "workspaceStorageSettings": {
      "workspaceStorageMode": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Значения свойств

Microsoft.DevCenter/projects

Name Description Value
apiVersion Версия API «2026-01-01-превью»
identity Свойства управляемого удостоверения. ManagedServiceIdentity
location Географическое расположение, в котором находится ресурс строка (обязательно)
name Имя ресурса string

Constraints:
Минимальная длина = 3
Максимальная длина = 63
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (обязательно)
properties Свойства проекта. ProjectProperties
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
type Тип ресурса 'Microsoft.DevCenter/projects'

НазначеннаяГруппа

Name Description Value
objectId Идентификатор объекта группы Entra (GUID). string

Constraints:
Минимальная длина = 36
Максимальная длина = 36
Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
scope Объем задания. «DevBox»

AzureAiServicesSettings

Name Description Value
azureAiServicesMode Свойство указывает, включены ли службы Azure AI. 'AutoDeploy'
'Disabled'

DevBoxScheduleDeleteSettings (DevBoxScheduleDeleteSettings)

Name Description Value
cancelOnConnectEnableStatus Указывает, следует ли отменять запланированное удаление при подключении пользователя к полю разработки. 'Disabled'
'Enabled'
deleteMode Указывает режим удаления для полей разработки в этом проекте. 'Auto'
'Manual'
gracePeriod ISO8601 время, необходимое для того, чтобы окно разработки было помечено для удаления перед его удалением. ISO8601 формат PT[n]H[n]M[n]S. string
inactiveThreshold ISO8601 время, необходимое для того, чтобы окно разработки не было неактивным до того, как его запланировали удалить. ISO8601 формат PT[n]H[n]M[n]S. string

ManagedServiceIdentity

Name Description Value
type Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). 'None'
'SystemAssigned'
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Указывает типы элементов каталога, которые можно синхронизировать. Массив строк, содержащий любой из:
'EnvironmentDefinition'
'ImageDefinition'

ProjectCustomizationManagedIdentity

Name Description Value
identityResourceId Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<группы ресурсов>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Взаимоисключающая с identityType systemAssignedIdentity. string
identityType Значения могут быть systemAssignedIdentity или userAssignedIdentity. 'systemAssignedIdentity'
'userAssignedIdentity'

ProjectCustomizationSettings

Name Description Value
identities Удостоверения, которые можно использовать в сценариях настройки; Например, для клонирования репозитория. ProjectCustomizationManagedIdentity[]
userCustomizationsEnableStatus Указывает, включены ли пользовательские настройки. 'Disabled'
'Enabled'

ProjectProperties

Name Description Value
assignedGroups Список назначений группы Entra ID, связанных с этим проектом. Назначенная группа[]
azureAiServicesSettings Указывает, включены ли службы Azure AI для проекта. AzureAiServicesSettings
catalogSettings Параметры, используемые при связывании проекта с каталогом. ProjectCatalogSettings
customizationSettings Настройки, которые будут использоваться для персонализации. ProjectCustomizationSettings
description Описание проекта. string
devBoxScheduleDeleteSettings Ящик для разработчиков: Расписание Удаление настроек. DevBoxScheduleDeleteSettings (DevBoxScheduleDeleteSettings)
devCenterId Идентификатор ресурса связанного Центра разработки. string
displayName Отображаемое имя проекта. string
maxDevBoxesPerUser При указании ограничивает максимальное количество объектов Dev Boxes, которые один пользователь может создавать во всех пулах проекта. Это не повлияет на существующие поля разработки при снижении. int

Constraints:
Минимальное значение = 0
serverlessGpuSessionsSettings Настройки, которые будут использоваться для бессерверного графического процессора. ServerlessGpuSessionsSettings
workspaceStorageSettings Настройки, которые будут использоваться для хранения рабочей области. WorkspaceStorageSettings

ServerlessGpuSessionsSettings

Name Description Value
maxConcurrentSessionsPerProject Если указано, ограничивает максимальное количество одновременных сеансов во всех пулах в проекте. int

Constraints:
Минимальное значение = 1
serverlessGpuSessionsMode Свойство указывает, включен ли в проекте бессерверный доступ к графическому процессору. 'AutoDeploy'
'Disabled'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

WorkspaceStorageSettings

Name Description Value
workspaceStorageMode Указывает, включено ли хранилище рабочей области. 'AutoDeploy'
'Disabled'

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса проектов можно развернуть с помощью операций, предназначенных для следующих целей:

Примеры использования

Примеры Terraform

Простой пример развертывания проекта Центра разработки.

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

Формат ресурса

Чтобы создать ресурс Microsoft.DevCenter/projects, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevCenter/projects@2026-01-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      assignedGroups = [
        {
          objectId = "string"
          scope = "string"
        }
      ]
      azureAiServicesSettings = {
        azureAiServicesMode = "string"
      }
      catalogSettings = {
        catalogItemSyncTypes = [
          "string"
        ]
      }
      customizationSettings = {
        identities = [
          {
            identityResourceId = "string"
            identityType = "string"
          }
        ]
        userCustomizationsEnableStatus = "string"
      }
      description = "string"
      devBoxScheduleDeleteSettings = {
        cancelOnConnectEnableStatus = "string"
        deleteMode = "string"
        gracePeriod = "string"
        inactiveThreshold = "string"
      }
      devCenterId = "string"
      displayName = "string"
      maxDevBoxesPerUser = int
      serverlessGpuSessionsSettings = {
        maxConcurrentSessionsPerProject = int
        serverlessGpuSessionsMode = "string"
      }
      workspaceStorageSettings = {
        workspaceStorageMode = "string"
      }
    }
  }
}

Значения свойств

Microsoft.DevCenter/projects

Name Description Value
identity Свойства управляемого удостоверения. ManagedServiceIdentity
location Географическое расположение, в котором находится ресурс строка (обязательно)
name Имя ресурса string

Constraints:
Минимальная длина = 3
Максимальная длина = 63
Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (обязательно)
properties Свойства проекта. ProjectProperties
tags Теги ресурсов Словарь имен и значений тегов.
type Тип ресурса "Microsoft.DevCenter/projects@2026-01-01-preview"

НазначеннаяГруппа

Name Description Value
objectId Идентификатор объекта группы Entra (GUID). string

Constraints:
Минимальная длина = 36
Максимальная длина = 36
Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
scope Объем задания. «DevBox»

AzureAiServicesSettings

Name Description Value
azureAiServicesMode Свойство указывает, включены ли службы Azure AI. 'AutoDeploy'
'Disabled'

DevBoxScheduleDeleteSettings (DevBoxScheduleDeleteSettings)

Name Description Value
cancelOnConnectEnableStatus Указывает, следует ли отменять запланированное удаление при подключении пользователя к полю разработки. 'Disabled'
'Enabled'
deleteMode Указывает режим удаления для полей разработки в этом проекте. 'Auto'
'Manual'
gracePeriod ISO8601 время, необходимое для того, чтобы окно разработки было помечено для удаления перед его удалением. ISO8601 формат PT[n]H[n]M[n]S. string
inactiveThreshold ISO8601 время, необходимое для того, чтобы окно разработки не было неактивным до того, как его запланировали удалить. ISO8601 формат PT[n]H[n]M[n]S. string

ManagedServiceIdentity

Name Description Value
type Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). 'None'
'SystemAssigned'
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Указывает типы элементов каталога, которые можно синхронизировать. Массив строк, содержащий любой из:
'EnvironmentDefinition'
'ImageDefinition'

ProjectCustomizationManagedIdentity

Name Description Value
identityResourceId Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<группы ресурсов>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Взаимоисключающая с identityType systemAssignedIdentity. string
identityType Значения могут быть systemAssignedIdentity или userAssignedIdentity. 'systemAssignedIdentity'
'userAssignedIdentity'

ProjectCustomizationSettings

Name Description Value
identities Удостоверения, которые можно использовать в сценариях настройки; Например, для клонирования репозитория. ProjectCustomizationManagedIdentity[]
userCustomizationsEnableStatus Указывает, включены ли пользовательские настройки. 'Disabled'
'Enabled'

ProjectProperties

Name Description Value
assignedGroups Список назначений группы Entra ID, связанных с этим проектом. Назначенная группа[]
azureAiServicesSettings Указывает, включены ли службы Azure AI для проекта. AzureAiServicesSettings
catalogSettings Параметры, используемые при связывании проекта с каталогом. ProjectCatalogSettings
customizationSettings Настройки, которые будут использоваться для персонализации. ProjectCustomizationSettings
description Описание проекта. string
devBoxScheduleDeleteSettings Ящик для разработчиков: Расписание Удаление настроек. DevBoxScheduleDeleteSettings (DevBoxScheduleDeleteSettings)
devCenterId Идентификатор ресурса связанного Центра разработки. string
displayName Отображаемое имя проекта. string
maxDevBoxesPerUser При указании ограничивает максимальное количество объектов Dev Boxes, которые один пользователь может создавать во всех пулах проекта. Это не повлияет на существующие поля разработки при снижении. int

Constraints:
Минимальное значение = 0
serverlessGpuSessionsSettings Настройки, которые будут использоваться для бессерверного графического процессора. ServerlessGpuSessionsSettings
workspaceStorageSettings Настройки, которые будут использоваться для хранения рабочей области. WorkspaceStorageSettings

ServerlessGpuSessionsSettings

Name Description Value
maxConcurrentSessionsPerProject Если указано, ограничивает максимальное количество одновременных сеансов во всех пулах в проекте. int

Constraints:
Минимальное значение = 1
serverlessGpuSessionsMode Свойство указывает, включен ли в проекте бессерверный доступ к графическому процессору. 'AutoDeploy'
'Disabled'

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

WorkspaceStorageSettings

Name Description Value
workspaceStorageMode Указывает, включено ли хранилище рабочей области. 'AutoDeploy'
'Disabled'