Partager via


Microsoft.DevTestLab labs/virtualmachines

Définition de ressource Bicep

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

resource symbolicname 'Microsoft.DevTestLab/labs/virtualmachines@2018-09-15' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    allowClaim: bool
    artifacts: [
      {
        artifactId: 'string'
        artifactTitle: 'string'
        deploymentStatusMessage: 'string'
        installTime: 'string'
        parameters: [
          {
            name: 'string'
            value: 'string'
          }
        ]
        status: 'string'
        vmExtensionStatusMessage: 'string'
      }
    ]
    createdDate: 'string'
    customImageId: 'string'
    dataDiskParameters: [
      {
        attachNewDataDiskOptions: {
          diskName: 'string'
          diskSizeGiB: int
          diskType: 'string'
        }
        existingLabDiskId: 'string'
        hostCaching: 'string'
      }
    ]
    disallowPublicIpAddress: bool
    environmentId: 'string'
    expirationDate: 'string'
    galleryImageReference: {
      offer: 'string'
      osType: 'string'
      publisher: 'string'
      sku: 'string'
      version: 'string'
    }
    isAuthenticationWithSshKey: bool
    labSubnetName: 'string'
    labVirtualNetworkId: 'string'
    networkInterface: {
      dnsName: 'string'
      privateIpAddress: 'string'
      publicIpAddress: 'string'
      publicIpAddressId: 'string'
      rdpAuthority: 'string'
      sharedPublicIpAddressConfiguration: {
        inboundNatRules: [
          {
            backendPort: int
            frontendPort: int
            transportProtocol: 'string'
          }
        ]
      }
      sshAuthority: 'string'
      subnetId: 'string'
      virtualNetworkId: 'string'
    }
    notes: 'string'
    ownerObjectId: 'string'
    ownerUserPrincipalName: 'string'
    password: 'string'
    planId: 'string'
    scheduleParameters: [
      {
        name: 'string'
        properties: {
          dailyRecurrence: {
            time: 'string'
          }
          hourlyRecurrence: {
            minute: int
          }
          notificationSettings: {
            emailRecipient: 'string'
            notificationLocale: 'string'
            status: 'string'
            timeInMinutes: int
            webhookUrl: 'string'
          }
          status: 'string'
          targetResourceId: 'string'
          taskType: 'string'
          timeZoneId: 'string'
          weeklyRecurrence: {
            time: 'string'
            weekdays: [
              'string'
            ]
          }
        }
        tags: {
          {customized property}: 'string'
        }
      }
    ]
    size: 'string'
    sshKey: 'string'
    storageType: 'string'
    userName: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valeurs de la propriété

Microsoft.DevTestLab/labs/virtualmachines

