Partager via


Projets Microsoft.DevCenter 2026-01-preview

Définition de ressource Bicep

Le type de ressource de projets 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/projects, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.DevCenter/projects@2026-01-01-preview' = {
  scope: resourceSymbolicName or scope
  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'
  }
}

Valeurs de propriété

Microsoft.DevCenter/projects

Nom Descriptif Valeur
identity Propriétés d’identité managée. ManagedServiceIdentity
location Emplacement géographique où réside la ressource chaîne (obligatoire)
nom Nom de la ressource string

Contraintes:
Longueur minimale = 3
Longueur maximale = 63
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (obligatoire)
Propriétés Propriétés d’un projet. ProjectProperties
portée Utilisez-la lors de la création d’une ressource dans une étendue différente de l’étendue de déploiement. Définissez cette propriété sur le nom symbolique d’une ressource pour appliquer la ressource d’extension .
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

Groupe assigné

Nom Descriptif Valeur
objectId L’ID d’objet du groupe Entra (GUID). string

Contraintes:
Longueur minimale = 36
Longueur maximale = 36
Modèle = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
portée L’étendue de la mission. 'DevBox'

AzureAiServicesSettings

Nom Descriptif Valeur
azureAiServicesMode La propriété indique si les services Azure AI sont activés. 'AutoDeploy'
'Disabled'

DevBoxScheduleDeleteSettings

Nom Descriptif Valeur
cancelOnConnectEnableStatus Indique si la suppression programmée doit être annulée lorsqu’un utilisateur se connecte à la boîte de développement. 'Disabled'
'Enabled'
deleteMode Indique le mode de suppression des Dev Box au sein de ce projet. 'Auto'
'Manuel'
gracePeriod ISO8601 durée nécessaire pour que la zone de développement soit marquée pour suppression avant d’être supprimée. ISO8601 format PT[n]H[n]M[n]S. ficelle
inactiveThreshold ISO8601 durée nécessaire pour que la dev box ne soit pas inactive avant que sa suppression ne soit programmée. ISO8601 format PT[n]H[n]M[n]S. ficelle

ManagedServiceIdentity

Nom Descriptif Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). « Aucun »
'SystemAssigned'
« SystemAssigned, UserAssigned »
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

ProjectCatalogSettings

Nom Descriptif Valeur
catalogItemSyncTypes Indique les types d’éléments de catalogue qui peuvent être synchronisés. Tableau de chaînes contenant l’un des éléments suivants :
'EnvironmentDefinition'
'ImageDefinition'

ProjectCustomizationManagedIdentity

Nom Descriptif Valeur
identityResourceId Ex : /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<groupe de ressources>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutuellement exclusif avec identityType systemAssignedIdentity. ficelle
identityType Les valeurs peuvent être systemAssignedIdentity ou userAssignedIdentity. 'systemAssignedIdentity'
'userAssignedIdentity'

ProjectCustomizationSettings

Nom Descriptif Valeur
Identités Les identités qui peuvent être utilisées dans les scénarios de personnalisation ; par exemple, pour cloner un dépôt. ProjectCustomizationManagedIdentity[]
userCustomizationsEnableStatus Indique si les personnalisations de l’utilisateur sont activées. 'Disabled'
'Enabled'

ProjectProperties

Nom Descriptif Valeur
assignedGroups Liste des attributions de groupe Entra ID associées à ce projet. Groupe assigné[]
azureAiServicesSettings Indique si les services Azure AI sont activés pour un projet. AzureAiServicesSettings
catalogSettings Paramètres à utiliser lors de l’association d’un projet à un catalogue. ProjectCatalogSettings
customizationSettings Paramètres à utiliser pour les personnalisations. ProjectCustomizationSettings
descriptif Description du projet. ficelle
devBoxScheduleDeleteSettings Paramètres de suppression de la planification de la boîte de développement. DevBoxScheduleDeleteSettings
devCenterId ID de ressource d’un DevCenter associé. ficelle
nom d’affichage Nom complet du projet. ficelle
maxDevBoxesPerUser Lorsqu’il est spécifié, limite le nombre maximal de boîtes de développement qu’un seul utilisateur peut créer sur tous les pools du projet. Cela n’aura aucun effet sur les zones de développement existantes lorsqu’elles sont réduites. int

