virtual_machines
Creates, updates, deletes, gets or lists a virtual_machines
resource.
Overview
Name | virtual_machines |
Type | Resource |
Id | azure.dev_test_labs.virtual_machines |
Fields
The following fields are returned by SELECT
queries:
- get
- list
Name | Datatype | Description |
---|---|---|
id | string | The identifier of the resource. |
name | string | The name of the resource. |
location | string | The location of the resource. |
properties | object | The properties of the resource. |
tags | object | The tags of the resource. |
type | string | The type of the resource. |
Name | Datatype | Description |
---|---|---|
id | string | The identifier of the resource. |
name | string | The name of the resource. |
location | string | The location of the resource. |
properties | object | The properties of the resource. |
tags | object | The tags of the resource. |
type | string | The type of the resource. |
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
get | select | subscriptionId , resourceGroupName , labName , name | $expand , api-version | Get virtual machine. |
list | select | subscriptionId , resourceGroupName , labName | $expand , $filter , $top , $orderby , api-version | List virtual machines in a given lab. |
create_or_update | insert | subscriptionId , resourceGroupName , labName , name , data__properties | api-version | Create or replace an existing virtual machine. This operation can take a while to complete. |
update | update | subscriptionId , resourceGroupName , labName , name | api-version | Allows modifying tags of virtual machines. All other properties will be ignored. |
delete | delete | subscriptionId , resourceGroupName , labName , name | api-version | Delete virtual machine. This operation can take a while to complete. |
add_data_disk | exec | subscriptionId , resourceGroupName , labName , name | api-version | Attach a new or existing data disk to virtual machine. This operation can take a while to complete. |
apply_artifacts | exec | subscriptionId , resourceGroupName , labName , name | api-version | Apply artifacts to virtual machine. This operation can take a while to complete. |
claim | exec | subscriptionId , resourceGroupName , labName , name | api-version | Take ownership of an existing virtual machine This operation can take a while to complete. |
detach_data_disk | exec | subscriptionId , resourceGroupName , labName , name | api-version | Detach the specified disk from the virtual machine. This operation can take a while to complete. |
redeploy | exec | subscriptionId , resourceGroupName , labName , name | api-version | Redeploy a virtual machine This operation can take a while to complete. |
resize | exec | subscriptionId , resourceGroupName , labName , name | api-version | Resize Virtual Machine. This operation can take a while to complete. |
restart | exec | subscriptionId , resourceGroupName , labName , name | api-version | Restart a virtual machine. This operation can take a while to complete. |
start | exec | subscriptionId , resourceGroupName , labName , name | api-version | Start a virtual machine. This operation can take a while to complete. |
stop | exec | subscriptionId , resourceGroupName , labName , name | api-version | Stop a virtual machine This operation can take a while to complete. |
transfer_disks | exec | subscriptionId , resourceGroupName , labName , name | api-version | Transfers all data disks attached to the virtual machine to be owned by the current user. This operation can take a while to complete. |
un_claim | exec | subscriptionId , resourceGroupName , labName , name | api-version | Release ownership of an existing virtual machine This operation can take a while to complete. |
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.
Name | Datatype | Description |
---|---|---|
labName | string | The name of the lab. |
name | string | The name of the virtual machine. |
resourceGroupName | string | The name of the resource group. |
subscriptionId | string | The subscription ID. |
$expand | string | Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' |
$filter | string | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
$orderby | string | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |
$top | integer (int32) | The maximum number of resources to return from the operation. Example: '$top=10' |
api-version | string | Client API version. |
SELECT
examples
- get
- list
Get virtual machine.
SELECT
id,
name,
location,
properties,
tags,
type
FROM azure.dev_test_labs.virtual_machines
WHERE subscriptionId = '{{ subscriptionId }}' -- required
AND resourceGroupName = '{{ resourceGroupName }}' -- required
AND labName = '{{ labName }}' -- required
AND name = '{{ name }}' -- required
AND $expand = '{{ $expand }}'
AND api-version = '{{ api-version }}'
;
List virtual machines in a given lab.
SELECT
id,
name,
location,
properties,
tags,
type
FROM azure.dev_test_labs.virtual_machines
WHERE subscriptionId = '{{ subscriptionId }}' -- required
AND resourceGroupName = '{{ resourceGroupName }}' -- required
AND labName = '{{ labName }}' -- required
AND $expand = '{{ $expand }}'
AND $filter = '{{ $filter }}'
AND $top = '{{ $top }}'
AND $orderby = '{{ $orderby }}'
AND api-version = '{{ api-version }}'
;
INSERT
examples
- create_or_update
- Manifest
Create or replace an existing virtual machine. This operation can take a while to complete.
INSERT INTO azure.dev_test_labs.virtual_machines (
data__location,
data__tags,
data__properties,
subscriptionId,
resourceGroupName,
labName,
name,
api-version
)
SELECT
'{{ location }}',
'{{ tags }}',
'{{ properties }}' /* required */,
'{{ subscriptionId }}',
'{{ resourceGroupName }}',
'{{ labName }}',
'{{ name }}',
'{{ api-version }}'
RETURNING
id,
name,
location,
properties,
tags,
type
;
# Description fields are for documentation purposes
- name: virtual_machines
props:
- name: subscriptionId
value: string
description: Required parameter for the virtual_machines resource.
- name: resourceGroupName
value: string
description: Required parameter for the virtual_machines resource.
- name: labName
value: string
description: Required parameter for the virtual_machines resource.
- name: name
value: string
description: Required parameter for the virtual_machines resource.
- name: location
value: string
description: |
The location of the resource.
- name: tags
value: object
description: |
The tags of the resource.
- name: properties
value: object
description: |
The properties of the resource.
- name: api-version
value: string
description: Client API version.
UPDATE
examples
- update
Allows modifying tags of virtual machines. All other properties will be ignored.
UPDATE azure.dev_test_labs.virtual_machines
SET
data__tags = '{{ tags }}'
WHERE
subscriptionId = '{{ subscriptionId }}' --required
AND resourceGroupName = '{{ resourceGroupName }}' --required
AND labName = '{{ labName }}' --required
AND name = '{{ name }}' --required
AND api-version = '{{ api-version}}'
RETURNING
id,
name,
location,
properties,
tags,
type;
DELETE
examples
- delete
Delete virtual machine. This operation can take a while to complete.
DELETE FROM azure.dev_test_labs.virtual_machines
WHERE subscriptionId = '{{ subscriptionId }}' --required
AND resourceGroupName = '{{ resourceGroupName }}' --required
AND labName = '{{ labName }}' --required
AND name = '{{ name }}' --required
AND api-version = '{{ api-version }}'
;
Lifecycle Methods
- add_data_disk
- apply_artifacts
- claim
- detach_data_disk
- redeploy
- resize
- restart
- start
- stop
- transfer_disks
- un_claim
Attach a new or existing data disk to virtual machine. This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.add_data_disk
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
@@json=
'{
"attachNewDataDiskOptions": "{{ attachNewDataDiskOptions }}",
"existingLabDiskId": "{{ existingLabDiskId }}",
"hostCaching": "{{ hostCaching }}"
}'
;
Apply artifacts to virtual machine. This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.apply_artifacts
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
@@json=
'{
"artifacts": "{{ artifacts }}"
}'
;
Take ownership of an existing virtual machine This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.claim
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
;
Detach the specified disk from the virtual machine. This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.detach_data_disk
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
@@json=
'{
"existingLabDiskId": "{{ existingLabDiskId }}"
}'
;
Redeploy a virtual machine This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.redeploy
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
;
Resize Virtual Machine. This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.resize
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
@@json=
'{
"size": "{{ size }}"
}'
;
Restart a virtual machine. This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.restart
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
;
Start a virtual machine. This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.start
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
;
Stop a virtual machine This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.stop
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
;
Transfers all data disks attached to the virtual machine to be owned by the current user. This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.transfer_disks
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
;
Release ownership of an existing virtual machine This operation can take a while to complete.
EXEC azure.dev_test_labs.virtual_machines.un_claim
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@labName='{{ labName }}' --required,
@name='{{ name }}' --required,
@api-version='{{ api-version }}'
;