Name Description Value
location Emplacement de la ressource. string
name Nom de la ressource chaîne (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 : labs
properties Propriétés de la ressource. LabVirtualMachineProperties (obligatoire)
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

ArtifactInstallProperties

Name Description Value
artifactId Identificateur de l’artefact. string
artifactTitle Titre de l’artefact. string
deploymentStatusMessage Message d’état du déploiement. string
installTime Heure à laquelle l’artefact commence à s’installer sur la machine virtuelle. string
parameters Paramètres de l’artefact. ArtifactParameterProperties[]
status État de l’artefact. string
vmExtensionStatusMessage Message d’état de l’extension de machine virtuelle. string

ArtifactParameterProperties

Name Description Value
name Nom du paramètre d’artefact. string
value Valeur du paramètre d’artefact. string

AttachNewDataDiskOptions

Name Description Value
diskName Nom du disque à attacher. string
diskSizeGiB Taille du disque à attacher en Gibibytes. int
diskType Type de stockage pour le disque (par exemple, Standard, Premium). 'Premium'
'Standard'
'StandardSSD'

DataDiskProperties

Name Description Value
attachNewDataDiskOptions Spécifie les options permettant d’attacher un nouveau disque à la machine virtuelle. AttachNewDataDiskOptions
existingLabDiskId Spécifie l’ID de disque du labo existant à attacher à la machine virtuelle. string
hostCaching Option de mise en cache pour un disque de données (par exemple, None, ReadOnly, ReadWrite). 'None'
'ReadOnly'
'ReadWrite'

DayDetails

Name Description Value
time L’heure de la planification se produit. string

GalleryImageReference

Name Description Value
offer Offre de l’image de la galerie. string
osType Type de système d’exploitation de l’image de la galerie. string
publisher Éditeur de l’image de la galerie. string
sku Référence SKU de l’image de la galerie. string
version Version de l’image de la galerie. string

HourDetails

Name Description Value
minute Minutes de l’heure pendant laquelle la planification s’exécutera. int

InboundNatRule

Name Description Value
backendPort Port vers lequel le trafic externe sera redirigé. int
frontendPort Port de point de terminaison externe de la connexion entrante. Les valeurs possibles sont comprises entre 1 et 65535, inclus. Si elle n’est pas spécifiée, une valeur est allouée automatiquement. int
transportProtocol Protocole de transport pour le point de terminaison. 'Tcp'
'Udp'

LabVirtualMachineProperties

Name Description Value
allowClaim Indique si un autre utilisateur peut prendre possession de la machine virtuelle bool
artifacts Artefacts à installer sur la machine virtuelle. ArtifactInstallProperties[]
createdDate Date de création de la machine virtuelle. string
customImageId Identificateur d’image personnalisé de la machine virtuelle. string
dataDiskParameters Disques de données nouveaux ou existants à attacher à la machine virtuelle après la création DataDiskProperties[]
disallowPublicIpAddress Indique si la machine virtuelle doit être créée sans adresse IP publique. bool
environmentId ID de ressource de l’environnement qui contient cette machine virtuelle, le cas échéant. string
expirationDate Date d’expiration de la machine virtuelle. string
galleryImageReference Référence de l’image de la Place de marché Microsoft Azure de la machine virtuelle. GalleryImageReference
isAuthenticationWithSshKey Indique si cette machine virtuelle utilise une clé SSH pour l’authentification. bool
labSubnetName Nom du sous-réseau du labo de la machine virtuelle. string
labVirtualNetworkId Identificateur de réseau virtuel lab de la machine virtuelle. string
networkInterface Propriétés de l’interface réseau. NetworkInterfaceProperties
notes Notes de la machine virtuelle. string
ownerObjectId Identificateur d’objet du propriétaire de la machine virtuelle. string
ownerUserPrincipalName Nom d’utilisateur principal du propriétaire de la machine virtuelle. string
password Mot de passe de l’administrateur de la machine virtuelle. string
planId ID du plan associé à l’image de machine virtuelle string
scheduleParameters Planifications de machines virtuelles à créer ScheduleCreationParameter[]
size Taille de la machine virtuelle. string
sshKey Clé SSH de l’administrateur de la machine virtuelle. string
storageType Type de stockage à utiliser pour la machine virtuelle (par exemple, Standard, Premium). string
userName Nom d’utilisateur de la machine virtuelle. string

NetworkInterfaceProperties

Name Description Value
dnsName Nom DNS. string
privateIpAddress Adresse IP privée. string
publicIpAddress Adresse IP publique. string
publicIpAddressId ID de ressource de l’adresse IP publique. string
rdpAuthority La propriété RdpAuthority est un nom d’hôte DNS de serveur ou une adresse IP suivie du numéro de port de service pour RDP (Remote Desktop Protocol). string
sharedPublicIpAddressConfiguration Configuration pour le partage d’une adresse IP publique sur plusieurs machines virtuelles. SharedPublicIpAddressConfiguration
sshAuthority La propriété SshAuthority est un nom d’hôte DNS de serveur ou une adresse IP suivie du numéro de port de service pour SSH. string
subnetId ID de ressource du sous-réseau. string
virtualNetworkId ID de ressource du réseau virtuel. string

NotificationSettings

Name Description Value
emailRecipient Le destinataire de l’e-mail auquel envoyer des notifications (il peut s’agir d’une liste d’adresses e-mail séparées par des points-virgules). string
notificationLocale Paramètres régionaux à utiliser lors de l’envoi d’une notification (secours pour les langues non prises en charge est EN). string
status Si les notifications sont activées pour cette planification (c’est-à-dire activée, désactivée). 'Disabled'
'Enabled'
timeInMinutes Heure en minutes avant l’événement auquel la notification sera envoyée. int
webhookUrl URL du webhook à laquelle la notification sera envoyée. string

ResourceTags

Name Description Value

ScheduleCreationParameter

Name Description Value
name Nom de la machine virtuelle ou de l’environnement string
properties Propriétés de la planification. ScheduleCreationParameterProperties
tags Balises de la ressource. ScheduleCreationParameterTags

ScheduleCreationParameterProperties

Name Description Value
dailyRecurrence Si la planification se produit une fois par jour de la semaine, spécifiez la périodicité quotidienne. DayDetails
hourlyRecurrence Si la planification se produit plusieurs fois par jour, spécifiez la périodicité horaire. HourDetails
notificationSettings Paramètres de notification. NotificationSettings
status État de la planification (c’est-à-dire Activé, Désactivé) 'Disabled'
'Enabled'
targetResourceId ID de ressource auquel appartient la planification string
taskType Type de tâche de la planification (par exemple, LabVmsShutdownTask, LabVmAutoStart). string
timeZoneId ID de fuseau horaire (par exemple, Heure standard de chine, heure standard du Groenland, heure standard du Pacifique, etc.). Les valeurs possibles pour cette propriété sont disponibles dans IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) string
weeklyRecurrence Si la planification ne se produit que quelques jours de la semaine, spécifiez la périodicité hebdomadaire. WeekDetails

