Definición de recursos de Bicep
El tipo de recurso labs/virtualmachines se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.DevTestLab/labs/virtualmachines, agregue el siguiente bicep a la plantilla.
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'
}
}
Valores de propiedad
Microsoft.DevTestLab/labs/virtualmachines
| Name |
Description |
Value |
| location |
Ubicación del recurso. |
string |
| name |
El nombre del recurso |
string (obligatorio) |
| parent |
En Bicep, puede especificar el recurso primario para un recurso secundario. Solo tiene que agregar esta propiedad cuando el recurso secundario se declara fuera del recurso primario.
Para obtener más información, consulte recurso secundario fuera del recurso primario. |
Nombre simbólico del recurso de tipo: laboratorios |
| properties |
Propiedades del recurso. |
LabVirtualMachineProperties (obligatorio) |
| tags |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
ArtifactInstallProperties
| Name |
Description |
Value |
| artifactId |
Identificador del artefacto. |
string |
| artifactTitle |
Título del artefacto. |
string |
| deploymentStatusMessage |
Mensaje de estado de la implementación. |
string |
| installTime |
Hora en que el artefacto comienza a instalarse en la máquina virtual. |
string |
| parameters |
Parámetros del artefacto. |
ArtifactParameterProperties[] |
| status |
Estado del artefacto. |
string |
| vmExtensionStatusMessage |
Mensaje de estado de la extensión de máquina virtual. |
string |
ArtifactParameterProperties
| Name |
Description |
Value |
| name |
Nombre del parámetro artifact. |
string |
| value |
Valor del parámetro artifact. |
string |
AttachNewDataDiskOptions
| Name |
Description |
Value |
| diskName |
Nombre del disco que se va a conectar. |
string |
| diskSizeGiB |
Tamaño del disco que se va a conectar en Gibibytes. |
int |
| diskType |
Tipo de almacenamiento para el disco (es decir, Estándar, Premium). |
'Premium' 'Standard' 'StandardSSD' |
DataDiskProperties
| Name |
Description |
Value |
| attachNewDataDiskOptions |
Especifica las opciones para conectar un nuevo disco a la máquina virtual. |
AttachNewDataDiskOptions |
| existingLabDiskId |
Especifica el identificador de disco de laboratorio existente que se va a conectar a la máquina virtual. |
string |
| hostCaching |
Opción de almacenamiento en caché para un disco de datos (es decir, None, ReadOnly, ReadWrite). |
'None' 'ReadOnly' 'ReadWrite' |
DayDetails
| Name |
Description |
Value |
| time |
Hora del día en que se producirá la programación. |
string |
GalleryImageReference
| Name |
Description |
Value |
| offer |
Oferta de la imagen de la galería. |
string |
| osType |
Tipo de sistema operativo de la imagen de la galería. |
string |
| publisher |
Publicador de la imagen de la galería. |
string |
| sku |
SKU de la imagen de la galería. |
string |
| version |
Versión de la imagen de la galería. |
string |
HourDetails
| Name |
Description |
Value |
| minute |
Minutos de la hora en que se ejecutará la programación. |
int |
InboundNatRule
| Name |
Description |
Value |
| backendPort |
Puerto al que se redirigirá el tráfico externo. |
int |
| frontendPort |
Puerto de punto de conexión externo de la conexión entrante. Los valores posibles oscilan entre 1 y 65535, ambos incluidos. Si no se especifica, se asignará automáticamente un valor. |
int |
| transportProtocol |
Protocolo de transporte para el punto de conexión. |
'Tcp' 'Udp' |
LabVirtualMachineProperties
| Name |
Description |
Value |
| allowClaim |
Indica si otro usuario puede tomar posesión de la máquina virtual. |
bool |
| artifacts |
Artefactos que se van a instalar en la máquina virtual. |
ArtifactInstallProperties[] |
| createdDate |
Fecha de creación de la máquina virtual. |
string |
| customImageId |
Identificador de imagen personalizado de la máquina virtual. |
string |
| dataDiskParameters |
Discos de datos nuevos o existentes que se van a conectar a la máquina virtual después de la creación |
DataDiskProperties[] |
| disallowPublicIpAddress |
Indica si la máquina virtual se va a crear sin una dirección IP pública. |
bool |
| environmentId |
Identificador de recurso del entorno que contiene esta máquina virtual, si existe. |
string |
| expirationDate |
Fecha de expiración de la máquina virtual. |
string |
| galleryImageReference |
Referencia de imagen de Microsoft Azure Marketplace de la máquina virtual. |
GalleryImageReference |
| isAuthenticationWithSshKey |
Indica si esta máquina virtual usa una clave SSH para la autenticación. |
bool |
| labSubnetName |
Nombre de subred del laboratorio de la máquina virtual. |
string |
| labVirtualNetworkId |
Identificador de red virtual del laboratorio de la máquina virtual. |
string |
| networkInterface |
Propiedades de la interfaz de red. |
NetworkInterfaceProperties |
| notes |
Notas de la máquina virtual. |
string |
| ownerObjectId |
Identificador de objeto del propietario de la máquina virtual. |
string |
| ownerUserPrincipalName |
Nombre principal de usuario del propietario de la máquina virtual. |
string |
| password |
Contraseña del administrador de la máquina virtual. |
string |
| planId |
Identificador del plan asociado a la imagen de máquina virtual |
string |
| scheduleParameters |
Programaciones de máquina virtual que se van a crear |
ScheduleCreationParameter[] |
| size |
Tamaño de la máquina virtual. |
string |
| sshKey |
Clave SSH del administrador de la máquina virtual. |
string |
| storageType |
Tipo de almacenamiento que se va a usar para la máquina virtual (es decir, Estándar, Premium). |
string |
| userName |
Nombre de usuario de la máquina virtual. |
string |
NetworkInterfaceProperties
| Name |
Description |
Value |
| dnsName |
Nombre DNS. |
string |
| privateIpAddress |
Dirección IP privada. |
string |
| publicIpAddress |
Dirección IP pública. |
string |
| publicIpAddressId |
Identificador de recurso de la dirección IP pública. |
string |
| rdpAuthority |
La propiedad RdpAuthority es un nombre de host DNS del servidor o una dirección IP seguido del número de puerto de servicio para RDP (Protocolo de escritorio remoto). |
string |
| sharedPublicIpAddressConfiguration |
Configuración para compartir una dirección IP pública en varias máquinas virtuales. |
SharedPublicIpAddressConfiguration |
| sshAuthority |
La propiedad SshAuthority es un nombre de host DNS del servidor o una dirección IP seguido del número de puerto de servicio para SSH. |
string |
| subnetId |
Identificador de recurso de la subred. |
string |
| virtualNetworkId |
Identificador de recurso de la red virtual. |
string |
NotificationSettings
| Name |
Description |
Value |
| emailRecipient |
El destinatario del correo electrónico al que enviar notificaciones (puede ser una lista de direcciones de correo electrónico separadas por punto y coma). |
string |
| notificationLocale |
Configuración regional que se va a usar al enviar una notificación (la reserva de idiomas no admitidos es EN). |
string |
| status |
Si las notificaciones están habilitadas para esta programación (es decir, Habilitada, Deshabilitada). |
'Disabled' 'Enabled' |
| timeInMinutes |
Tiempo en minutos antes del evento en el que se enviará la notificación. |
int |
| webhookUrl |
Dirección URL del webhook a la que se enviará la notificación. |
string |
ScheduleCreationParameter
ScheduleCreationParameterProperties
| Name |
Description |
Value |
| dailyRecurrence |
Si la programación se producirá una vez cada día de la semana, especifique la periodicidad diaria. |
DayDetails |
| hourlyRecurrence |
Si la programación se producirá varias veces al día, especifique la periodicidad por hora. |
HourDetails |
| notificationSettings |
Configuración de notificaciones. |
NotificationSettings |
| status |
Estado de la programación (es decir, Habilitado, Deshabilitado) |
'Disabled' 'Enabled' |
| targetResourceId |
Identificador de recurso al que pertenece la programación |
string |
| taskType |
El tipo de tarea de la programación (por ejemplo, LabVmsShutdownTask, LabVmAutoStart). |
string |
| timeZoneId |
El identificador de zona horaria (por ejemplo, hora estándar de China, hora estándar de Groenlandia, hora estándar del Pacífico, etc.). Los valores posibles para esta propiedad se pueden encontrar en IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) |
string |
| weeklyRecurrence |
Si la programación solo se producirá algunos días de la semana, especifique la periodicidad semanal. |
WeekDetails |
SharedPublicIpAddressConfiguration
| Name |
Description |
Value |
| inboundNatRules |
Reglas NAT entrantes |
InboundNatRule[] |
WeekDetails
| Name |
Description |
Value |
| time |
Hora del día en que se producirá la programación. |
string |
| weekdays |
Los días de la semana para los que se establece la programación (por ejemplo, domingo, lunes, martes, etc.). |
string[] |
Ejemplos de uso
Ejemplos de inicio rápido de Azure
Los siguientes plantillas de inicio rápido de Azure contienen ejemplos de Bicep para implementar este tipo de recurso.
Definición de recursos de plantilla de ARM
El tipo de recurso labs/virtualmachines se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.DevTestLab/labs/virtualmachines, agregue el siguiente JSON a la plantilla.
{
"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"
}
}
Valores de propiedad
Microsoft.DevTestLab/labs/virtualmachines
| Name |
Description |
Value |
| apiVersion |
La versión de api |
'2018-09-15' |
| location |
Ubicación del recurso. |
string |
| name |
El nombre del recurso |
string (obligatorio) |
| properties |
Propiedades del recurso. |
LabVirtualMachineProperties (obligatorio) |
| tags |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
| type |
El tipo de recurso |
'Microsoft.DevTestLab/labs/virtualmachines' |
ArtifactInstallProperties
| Name |
Description |
Value |
| artifactId |
Identificador del artefacto. |
string |
| artifactTitle |
Título del artefacto. |
string |
| deploymentStatusMessage |
Mensaje de estado de la implementación. |
string |
| installTime |
Hora en que el artefacto comienza a instalarse en la máquina virtual. |
string |
| parameters |
Parámetros del artefacto. |
ArtifactParameterProperties[] |
| status |
Estado del artefacto. |
string |
| vmExtensionStatusMessage |
Mensaje de estado de la extensión de máquina virtual. |
string |
ArtifactParameterProperties
| Name |
Description |
Value |
| name |
Nombre del parámetro artifact. |
string |
| value |
Valor del parámetro artifact. |
string |
AttachNewDataDiskOptions
| Name |
Description |
Value |
| diskName |
Nombre del disco que se va a conectar. |
string |
| diskSizeGiB |
Tamaño del disco que se va a conectar en Gibibytes. |
int |
| diskType |
Tipo de almacenamiento para el disco (es decir, Estándar, Premium). |
'Premium' 'Standard' 'StandardSSD' |
DataDiskProperties
| Name |
Description |
Value |
| attachNewDataDiskOptions |
Especifica las opciones para conectar un nuevo disco a la máquina virtual. |
AttachNewDataDiskOptions |
| existingLabDiskId |
Especifica el identificador de disco de laboratorio existente que se va a conectar a la máquina virtual. |
string |
| hostCaching |
Opción de almacenamiento en caché para un disco de datos (es decir, None, ReadOnly, ReadWrite). |
'None' 'ReadOnly' 'ReadWrite' |
DayDetails
| Name |
Description |
Value |
| time |
Hora del día en que se producirá la programación. |
string |
GalleryImageReference
| Name |
Description |
Value |
| offer |
Oferta de la imagen de la galería. |
string |
| osType |
Tipo de sistema operativo de la imagen de la galería. |
string |
| publisher |
Publicador de la imagen de la galería. |
string |
| sku |
SKU de la imagen de la galería. |
string |
| version |
Versión de la imagen de la galería. |
string |
HourDetails
| Name |
Description |
Value |
| minute |
Minutos de la hora en que se ejecutará la programación. |
int |
InboundNatRule
| Name |
Description |
Value |
| backendPort |
Puerto al que se redirigirá el tráfico externo. |
int |
| frontendPort |
Puerto de punto de conexión externo de la conexión entrante. Los valores posibles oscilan entre 1 y 65535, ambos incluidos. Si no se especifica, se asignará automáticamente un valor. |
int |
| transportProtocol |
Protocolo de transporte para el punto de conexión. |
'Tcp' 'Udp' |
LabVirtualMachineProperties
| Name |
Description |
Value |
| allowClaim |
Indica si otro usuario puede tomar posesión de la máquina virtual. |
bool |
| artifacts |
Artefactos que se van a instalar en la máquina virtual. |
ArtifactInstallProperties[] |
| createdDate |
Fecha de creación de la máquina virtual. |
string |
| customImageId |
Identificador de imagen personalizado de la máquina virtual. |
string |
| dataDiskParameters |
Discos de datos nuevos o existentes que se van a conectar a la máquina virtual después de la creación |
DataDiskProperties[] |
| disallowPublicIpAddress |
Indica si la máquina virtual se va a crear sin una dirección IP pública. |
bool |
| environmentId |
Identificador de recurso del entorno que contiene esta máquina virtual, si existe. |
string |
| expirationDate |
Fecha de expiración de la máquina virtual. |
string |
| galleryImageReference |
Referencia de imagen de Microsoft Azure Marketplace de la máquina virtual. |
GalleryImageReference |
| isAuthenticationWithSshKey |
Indica si esta máquina virtual usa una clave SSH para la autenticación. |
bool |
| labSubnetName |
Nombre de subred del laboratorio de la máquina virtual. |
string |
| labVirtualNetworkId |
Identificador de red virtual del laboratorio de la máquina virtual. |
string |
| networkInterface |
Propiedades de la interfaz de red. |
NetworkInterfaceProperties |
| notes |
Notas de la máquina virtual. |
string |
| ownerObjectId |
Identificador de objeto del propietario de la máquina virtual. |
string |
| ownerUserPrincipalName |
Nombre principal de usuario del propietario de la máquina virtual. |
string |
| password |
Contraseña del administrador de la máquina virtual. |
string |
| planId |
Identificador del plan asociado a la imagen de máquina virtual |
string |
| scheduleParameters |
Programaciones de máquina virtual que se van a crear |
ScheduleCreationParameter[] |
| size |
Tamaño de la máquina virtual. |
string |
| sshKey |
Clave SSH del administrador de la máquina virtual. |
string |
| storageType |
Tipo de almacenamiento que se va a usar para la máquina virtual (es decir, Estándar, Premium). |
string |
| userName |
Nombre de usuario de la máquina virtual. |
string |
NetworkInterfaceProperties
| Name |
Description |
Value |
| dnsName |
Nombre DNS. |
string |
| privateIpAddress |
Dirección IP privada. |
string |
| publicIpAddress |
Dirección IP pública. |
string |
| publicIpAddressId |
Identificador de recurso de la dirección IP pública. |
string |
| rdpAuthority |
La propiedad RdpAuthority es un nombre de host DNS del servidor o una dirección IP seguido del número de puerto de servicio para RDP (Protocolo de escritorio remoto). |
string |
| sharedPublicIpAddressConfiguration |
Configuración para compartir una dirección IP pública en varias máquinas virtuales. |
SharedPublicIpAddressConfiguration |
| sshAuthority |
La propiedad SshAuthority es un nombre de host DNS del servidor o una dirección IP seguido del número de puerto de servicio para SSH. |
string |
| subnetId |
Identificador de recurso de la subred. |
string |
| virtualNetworkId |
Identificador de recurso de la red virtual. |
string |
NotificationSettings
| Name |
Description |
Value |
| emailRecipient |
El destinatario del correo electrónico al que enviar notificaciones (puede ser una lista de direcciones de correo electrónico separadas por punto y coma). |
string |
| notificationLocale |
Configuración regional que se va a usar al enviar una notificación (la reserva de idiomas no admitidos es EN). |
string |
| status |
Si las notificaciones están habilitadas para esta programación (es decir, Habilitada, Deshabilitada). |
'Disabled' 'Enabled' |
| timeInMinutes |
Tiempo en minutos antes del evento en el que se enviará la notificación. |
int |
| webhookUrl |
Dirección URL del webhook a la que se enviará la notificación. |
string |
ScheduleCreationParameter
ScheduleCreationParameterProperties
| Name |
Description |
Value |
| dailyRecurrence |
Si la programación se producirá una vez cada día de la semana, especifique la periodicidad diaria. |
DayDetails |
| hourlyRecurrence |
Si la programación se producirá varias veces al día, especifique la periodicidad por hora. |
HourDetails |
| notificationSettings |
Configuración de notificaciones. |
NotificationSettings |
| status |
Estado de la programación (es decir, Habilitado, Deshabilitado) |
'Disabled' 'Enabled' |
| targetResourceId |
Identificador de recurso al que pertenece la programación |
string |
| taskType |
El tipo de tarea de la programación (por ejemplo, LabVmsShutdownTask, LabVmAutoStart). |
string |
| timeZoneId |
El identificador de zona horaria (por ejemplo, hora estándar de China, hora estándar de Groenlandia, hora estándar del Pacífico, etc.). Los valores posibles para esta propiedad se pueden encontrar en IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) |
string |
| weeklyRecurrence |
Si la programación solo se producirá algunos días de la semana, especifique la periodicidad semanal. |
WeekDetails |
SharedPublicIpAddressConfiguration
| Name |
Description |
Value |
| inboundNatRules |
Reglas NAT entrantes |
InboundNatRule[] |
WeekDetails
| Name |
Description |
Value |
| time |
Hora del día en que se producirá la programación. |
string |
| weekdays |
Los días de la semana para los que se establece la programación (por ejemplo, domingo, lunes, martes, etc.). |
string[] |
Ejemplos de uso
Plantillas de inicio rápido de Azure
Los siguientes plantillas de inicio rápido de Azure implementar este tipo de recurso.
El tipo de recurso labs/virtualmachines se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso Microsoft.DevTestLab/labs/virtualmachines, agregue el siguiente terraform a la plantilla.
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"
}
}
}
Valores de propiedad
Microsoft.DevTestLab/labs/virtualmachines
| Name |
Description |
Value |
| location |
Ubicación del recurso. |
string |
| name |
El nombre del recurso |
string (obligatorio) |
| parent_id |
Identificador del recurso que es el elemento primario de este recurso. |
Identificador del recurso de tipo: laboratorios |
| properties |
Propiedades del recurso. |
LabVirtualMachineProperties (obligatorio) |
| tags |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. |
| type |
El tipo de recurso |
"Microsoft.DevTestLab/labs/virtualmachines@2018-09-15" |
ArtifactInstallProperties
| Name |
Description |
Value |
| artifactId |
Identificador del artefacto. |
string |
| artifactTitle |
Título del artefacto. |
string |
| deploymentStatusMessage |
Mensaje de estado de la implementación. |
string |
| installTime |
Hora en que el artefacto comienza a instalarse en la máquina virtual. |
string |
| parameters |
Parámetros del artefacto. |
ArtifactParameterProperties[] |
| status |
Estado del artefacto. |
string |
| vmExtensionStatusMessage |
Mensaje de estado de la extensión de máquina virtual. |
string |
ArtifactParameterProperties
| Name |
Description |
Value |
| name |
Nombre del parámetro artifact. |
string |
| value |
Valor del parámetro artifact. |
string |
AttachNewDataDiskOptions
| Name |
Description |
Value |
| diskName |
Nombre del disco que se va a conectar. |
string |
| diskSizeGiB |
Tamaño del disco que se va a conectar en Gibibytes. |
int |
| diskType |
Tipo de almacenamiento para el disco (es decir, Estándar, Premium). |
'Premium' 'Standard' 'StandardSSD' |
DataDiskProperties
| Name |
Description |
Value |
| attachNewDataDiskOptions |
Especifica las opciones para conectar un nuevo disco a la máquina virtual. |
AttachNewDataDiskOptions |
| existingLabDiskId |
Especifica el identificador de disco de laboratorio existente que se va a conectar a la máquina virtual. |
string |
| hostCaching |
Opción de almacenamiento en caché para un disco de datos (es decir, None, ReadOnly, ReadWrite). |
'None' 'ReadOnly' 'ReadWrite' |
DayDetails
| Name |
Description |
Value |
| time |
Hora del día en que se producirá la programación. |
string |
GalleryImageReference
| Name |
Description |
Value |
| offer |
Oferta de la imagen de la galería. |
string |
| osType |
Tipo de sistema operativo de la imagen de la galería. |
string |
| publisher |
Publicador de la imagen de la galería. |
string |
| sku |
SKU de la imagen de la galería. |
string |
| version |
Versión de la imagen de la galería. |
string |
HourDetails
| Name |
Description |
Value |
| minute |
Minutos de la hora en que se ejecutará la programación. |
int |
InboundNatRule
| Name |
Description |
Value |
| backendPort |
Puerto al que se redirigirá el tráfico externo. |
int |
| frontendPort |
Puerto de punto de conexión externo de la conexión entrante. Los valores posibles oscilan entre 1 y 65535, ambos incluidos. Si no se especifica, se asignará automáticamente un valor. |
int |
| transportProtocol |
Protocolo de transporte para el punto de conexión. |
'Tcp' 'Udp' |
LabVirtualMachineProperties
| Name |
Description |
Value |
| allowClaim |
Indica si otro usuario puede tomar posesión de la máquina virtual. |
bool |
| artifacts |
Artefactos que se van a instalar en la máquina virtual. |
ArtifactInstallProperties[] |
| createdDate |
Fecha de creación de la máquina virtual. |
string |
| customImageId |
Identificador de imagen personalizado de la máquina virtual. |
string |
| dataDiskParameters |
Discos de datos nuevos o existentes que se van a conectar a la máquina virtual después de la creación |
DataDiskProperties[] |
| disallowPublicIpAddress |
Indica si la máquina virtual se va a crear sin una dirección IP pública. |
bool |
| environmentId |
Identificador de recurso del entorno que contiene esta máquina virtual, si existe. |
string |
| expirationDate |
Fecha de expiración de la máquina virtual. |
string |
| galleryImageReference |
Referencia de imagen de Microsoft Azure Marketplace de la máquina virtual. |
GalleryImageReference |
| isAuthenticationWithSshKey |
Indica si esta máquina virtual usa una clave SSH para la autenticación. |
bool |
| labSubnetName |
Nombre de subred del laboratorio de la máquina virtual. |
string |
| labVirtualNetworkId |
Identificador de red virtual del laboratorio de la máquina virtual. |
string |
| networkInterface |
Propiedades de la interfaz de red. |
NetworkInterfaceProperties |
| notes |
Notas de la máquina virtual. |
string |
| ownerObjectId |
Identificador de objeto del propietario de la máquina virtual. |
string |
| ownerUserPrincipalName |
Nombre principal de usuario del propietario de la máquina virtual. |
string |
| password |
Contraseña del administrador de la máquina virtual. |
string |
| planId |
Identificador del plan asociado a la imagen de máquina virtual |
string |
| scheduleParameters |
Programaciones de máquina virtual que se van a crear |
ScheduleCreationParameter[] |
| size |
Tamaño de la máquina virtual. |
string |
| sshKey |
Clave SSH del administrador de la máquina virtual. |
string |
| storageType |
Tipo de almacenamiento que se va a usar para la máquina virtual (es decir, Estándar, Premium). |
string |
| userName |
Nombre de usuario de la máquina virtual. |
string |
NetworkInterfaceProperties
| Name |
Description |
Value |
| dnsName |
Nombre DNS. |
string |
| privateIpAddress |
Dirección IP privada. |
string |
| publicIpAddress |
Dirección IP pública. |
string |
| publicIpAddressId |
Identificador de recurso de la dirección IP pública. |
string |
| rdpAuthority |
La propiedad RdpAuthority es un nombre de host DNS del servidor o una dirección IP seguido del número de puerto de servicio para RDP (Protocolo de escritorio remoto). |
string |
| sharedPublicIpAddressConfiguration |
Configuración para compartir una dirección IP pública en varias máquinas virtuales. |
SharedPublicIpAddressConfiguration |
| sshAuthority |
La propiedad SshAuthority es un nombre de host DNS del servidor o una dirección IP seguido del número de puerto de servicio para SSH. |
string |
| subnetId |
Identificador de recurso de la subred. |
string |
| virtualNetworkId |
Identificador de recurso de la red virtual. |
string |
NotificationSettings
| Name |
Description |
Value |
| emailRecipient |
El destinatario del correo electrónico al que enviar notificaciones (puede ser una lista de direcciones de correo electrónico separadas por punto y coma). |
string |
| notificationLocale |
Configuración regional que se va a usar al enviar una notificación (la reserva de idiomas no admitidos es EN). |
string |
| status |
Si las notificaciones están habilitadas para esta programación (es decir, Habilitada, Deshabilitada). |
'Disabled' 'Enabled' |
| timeInMinutes |
Tiempo en minutos antes del evento en el que se enviará la notificación. |
int |
| webhookUrl |
Dirección URL del webhook a la que se enviará la notificación. |
string |
ScheduleCreationParameter
ScheduleCreationParameterProperties
| Name |
Description |
Value |
| dailyRecurrence |
Si la programación se producirá una vez cada día de la semana, especifique la periodicidad diaria. |
DayDetails |
| hourlyRecurrence |
Si la programación se producirá varias veces al día, especifique la periodicidad por hora. |
HourDetails |
| notificationSettings |
Configuración de notificaciones. |
NotificationSettings |
| status |
Estado de la programación (es decir, Habilitado, Deshabilitado) |
'Disabled' 'Enabled' |
| targetResourceId |
Identificador de recurso al que pertenece la programación |
string |
| taskType |
El tipo de tarea de la programación (por ejemplo, LabVmsShutdownTask, LabVmAutoStart). |
string |
| timeZoneId |
El identificador de zona horaria (por ejemplo, hora estándar de China, hora estándar de Groenlandia, hora estándar del Pacífico, etc.). Los valores posibles para esta propiedad se pueden encontrar en IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) |
string |
| weeklyRecurrence |
Si la programación solo se producirá algunos días de la semana, especifique la periodicidad semanal. |
WeekDetails |
SharedPublicIpAddressConfiguration
| Name |
Description |
Value |
| inboundNatRules |
Reglas NAT entrantes |
InboundNatRule[] |
WeekDetails
| Name |
Description |
Value |
| time |
Hora del día en que se producirá la programación. |
string |
| weekdays |
Los días de la semana para los que se establece la programación (por ejemplo, domingo, lunes, martes, etc.). |
string[] |
Ejemplos de uso
Un ejemplo básico de implementación de una máquina virtual dentro de un laboratorio de pruebas de desarrollo.
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 = ["*"]
}