devices
Creates, updates, deletes, gets or lists a devices resource.
Overview
| Name | devices |
| Type | Resource |
| Id | azure_extras.sphere.devices |
Fields
The following fields are returned by SELECT queries:
- get
- list_by_device_group
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. # pylint: disable=line-too-long |
name | string | The name of the resource. |
chipSku | string | SKU of the chip. |
deviceId | string | Device ID. |
lastAvailableOsVersion | string | OS version available for installation when update requested. |
lastInstalledOsVersion | string | OS version running on device when update requested. |
lastOsUpdateUtc | string (date-time) | Time when update requested and new OS version available. |
lastUpdateRequestUtc | string (date-time) | Time when update was last requested. |
provisioningState | string | The status of the last operation. Known values are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. # pylint: disable=line-too-long |
name | string | The name of the resource. |
chipSku | string | SKU of the chip. |
deviceId | string | Device ID. |
lastAvailableOsVersion | string | OS version available for installation when update requested. |
lastInstalledOsVersion | string | OS version running on device when update requested. |
lastOsUpdateUtc | string (date-time) | Time when update requested and new OS version available. |
lastUpdateRequestUtc | string (date-time) | Time when update was last requested. |
provisioningState | string | The status of the last operation. Known values are: "Succeeded", "Failed", "Canceled", "Provisioning", "Updating", "Deleting", and "Accepted". |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | resource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_id | 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. | |
list_by_device_group | select | resource_group_name, catalog_name, product_name, device_group_name, subscription_id | List Device resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name. | |
create_or_update | insert | resource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_id | Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only. | |
update | update | resource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_id | Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level. | |
create_or_update | replace | resource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_id | Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only. | |
delete | delete | resource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_id | Delete a Device. | |
generate_capability_image | exec | resource_group_name, catalog_name, product_name, device_group_name, device_name, subscription_id, capabilities | 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. |
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 |
|---|---|---|
catalog_name | string | Name of catalog. Required. |
device_group_name | string | Name of device group. Required. |
device_name | string | Device name. Required. |
product_name | string | Name of product. Required. |
resource_group_name | string | The name of the resource group. The name is case insensitive. Required. |
subscription_id | string |
SELECT examples
- get
- list_by_device_group
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
;
List Device resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.
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 subscription_id = '{{ subscription_id }}' -- required
;
INSERT examples
- create_or_update
- Manifest
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
;
# Description fields are for documentation purposes
- name: devices
props:
- name: resource_group_name
value: "{{ resource_group_name }}"
description: Required parameter for the devices resource.
- name: catalog_name
value: "{{ catalog_name }}"
description: Required parameter for the devices resource.
- name: product_name
value: "{{ product_name }}"
description: Required parameter for the devices resource.
- name: device_group_name
value: "{{ device_group_name }}"
description: Required parameter for the devices resource.
- name: device_name
value: "{{ device_name }}"
description: Required parameter for the devices resource.
- name: subscription_id
value: "{{ subscription_id }}"
description: Required parameter for the devices resource.
- name: properties
description: |
The resource-specific properties for this resource.
value:
deviceId: "{{ deviceId }}"
chipSku: "{{ chipSku }}"
lastAvailableOsVersion: "{{ lastAvailableOsVersion }}"
lastInstalledOsVersion: "{{ lastInstalledOsVersion }}"
lastOsUpdateUtc: "{{ lastOsUpdateUtc }}"
lastUpdateRequestUtc: "{{ lastUpdateRequestUtc }}"
provisioningState: "{{ provisioningState }}"
UPDATE examples
- update
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_or_update
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
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
- generate_capability_image
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 }}"
}'
;