ScheduleCreationParameterTags

Name Description Value

SharedPublicIpAddressConfiguration

Name Description Value
inboundNatRules Règles NAT entrantes InboundNatRule[]

WeekDetails

Name Description Value
time Heure de la planification. string
weekdays Jours de la semaine pour lesquels la planification est définie (par exemple, dimanche, lundi, mardi, etc.). string[]

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
Crée un laboratoire dans Azure DevTest Labs avec une machine virtuelle revendiquée Ce modèle crée une instance DevTest Lab / DTL avec une machine virtuelle Windows Server 2019 Datacenter revendiquée. Plus de modèles de démarrage rapide Azure Resource Manager pour Azure DevTest Labs disponibles à https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates

Définition de ressource de modèle ARM

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

{
  "type": "Microsoft.DevTestLab/labs/virtualmachines",
  "apiVersion": "2018-09-15",
  "name": "string",
  "location": "string",
  "properties": {
    "allowClaim": "bool",
    "artifacts": [
      {
        "artifactId": "string",
        "artifactTitle": "string",
        "deploymentStatusMessage": "string",
        "installTime": "string",
        "parameters": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "status": "string",
        "vmExtensionStatusMessage": "string"
      }
    ],
    "createdDate": "string",
    "customImageId": "string",
    "dataDiskParameters": [
      {
        "attachNewDataDiskOptions": {
          "diskName": "string",
          "diskSizeGiB": "int",
          "diskType": "string"
        },
        "existingLabDiskId": "string",
        "hostCaching": "string"
      }
    ],
    "disallowPublicIpAddress": "bool",
    "environmentId": "string",
    "expirationDate": "string",
    "galleryImageReference": {
      "offer": "string",
      "osType": "string",
      "publisher": "string",
      "sku": "string",
      "version": "string"
    },
    "isAuthenticationWithSshKey": "bool",
    "labSubnetName": "string",
    "labVirtualNetworkId": "string",
    "networkInterface": {
      "dnsName": "string",
      "privateIpAddress": "string",
      "publicIpAddress": "string",
      "publicIpAddressId": "string",
      "rdpAuthority": "string",
      "sharedPublicIpAddressConfiguration": {
        "inboundNatRules": [
          {
            "backendPort": "int",
            "frontendPort": "int",
            "transportProtocol": "string"
          }
        ]
      },
      "sshAuthority": "string",
      "subnetId": "string",
      "virtualNetworkId": "string"
    },
    "notes": "string",
    "ownerObjectId": "string",
    "ownerUserPrincipalName": "string",
    "password": "string",
    "planId": "string",
    "scheduleParameters": [
      {
        "name": "string",
        "properties": {
          "dailyRecurrence": {
            "time": "string"
          },
          "hourlyRecurrence": {
            "minute": "int"
          },
          "notificationSettings": {
            "emailRecipient": "string",
            "notificationLocale": "string",
            "status": "string",
            "timeInMinutes": "int",
            "webhookUrl": "string"
          },
          "status": "string",
          "targetResourceId": "string",
          "taskType": "string",
          "timeZoneId": "string",
          "weeklyRecurrence": {
            "time": "string",
            "weekdays": [ "string" ]
          }
        },
        "tags": {
          "{customized property}": "string"
        }
      }
    ],
    "size": "string",
    "sshKey": "string",
    "storageType": "string",
    "userName": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valeurs de la propriété

Microsoft.DevTestLab/labs/virtualmachines

Name Description Value
apiVersion Version de l’API '2018-09-15'
location Emplacement de la ressource. string
name Nom de la ressource chaîne (obligatoire)
properties Propriétés de la ressource. LabVirtualMachineProperties (obligatoire)
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
type Type de ressource 'Microsoft.DevTestLab/labs/virtualmachines'

ArtifactInstallProperties

Name Description Value
artifactId Identificateur de l’artefact. string
artifactTitle Titre de l’artefact. string
deploymentStatusMessage Message d’état du déploiement. string
installTime Heure à laquelle l’artefact commence à s’installer sur la machine virtuelle. string
parameters Paramètres de l’artefact. ArtifactParameterProperties[]
status État de l’artefact. string
vmExtensionStatusMessage Message d’état de l’extension de machine virtuelle. string

ArtifactParameterProperties

Name Description Value
name Nom du paramètre d’artefact. string
value Valeur du paramètre d’artefact. string

AttachNewDataDiskOptions

Name Description Value
diskName Nom du disque à attacher. string
diskSizeGiB Taille du disque à attacher en Gibibytes. int
diskType Type de stockage pour le disque (par exemple, Standard, Premium). 'Premium'
'Standard'
'StandardSSD'

DataDiskProperties

Name Description Value
attachNewDataDiskOptions Spécifie les options permettant d’attacher un nouveau disque à la machine virtuelle. AttachNewDataDiskOptions
existingLabDiskId Spécifie l’ID de disque du labo existant à attacher à la machine virtuelle. string
hostCaching Option de mise en cache pour un disque de données (par exemple, None, ReadOnly, ReadWrite). 'None'
'ReadOnly'
'ReadWrite'

DayDetails

Name Description Value
time L’heure de la planification se produit. string

GalleryImageReference

Name Description Value
offer Offre de l’image de la galerie. string
osType Type de système d’exploitation de l’image de la galerie. string
publisher Éditeur de l’image de la galerie. string
sku Référence SKU de l’image de la galerie. string
version Version de l’image de la galerie. string

HourDetails

Name Description Value
minute Minutes de l’heure pendant laquelle la planification s’exécutera. int

InboundNatRule

Name Description Value
backendPort Port vers lequel le trafic externe sera redirigé. int
frontendPort Port de point de terminaison externe de la connexion entrante. Les valeurs possibles sont comprises entre 1 et 65535, inclus. Si elle n’est pas spécifiée, une valeur est allouée automatiquement. int
transportProtocol Protocole de transport pour le point de terminaison. 'Tcp'
'Udp'

LabVirtualMachineProperties

Name Description Value
allowClaim Indique si un autre utilisateur peut prendre possession de la machine virtuelle bool
artifacts Artefacts à installer sur la machine virtuelle. ArtifactInstallProperties[]
createdDate Date de création de la machine virtuelle. string
customImageId Identificateur d’image personnalisé de la machine virtuelle. string
dataDiskParameters Disques de données nouveaux ou existants à attacher à la machine virtuelle après la création DataDiskProperties[]
disallowPublicIpAddress Indique si la machine virtuelle doit être créée sans adresse IP publique. bool
environmentId ID de ressource de l’environnement qui contient cette machine virtuelle, le cas échéant. string
expirationDate Date d’expiration de la machine virtuelle. string
galleryImageReference Référence de l’image de la Place de marché Microsoft Azure de la machine virtuelle. GalleryImageReference
isAuthenticationWithSshKey Indique si cette machine virtuelle utilise une clé SSH pour l’authentification. bool
labSubnetName Nom du sous-réseau du labo de la machine virtuelle. string
labVirtualNetworkId Identificateur de réseau virtuel lab de la machine virtuelle. string
networkInterface Propriétés de l’interface réseau. NetworkInterfaceProperties
notes Notes de la machine virtuelle. string
ownerObjectId Identificateur d’objet du propriétaire de la machine virtuelle. string
ownerUserPrincipalName Nom d’utilisateur principal du propriétaire de la machine virtuelle. string
password Mot de passe de l’administrateur de la machine virtuelle. string
planId ID du plan associé à l’image de machine virtuelle string
scheduleParameters Planifications de machines virtuelles à créer ScheduleCreationParameter[]
size Taille de la machine virtuelle. string
sshKey Clé SSH de l’administrateur de la machine virtuelle. string
storageType Type de stockage à utiliser pour la machine virtuelle (par exemple, Standard, Premium). string
userName Nom d’utilisateur de la machine virtuelle. string

NetworkInterfaceProperties

Name Description Value
dnsName Nom DNS. string
privateIpAddress Adresse IP privée. string
publicIpAddress Adresse IP publique. string
publicIpAddressId ID de ressource de l’adresse IP publique. string
rdpAuthority La propriété RdpAuthority est un nom d’hôte DNS de serveur ou une adresse IP suivie du numéro de port de service pour RDP (Remote Desktop Protocol). string
sharedPublicIpAddressConfiguration Configuration pour le partage d’une adresse IP publique sur plusieurs machines virtuelles. SharedPublicIpAddressConfiguration
sshAuthority La propriété SshAuthority est un nom d’hôte DNS de serveur ou une adresse IP suivie du numéro de port de service pour SSH. string
subnetId ID de ressource du sous-réseau. string
virtualNetworkId ID de ressource du réseau virtuel. string

NotificationSettings

Name Description Value
emailRecipient Le destinataire de l’e-mail auquel envoyer des notifications (il peut s’agir d’une liste d’adresses e-mail séparées par des points-virgules). string
notificationLocale Paramètres régionaux à utiliser lors de l’envoi d’une notification (secours pour les langues non prises en charge est EN). string
status Si les notifications sont activées pour cette planification (c’est-à-dire activée, désactivée). 'Disabled'
'Enabled'
timeInMinutes Heure en minutes avant l’événement auquel la notification sera envoyée. int
webhookUrl URL du webhook à laquelle la notification sera envoyée. string

ResourceTags

Name Description Value

ScheduleCreationParameter

Name Description Value
name Nom de la machine virtuelle ou de l’environnement string
properties Propriétés de la planification. ScheduleCreationParameterProperties
tags Balises de la ressource. ScheduleCreationParameterTags

ScheduleCreationParameterProperties

Name Description Value
dailyRecurrence Si la planification se produit une fois par jour de la semaine, spécifiez la périodicité quotidienne. DayDetails
hourlyRecurrence Si la planification se produit plusieurs fois par jour, spécifiez la périodicité horaire. HourDetails
notificationSettings Paramètres de notification. NotificationSettings
status État de la planification (c’est-à-dire Activé, Désactivé) 'Disabled'
'Enabled'
targetResourceId ID de ressource auquel appartient la planification string
taskType Type de tâche de la planification (par exemple, LabVmsShutdownTask, LabVmAutoStart). string
timeZoneId ID de fuseau horaire (par exemple, Heure standard de chine, heure standard du Groenland, heure standard du Pacifique, etc.). Les valeurs possibles pour cette propriété sont disponibles dans IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) string
weeklyRecurrence Si la planification ne se produit que quelques jours de la semaine, spécifiez la périodicité hebdomadaire. WeekDetails

ScheduleCreationParameterTags

Name Description Value

SharedPublicIpAddressConfiguration

Name Description Value
inboundNatRules Règles NAT entrantes InboundNatRule[]

WeekDetails

Name Description Value
time Heure de la planification. string
weekdays Jours de la semaine pour lesquels la planification est définie (par exemple, dimanche, lundi, mardi, etc.). string[]

Exemples d’utilisation

Modèles de démarrage rapide Azure

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

Template Description
Crée un laboratoire dans Azure DevTest Labs avec une machine virtuelle revendiquée

Déployer sur Azure
Ce modèle crée une instance DevTest Lab / DTL avec une machine virtuelle Windows Server 2019 Datacenter revendiquée. Plus de modèles de démarrage rapide Azure Resource Manager pour Azure DevTest Labs disponibles à https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates

Définition de ressource Terraform (fournisseur AzAPI)

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevTestLab/labs/virtualmachines@2018-09-15"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      allowClaim = bool
      artifacts = [
        {
          artifactId = "string"
          artifactTitle = "string"
          deploymentStatusMessage = "string"
          installTime = "string"
          parameters = [
            {
              name = "string"
              value = "string"
            }
          ]
          status = "string"
          vmExtensionStatusMessage = "string"
        }
      ]
      createdDate = "string"
      customImageId = "string"
      dataDiskParameters = [
        {
          attachNewDataDiskOptions = {
            diskName = "string"
            diskSizeGiB = int
            diskType = "string"
          }
          existingLabDiskId = "string"
          hostCaching = "string"
        }
      ]
      disallowPublicIpAddress = bool
      environmentId = "string"
      expirationDate = "string"
      galleryImageReference = {
        offer = "string"
        osType = "string"
        publisher = "string"
        sku = "string"
        version = "string"
      }
      isAuthenticationWithSshKey = bool
      labSubnetName = "string"
      labVirtualNetworkId = "string"
      networkInterface = {
        dnsName = "string"
        privateIpAddress = "string"
        publicIpAddress = "string"
        publicIpAddressId = "string"
        rdpAuthority = "string"
        sharedPublicIpAddressConfiguration = {
          inboundNatRules = [
            {
              backendPort = int
              frontendPort = int
              transportProtocol = "string"
            }
          ]
        }
        sshAuthority = "string"
        subnetId = "string"
        virtualNetworkId = "string"
      }
      notes = "string"
      ownerObjectId = "string"
      ownerUserPrincipalName = "string"
      password = "string"
      planId = "string"
      scheduleParameters = [
        {
          name = "string"
          properties = {
            dailyRecurrence = {
              time = "string"
            }
            hourlyRecurrence = {
              minute = int
            }
            notificationSettings = {
              emailRecipient = "string"
              notificationLocale = "string"
              status = "string"
              timeInMinutes = int
              webhookUrl = "string"
            }
            status = "string"
            targetResourceId = "string"
            taskType = "string"
            timeZoneId = "string"
            weeklyRecurrence = {
              time = "string"
              weekdays = [
                "string"
              ]
            }
          }
          tags = {
            {customized property} = "string"
          }
        }
      ]
      size = "string"
      sshKey = "string"
      storageType = "string"
      userName = "string"
    }
  }
}

