Skip to main content

virtual_machines

Creates, updates, deletes, gets or lists a virtual_machines resource.

Overview

Namevirtual_machines
TypeResource
Idazure_extras.lab_services.virtual_machines

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
idstringFully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
namestringThe name of the resource.
claimedByUserIdstringThe lab user ID (not the PUID!) of who claimed the virtual machine.
connectionProfileobjectProfile for information about connecting to the virtual machine.
provisioningStatestringCurrent provisioning state of the virtual machine. Known values are: "Creating", "Updating", "Deleting", "Succeeded", "Failed", and "Locked".
statestringThe current state of the virtual machine. Known values are: "Stopped", "Starting", "Running", "Stopping", "ResettingPassword", "Reimaging", and "Redeploying".
systemDataobjectSystem data of the Lab virtual machine.
typestringThe type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
vmTypestringThe type of this VM resource. Known values are: "User" and "Template".

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectresource_group_name, lab_name, virtual_machine_name, subscription_idGet a lab virtual machine. Returns the properties for a lab virtual machine.
list_by_labselectresource_group_name, lab_name, subscription_id$filterGet all virtual machines for a lab. Returns a list of all virtual machines for a lab.
startexecresource_group_name, lab_name, virtual_machine_name, subscription_idStart a lab virtual machine. Action to start a lab virtual machine.
stopexecresource_group_name, lab_name, virtual_machine_name, subscription_idStop a lab virtual machine. Action to stop a lab virtual machine.
reimageexecresource_group_name, lab_name, virtual_machine_name, subscription_idRe-image a lab virtual machine. Re-image a lab virtual machine. The virtual machine will be deleted and recreated using the latest published snapshot of the reference environment of the lab.
redeployexecresource_group_name, lab_name, virtual_machine_name, subscription_idRedeploy a lab virtual machine to a different compute node. For troubleshooting connectivity. Action to redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.
reset_passwordexecresource_group_name, lab_name, virtual_machine_name, subscription_id, username, passwordReset a lab virtual machine password. Resets a lab virtual machine password.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
lab_namestringThe name of the lab that uniquely identifies it within containing lab plan. Used in resource URIs. Required.
resource_group_namestringThe name of the resource group. The name is case insensitive. Required.
subscription_idstring
virtual_machine_namestringThe ID of the virtual machine that uniquely identifies it within the containing lab. Used in resource URIs. Required.
$filterstringThe filter to apply to the operation. Default value is None.

SELECT examples

Get a lab virtual machine. Returns the properties for a lab virtual machine.

SELECT
id,
name,
claimedByUserId,
connectionProfile,
provisioningState,
state,
systemData,
type,
vmType
FROM azure_extras.lab_services.virtual_machines
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND lab_name = '{{ lab_name }}' -- required
AND virtual_machine_name = '{{ virtual_machine_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;

Lifecycle Methods

Start a lab virtual machine. Action to start a lab virtual machine.

EXEC azure_extras.lab_services.virtual_machines.start 
@resource_group_name='{{ resource_group_name }}' --required,
@lab_name='{{ lab_name }}' --required,
@virtual_machine_name='{{ virtual_machine_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
;