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@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 |
ScheduleCreationParameter
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 |
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.
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": "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 |
ScheduleCreationParameter
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 |
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.
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@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 |
ScheduleCreationParameter
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 |
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
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 = ["*"]
}