Valeurs de la propriété

Microsoft.DevTestLab/labs/virtualmachines

Name Description Value
location Emplacement de la ressource. string
name Nom de la ressource chaîne (obligatoire)
parent_id ID de la ressource qui est le parent de cette ressource. ID de ressource de type : labs
properties Propriétés de la ressource. LabVirtualMachineProperties (obligatoire)
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource "Microsoft.DevTestLab/labs/virtualmachines@2018-09-15"

ArtifactInstallProperties

Name Description Value
artifactId Identificateur de l’artefact. string
artifactTitle Titre de l’artefact. string
deploymentStatusMessage Message d’état du déploiement. string
installTime Heure à laquelle l’artefact commence à s’installer sur la machine virtuelle. string
parameters Paramètres de l’artefact. ArtifactParameterProperties[]
status État de l’artefact. string
vmExtensionStatusMessage Message d’état de l’extension de machine virtuelle. string

ArtifactParameterProperties

Name Description Value
name Nom du paramètre d’artefact. string
value Valeur du paramètre d’artefact. string

AttachNewDataDiskOptions

Name Description Value
diskName Nom du disque à attacher. string
diskSizeGiB Taille du disque à attacher en Gibibytes. int
diskType Type de stockage pour le disque (par exemple, Standard, Premium). 'Premium'
'Standard'
'StandardSSD'

