Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
- Latest
- 2025-07-01-preview
- 2025-04-01-preview
- 2025-02-01
- 2024-10-01-preview
- 2024-08-01-preview
- 2024-07-01-preview
- 2024-06-01-preview
- 2024-05-01-preview
- 2024-02-01
- 2023-10-01-preview
- 2023-08-01-preview
- 2023-04-01
- 2023-01-01-preview
- 2022-11-11-preview
- 2022-10-12-preview
- 2022-09-01-preview
- 2022-08-01-preview
Bicep resource definition
The projects resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevCenter/projects resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DevCenter/projects@2025-07-01-preview' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
azureAiServicesSettings: {
azureAiServicesMode: 'string'
}
catalogSettings: {
catalogItemSyncTypes: [
'string'
]
}
customizationSettings: {
identities: [
{
identityResourceId: 'string'
identityType: 'string'
}
]
userCustomizationsEnableStatus: 'string'
}
description: 'string'
devBoxAutoDeleteSettings: {
deleteMode: 'string'
gracePeriod: 'string'
inactiveThreshold: 'string'
}
devCenterId: 'string'
displayName: 'string'
maxDevBoxesPerUser: int
serverlessGpuSessionsSettings: {
maxConcurrentSessionsPerProject: int
serverlessGpuSessionsMode: 'string'
}
workspaceStorageSettings: {
workspaceStorageMode: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.DevCenter/projects
Name | Description | Value |
---|---|---|
identity | Managed identity properties | ManagedServiceIdentity |
location | The geo-location where the resource lives | string (required) |
name | The resource name | string Constraints: Min length = 3 Max length = 63 Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (required) |
properties | Properties of a project. | ProjectProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
AzureAiServicesSettings
Name | Description | Value |
---|---|---|
azureAiServicesMode | The property indicates whether Azure AI services is enabled. | 'AutoDeploy' 'Disabled' |
DevBoxAutoDeleteSettings
Name | Description | Value |
---|---|---|
deleteMode | Indicates the delete mode for Dev Boxes within this project. | 'Auto' 'Manual' |
gracePeriod | ISO8601 duration required for the dev box to be marked for deletion prior to it being deleted. ISO8601 format PT[n]H[n]M[n]S. | string |
inactiveThreshold | ISO8601 duration required for the dev box to not be inactive prior to it being scheduled for deletion. ISO8601 format PT[n]H[n]M[n]S. | string |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
ProjectCatalogSettings
Name | Description | Value |
---|---|---|
catalogItemSyncTypes | Indicates catalog item types that can be synced. | String array containing any of: 'EnvironmentDefinition' 'ImageDefinition' |
ProjectCustomizationManagedIdentity
Name | Description | Value |
---|---|---|
identityResourceId | Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity. | string |
identityType | Values can be systemAssignedIdentity or userAssignedIdentity | 'systemAssignedIdentity' 'userAssignedIdentity' |
ProjectCustomizationSettings
Name | Description | Value |
---|---|---|
identities | The identities that can to be used in customization scenarios; e.g., to clone a repository. | ProjectCustomizationManagedIdentity[] |
userCustomizationsEnableStatus | Indicates whether user customizations are enabled. | 'Disabled' 'Enabled' |
ProjectProperties
Name | Description | Value |
---|---|---|
azureAiServicesSettings | Indicates whether Azure AI services are enabled for a project. | AzureAiServicesSettings |
catalogSettings | Settings to be used when associating a project with a catalog. | ProjectCatalogSettings |
customizationSettings | Settings to be used for customizations. | ProjectCustomizationSettings |
description | Description of the project. | string |
devBoxAutoDeleteSettings | Dev Box Auto Delete settings. | DevBoxAutoDeleteSettings |
devCenterId | Resource Id of an associated DevCenter | string |
displayName | The display name of the project. | string |
maxDevBoxesPerUser | When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project. This will have no effect on existing Dev Boxes when reduced. | int Constraints: Min value = 0 |
serverlessGpuSessionsSettings | Settings to be used for serverless GPU. | ServerlessGpuSessionsSettings |
workspaceStorageSettings | Settings to be used for workspace storage. | WorkspaceStorageSettings |
ServerlessGpuSessionsSettings
Name | Description | Value |
---|---|---|
maxConcurrentSessionsPerProject | When specified, limits the maximum number of concurrent sessions across all pools in the project. | int Constraints: Min value = 1 |
serverlessGpuSessionsMode | The property indicates whether serverless GPU access is enabled on the project. | 'AutoDeploy' 'Disabled' |
TrackedResourceTags
Name | Description | Value |
---|
UserAssignedIdentities
Name | Description | Value |
---|
UserAssignedIdentity
Name | Description | Value |
---|
WorkspaceStorageSettings
Name | Description | Value |
---|---|---|
workspaceStorageMode | Indicates whether workspace storage is enabled. | 'AutoDeploy' 'Disabled' |
Usage Examples
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
Bicep File | Description |
---|---|
Configure Deployment Environments service | This template provides a way to configure Deployment Environments. |
Configure Dev Box service | This template would create all Dev Box admin resources as per Dev Box quick start guide (/azure/dev-box/quickstart-create-dev-box). You can view all resources created, or directly go to DevPortal.microsoft.com to create your first Dev Box. |
Deploy Dev Box Service | This template provides a way to configure all resouces required to create a Dev Box. |
Deploy Dev Box Service with built-in image | This template provides a way to deploy an Dev Box service with built-in image. |
ARM template resource definition
The projects resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevCenter/projects resource, add the following JSON to your template.
{
"type": "Microsoft.DevCenter/projects",
"apiVersion": "2025-07-01-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"azureAiServicesSettings": {
"azureAiServicesMode": "string"
},
"catalogSettings": {
"catalogItemSyncTypes": [ "string" ]
},
"customizationSettings": {
"identities": [
{
"identityResourceId": "string",
"identityType": "string"
}
],
"userCustomizationsEnableStatus": "string"
},
"description": "string",
"devBoxAutoDeleteSettings": {
"deleteMode": "string",
"gracePeriod": "string",
"inactiveThreshold": "string"
},
"devCenterId": "string",
"displayName": "string",
"maxDevBoxesPerUser": "int",
"serverlessGpuSessionsSettings": {
"maxConcurrentSessionsPerProject": "int",
"serverlessGpuSessionsMode": "string"
},
"workspaceStorageSettings": {
"workspaceStorageMode": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.DevCenter/projects
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2025-07-01-preview' |
identity | Managed identity properties | ManagedServiceIdentity |
location | The geo-location where the resource lives | string (required) |
name | The resource name | string Constraints: Min length = 3 Max length = 63 Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (required) |
properties | Properties of a project. | ProjectProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.DevCenter/projects' |
AzureAiServicesSettings
Name | Description | Value |
---|---|---|
azureAiServicesMode | The property indicates whether Azure AI services is enabled. | 'AutoDeploy' 'Disabled' |
DevBoxAutoDeleteSettings
Name | Description | Value |
---|---|---|
deleteMode | Indicates the delete mode for Dev Boxes within this project. | 'Auto' 'Manual' |
gracePeriod | ISO8601 duration required for the dev box to be marked for deletion prior to it being deleted. ISO8601 format PT[n]H[n]M[n]S. | string |
inactiveThreshold | ISO8601 duration required for the dev box to not be inactive prior to it being scheduled for deletion. ISO8601 format PT[n]H[n]M[n]S. | string |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
ProjectCatalogSettings
Name | Description | Value |
---|---|---|
catalogItemSyncTypes | Indicates catalog item types that can be synced. | String array containing any of: 'EnvironmentDefinition' 'ImageDefinition' |
ProjectCustomizationManagedIdentity
Name | Description | Value |
---|---|---|
identityResourceId | Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity. | string |
identityType | Values can be systemAssignedIdentity or userAssignedIdentity | 'systemAssignedIdentity' 'userAssignedIdentity' |
ProjectCustomizationSettings
Name | Description | Value |
---|---|---|
identities | The identities that can to be used in customization scenarios; e.g., to clone a repository. | ProjectCustomizationManagedIdentity[] |
userCustomizationsEnableStatus | Indicates whether user customizations are enabled. | 'Disabled' 'Enabled' |
ProjectProperties
Name | Description | Value |
---|---|---|
azureAiServicesSettings | Indicates whether Azure AI services are enabled for a project. | AzureAiServicesSettings |
catalogSettings | Settings to be used when associating a project with a catalog. | ProjectCatalogSettings |
customizationSettings | Settings to be used for customizations. | ProjectCustomizationSettings |
description | Description of the project. | string |
devBoxAutoDeleteSettings | Dev Box Auto Delete settings. | DevBoxAutoDeleteSettings |
devCenterId | Resource Id of an associated DevCenter | string |
displayName | The display name of the project. | string |
maxDevBoxesPerUser | When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project. This will have no effect on existing Dev Boxes when reduced. | int Constraints: Min value = 0 |
serverlessGpuSessionsSettings | Settings to be used for serverless GPU. | ServerlessGpuSessionsSettings |
workspaceStorageSettings | Settings to be used for workspace storage. | WorkspaceStorageSettings |
ServerlessGpuSessionsSettings
Name | Description | Value |
---|---|---|
maxConcurrentSessionsPerProject | When specified, limits the maximum number of concurrent sessions across all pools in the project. | int Constraints: Min value = 1 |
serverlessGpuSessionsMode | The property indicates whether serverless GPU access is enabled on the project. | 'AutoDeploy' 'Disabled' |
TrackedResourceTags
Name | Description | Value |
---|
UserAssignedIdentities
Name | Description | Value |
---|
UserAssignedIdentity
Name | Description | Value |
---|
WorkspaceStorageSettings
Name | Description | Value |
---|---|---|
workspaceStorageMode | Indicates whether workspace storage is enabled. | 'AutoDeploy' 'Disabled' |
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
Template | Description |
---|---|
Configure Deployment Environments service |
This template provides a way to configure Deployment Environments. |
Configure Dev Box service |
This template would create all Dev Box admin resources as per Dev Box quick start guide (/azure/dev-box/quickstart-create-dev-box). You can view all resources created, or directly go to DevPortal.microsoft.com to create your first Dev Box. |
Deploy Dev Box Service |
This template provides a way to configure all resouces required to create a Dev Box. |
Deploy Dev Box Service with built-in image |
This template provides a way to deploy an Dev Box service with built-in image. |
Terraform (AzAPI provider) resource definition
The projects resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevCenter/projects resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DevCenter/projects@2025-07-01-preview"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
azureAiServicesSettings = {
azureAiServicesMode = "string"
}
catalogSettings = {
catalogItemSyncTypes = [
"string"
]
}
customizationSettings = {
identities = [
{
identityResourceId = "string"
identityType = "string"
}
]
userCustomizationsEnableStatus = "string"
}
description = "string"
devBoxAutoDeleteSettings = {
deleteMode = "string"
gracePeriod = "string"
inactiveThreshold = "string"
}
devCenterId = "string"
displayName = "string"
maxDevBoxesPerUser = int
serverlessGpuSessionsSettings = {
maxConcurrentSessionsPerProject = int
serverlessGpuSessionsMode = "string"
}
workspaceStorageSettings = {
workspaceStorageMode = "string"
}
}
}
}
Property Values
Microsoft.DevCenter/projects
Name | Description | Value |
---|---|---|
identity | Managed identity properties | ManagedServiceIdentity |
location | The geo-location where the resource lives | string (required) |
name | The resource name | string Constraints: Min length = 3 Max length = 63 Pattern = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (required) |
properties | Properties of a project. | ProjectProperties |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.DevCenter/projects@2025-07-01-preview" |
AzureAiServicesSettings
Name | Description | Value |
---|---|---|
azureAiServicesMode | The property indicates whether Azure AI services is enabled. | 'AutoDeploy' 'Disabled' |
DevBoxAutoDeleteSettings
Name | Description | Value |
---|---|---|
deleteMode | Indicates the delete mode for Dev Boxes within this project. | 'Auto' 'Manual' |
gracePeriod | ISO8601 duration required for the dev box to be marked for deletion prior to it being deleted. ISO8601 format PT[n]H[n]M[n]S. | string |
inactiveThreshold | ISO8601 duration required for the dev box to not be inactive prior to it being scheduled for deletion. ISO8601 format PT[n]H[n]M[n]S. | string |
ManagedServiceIdentity
Name | Description | Value |
---|---|---|
type | Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (required) |
userAssignedIdentities | The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. | UserAssignedIdentities |
ProjectCatalogSettings
Name | Description | Value |
---|---|---|
catalogItemSyncTypes | Indicates catalog item types that can be synced. | String array containing any of: 'EnvironmentDefinition' 'ImageDefinition' |
ProjectCustomizationManagedIdentity
Name | Description | Value |
---|---|---|
identityResourceId | Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity. | string |
identityType | Values can be systemAssignedIdentity or userAssignedIdentity | 'systemAssignedIdentity' 'userAssignedIdentity' |
ProjectCustomizationSettings
Name | Description | Value |
---|---|---|
identities | The identities that can to be used in customization scenarios; e.g., to clone a repository. | ProjectCustomizationManagedIdentity[] |
userCustomizationsEnableStatus | Indicates whether user customizations are enabled. | 'Disabled' 'Enabled' |
ProjectProperties
Name | Description | Value |
---|---|---|
azureAiServicesSettings | Indicates whether Azure AI services are enabled for a project. | AzureAiServicesSettings |
catalogSettings | Settings to be used when associating a project with a catalog. | ProjectCatalogSettings |
customizationSettings | Settings to be used for customizations. | ProjectCustomizationSettings |
description | Description of the project. | string |
devBoxAutoDeleteSettings | Dev Box Auto Delete settings. | DevBoxAutoDeleteSettings |
devCenterId | Resource Id of an associated DevCenter | string |
displayName | The display name of the project. | string |
maxDevBoxesPerUser | When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project. This will have no effect on existing Dev Boxes when reduced. | int Constraints: Min value = 0 |
serverlessGpuSessionsSettings | Settings to be used for serverless GPU. | ServerlessGpuSessionsSettings |
workspaceStorageSettings | Settings to be used for workspace storage. | WorkspaceStorageSettings |
ServerlessGpuSessionsSettings
Name | Description | Value |
---|---|---|
maxConcurrentSessionsPerProject | When specified, limits the maximum number of concurrent sessions across all pools in the project. | int Constraints: Min value = 1 |
serverlessGpuSessionsMode | The property indicates whether serverless GPU access is enabled on the project. | 'AutoDeploy' 'Disabled' |
TrackedResourceTags
Name | Description | Value |
---|
UserAssignedIdentities
Name | Description | Value |
---|
UserAssignedIdentity
Name | Description | Value |
---|
WorkspaceStorageSettings
Name | Description | Value |
---|---|---|
workspaceStorageMode | Indicates whether workspace storage is enabled. | 'AutoDeploy' 'Disabled' |