Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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
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 |
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' |
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[] |
Usage Examples
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying 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
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' |
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' |
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[] |
Usage Examples
Azure Quickstart Templates
The following Azure 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"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
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
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" |
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' |
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[] |