Contraintes:
Valeur minimale = 0
serverlessGpuSessionsSettings Paramètres à utiliser pour le GPU sans serveur. ServerlessGpuSessionsSettings
workspaceStorageSettings Paramètres à utiliser pour le stockage de l’espace de travail. WorkspaceStorageSettings

ServerlessGpuSessionsSettings

Nom Descriptif Valeur
maxConcurrentSessionsPerProject Lorsqu’elle est spécifiée, limite le nombre maximal de sessions simultanées dans tous les pools du projet. int

Contraintes:
Valeur minimale = 1
serverlessGpuSessionsMode La propriété indique si l’accès GPU sans serveur est activé sur le projet. 'AutoDeploy'
'Disabled'

TrackedResourceTags

Nom Descriptif Valeur

UserAssignedIdentities

Nom Descriptif Valeur

UserAssignedIdentity

Nom Descriptif Valeur

WorkspaceStorageSettings

Nom Descriptif Valeur
workspaceStorageMode Indique si le stockage de l’espace de travail est activé. 'AutoDeploy'
'Disabled'

Exemples d’utilisation

Modules vérifiés Azure

Les modules vérifiés Azure suivants peuvent être utilisés pour déployer ce type de ressource.

Module Descriptif
Projet de centre de développement Module de ressources AVM pour le projet du Dev Center

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 Descriptif
configurer le service Environnements de déploiement Ce modèle permet de configurer des environnements de déploiement.
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éployer le service Dev Box Ce modèle permet de configurer toutes les ressources requises pour créer une Dev Box.
déployer Dev Box Service avec des d’images intégrées Ce modèle permet de déployer un service Dev Box avec une image intégrée.

Définition de ressource de modèle ARM

Le type de ressource de projets 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/projects, ajoutez le code JSON suivant à votre modèle.

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

Valeurs de propriété

Microsoft.DevCenter/projects

Nom Descriptif Valeur
apiVersion Version de l’API « Aperçu 2026-01-01- »
identity Propriétés d’identité managée. ManagedServiceIdentity
location Emplacement géographique où réside la ressource chaîne (obligatoire)
nom Nom de la ressource string

Contraintes:
Longueur minimale = 3
Longueur maximale = 63
Modèle = ^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$ (obligatoire)
Propriétés Propriétés d’un projet. ProjectProperties
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
type Type de ressource 'Microsoft.DevCenter/projects'

Groupe assigné

Nom Descriptif Valeur
objectId L’ID d’objet du groupe Entra (GUID). string

Contraintes:
Longueur minimale = 36
Longueur maximale = 36
Modèle = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
portée L’étendue de la mission. 'DevBox'

AzureAiServicesSettings

Nom Descriptif Valeur
azureAiServicesMode La propriété indique si les services Azure AI sont activés. 'AutoDeploy'
'Disabled'

DevBoxScheduleDeleteSettings

Nom Descriptif Valeur
cancelOnConnectEnableStatus Indique si la suppression programmée doit être annulée lorsqu’un utilisateur se connecte à la boîte de développement. 'Disabled'
'Enabled'
deleteMode Indique le mode de suppression des Dev Box au sein de ce projet. 'Auto'
'Manuel'
gracePeriod ISO8601 durée nécessaire pour que la zone de développement soit marquée pour suppression avant d’être supprimée. ISO8601 format PT[n]H[n]M[n]S. ficelle
inactiveThreshold ISO8601 durée nécessaire pour que la dev box ne soit pas inactive avant que sa suppression ne soit programmée. ISO8601 format PT[n]H[n]M[n]S. ficelle

ManagedServiceIdentity

Nom Descriptif Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). « Aucun »
'SystemAssigned'
« SystemAssigned, UserAssigned »
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

ProjectCatalogSettings

Nom Descriptif Valeur
catalogItemSyncTypes Indique les types d’éléments de catalogue qui peuvent être synchronisés. Tableau de chaînes contenant l’un des éléments suivants :
'EnvironmentDefinition'
'ImageDefinition'

ProjectCustomizationManagedIdentity