DataDiskProperties

Name Description Value
attachNewDataDiskOptions Spécifie les options permettant d’attacher un nouveau disque à la machine virtuelle. AttachNewDataDiskOptions
existingLabDiskId Spécifie l’ID de disque du labo existant à attacher à la machine virtuelle. string
hostCaching Option de mise en cache pour un disque de données (par exemple, None, ReadOnly, ReadWrite). 'None'
'ReadOnly'
'ReadWrite'

DayDetails

Name Description Value
time L’heure de la planification se produit. string

GalleryImageReference

Name Description Value
offer Offre de l’image de la galerie. string
osType Type de système d’exploitation de l’image de la galerie. string
publisher Éditeur de l’image de la galerie. string
sku Référence SKU de l’image de la galerie. string
version Version de l’image de la galerie. string

HourDetails

Name Description Value
minute Minutes de l’heure pendant laquelle la planification s’exécutera. int

InboundNatRule

Name Description Value
backendPort Port vers lequel le trafic externe sera redirigé. int
frontendPort Port de point de terminaison externe de la connexion entrante. Les valeurs possibles sont comprises entre 1 et 65535, inclus. Si elle n’est pas spécifiée, une valeur est allouée automatiquement. int
transportProtocol Protocole de transport pour le point de terminaison. 'Tcp'
'Udp'

