Skip to main content

disks

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

Overview

Namedisks
TypeResource
Idazure.dev_test_labs.disks

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
idstringThe identifier of the resource.
namestringThe name of the resource.
createdDatestring (date-time)The creation date of the disk.
diskBlobNamestringWhen backed by a blob, the name of the VHD blob without extension.
diskSizeGiBintegerThe size of the disk in Gibibytes.
diskTypestringThe storage type for the disk (i.e. Standard, Premium). Known values are: "Standard", "Premium", and "StandardSSD".
diskUristringWhen backed by a blob, the URI of underlying blob.
hostCachingstringThe host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
leasedByLabVmIdstringThe resource ID of the VM to which this disk is leased.
locationstringThe location of the resource.
managedDiskIdstringWhen backed by managed disk, this is the ID of the compute disk resource.
provisioningStatestringThe provisioning status of the resource.
storageAccountIdstringWhen backed by a blob, the storage account where the blob is.
tagsobjectThe tags of the resource.
typestringThe type of the resource.
uniqueIdentifierstringThe unique immutable identifier of a resource (Guid).

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectresource_group_name, lab_name, user_name, name, subscription_id$expandGet disk.
listselectresource_group_name, lab_name, user_name, subscription_id$expand, $filter, $top, $orderbyList disks in a given user profile.
create_or_updateinsertresource_group_name, lab_name, user_name, name, subscription_idCreate or replace an existing disk. This operation can take a while to complete.
updateupdateresource_group_name, lab_name, user_name, name, subscription_idAllows modifying tags of disks. All other properties will be ignored.
create_or_updatereplaceresource_group_name, lab_name, user_name, name, subscription_idCreate or replace an existing disk. This operation can take a while to complete.
deletedeleteresource_group_name, lab_name, user_name, name, subscription_idDelete disk. This operation can take a while to complete.
attachexecresource_group_name, lab_name, user_name, name, subscription_idAttach and create the lease of the disk to the virtual machine. This operation can take a while to complete.
detachexecresource_group_name, lab_name, user_name, name, subscription_idDetach and break the lease of the disk attached to the 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.

NameDatatypeDescription
lab_namestringThe name of the lab. Required.
namestringThe name of the disk. Required.
resource_group_namestringThe name of the resource group. Required.
subscription_idstring
user_namestringThe name of the user profile. Required.
$expandstringSpecify the $expand query. Example: 'properties($select=diskType)'. Default value is None.
$filterstringThe filter to apply to the operation. Example: '$filter=contains(name,'myName'). Default value is None.
$orderbystringThe ordering expression for the results, using OData notation. Example: '$orderby=name desc'. Default value is None.
$topintegerThe maximum number of resources to return from the operation. Example: '$top=10'. Default value is None.

SELECT examples

Get disk.

SELECT
id,
name,
createdDate,
diskBlobName,
diskSizeGiB,
diskType,
diskUri,
hostCaching,
leasedByLabVmId,
location,
managedDiskId,
provisioningState,
storageAccountId,
tags,
type,
uniqueIdentifier
FROM azure.dev_test_labs.disks
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND lab_name = '{{ lab_name }}' -- required
AND user_name = '{{ user_name }}' -- required
AND name = '{{ name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
AND $expand = '{{ $expand }}'
;

INSERT examples

Create or replace an existing disk. This operation can take a while to complete.

INSERT INTO azure.dev_test_labs.disks (
location,
tags,
properties,
resource_group_name,
lab_name,
user_name,
name,
subscription_id
)
SELECT
'{{ location }}',
'{{ tags }}',
'{{ properties }}',
'{{ resource_group_name }}',
'{{ lab_name }}',
'{{ user_name }}',
'{{ name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
location,
properties,
tags,
type
;

UPDATE examples

Allows modifying tags of disks. All other properties will be ignored.

UPDATE azure.dev_test_labs.disks
SET
-- No updatable properties
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND lab_name = '{{ lab_name }}' --required
AND user_name = '{{ user_name }}' --required
AND name = '{{ name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
location,
properties,
tags,
type;

REPLACE examples

Create or replace an existing disk. This operation can take a while to complete.

REPLACE azure.dev_test_labs.disks
SET
location = '{{ location }}',
tags = '{{ tags }}',
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND lab_name = '{{ lab_name }}' --required
AND user_name = '{{ user_name }}' --required
AND name = '{{ name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
location,
properties,
tags,
type;

DELETE examples

Delete disk. This operation can take a while to complete.

DELETE FROM azure.dev_test_labs.disks
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND lab_name = '{{ lab_name }}' --required
AND user_name = '{{ user_name }}' --required
AND name = '{{ name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
;

Lifecycle Methods

Attach and create the lease of the disk to the virtual machine. This operation can take a while to complete.

EXEC azure.dev_test_labs.disks.attach 
@resource_group_name='{{ resource_group_name }}' --required,
@lab_name='{{ lab_name }}' --required,
@user_name='{{ user_name }}' --required,
@name='{{ name }}' --required,
@subscription_id='{{ subscription_id }}' --required
;