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.
Pour créer une ressource Microsoft.DevTestLab/labs/virtualmachines, ajoutez le bicep suivant à votre modèle.
resource symbolicname 'Microsoft.DevTestLab/labs/virtualmachines@2015-05-21-preview' = {
parent: resourceSymbolicName
location: 'string'
name: 'string'
properties: {
artifactDeploymentStatus: {
artifactsApplied: int
deploymentStatus: 'string'
totalArtifacts: int
}
artifacts: [
{
artifactId: 'string'
parameters: [
{
name: 'string'
value: 'string'
}
]
}
]
computeId: 'string'
createdByUser: 'string'
createdByUserId: 'string'
customImageId: 'string'
disallowPublicIpAddress: bool
fqdn: 'string'
galleryImageReference: {
offer: 'string'
osType: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
isAuthenticationWithSshKey: bool
labSubnetName: 'string'
labVirtualNetworkId: 'string'
notes: 'string'
osType: 'string'
ownerObjectId: 'string'
password: 'string'
provisioningState: 'string'
size: 'string'
sshKey: 'string'
userName: 'string'
}
tags: {
{customized property}: 'string'
}
}
Valeurs de propriété
Microsoft.DevTestLab/labs/virtualmachines
| Nom |
Descriptif |
Valeur |
| emplacement |
Emplacement de la ressource. |
corde |
| nom |
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 |
| Propriétés |
Propriétés de la ressource. |
LabVirtualMachineProperties |
| étiquettes |
Balises de ressource |
Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles |
ArtifactDeploymentStatusProperties
| Nom |
Descriptif |
Valeur |
| artefactsAppliqué |
Nombre total d’artefacts appliqués avec succès. |
Int |
| déploiementStatut |
État du déploiement de l’artefact. |
corde |
| totalArtifacts |
Nombre total d’artefacts appliqués provisoirement. |
Int |
ArtifactInstallProperties
| Nom |
Descriptif |
Valeur |
| identifiant d'artéfact (artifactId) |
Identificateur de l’artefact. |
corde |
| Paramètres |
Paramètres de l’artefact. |
ArtifactParameterProperties[] |
ArtifactParameterProperties
| Nom |
Descriptif |
Valeur |
| nom |
Nom du paramètre d’artefact. |
corde |
| valeur |
Valeur du paramètre d’artefact. |
corde |
GalerieImageReference
| Nom |
Descriptif |
Valeur |
| offrir |
Offre de l’image de la galerie. |
corde |
| osType |
Type de système d’exploitation de l’image de la galerie. |
corde |
| éditeur |
Éditeur de l’image de la galerie. |
corde |
| Sku |
Référence SKU de l’image de la galerie. |
corde |
| Version |
Version de l’image de la galerie. |
corde |
LabVirtualMachineProperties
| Nom |
Descriptif |
Valeur |
| artifactDeploymentStatus |
État du déploiement d’artefacts pour la machine virtuelle. |
ArtifactDeploymentStatusProperties |
| Artefacts |
Artefacts à installer sur la machine virtuelle. |
ArtifactInstallProperties[] |
| calculId |
Identificateur de ressource (Microsoft.Compute) de la machine virtuelle. |
corde |
| createdByUser |
Adresse e-mail du créateur de la machine virtuelle. |
corde |
| createdByUserId |
Identificateur d’objet du créateur de la machine virtuelle. |
corde |
| customImageId |
Identificateur d’image personnalisé de la machine virtuelle. |
corde |
| disallowPublicIpAddress |
Indique si la machine virtuelle doit être créée sans adresse IP publique. |
Bool |
| Fqdn |
Nom de domaine complet de la machine virtuelle. |
corde |
| galleryImageReference |
Référence de l’image de la Place de marché Microsoft Azure de la machine virtuelle. |
GalerieImageReference |
| isAuthenticationWithSshKey |
Valeur indiquant si cette machine virtuelle utilise une clé SSH pour l’authentification. |
Bool |
| labSubnetName |
Nom du sous-réseau du labo de la machine virtuelle. |
corde |
| labVirtualNetworkId |
Identificateur de réseau virtuel lab de la machine virtuelle. |
corde |
| Notes |
Notes de la machine virtuelle. |
corde |
| osType |
Type de système d’exploitation de la machine virtuelle. |
corde |
| ownerObjectId |
Identificateur d’objet du propriétaire de la machine virtuelle. |
corde |
| mot de passe |
Mot de passe de l’administrateur de la machine virtuelle. |
corde |
| état de provisionnement |
État d’approvisionnement de la ressource. |
corde |
| taille |
Taille de la machine virtuelle. |
corde |
| sshKey |
Clé SSH de l’administrateur de la machine virtuelle. |
corde |
| nom d’utilisateur |
Nom d’utilisateur de la machine virtuelle. |
corde |
Exemples d’utilisation
Exemples Bicep
Un exemple de base de déploiement d’une machine virtuelle au sein d’un laboratoire de test de développement.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The password for the DevTest Lab virtual machine')
param vmPassword string
resource lab 'Microsoft.DevTestLab/labs@2018-09-15' = {
name: resourceName
location: location
properties: {
labStorageType: 'Premium'
}
}
resource virtualMachine 'Microsoft.DevTestLab/labs/virtualMachines@2018-09-15' = {
parent: lab
name: resourceName
location: location
properties: {
allowClaim: true
disallowPublicIpAddress: false
galleryImageReference: {
offer: 'WindowsServer'
osType: 'Windows'
publisher: 'MicrosoftWindowsServer'
sku: '2012-Datacenter'
version: 'latest'
}
isAuthenticationWithSshKey: false
labSubnetName: '\'${resourceName}Subnet\''
labVirtualNetworkId: virtualNetwork.id
networkInterface: {}
notes: ''
osType: 'Windows'
password: null
size: 'Standard_F2'
storageType: 'Standard'
userName: 'acct5stU5er'
}
}
resource virtualNetwork 'Microsoft.DevTestLab/labs/virtualNetworks@2018-09-15' = {
parent: lab
name: resourceName
properties: {
description: ''
subnetOverrides: [
{
labSubnetName: '\'${resourceName}Subnet\''
resourceId: resourceId('Microsoft.Network/virtualNetworks/subnets', resourceName, '${resourceName}Subnet')
useInVmCreationPermission: 'Allow'
usePublicIpAddressPermission: 'Allow'
}
]
}
}
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.
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.
Pour créer une ressource Microsoft.DevTestLab/labs/virtualmachines, ajoutez le code JSON suivant à votre modèle.
{
"type": "Microsoft.DevTestLab/labs/virtualmachines",
"apiVersion": "2015-05-21-preview",
"name": "string",
"location": "string",
"properties": {
"artifactDeploymentStatus": {
"artifactsApplied": "int",
"deploymentStatus": "string",
"totalArtifacts": "int"
},
"artifacts": [
{
"artifactId": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
]
}
],
"computeId": "string",
"createdByUser": "string",
"createdByUserId": "string",
"customImageId": "string",
"disallowPublicIpAddress": "bool",
"fqdn": "string",
"galleryImageReference": {
"offer": "string",
"osType": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"isAuthenticationWithSshKey": "bool",
"labSubnetName": "string",
"labVirtualNetworkId": "string",
"notes": "string",
"osType": "string",
"ownerObjectId": "string",
"password": "string",
"provisioningState": "string",
"size": "string",
"sshKey": "string",
"userName": "string"
},
"tags": {
"{customized property}": "string"
}
}
Valeurs de propriété
Microsoft.DevTestLab/labs/virtualmachines
| Nom |
Descriptif |
Valeur |
| apiVersion |
Version de l’API |
'2015-05-21-preview' |
| emplacement |
Emplacement de la ressource. |
corde |
| nom |
Nom de la ressource |
chaîne (obligatoire) |
| Propriétés |
Propriétés de la ressource. |
LabVirtualMachineProperties |
| étiquettes |
Balises de ressource |
Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles |
| type |
Type de ressource |
'Microsoft.DevTestLab/labs/virtualmachines' |
ArtifactDeploymentStatusProperties
| Nom |
Descriptif |
Valeur |
| artefactsAppliqué |
Nombre total d’artefacts appliqués avec succès. |
Int |
| déploiementStatut |
État du déploiement de l’artefact. |
corde |
| totalArtifacts |
Nombre total d’artefacts appliqués provisoirement. |
Int |
ArtifactInstallProperties
| Nom |
Descriptif |
Valeur |
| identifiant d'artéfact (artifactId) |
Identificateur de l’artefact. |
corde |
| Paramètres |
Paramètres de l’artefact. |
ArtifactParameterProperties[] |
ArtifactParameterProperties
| Nom |
Descriptif |
Valeur |
| nom |
Nom du paramètre d’artefact. |
corde |
| valeur |
Valeur du paramètre d’artefact. |
corde |
GalerieImageReference
| Nom |
Descriptif |
Valeur |
| offrir |
Offre de l’image de la galerie. |
corde |
| osType |
Type de système d’exploitation de l’image de la galerie. |
corde |
| éditeur |
Éditeur de l’image de la galerie. |
corde |
| Sku |
Référence SKU de l’image de la galerie. |
corde |
| Version |
Version de l’image de la galerie. |
corde |
LabVirtualMachineProperties
| Nom |
Descriptif |
Valeur |
| artifactDeploymentStatus |
État du déploiement d’artefacts pour la machine virtuelle. |
ArtifactDeploymentStatusProperties |
| Artefacts |
Artefacts à installer sur la machine virtuelle. |
ArtifactInstallProperties[] |
| calculId |
Identificateur de ressource (Microsoft.Compute) de la machine virtuelle. |
corde |
| createdByUser |
Adresse e-mail du créateur de la machine virtuelle. |
corde |
| createdByUserId |
Identificateur d’objet du créateur de la machine virtuelle. |
corde |
| customImageId |
Identificateur d’image personnalisé de la machine virtuelle. |
corde |
| disallowPublicIpAddress |
Indique si la machine virtuelle doit être créée sans adresse IP publique. |
Bool |
| Fqdn |
Nom de domaine complet de la machine virtuelle. |
corde |
| galleryImageReference |
Référence de l’image de la Place de marché Microsoft Azure de la machine virtuelle. |
GalerieImageReference |
| isAuthenticationWithSshKey |
Valeur indiquant si cette machine virtuelle utilise une clé SSH pour l’authentification. |
Bool |
| labSubnetName |
Nom du sous-réseau du labo de la machine virtuelle. |
corde |
| labVirtualNetworkId |
Identificateur de réseau virtuel lab de la machine virtuelle. |
corde |
| Notes |
Notes de la machine virtuelle. |
corde |
| osType |
Type de système d’exploitation de la machine virtuelle. |
corde |
| ownerObjectId |
Identificateur d’objet du propriétaire de la machine virtuelle. |
corde |
| mot de passe |
Mot de passe de l’administrateur de la machine virtuelle. |
corde |
| état de provisionnement |
État d’approvisionnement de la ressource. |
corde |
| taille |
Taille de la machine virtuelle. |
corde |
| sshKey |
Clé SSH de l’administrateur de la machine virtuelle. |
corde |
| nom d’utilisateur |
Nom d’utilisateur de la machine virtuelle. |
corde |
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.
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.
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@2015-05-21-preview"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
artifactDeploymentStatus = {
artifactsApplied = int
deploymentStatus = "string"
totalArtifacts = int
}
artifacts = [
{
artifactId = "string"
parameters = [
{
name = "string"
value = "string"
}
]
}
]
computeId = "string"
createdByUser = "string"
createdByUserId = "string"
customImageId = "string"
disallowPublicIpAddress = bool
fqdn = "string"
galleryImageReference = {
offer = "string"
osType = "string"
publisher = "string"
sku = "string"
version = "string"
}
isAuthenticationWithSshKey = bool
labSubnetName = "string"
labVirtualNetworkId = "string"
notes = "string"
osType = "string"
ownerObjectId = "string"
password = "string"
provisioningState = "string"
size = "string"
sshKey = "string"
userName = "string"
}
}
}
Valeurs de propriété
Microsoft.DevTestLab/labs/virtualmachines
| Nom |
Descriptif |
Valeur |
| emplacement |
Emplacement de la ressource. |
corde |
| nom |
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 |
| Propriétés |
Propriétés de la ressource. |
LabVirtualMachineProperties |
| étiquettes |
Balises de ressource |
Dictionnaire de noms et de valeurs d’étiquettes. |
| type |
Type de ressource |
« Microsoft.DevTestLab/labs/virtualmachines@2015-05-21-preview » |
ArtifactDeploymentStatusProperties
| Nom |
Descriptif |
Valeur |
| artefactsAppliqué |
Nombre total d’artefacts appliqués avec succès. |
Int |
| déploiementStatut |
État du déploiement de l’artefact. |
corde |
| totalArtifacts |
Nombre total d’artefacts appliqués provisoirement. |
Int |
ArtifactInstallProperties
| Nom |
Descriptif |
Valeur |
| identifiant d'artéfact (artifactId) |
Identificateur de l’artefact. |
corde |
| Paramètres |
Paramètres de l’artefact. |
ArtifactParameterProperties[] |
ArtifactParameterProperties
| Nom |
Descriptif |
Valeur |
| nom |
Nom du paramètre d’artefact. |
corde |
| valeur |
Valeur du paramètre d’artefact. |
corde |
GalerieImageReference
| Nom |
Descriptif |
Valeur |
| offrir |
Offre de l’image de la galerie. |
corde |
| osType |
Type de système d’exploitation de l’image de la galerie. |
corde |
| éditeur |
Éditeur de l’image de la galerie. |
corde |
| Sku |
Référence SKU de l’image de la galerie. |
corde |
| Version |
Version de l’image de la galerie. |
corde |
LabVirtualMachineProperties
| Nom |
Descriptif |
Valeur |
| artifactDeploymentStatus |
État du déploiement d’artefacts pour la machine virtuelle. |
ArtifactDeploymentStatusProperties |
| Artefacts |
Artefacts à installer sur la machine virtuelle. |
ArtifactInstallProperties[] |
| calculId |
Identificateur de ressource (Microsoft.Compute) de la machine virtuelle. |
corde |
| createdByUser |
Adresse e-mail du créateur de la machine virtuelle. |
corde |
| createdByUserId |
Identificateur d’objet du créateur de la machine virtuelle. |
corde |
| customImageId |
Identificateur d’image personnalisé de la machine virtuelle. |
corde |
| disallowPublicIpAddress |
Indique si la machine virtuelle doit être créée sans adresse IP publique. |
Bool |
| Fqdn |
Nom de domaine complet de la machine virtuelle. |
corde |
| galleryImageReference |
Référence de l’image de la Place de marché Microsoft Azure de la machine virtuelle. |
GalerieImageReference |
| isAuthenticationWithSshKey |
Valeur indiquant si cette machine virtuelle utilise une clé SSH pour l’authentification. |
Bool |
| labSubnetName |
Nom du sous-réseau du labo de la machine virtuelle. |
corde |
| labVirtualNetworkId |
Identificateur de réseau virtuel lab de la machine virtuelle. |
corde |
| Notes |
Notes de la machine virtuelle. |
corde |
| osType |
Type de système d’exploitation de la machine virtuelle. |
corde |
| ownerObjectId |
Identificateur d’objet du propriétaire de la machine virtuelle. |
corde |
| mot de passe |
Mot de passe de l’administrateur de la machine virtuelle. |
corde |
| état de provisionnement |
État d’approvisionnement de la ressource. |
corde |
| taille |
Taille de la machine virtuelle. |
corde |
| sshKey |
Clé SSH de l’administrateur de la machine virtuelle. |
corde |
| nom d’utilisateur |
Nom d’utilisateur de la machine virtuelle. |
corde |
Exemples d’utilisation
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 = ["*"]
}