Nom Descriptif Valeur
identityResourceId Ex : /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<groupe de ressources>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutuellement exclusif avec identityType systemAssignedIdentity. ficelle
identityType Les valeurs peuvent être systemAssignedIdentity ou userAssignedIdentity. 'systemAssignedIdentity'
'userAssignedIdentity'

ProjectCustomizationSettings

Nom Descriptif Valeur
Identités Les identités qui peuvent être utilisées dans les scénarios de personnalisation ; par exemple, pour cloner un dépôt. ProjectCustomizationManagedIdentity[]
userCustomizationsEnableStatus Indique si les personnalisations de l’utilisateur sont activées. 'Disabled'
'Enabled'

ProjectProperties

Nom Descriptif Valeur
assignedGroups Liste des attributions de groupe Entra ID associées à ce projet. Groupe assigné[]
azureAiServicesSettings Indique si les services Azure AI sont activés pour un projet. AzureAiServicesSettings
catalogSettings Paramètres à utiliser lors de l’association d’un projet à un catalogue. ProjectCatalogSettings
customizationSettings Paramètres à utiliser pour les personnalisations. ProjectCustomizationSettings
descriptif Description du projet. ficelle
devBoxScheduleDeleteSettings Paramètres de suppression de la planification de la boîte de développement. DevBoxScheduleDeleteSettings
devCenterId ID de ressource d’un DevCenter associé. ficelle
nom d’affichage Nom complet du projet. ficelle
maxDevBoxesPerUser Lorsqu’il est spécifié, limite le nombre maximal de boîtes de développement qu’un seul utilisateur peut créer sur tous les pools du projet. Cela n’aura aucun effet sur les zones de développement existantes lorsqu’elles sont réduites. int

Contraintes:
Valeur minimale = 0
serverlessGpuSessionsSettings Paramètres à utiliser pour le GPU sans serveur. ServerlessGpuSessionsSettings
workspaceStorageSettings Paramètres à utiliser pour le stockage de l’espace de travail. WorkspaceStorageSettings

ServerlessGpuSessionsSettings

Nom Descriptif Valeur
maxConcurrentSessionsPerProject Lorsqu’elle est spécifiée, limite le nombre maximal de sessions simultanées dans tous les pools du projet. int

Contraintes:
Valeur minimale = 1
serverlessGpuSessionsMode La propriété indique si l’accès GPU sans serveur est activé sur le projet. 'AutoDeploy'
'Disabled'

TrackedResourceTags

Nom Descriptif Valeur

UserAssignedIdentities

Nom Descriptif Valeur

UserAssignedIdentity

Nom Descriptif Valeur

WorkspaceStorageSettings

Nom Descriptif Valeur
workspaceStorageMode Indique si le stockage de l’espace de travail est activé. 'AutoDeploy'
'Disabled'

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 Descriptif
configurer le service Environnements de déploiement

Déployer sur Azure
Ce modèle permet de configurer des environnements de déploiement.
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éployer le service Dev Box

Déployer sur Azure
Ce modèle permet de configurer toutes les ressources requises pour créer une Dev Box.
déployer Dev Box Service avec des d’images intégrées

Déployer sur Azure
Ce modèle permet de déployer un service Dev Box avec une image intégrée.

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource de projets 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/projects, ajoutez terraform suivant à votre modèle.

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

Valeurs de propriété

Microsoft.DevCenter/projects

Nom Descriptif Valeur
identity Propriétés d’identité managée. ManagedServiceIdentity
location Emplacement géographique où réside la ressource chaîne (obligatoire)
nom Nom de la ressource string

Contraintes:
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 à laquelle appliquer cette ressource d’extension. chaîne (obligatoire)
Propriétés Propriétés d’un projet. ProjectProperties
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource « Microsoft.DevCenter/projects@2026-01-01-preview »

Groupe assigné

Nom Descriptif Valeur
objectId L’ID d’objet du groupe Entra (GUID). string

Contraintes:
Longueur minimale = 36
Longueur maximale = 36
Modèle = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
portée L’étendue de la mission. 'DevBox'

AzureAiServicesSettings

Nom Descriptif Valeur
azureAiServicesMode La propriété indique si les services Azure AI sont activés. 'AutoDeploy'
'Disabled'

