Microsoft.DevCenter projects 2024-08-01-preview

Bicep resource definition

The projects resource type can be deployed with operations that target:

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@2024-08-01-preview' = {
  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'
  }
}

Property values

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

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 = 3
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

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Indicates catalog item types that can be synced. String array containing any of:
'EnvironmentDefinition'
'ImageDefinition'

ProjectProperties

Name Description Value
catalogSettings Settings to be used when associating a project with a catalog. ProjectCatalogSettings
description Description of the project. string
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

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

Quickstart samples

The following quickstart samples deploy 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 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:

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": "2024-08-01-preview",
  "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"
  }
}

Property values

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

Microsoft.DevCenter/projects

Name Description Value
apiVersion The api version '2024-08-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 = 3
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'

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Indicates catalog item types that can be synced. String array containing any of:
'EnvironmentDefinition'
'ImageDefinition'

ProjectProperties

Name Description Value
catalogSettings Settings to be used when associating a project with a catalog. ProjectCatalogSettings
description Description of the project. string
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

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Configure Deployment Environments service

Deploy to Azure
This template provides a way to configure Deployment Environments.
Configure Dev Box service

Deploy to Azure
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 with built-in image

Deploy to Azure
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@2024-08-01-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      catalogSettings = {
        catalogItemSyncTypes = [
          "string"
        ]
      }
      description = "string"
      devCenterId = "string"
      displayName = "string"
      maxDevBoxesPerUser = int
    }
  })
}

Property values

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

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 = 3
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@2024-08-01-preview"

ProjectCatalogSettings

Name Description Value
catalogItemSyncTypes Indicates catalog item types that can be synced. String array containing any of:
'EnvironmentDefinition'
'ImageDefinition'

ProjectProperties

Name Description Value
catalogSettings Settings to be used when associating a project with a catalog. ProjectCatalogSettings
description Description of the project. string
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

TrackedResourceTags

Name Description Value

UserAssignedIdentities

Name Description Value

UserAssignedIdentity

Name Description Value