Partager via


Centres de développement/galeries Microsoft.DevCenter

Définition de ressource Bicep

Le type de ressource devcenters/galeries peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.DevCenter/devcenters/galeries, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.DevCenter/devcenters/galleries@2025-10-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    galleryResourceId: 'string'
  }
}

Valeurs de propriété

Microsoft.DevCenter/devcenters/galleries

Name Description Value
name Nom de la ressource string

Constraints:
Longueur minimale = 3
Longueur maximale = 63
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (obligatoire)
parent Dans Bicep, vous pouvez spécifier la ressource parente d’une ressource enfant. Vous devez uniquement ajouter cette propriété lorsque la ressource enfant est déclarée en dehors de la ressource parente.

Pour plus d’informations, consultez ressource enfant en dehors de la ressource parente.
Nom symbolique de la ressource de type : devcenters
properties Propriétés de la galerie. GalleryProperties

GalleryProperties

Name Description Value
galleryResourceId ID de ressource de la galerie de calcul Azure de stockage. chaîne (obligatoire)

Exemples d’utilisation

Exemples de démarrage rapide Azure

Les modèles de démarrage rapide Azure suivants contiennent des exemples Bicep pour le déploiement de ce type de ressource.

Fichier Bicep Description
configurer le service Dev Box Ce modèle crée toutes les ressources d’administration Dev Box en fonction du guide de démarrage rapide dev Box (/azure/dev-box/quickstart-create-dev-box). Vous pouvez afficher toutes les ressources créées ou accéder directement à DevPortal.microsoft.com pour créer votre première zone de développement.

Définition de ressource de modèle ARM

Le type de ressource devcenters/galeries peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.DevCenter/devcenters/galeries, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.DevCenter/devcenters/galleries",
  "apiVersion": "2025-10-01-preview",
  "name": "string",
  "properties": {
    "galleryResourceId": "string"
  }
}

Valeurs de propriété

Microsoft.DevCenter/devcenters/galleries

Name Description Value
apiVersion Version de l’API '2025-10-01-preview'
name Nom de la ressource string

Constraints:
Longueur minimale = 3
Longueur maximale = 63
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (obligatoire)
properties Propriétés de la galerie. GalleryProperties
type Type de ressource 'Microsoft.DevCenter/devcenters/galleries'

GalleryProperties

Name Description Value
galleryResourceId ID de ressource de la galerie de calcul Azure de stockage. chaîne (obligatoire)

Exemples d’utilisation

Modèles de démarrage rapide Microsoft Azure

Les modèles de démarrage rapide Azure suivants déployer ce type de ressource.

Template Description
configurer le service Dev Box

Déployer sur Azure
Ce modèle crée toutes les ressources d’administration Dev Box en fonction du guide de démarrage rapide dev Box (/azure/dev-box/quickstart-create-dev-box). Vous pouvez afficher toutes les ressources créées ou accéder directement à DevPortal.microsoft.com pour créer votre première zone de développement.

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource devcenters/galeries peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.DevCenter/devcenters/galeries, ajoutez le terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevCenter/devcenters/galleries@2025-10-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      galleryResourceId = "string"
    }
  }
}

Valeurs de propriété

Microsoft.DevCenter/devcenters/galleries

Name Description Value
name Nom de la ressource string

Constraints:
Longueur minimale = 3
Longueur maximale = 63
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (obligatoire)
parent_id ID de la ressource qui est le parent de cette ressource. ID de ressource de type : devcenters
properties Propriétés de la galerie. GalleryProperties
type Type de ressource « Microsoft.DevCenter/devcenters/galleries@2025-10-01-preview »

GalleryProperties

Name Description Value
galleryResourceId ID de ressource de la galerie de calcul Azure de stockage. chaîne (obligatoire)

Exemples d’utilisation

Échantillons Terraform

Un exemple de base de déploiement de la galerie du Centre de développement.

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

provider "azapi" {
  skip_provider_registration = false
}

data "azapi_client_config" "current" {}

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" "gallery" {
  type      = "Microsoft.Compute/galleries@2022-03-03"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}sig"
  location  = var.location
  body = {
    properties = {
      description = ""
    }
  }
}

resource "azapi_resource" "userAssignedIdentity" {
  type      = "Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}uai"
  location  = var.location
}

resource "azapi_resource" "devCenter" {
  type      = "Microsoft.DevCenter/devCenters@2025-02-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}dc"
  location  = var.location
  identity {
    type         = "UserAssigned"
    identity_ids = [azapi_resource.userAssignedIdentity.id]
  }
  body = {
    properties = {}
  }
}

# Assign Reader role on the gallery to the Dev Center's user-assigned identity
locals {
  reader_role_id = "acdd72a7-3385-48ef-bd42-f606fba81ae7"
}

resource "azapi_resource" "roleAssignment" {
  type      = "Microsoft.Authorization/roleAssignments@2022-04-01"
  name      = uuidv5("url", "${azapi_resource.gallery.id}/roleAssignments/${azapi_resource.userAssignedIdentity.output.properties.principalId}")
  parent_id = azapi_resource.gallery.id
  body = {
    properties = {
      roleDefinitionId = "/subscriptions/${data.azapi_client_config.current.subscription_id}/providers/Microsoft.Authorization/roleDefinitions/${local.reader_role_id}"
      principalId      = azapi_resource.userAssignedIdentity.output.properties.principalId
      principalType    = "ServicePrincipal"
    }
  }
  depends_on = [azapi_resource.userAssignedIdentity, azapi_resource.gallery]
}

resource "azapi_resource" "gallery_1" {
  type      = "Microsoft.DevCenter/devCenters/galleries@2025-02-01"
  parent_id = azapi_resource.devCenter.id
  name      = "${var.resource_name}dcg"
  body = {
    properties = {
      galleryResourceId = azapi_resource.gallery.id
    }
  }
  depends_on = [azapi_resource.roleAssignment]
}