DevBoxScheduleDeleteSettings

Nom Descriptif Valeur
cancelOnConnectEnableStatus Indique si la suppression programmée doit être annulée lorsqu’un utilisateur se connecte à la boîte de développement. 'Disabled'
'Enabled'
deleteMode Indique le mode de suppression des Dev Box au sein de ce projet. 'Auto'
'Manuel'
gracePeriod ISO8601 durée nécessaire pour que la zone de développement soit marquée pour suppression avant d’être supprimée. ISO8601 format PT[n]H[n]M[n]S. ficelle
inactiveThreshold ISO8601 durée nécessaire pour que la dev box ne soit pas inactive avant que sa suppression ne soit programmée. ISO8601 format PT[n]H[n]M[n]S. ficelle

ManagedServiceIdentity

Nom Descriptif Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). « Aucun »
'SystemAssigned'
« SystemAssigned, UserAssigned »
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

ProjectCatalogSettings

Nom Descriptif Valeur
catalogItemSyncTypes Indique les types d’éléments de catalogue qui peuvent être synchronisés. Tableau de chaînes contenant l’un des éléments suivants :
'EnvironmentDefinition'
'ImageDefinition'

ProjectCustomizationManagedIdentity

Nom Descriptif Valeur
identityResourceId Ex : /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/<groupe de ressources>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutuellement exclusif avec identityType systemAssignedIdentity. ficelle
identityType Les valeurs peuvent être systemAssignedIdentity ou userAssignedIdentity. 'systemAssignedIdentity'
'userAssignedIdentity'

ProjectCustomizationSettings

Nom Descriptif Valeur
Identités Les identités qui peuvent être utilisées dans les scénarios de personnalisation ; par exemple, pour cloner un dépôt. ProjectCustomizationManagedIdentity[]
userCustomizationsEnableStatus Indique si les personnalisations de l’utilisateur sont activées. 'Disabled'
'Enabled'

ProjectProperties

Nom Descriptif Valeur
assignedGroups Liste des attributions de groupe Entra ID associées à ce projet. Groupe assigné[]
azureAiServicesSettings Indique si les services Azure AI sont activés pour un projet. AzureAiServicesSettings
catalogSettings Paramètres à utiliser lors de l’association d’un projet à un catalogue. ProjectCatalogSettings
customizationSettings Paramètres à utiliser pour les personnalisations. ProjectCustomizationSettings
descriptif Description du projet. ficelle
devBoxScheduleDeleteSettings Paramètres de suppression de la planification de la boîte de développement. DevBoxScheduleDeleteSettings
devCenterId ID de ressource d’un DevCenter associé. ficelle
nom d’affichage Nom complet du projet. ficelle
maxDevBoxesPerUser Lorsqu’il est spécifié, limite le nombre maximal de boîtes de développement qu’un seul utilisateur peut créer sur tous les pools du projet. Cela n’aura aucun effet sur les zones de développement existantes lorsqu’elles sont réduites. int

Contraintes:
Valeur minimale = 0
serverlessGpuSessionsSettings Paramètres à utiliser pour le GPU sans serveur. ServerlessGpuSessionsSettings
workspaceStorageSettings Paramètres à utiliser pour le stockage de l’espace de travail. WorkspaceStorageSettings

ServerlessGpuSessionsSettings

Nom Descriptif Valeur
maxConcurrentSessionsPerProject Lorsqu’elle est spécifiée, limite le nombre maximal de sessions simultanées dans tous les pools du projet. int

Contraintes:
Valeur minimale = 1
serverlessGpuSessionsMode La propriété indique si l’accès GPU sans serveur est activé sur le projet. 'AutoDeploy'
'Disabled'

TrackedResourceTags

Nom Descriptif Valeur

UserAssignedIdentities

Nom Descriptif Valeur

UserAssignedIdentity

Nom Descriptif Valeur

WorkspaceStorageSettings

Nom Descriptif Valeur
workspaceStorageMode Indique si le stockage de l’espace de travail est activé. 'AutoDeploy'
'Disabled'

Exemples d’utilisation

Exemples Terraform

Un exemple de base de déploiement d’un projet du Centre de développement.

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