az lab vm

Manage VMs in an Azure DevTest Lab.

Commands

az lab vm apply-artifacts

Apply artifacts to a virtual machine in Azure DevTest Lab.

az lab vm claim

Claim a virtual machine from the Lab.

az lab vm create

Create a VM in a lab.

az lab vm delete

Delete virtual machine.

az lab vm list

List the VMs in an Azure DevTest Lab.

az lab vm show

Get virtual machine.

az lab vm start

Start a virtual machine.

az lab vm stop

Stop a virtual machine This operation can take a while to complete.

az lab vm apply-artifacts

Apply artifacts to a virtual machine in Azure DevTest Lab.

az lab vm apply-artifacts --lab-name
                          --name
                          --resource-group
                          [--artifacts]

Examples

Apply artifacts to a virtual machine in Azure DevTest Lab. (autogenerated)

az lab vm apply-artifacts --artifacts '@artifacts.json' --lab-name MyLab --name MyVirtualMachine --resource-group MyResourceGroup

Required Parameters

--lab-name

Name of the Lab.

--name -n

Name of the virtual machine.

--resource-group -g

Name of lab's resource group.

Optional Parameters

--artifacts

JSON encoded array of artifacts to be applied. Use '@{file}' to load from a file.

az lab vm claim

Claim a virtual machine from the Lab.

az lab vm claim [--ids]
                [--lab-name]
                [--name]
                [--resource-group]

Examples

Claim any available virtual machine in the lab.

az lab vm claim -g {ResourceGroup} --lab-name {LabName}

Claim a specific virtual machine in the lab.

az lab vm claim -g {ResourceGroup} --lab-name {LabName} --name {VMName}

Claim multiple virtual machines in the lab by IDs.

az lab vm claim --ids \
    /subscriptions/{SubID}/resourcegroups/{ResourceGroup}/providers/microsoft.devtestlab/labs/{LabName}/virtualmachines/{VMName1} \
    /subscriptions/{SubID}/resourcegroups/{ResourceGroup}/providers/microsoft.devtestlab/labs/{LabName}/virtualmachines/{VMName2}

Optional Parameters

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--lab-name

Name of the lab.

--name -n

Name of the virtual machine to claim.

--resource-group -g

Name of lab's resource group.

az lab vm create

Create a VM in a lab.

az lab vm create --lab-name
                 --name
                 --resource-group
                 [--admin-password]
                 [--admin-username]
                 [--allow-claim]
                 [--artifacts]
                 [--authentication-type]
                 [--disk-type]
                 [--expiration-date]
                 [--formula]
                 [--generate-ssh-keys]
                 [--image]
                 [--image-type]
                 [--ip-configuration]
                 [--notes]
                 [--saved-secret]
                 [--size]
                 [--ssh-key]
                 [--subnet]
                 [--tags]
                 [--vnet-name]

Examples

Create a VM in the lab from a gallery image.

az lab vm create --lab-name {LabName} -g {ResourceGroup} --name {VMName} --image "Ubuntu Server 16.04 LTS" --image-type gallery --size Standard_DS1_v2

Create a VM in the lab from a gallery image with SSH authentication.

az lab vm create --lab-name {LabName} -g {ResourceGroup} --name {VMName} --image "Ubuntu Server 16.04 LTS" --image-type gallery --size Standard_DS1_v2 --authentication-type ssh

Create a claimable VM in the lab from a gallery image with password authentication.

az lab vm create --lab-name {LabName} -g {ResourceGroup} --name {VMName} --image "Ubuntu Server 16.04 LTS" --image-type gallery --size Standard_DS1_v2 --allow-claim

Create a windows VM in the lab from a gallery image with password authentication.

az lab vm create --lab-name {LabName} -g {ResourceGroup} --name {VMName} --image "Windows Server 2008 R2 SP1" --image-type gallery --size Standard_DS1_v2

Create a VM in the lab from a custom image.