LabVirtualMachineProperties

Name Description Value
allowClaim Indique si un autre utilisateur peut prendre possession de la machine virtuelle bool
artifacts Artefacts à installer sur la machine virtuelle. ArtifactInstallProperties[]
createdDate Date de création de la machine virtuelle. string
customImageId Identificateur d’image personnalisé de la machine virtuelle. string
dataDiskParameters Disques de données nouveaux ou existants à attacher à la machine virtuelle après la création DataDiskProperties[]
disallowPublicIpAddress Indique si la machine virtuelle doit être créée sans adresse IP publique. bool
environmentId ID de ressource de l’environnement qui contient cette machine virtuelle, le cas échéant. string
expirationDate Date d’expiration de la machine virtuelle. string
galleryImageReference Référence de l’image de la Place de marché Microsoft Azure de la machine virtuelle. GalleryImageReference
isAuthenticationWithSshKey Indique si cette machine virtuelle utilise une clé SSH pour l’authentification. bool
labSubnetName Nom du sous-réseau du labo de la machine virtuelle. string
labVirtualNetworkId Identificateur de réseau virtuel lab de la machine virtuelle. string
networkInterface Propriétés de l’interface réseau. NetworkInterfaceProperties
notes Notes de la machine virtuelle. string
ownerObjectId Identificateur d’objet du propriétaire de la machine virtuelle. string
ownerUserPrincipalName Nom d’utilisateur principal du propriétaire de la machine virtuelle. string
password Mot de passe de l’administrateur de la machine virtuelle. string
planId ID du plan associé à l’image de machine virtuelle string
scheduleParameters Planifications de machines virtuelles à créer ScheduleCreationParameter[]
size Taille de la machine virtuelle. string
sshKey Clé SSH de l’administrateur de la machine virtuelle. string
storageType Type de stockage à utiliser pour la machine virtuelle (par exemple, Standard, Premium). string
userName Nom d’utilisateur de la machine virtuelle. string

