Skip to main content

devices

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

Overview

Namedevices
TypeResource
Idazure_extras.sphere.devices

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}. # pylint: disable=line-too-long
namestringThe name of the resource.
chipSkustringSKU of the chip.
deviceIdstringDevice ID.
lastAvailableOsVersionstringOS version available for installation when update requested.
lastInstalledOsVersionstringOS version running on device when update requested.
lastOsUpdateUtcstring (date-time)Time when update requested and new OS version available.
lastUpdateRequestUtcstring (date-time)Time when update was last requested.
provisioningStatestringThe status of the last operation. Known values are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted".
systemDataobjectAzure Resource Manager metadata containing createdBy and modifiedBy information.
typestringThe type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectresource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_idGet a Device. Use '.unassigned' or '.default' for the device group and product names when a device does not belong to a device group and product.
list_by_device_groupselectresource_group_name, catalog_name, product_name, device_group_name, subscription_idList Device resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.
create_or_updateinsertresource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_idCreate a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.
updateupdateresource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_idUpdate a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level.
create_or_updatereplaceresource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_idCreate a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.
deletedeleteresource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_idDelete a Device.
generate_capability_imageexecresource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_id, capabilitiesGenerates the capability image for the device. Use '.unassigned' or '.default' for the device group and product names to generate the image for a device that does not belong to a specific device group and product.

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
catalog_namestringName of catalog. Required.
device_group_namestringName of device group. Required.
device_namestringDevice name. Required.
product_namestringName of product. Required.
resource_group_namestringThe name of the resource group. The name is case insensitive. Required.
subscription_idstring

SELECT examples

Get a Device. Use '.unassigned' or '.default' for the device group and product names when a device does not belong to a device group and product.

SELECT
id,
name,
chipSku,
deviceId,
lastAvailableOsVersion,
lastInstalledOsVersion,
lastOsUpdateUtc,
lastUpdateRequestUtc,
provisioningState,
systemData,
type
FROM azure_extras.sphere.devices
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND catalog_name = '{{ catalog_name }}' -- required
AND product_name = '{{ product_name }}' -- required
AND device_group_name = '{{ device_group_name }}' -- required
AND device_name = '{{ device_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;

INSERT examples

Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.

INSERT INTO azure_extras.sphere.devices (
properties,
resource_group_name,
catalog_name,
product_name,
device_group_name,
device_name,
subscription_id
)
SELECT
'{{ properties }}',
'{{ resource_group_name }}',
'{{ catalog_name }}',
'{{ product_name }}',
'{{ device_group_name }}',
'{{ device_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
properties,
systemData,
type
;

UPDATE examples

Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level.

UPDATE azure_extras.sphere.devices
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND catalog_name = '{{ catalog_name }}' --required
AND product_name = '{{ product_name }}' --required
AND device_group_name = '{{ device_group_name }}' --required
AND device_name = '{{ device_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
properties,
systemData,
type;

REPLACE examples

Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.

REPLACE azure_extras.sphere.devices
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND catalog_name = '{{ catalog_name }}' --required
AND product_name = '{{ product_name }}' --required
AND device_group_name = '{{ device_group_name }}' --required
AND device_name = '{{ device_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
properties,
systemData,
type;

DELETE examples

Delete a Device.

DELETE FROM azure_extras.sphere.devices
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND catalog_name = '{{ catalog_name }}' --required
AND product_name = '{{ product_name }}' --required
AND device_group_name = '{{ device_group_name }}' --required
AND device_name = '{{ device_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
;

Lifecycle Methods

Generates the capability image for the device. Use '.unassigned' or '.default' for the device group and product names to generate the image for a device that does not belong to a specific device group and product.

EXEC azure_extras.sphere.devices.generate_capability_image 
@resource_group_name='{{ resource_group_name }}' --required,
@catalog_name='{{ catalog_name }}' --required,
@product_name='{{ product_name }}' --required,
@device_group_name='{{ device_group_name }}' --required,
@device_name='{{ device_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"capabilities": "{{ capabilities }}"
}'
;