az lab vm create --lab-name {LabName} -g {ResourceGroup} --name {VMName} --image "jenkins_custom" --image-type custom --size Standard_DS1_v2

Create a VM in the lab with a public IP.

az lab vm create --lab-name {LabName} -g {ResourceGroup} --name {VMName} --image "Ubuntu Server 16.04 LTS" --image-type gallery --size Standard_DS1_v2 --ip-configuration public

Create a VM from a formula.

az lab vm create --lab-name {LabName} -g {ResourceGroup} --name {VMName} --formula MyFormula --artifacts '@artifacts.json'

Required Parameters

--lab-name

Name of the lab.

--name -n

Name of the virtual machine.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Optional Parameters

--admin-password

Password for the VM admin.

--admin-username

Username for the VM admin.

default value: your_system_user_login_name
--allow-claim

Flag indicating if the VM should be created as claimable.

--artifacts

JSON encoded array of artifacts to be applied. Use '@{file}' to load from a file.

--authentication-type

Type of authentication allowed for the VM. Allowed values are: password, ssh.

default value: password
--disk-type

Storage type to use for virtual machine.

--expiration-date

The expiration date in UTC(yyyy-MM-ddTHH:mm:ss) for the VM.

--formula

Name of the formula. Use az lab formula list for available formulas.

--generate-ssh-keys

Generate SSH public and private key files if missing.

--image

The name of the operating system image (gallery image name or custom image name/ID).

--image-type

Type of the image. Allowed values are: gallery, custom.

--ip-configuration

Type of IP configuration to use for the VM. Allowed values are: shared, public, private.

--notes

Notes for the virtual machine.

--saved-secret

Name of the saved secret to be used for authentication.

--size

The size of the VM to be created. See https://azure.microsoft.com/pricing/details/virtual-machines/ for size info.

--ssh-key

The SSH public key or public key file path. Use --generate-ssh-keys to generate SSH keys.

--subnet

Name of the subnet to add the VM to.

--tags

Space-separated tags in key[=value] format.

--vnet-name

Name of the virtual network to add the VM to.

az lab vm delete

Delete virtual machine.

This operation can take a while to complete.

az lab vm delete --lab-name
                 --name
                 --resource-group

Required Parameters

--lab-name

The name of the lab.

--name

The name of the virtual machine.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

az lab vm list

List the VMs in an Azure DevTest Lab.

az lab vm list --lab-name
               --resource-group
               [--all]
               [--claimable]
               [--environment]
               [--expand]
               [--filters]
               [--object-id]
               [--order-by]
               [--top]

Examples

List the VMs in an Azure DevTest Lab. (autogenerated)

az lab vm list --lab-name MyLab --resource-group MyResourceGroup

Required Parameters

--lab-name

Name of the lab.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Optional Parameters

--all

List all virtual machines in the lab. Cannot be used with --filters.

--claimable

List only claimable virtual machines in the lab. Cannot be used with --filters.

--environment

Name or ID of the environment to list virtual machines in. Cannot be used with --filters.

--expand

The expand query.

--filters

The filter to apply.

--object-id

Object ID of the owner to list VMs for.

--order-by

The ordering expression for the results using OData notation.

--top

The maximum number of resources to return.

az lab vm show

Get virtual machine.

az lab vm show --lab-name
               --name
               --resource-group
               [--expand]

Required Parameters

--lab-name

The name of the lab.

--name

The name of the virtual machine.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Optional Parameters

--expand

Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'.

az lab vm start

Start a virtual machine.

This operation can take a while to complete.

az lab vm start --lab-name
                --name
                --resource-group

Required Parameters

--lab-name

The name of the lab.

--name

The name of the virtual machine.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

az lab vm stop

Stop a virtual machine This operation can take a while to complete.

az lab vm stop --lab-name
               --name
               --resource-group

Required Parameters

--lab-name

The name of the lab.

--name

The name of the virtual machine.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.