NetworkInterfaceProperties

Name Description Value
dnsName Nom DNS. string
privateIpAddress Adresse IP privée. string
publicIpAddress Adresse IP publique. string
publicIpAddressId ID de ressource de l’adresse IP publique. string
rdpAuthority La propriété RdpAuthority est un nom d’hôte DNS de serveur ou une adresse IP suivie du numéro de port de service pour RDP (Remote Desktop Protocol). string
sharedPublicIpAddressConfiguration Configuration pour le partage d’une adresse IP publique sur plusieurs machines virtuelles. SharedPublicIpAddressConfiguration
sshAuthority La propriété SshAuthority est un nom d’hôte DNS de serveur ou une adresse IP suivie du numéro de port de service pour SSH. string
subnetId ID de ressource du sous-réseau. string
virtualNetworkId ID de ressource du réseau virtuel. string

NotificationSettings

Name Description Value
emailRecipient Le destinataire de l’e-mail auquel envoyer des notifications (il peut s’agir d’une liste d’adresses e-mail séparées par des points-virgules). string
notificationLocale Paramètres régionaux à utiliser lors de l’envoi d’une notification (secours pour les langues non prises en charge est EN). string
status Si les notifications sont activées pour cette planification (c’est-à-dire activée, désactivée). 'Disabled'
'Enabled'
timeInMinutes Heure en minutes avant l’événement auquel la notification sera envoyée. int
webhookUrl URL du webhook à laquelle la notification sera envoyée. string

