Microsoft.DevTestLab labs/virtualmachines 2016-05-15
Bicep resource definition
The labs/virtualmachines resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevTestLab/labs/virtualmachines resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DevTestLab/labs/virtualmachines@2016-05-15' = {
parent: resourceSymbolicName
location: 'string'
name: 'string'
properties: {
allowClaim: bool
applicableSchedule: {
location: 'string'
properties: {
labVmsShutdown: {
location: 'string'
properties: {
dailyRecurrence: {
time: 'string'
}
hourlyRecurrence: {
minute: int
}
notificationSettings: {
status: 'string'
timeInMinutes: int
webhookUrl: 'string'
}
provisioningState: 'string'
status: 'string'
targetResourceId: 'string'
taskType: 'string'
timeZoneId: 'string'
uniqueIdentifier: 'string'
weeklyRecurrence: {
time: 'string'
weekdays: [
'string'
]
}
}
tags: {
{customized property}: 'string'
}
}
labVmsStartup: {
location: 'string'
properties: {
dailyRecurrence: {
time: 'string'
}
hourlyRecurrence: {
minute: int
}
notificationSettings: {
status: 'string'
timeInMinutes: int
webhookUrl: 'string'
}
provisioningState: 'string'
status: 'string'
targetResourceId: 'string'
taskType: 'string'
timeZoneId: 'string'
uniqueIdentifier: 'string'
weeklyRecurrence: {
time: 'string'
weekdays: [
'string'
]
}
}
tags: {
{customized property}: 'string'
}
}
}
tags: {
{customized property}: 'string'
}
}
artifactDeploymentStatus: {
artifactsApplied: int
deploymentStatus: 'string'
totalArtifacts: int
}
artifacts: [
{
artifactId: 'string'
deploymentStatusMessage: 'string'
installTime: 'string'
parameters: [
{
name: 'string'
value: 'string'
}
]
status: 'string'
vmExtensionStatusMessage: 'string'
}
]
computeVm: {
dataDiskIds: [
'string'
]
dataDisks: [
{
diskSizeGiB: int
diskUri: 'string'
managedDiskId: 'string'
name: 'string'
}
]
networkInterfaceId: 'string'
osDiskId: 'string'
osType: 'string'
statuses: [
{
code: 'string'
displayStatus: 'string'
message: 'string'
}
]
vmSize: 'string'
}
createdByUser: 'string'
createdByUserId: 'string'
createdDate: 'string'
customImageId: 'string'
disallowPublicIpAddress: bool
environmentId: 'string'
expirationDate: 'string'
fqdn: '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'
osType: 'string'
ownerObjectId: 'string'
ownerUserPrincipalName: 'string'
password: 'string'
provisioningState: 'string'
size: 'string'
sshKey: 'string'
storageType: 'string'
uniqueIdentifier: 'string'
userName: 'string'
virtualMachineCreationSource: 'string'
}
tags: {
{customized property}: 'string'
}
}
Property values
ApplicableSchedule
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
properties | The properties of the resource. | ApplicableScheduleProperties (required) |
tags | The tags of the resource. | ResourceTags |
ApplicableScheduleProperties
Name | Description | Value |
---|---|---|
labVmsShutdown | The auto-shutdown schedule, if one has been set at the lab or lab resource level. | Schedule |
labVmsStartup | The auto-startup schedule, if one has been set at the lab or lab resource level. | Schedule |
ArtifactDeploymentStatusProperties
Name | Description | Value |
---|---|---|
artifactsApplied | The total count of the artifacts that were successfully applied. | int |
deploymentStatus | The deployment status of the artifact. | string |
totalArtifacts | The total count of the artifacts that were tentatively applied. | int |
ArtifactInstallProperties
Name | Description | Value |
---|---|---|
artifactId | The artifact's identifier. | string |
deploymentStatusMessage | The status message from the deployment. | string |
installTime | The time that the artifact starts to install on the virtual machine. | string |
parameters | The parameters of the artifact. | ArtifactParameterProperties[] |
status | The status of the artifact. | string |
vmExtensionStatusMessage | The status message from the virtual machine extension. | string |
ArtifactParameterProperties
Name | Description | Value |
---|---|---|
name | The name of the artifact parameter. | string |
value | The value of the artifact parameter. | string |
ComputeDataDisk
Name | Description | Value |
---|---|---|
diskSizeGiB | Gets data disk size in GiB. | int |
diskUri | When backed by a blob, the URI of underlying blob. | string |
managedDiskId | When backed by managed disk, this is the ID of the compute disk resource. | string |
name | Gets data disk name. | string |
ComputeVmInstanceViewStatus
Name | Description | Value |
---|---|---|
code | Gets the status Code. | string |
displayStatus | Gets the short localizable label for the status. | string |
message | Gets the message associated with the status. | string |
ComputeVmProperties
Name | Description | Value |
---|---|---|
dataDiskIds | Gets data disks blob uri for the virtual machine. | string[] |
dataDisks | Gets all data disks attached to the virtual machine. | ComputeDataDisk[] |
networkInterfaceId | Gets the network interface ID of the virtual machine. | string |
osDiskId | Gets OS disk blob uri for the virtual machine. | string |
osType | Gets the OS type of the virtual machine. | string |
statuses | Gets the statuses of the virtual machine. | ComputeVmInstanceViewStatus[] |
vmSize | Gets the size of the virtual machine. | string |
DayDetails
Name | Description | Value |
---|---|---|
time | The time of day the schedule will occur. | string |
GalleryImageReference
Name | Description | Value |
---|---|---|
offer | The offer of the gallery image. | string |
osType | The OS type of the gallery image. | string |
publisher | The publisher of the gallery image. | string |
sku | The SKU of the gallery image. | string |
version | The version of the gallery image. | string |
HourDetails
Name | Description | Value |
---|---|---|
minute | Minutes of the hour the schedule will run. | int |
InboundNatRule
Name | Description | Value |
---|---|---|
backendPort | The port to which the external traffic will be redirected. | int |
frontendPort | The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. | int |
transportProtocol | The transport protocol for the endpoint. | 'Tcp' 'Udp' |
LabVirtualMachineProperties
Name | Description | Value |
---|---|---|
allowClaim | Indicates whether another user can take ownership of the virtual machine | bool |
applicableSchedule | The applicable schedule for the virtual machine. | ApplicableSchedule |
artifactDeploymentStatus | The artifact deployment status for the virtual machine. | ArtifactDeploymentStatusProperties |
artifacts | The artifacts to be installed on the virtual machine. | ArtifactInstallProperties[] |
computeVm | The compute virtual machine properties. | ComputeVmProperties |
createdByUser | The email address of creator of the virtual machine. | string |
createdByUserId | The object identifier of the creator of the virtual machine. | string |
createdDate | The creation date of the virtual machine. | string |
customImageId | The custom image identifier of the virtual machine. | string |
disallowPublicIpAddress | Indicates whether the virtual machine is to be created without a public IP address. | bool |
environmentId | The resource ID of the environment that contains this virtual machine, if any. | string |
expirationDate | The expiration date for VM. | string |
fqdn | The fully-qualified domain name of the virtual machine. | string |
galleryImageReference | The Microsoft Azure Marketplace image reference of the virtual machine. | GalleryImageReference |
isAuthenticationWithSshKey | Indicates whether this virtual machine uses an SSH key for authentication. | bool |
labSubnetName | The lab subnet name of the virtual machine. | string |
labVirtualNetworkId | The lab virtual network identifier of the virtual machine. | string |
networkInterface | The network interface properties. | NetworkInterfaceProperties |
notes | The notes of the virtual machine. | string |
osType | The OS type of the virtual machine. | string |
ownerObjectId | The object identifier of the owner of the virtual machine. | string |
ownerUserPrincipalName | The user principal name of the virtual machine owner. | string |
password | The password of the virtual machine administrator. | string |
provisioningState | The provisioning status of the resource. | string |
size | The size of the virtual machine. | string |
sshKey | The SSH key of the virtual machine administrator. | string |
storageType | Storage type to use for virtual machine (i.e. Standard, Premium). | string |
uniqueIdentifier | The unique immutable identifier of a resource (Guid). | string |
userName | The user name of the virtual machine. | string |
virtualMachineCreationSource | Tells source of creation of lab virtual machine. Output property only. | 'FromCustomImage' 'FromGalleryImage' |
Microsoft.DevTestLab/labs/virtualmachines
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
name | The resource name | string (required) |
parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: labs |
properties | The properties of the resource. | LabVirtualMachineProperties (required) |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
NetworkInterfaceProperties
Name | Description | Value |
---|---|---|
dnsName | The DNS name. | string |
privateIpAddress | The private IP address. | string |
publicIpAddress | The public IP address. | string |
publicIpAddressId | The resource ID of the public IP address. | string |
rdpAuthority | The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). | string |
sharedPublicIpAddressConfiguration | The configuration for sharing a public IP address across multiple virtual machines. | SharedPublicIpAddressConfiguration |
sshAuthority | The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. | string |
subnetId | The resource ID of the sub net. | string |
virtualNetworkId | The resource ID of the virtual network. | string |
NotificationSettings
Name | Description | Value |
---|---|---|
status | If notifications are enabled for this schedule (i.e. Enabled, Disabled). | 'Disabled' 'Enabled' |
timeInMinutes | Time in minutes before event at which notification will be sent. | int |
webhookUrl | The webhook URL to which the notification will be sent. | string |
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
Schedule
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
properties | The properties of the resource. | ScheduleProperties (required) |
tags | The tags of the resource. | ResourceTags |
ScheduleProperties
Name | Description | Value |
---|---|---|
dailyRecurrence | If the schedule will occur once each day of the week, specify the daily recurrence. | DayDetails |
hourlyRecurrence | If the schedule will occur multiple times a day, specify the hourly recurrence. | HourDetails |
notificationSettings | Notification settings. | NotificationSettings |
provisioningState | The provisioning status of the resource. | string |
status | The status of the schedule (i.e. Enabled, Disabled) | 'Disabled' 'Enabled' |
targetResourceId | The resource ID to which the schedule belongs | string |
taskType | The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). | string |
timeZoneId | The time zone ID (e.g. Pacific Standard time). | string |
uniqueIdentifier | The unique immutable identifier of a resource (Guid). | string |
weeklyRecurrence | If the schedule will occur only some days of the week, specify the weekly recurrence. | WeekDetails |
SharedPublicIpAddressConfiguration
Name | Description | Value |
---|---|---|
inboundNatRules | The incoming NAT rules | InboundNatRule[] |
WeekDetails
Name | Description | Value |
---|---|---|
time | The time of the day the schedule will occur. | string |
weekdays | The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). | string[] |
Quickstart samples
The following quickstart samples deploy this resource type.
Bicep File | Description |
---|---|
Creates a lab in Azure DevTest Labs with a claimed VM | This template creates a new DevTest Lab / DTL instance with a claimed Windows Server 2019 Datacenter VM in it. More Azure Resource Manager Quickstart Templates for Azure DevTest Labs available at https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates |
ARM template resource definition
The labs/virtualmachines resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevTestLab/labs/virtualmachines resource, add the following JSON to your template.
{
"type": "Microsoft.DevTestLab/labs/virtualmachines",
"apiVersion": "2016-05-15",
"name": "string",
"location": "string",
"properties": {
"allowClaim": "bool",
"applicableSchedule": {
"location": "string",
"properties": {
"labVmsShutdown": {
"location": "string",
"properties": {
"dailyRecurrence": {
"time": "string"
},
"hourlyRecurrence": {
"minute": "int"
},
"notificationSettings": {
"status": "string",
"timeInMinutes": "int",
"webhookUrl": "string"
},
"provisioningState": "string",
"status": "string",
"targetResourceId": "string",
"taskType": "string",
"timeZoneId": "string",
"uniqueIdentifier": "string",
"weeklyRecurrence": {
"time": "string",
"weekdays": [ "string" ]
}
},
"tags": {
"{customized property}": "string"
}
},
"labVmsStartup": {
"location": "string",
"properties": {
"dailyRecurrence": {
"time": "string"
},
"hourlyRecurrence": {
"minute": "int"
},
"notificationSettings": {
"status": "string",
"timeInMinutes": "int",
"webhookUrl": "string"
},
"provisioningState": "string",
"status": "string",
"targetResourceId": "string",
"taskType": "string",
"timeZoneId": "string",
"uniqueIdentifier": "string",
"weeklyRecurrence": {
"time": "string",
"weekdays": [ "string" ]
}
},
"tags": {
"{customized property}": "string"
}
}
},
"tags": {
"{customized property}": "string"
}
},
"artifactDeploymentStatus": {
"artifactsApplied": "int",
"deploymentStatus": "string",
"totalArtifacts": "int"
},
"artifacts": [
{
"artifactId": "string",
"deploymentStatusMessage": "string",
"installTime": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
],
"status": "string",
"vmExtensionStatusMessage": "string"
}
],
"computeVm": {
"dataDiskIds": [ "string" ],
"dataDisks": [
{
"diskSizeGiB": "int",
"diskUri": "string",
"managedDiskId": "string",
"name": "string"
}
],
"networkInterfaceId": "string",
"osDiskId": "string",
"osType": "string",
"statuses": [
{
"code": "string",
"displayStatus": "string",
"message": "string"
}
],
"vmSize": "string"
},
"createdByUser": "string",
"createdByUserId": "string",
"createdDate": "string",
"customImageId": "string",
"disallowPublicIpAddress": "bool",
"environmentId": "string",
"expirationDate": "string",
"fqdn": "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",
"osType": "string",
"ownerObjectId": "string",
"ownerUserPrincipalName": "string",
"password": "string",
"provisioningState": "string",
"size": "string",
"sshKey": "string",
"storageType": "string",
"uniqueIdentifier": "string",
"userName": "string",
"virtualMachineCreationSource": "string"
},
"tags": {
"{customized property}": "string"
}
}
Property values
ApplicableSchedule
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
properties | The properties of the resource. | ApplicableScheduleProperties (required) |
tags | The tags of the resource. | ResourceTags |
ApplicableScheduleProperties
Name | Description | Value |
---|---|---|
labVmsShutdown | The auto-shutdown schedule, if one has been set at the lab or lab resource level. | Schedule |
labVmsStartup | The auto-startup schedule, if one has been set at the lab or lab resource level. | Schedule |
ArtifactDeploymentStatusProperties
Name | Description | Value |
---|---|---|
artifactsApplied | The total count of the artifacts that were successfully applied. | int |
deploymentStatus | The deployment status of the artifact. | string |
totalArtifacts | The total count of the artifacts that were tentatively applied. | int |
ArtifactInstallProperties
Name | Description | Value |
---|---|---|
artifactId | The artifact's identifier. | string |
deploymentStatusMessage | The status message from the deployment. | string |
installTime | The time that the artifact starts to install on the virtual machine. | string |
parameters | The parameters of the artifact. | ArtifactParameterProperties[] |
status | The status of the artifact. | string |
vmExtensionStatusMessage | The status message from the virtual machine extension. | string |
ArtifactParameterProperties
Name | Description | Value |
---|---|---|
name | The name of the artifact parameter. | string |
value | The value of the artifact parameter. | string |
ComputeDataDisk
Name | Description | Value |
---|---|---|
diskSizeGiB | Gets data disk size in GiB. | int |
diskUri | When backed by a blob, the URI of underlying blob. | string |
managedDiskId | When backed by managed disk, this is the ID of the compute disk resource. | string |
name | Gets data disk name. | string |
ComputeVmInstanceViewStatus
Name | Description | Value |
---|---|---|
code | Gets the status Code. | string |
displayStatus | Gets the short localizable label for the status. | string |
message | Gets the message associated with the status. | string |
ComputeVmProperties
Name | Description | Value |
---|---|---|
dataDiskIds | Gets data disks blob uri for the virtual machine. | string[] |
dataDisks | Gets all data disks attached to the virtual machine. | ComputeDataDisk[] |
networkInterfaceId | Gets the network interface ID of the virtual machine. | string |
osDiskId | Gets OS disk blob uri for the virtual machine. | string |
osType | Gets the OS type of the virtual machine. | string |
statuses | Gets the statuses of the virtual machine. | ComputeVmInstanceViewStatus[] |
vmSize | Gets the size of the virtual machine. | string |
DayDetails
Name | Description | Value |
---|---|---|
time | The time of day the schedule will occur. | string |
GalleryImageReference
Name | Description | Value |
---|---|---|
offer | The offer of the gallery image. | string |
osType | The OS type of the gallery image. | string |
publisher | The publisher of the gallery image. | string |
sku | The SKU of the gallery image. | string |
version | The version of the gallery image. | string |
HourDetails
Name | Description | Value |
---|---|---|
minute | Minutes of the hour the schedule will run. | int |
InboundNatRule
Name | Description | Value |
---|---|---|
backendPort | The port to which the external traffic will be redirected. | int |
frontendPort | The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. | int |
transportProtocol | The transport protocol for the endpoint. | 'Tcp' 'Udp' |
LabVirtualMachineProperties
Name | Description | Value |
---|---|---|
allowClaim | Indicates whether another user can take ownership of the virtual machine | bool |
applicableSchedule | The applicable schedule for the virtual machine. | ApplicableSchedule |
artifactDeploymentStatus | The artifact deployment status for the virtual machine. | ArtifactDeploymentStatusProperties |
artifacts | The artifacts to be installed on the virtual machine. | ArtifactInstallProperties[] |
computeVm | The compute virtual machine properties. | ComputeVmProperties |
createdByUser | The email address of creator of the virtual machine. | string |
createdByUserId | The object identifier of the creator of the virtual machine. | string |
createdDate | The creation date of the virtual machine. | string |
customImageId | The custom image identifier of the virtual machine. | string |
disallowPublicIpAddress | Indicates whether the virtual machine is to be created without a public IP address. | bool |
environmentId | The resource ID of the environment that contains this virtual machine, if any. | string |
expirationDate | The expiration date for VM. | string |
fqdn | The fully-qualified domain name of the virtual machine. | string |
galleryImageReference | The Microsoft Azure Marketplace image reference of the virtual machine. | GalleryImageReference |
isAuthenticationWithSshKey | Indicates whether this virtual machine uses an SSH key for authentication. | bool |
labSubnetName | The lab subnet name of the virtual machine. | string |
labVirtualNetworkId | The lab virtual network identifier of the virtual machine. | string |
networkInterface | The network interface properties. | NetworkInterfaceProperties |
notes | The notes of the virtual machine. | string |
osType | The OS type of the virtual machine. | string |
ownerObjectId | The object identifier of the owner of the virtual machine. | string |
ownerUserPrincipalName | The user principal name of the virtual machine owner. | string |
password | The password of the virtual machine administrator. | string |
provisioningState | The provisioning status of the resource. | string |
size | The size of the virtual machine. | string |
sshKey | The SSH key of the virtual machine administrator. | string |
storageType | Storage type to use for virtual machine (i.e. Standard, Premium). | string |
uniqueIdentifier | The unique immutable identifier of a resource (Guid). | string |
userName | The user name of the virtual machine. | string |
virtualMachineCreationSource | Tells source of creation of lab virtual machine. Output property only. | 'FromCustomImage' 'FromGalleryImage' |
Microsoft.DevTestLab/labs/virtualmachines
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2016-05-15' |
location | The location of the resource. | string |
name | The resource name | string (required) |
properties | The properties of the resource. | LabVirtualMachineProperties (required) |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.DevTestLab/labs/virtualmachines' |
NetworkInterfaceProperties
Name | Description | Value |
---|---|---|
dnsName | The DNS name. | string |
privateIpAddress | The private IP address. | string |
publicIpAddress | The public IP address. | string |
publicIpAddressId | The resource ID of the public IP address. | string |
rdpAuthority | The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). | string |
sharedPublicIpAddressConfiguration | The configuration for sharing a public IP address across multiple virtual machines. | SharedPublicIpAddressConfiguration |
sshAuthority | The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. | string |
subnetId | The resource ID of the sub net. | string |
virtualNetworkId | The resource ID of the virtual network. | string |
NotificationSettings
Name | Description | Value |
---|---|---|
status | If notifications are enabled for this schedule (i.e. Enabled, Disabled). | 'Disabled' 'Enabled' |
timeInMinutes | Time in minutes before event at which notification will be sent. | int |
webhookUrl | The webhook URL to which the notification will be sent. | string |
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
Schedule
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
properties | The properties of the resource. | ScheduleProperties (required) |
tags | The tags of the resource. | ResourceTags |
ScheduleProperties
Name | Description | Value |
---|---|---|
dailyRecurrence | If the schedule will occur once each day of the week, specify the daily recurrence. | DayDetails |
hourlyRecurrence | If the schedule will occur multiple times a day, specify the hourly recurrence. | HourDetails |
notificationSettings | Notification settings. | NotificationSettings |
provisioningState | The provisioning status of the resource. | string |
status | The status of the schedule (i.e. Enabled, Disabled) | 'Disabled' 'Enabled' |
targetResourceId | The resource ID to which the schedule belongs | string |
taskType | The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). | string |
timeZoneId | The time zone ID (e.g. Pacific Standard time). | string |
uniqueIdentifier | The unique immutable identifier of a resource (Guid). | string |
weeklyRecurrence | If the schedule will occur only some days of the week, specify the weekly recurrence. | WeekDetails |
SharedPublicIpAddressConfiguration
Name | Description | Value |
---|---|---|
inboundNatRules | The incoming NAT rules | InboundNatRule[] |
WeekDetails
Name | Description | Value |
---|---|---|
time | The time of the day the schedule will occur. | string |
weekdays | The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). | string[] |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Creates a lab in Azure DevTest Labs with a claimed VM |
This template creates a new DevTest Lab / DTL instance with a claimed Windows Server 2019 Datacenter VM in it. More Azure Resource Manager Quickstart Templates for Azure DevTest Labs available at https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates |
Terraform (AzAPI provider) resource definition
The labs/virtualmachines resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DevTestLab/labs/virtualmachines resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DevTestLab/labs/virtualmachines@2016-05-15"
name = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
allowClaim = bool
applicableSchedule = {
location = "string"
properties = {
labVmsShutdown = {
location = "string"
properties = {
dailyRecurrence = {
time = "string"
}
hourlyRecurrence = {
minute = int
}
notificationSettings = {
status = "string"
timeInMinutes = int
webhookUrl = "string"
}
provisioningState = "string"
status = "string"
targetResourceId = "string"
taskType = "string"
timeZoneId = "string"
uniqueIdentifier = "string"
weeklyRecurrence = {
time = "string"
weekdays = [
"string"
]
}
}
tags = {
{customized property} = "string"
}
}
labVmsStartup = {
location = "string"
properties = {
dailyRecurrence = {
time = "string"
}
hourlyRecurrence = {
minute = int
}
notificationSettings = {
status = "string"
timeInMinutes = int
webhookUrl = "string"
}
provisioningState = "string"
status = "string"
targetResourceId = "string"
taskType = "string"
timeZoneId = "string"
uniqueIdentifier = "string"
weeklyRecurrence = {
time = "string"
weekdays = [
"string"
]
}
}
tags = {
{customized property} = "string"
}
}
}
tags = {
{customized property} = "string"
}
}
artifactDeploymentStatus = {
artifactsApplied = int
deploymentStatus = "string"
totalArtifacts = int
}
artifacts = [
{
artifactId = "string"
deploymentStatusMessage = "string"
installTime = "string"
parameters = [
{
name = "string"
value = "string"
}
]
status = "string"
vmExtensionStatusMessage = "string"
}
]
computeVm = {
dataDiskIds = [
"string"
]
dataDisks = [
{
diskSizeGiB = int
diskUri = "string"
managedDiskId = "string"
name = "string"
}
]
networkInterfaceId = "string"
osDiskId = "string"
osType = "string"
statuses = [
{
code = "string"
displayStatus = "string"
message = "string"
}
]
vmSize = "string"
}
createdByUser = "string"
createdByUserId = "string"
createdDate = "string"
customImageId = "string"
disallowPublicIpAddress = bool
environmentId = "string"
expirationDate = "string"
fqdn = "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"
osType = "string"
ownerObjectId = "string"
ownerUserPrincipalName = "string"
password = "string"
provisioningState = "string"
size = "string"
sshKey = "string"
storageType = "string"
uniqueIdentifier = "string"
userName = "string"
virtualMachineCreationSource = "string"
}
})
}
Property values
ApplicableSchedule
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
properties | The properties of the resource. | ApplicableScheduleProperties (required) |
tags | The tags of the resource. | ResourceTags |
ApplicableScheduleProperties
Name | Description | Value |
---|---|---|
labVmsShutdown | The auto-shutdown schedule, if one has been set at the lab or lab resource level. | Schedule |
labVmsStartup | The auto-startup schedule, if one has been set at the lab or lab resource level. | Schedule |
ArtifactDeploymentStatusProperties
Name | Description | Value |
---|---|---|
artifactsApplied | The total count of the artifacts that were successfully applied. | int |
deploymentStatus | The deployment status of the artifact. | string |
totalArtifacts | The total count of the artifacts that were tentatively applied. | int |
ArtifactInstallProperties
Name | Description | Value |
---|---|---|
artifactId | The artifact's identifier. | string |
deploymentStatusMessage | The status message from the deployment. | string |
installTime | The time that the artifact starts to install on the virtual machine. | string |
parameters | The parameters of the artifact. | ArtifactParameterProperties[] |
status | The status of the artifact. | string |
vmExtensionStatusMessage | The status message from the virtual machine extension. | string |
ArtifactParameterProperties
Name | Description | Value |
---|---|---|
name | The name of the artifact parameter. | string |
value | The value of the artifact parameter. | string |
ComputeDataDisk
Name | Description | Value |
---|---|---|
diskSizeGiB | Gets data disk size in GiB. | int |
diskUri | When backed by a blob, the URI of underlying blob. | string |
managedDiskId | When backed by managed disk, this is the ID of the compute disk resource. | string |
name | Gets data disk name. | string |
ComputeVmInstanceViewStatus
Name | Description | Value |
---|---|---|
code | Gets the status Code. | string |
displayStatus | Gets the short localizable label for the status. | string |
message | Gets the message associated with the status. | string |
ComputeVmProperties
Name | Description | Value |
---|---|---|
dataDiskIds | Gets data disks blob uri for the virtual machine. | string[] |
dataDisks | Gets all data disks attached to the virtual machine. | ComputeDataDisk[] |
networkInterfaceId | Gets the network interface ID of the virtual machine. | string |
osDiskId | Gets OS disk blob uri for the virtual machine. | string |
osType | Gets the OS type of the virtual machine. | string |
statuses | Gets the statuses of the virtual machine. | ComputeVmInstanceViewStatus[] |
vmSize | Gets the size of the virtual machine. | string |
DayDetails
Name | Description | Value |
---|---|---|
time | The time of day the schedule will occur. | string |
GalleryImageReference
Name | Description | Value |
---|---|---|
offer | The offer of the gallery image. | string |
osType | The OS type of the gallery image. | string |
publisher | The publisher of the gallery image. | string |
sku | The SKU of the gallery image. | string |
version | The version of the gallery image. | string |
HourDetails
Name | Description | Value |
---|---|---|
minute | Minutes of the hour the schedule will run. | int |
InboundNatRule
Name | Description | Value |
---|---|---|
backendPort | The port to which the external traffic will be redirected. | int |
frontendPort | The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. | int |
transportProtocol | The transport protocol for the endpoint. | 'Tcp' 'Udp' |
LabVirtualMachineProperties
Name | Description | Value |
---|---|---|
allowClaim | Indicates whether another user can take ownership of the virtual machine | bool |
applicableSchedule | The applicable schedule for the virtual machine. | ApplicableSchedule |
artifactDeploymentStatus | The artifact deployment status for the virtual machine. | ArtifactDeploymentStatusProperties |
artifacts | The artifacts to be installed on the virtual machine. | ArtifactInstallProperties[] |
computeVm | The compute virtual machine properties. | ComputeVmProperties |
createdByUser | The email address of creator of the virtual machine. | string |
createdByUserId | The object identifier of the creator of the virtual machine. | string |
createdDate | The creation date of the virtual machine. | string |
customImageId | The custom image identifier of the virtual machine. | string |
disallowPublicIpAddress | Indicates whether the virtual machine is to be created without a public IP address. | bool |
environmentId | The resource ID of the environment that contains this virtual machine, if any. | string |
expirationDate | The expiration date for VM. | string |
fqdn | The fully-qualified domain name of the virtual machine. | string |
galleryImageReference | The Microsoft Azure Marketplace image reference of the virtual machine. | GalleryImageReference |
isAuthenticationWithSshKey | Indicates whether this virtual machine uses an SSH key for authentication. | bool |
labSubnetName | The lab subnet name of the virtual machine. | string |
labVirtualNetworkId | The lab virtual network identifier of the virtual machine. | string |
networkInterface | The network interface properties. | NetworkInterfaceProperties |
notes | The notes of the virtual machine. | string |
osType | The OS type of the virtual machine. | string |
ownerObjectId | The object identifier of the owner of the virtual machine. | string |
ownerUserPrincipalName | The user principal name of the virtual machine owner. | string |
password | The password of the virtual machine administrator. | string |
provisioningState | The provisioning status of the resource. | string |
size | The size of the virtual machine. | string |
sshKey | The SSH key of the virtual machine administrator. | string |
storageType | Storage type to use for virtual machine (i.e. Standard, Premium). | string |
uniqueIdentifier | The unique immutable identifier of a resource (Guid). | string |
userName | The user name of the virtual machine. | string |
virtualMachineCreationSource | Tells source of creation of lab virtual machine. Output property only. | 'FromCustomImage' 'FromGalleryImage' |
Microsoft.DevTestLab/labs/virtualmachines
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
name | The resource name | string (required) |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: labs |
properties | The properties of the resource. | LabVirtualMachineProperties (required) |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.DevTestLab/labs/virtualmachines@2016-05-15" |
NetworkInterfaceProperties
Name | Description | Value |
---|---|---|
dnsName | The DNS name. | string |
privateIpAddress | The private IP address. | string |
publicIpAddress | The public IP address. | string |
publicIpAddressId | The resource ID of the public IP address. | string |
rdpAuthority | The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). | string |
sharedPublicIpAddressConfiguration | The configuration for sharing a public IP address across multiple virtual machines. | SharedPublicIpAddressConfiguration |
sshAuthority | The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. | string |
subnetId | The resource ID of the sub net. | string |
virtualNetworkId | The resource ID of the virtual network. | string |
NotificationSettings
Name | Description | Value |
---|---|---|
status | If notifications are enabled for this schedule (i.e. Enabled, Disabled). | 'Disabled' 'Enabled' |
timeInMinutes | Time in minutes before event at which notification will be sent. | int |
webhookUrl | The webhook URL to which the notification will be sent. | string |
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
Schedule
Name | Description | Value |
---|---|---|
location | The location of the resource. | string |
properties | The properties of the resource. | ScheduleProperties (required) |
tags | The tags of the resource. | ResourceTags |
ScheduleProperties
Name | Description | Value |
---|---|---|
dailyRecurrence | If the schedule will occur once each day of the week, specify the daily recurrence. | DayDetails |
hourlyRecurrence | If the schedule will occur multiple times a day, specify the hourly recurrence. | HourDetails |
notificationSettings | Notification settings. | NotificationSettings |
provisioningState | The provisioning status of the resource. | string |
status | The status of the schedule (i.e. Enabled, Disabled) | 'Disabled' 'Enabled' |
targetResourceId | The resource ID to which the schedule belongs | string |
taskType | The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). | string |
timeZoneId | The time zone ID (e.g. Pacific Standard time). | string |
uniqueIdentifier | The unique immutable identifier of a resource (Guid). | string |
weeklyRecurrence | If the schedule will occur only some days of the week, specify the weekly recurrence. | WeekDetails |
SharedPublicIpAddressConfiguration
Name | Description | Value |
---|---|---|
inboundNatRules | The incoming NAT rules | InboundNatRule[] |
WeekDetails
Name | Description | Value |
---|---|---|
time | The time of the day the schedule will occur. | string |
weekdays | The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). | string[] |