ResourceTags

Name Description Value

ScheduleCreationParameter

Name Description Value
name Nom de la machine virtuelle ou de l’environnement string
properties Propriétés de la planification. ScheduleCreationParameterProperties
tags Balises de la ressource. ScheduleCreationParameterTags

ScheduleCreationParameterProperties

Name Description Value
dailyRecurrence Si la planification se produit une fois par jour de la semaine, spécifiez la périodicité quotidienne. DayDetails
hourlyRecurrence Si la planification se produit plusieurs fois par jour, spécifiez la périodicité horaire. HourDetails
notificationSettings Paramètres de notification. NotificationSettings
status État de la planification (c’est-à-dire Activé, Désactivé) 'Disabled'
'Enabled'
targetResourceId ID de ressource auquel appartient la planification string
taskType Type de tâche de la planification (par exemple, LabVmsShutdownTask, LabVmAutoStart). string
timeZoneId ID de fuseau horaire (par exemple, Heure standard de chine, heure standard du Groenland, heure standard du Pacifique, etc.). Les valeurs possibles pour cette propriété sont disponibles dans IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) string
weeklyRecurrence Si la planification ne se produit que quelques jours de la semaine, spécifiez la périodicité hebdomadaire. WeekDetails

ScheduleCreationParameterTags

Name Description Value

SharedPublicIpAddressConfiguration

Name Description Value
inboundNatRules Règles NAT entrantes InboundNatRule[]

WeekDetails

Name Description Value
time Heure de la planification. string
weekdays Jours de la semaine pour lesquels la planification est définie (par exemple, dimanche, lundi, mardi, etc.). string[]

Exemples d’utilisation

Échantillons Terraform

Un exemple de base de déploiement d’une machine virtuelle au sein d’un laboratoire de test 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 = "westeurope"
}

variable "vm_password" {
  type        = string
  description = "The password for the DevTest Lab virtual machine"
  sensitive   = true
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "lab" {
  type      = "Microsoft.DevTestLab/labs@2018-09-15"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      labStorageType = "Premium"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_id" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
}

data "azapi_resource_id" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2023-04-01"
  parent_id = data.azapi_resource_id.virtualNetwork.id
  name      = "${var.resource_name}Subnet"
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.DevTestLab/labs/virtualNetworks@2018-09-15"
  parent_id = azapi_resource.lab.id
  name      = var.resource_name
  body = {
    properties = {
      description = ""
      subnetOverrides = [
        {
          labSubnetName                = data.azapi_resource_id.subnet.name
          resourceId                   = data.azapi_resource_id.subnet.id
          useInVmCreationPermission    = "Allow"
          usePublicIpAddressPermission = "Allow"
        },
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "virtualMachine" {
  type      = "Microsoft.DevTestLab/labs/virtualMachines@2018-09-15"
  parent_id = azapi_resource.lab.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      allowClaim              = true
      disallowPublicIpAddress = false
      galleryImageReference = {
        offer     = "WindowsServer"
        osType    = "Windows"
        publisher = "MicrosoftWindowsServer"
        sku       = "2012-Datacenter"
        version   = "latest"
      }
      isAuthenticationWithSshKey = false
      labSubnetName              = data.azapi_resource_id.subnet.name
      labVirtualNetworkId        = azapi_resource.virtualNetwork.id
      networkInterface = {
      }
      notes       = ""
      osType      = "Windows"
      password    = var.vm_password
      size        = "Standard_F2"
      storageType = "Standard"
      userName    = "acct5stU5er"
    }
  }
  ignore_casing             = true
  schema_validation_enabled = false
  response_export_values    = ["*"]
}