DeviceManagementOperations interface

Interface representing a DeviceManagement operations.

Properties

createOrUpdateDeployment

Creates or updates a deployment.

deleteDeployment

Deletes a deployment.

deleteDeploymentForDeviceClassSubgroup

Deletes a device class subgroup deployment.

deleteDeviceClass

Deletes a device class. Device classes are created automatically when Device Update-enabled devices are connected to the hub but are not automatically cleaned up since they are referenced by DeviceClassSubgroups. If the user has deleted all DeviceClassSubgroups for a device class they can also delete the device class to remove the records from the system and to stop checking the compatibility of this device class with new updates. If a device is ever reconnected for this device class it will be re-created.

deleteDeviceClassSubgroup

Deletes a device class subgroup. This subgroup is automatically created when a Device Update-enabled device is connected to the hub and reports its properties. Groups, subgroups, and deployments are not automatically cleaned up but are retained for history purposes. Users can call this method to delete a subgroup if they do not need to retain any of the history of the subgroup and no longer need it. If a device is ever connected again for this subgroup after the subgroup was deleted it will be automatically re-created but there will be no history.

deleteGroup

Deletes a device group. This group is automatically created when a Device Update-enabled device is connected to the hub and reports its properties. Groups, subgroups, and deployments are not automatically cleaned up but are retained for history purposes. Users can call this method to delete a group if they do not need to retain any of the history of the group and no longer need it. If a device is ever connected again for this group after the group was deleted it will be automatically re-created but there will be no history.

getBestUpdatesForDeviceClassSubgroup

Get the best available update for a device class subgroup and a count of how many devices need this update.

getDeployment

Gets the deployment properties.

getDeploymentForDeviceClassSubgroup

Gets the deployment properties.

getDeploymentStatus

Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed.

getDevice

Gets the device properties and latest deployment status for a device connected to Device Update for IoT Hub.

getDeviceClass

Gets the properties of a device class.

getDeviceClassSubgroup

Gets device class subgroup details. A device class subgroup is the set of devices within the group that share the same device class. All devices within the same device class are compatible with the same updates.

getDeviceClassSubgroupDeploymentStatus

Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed.

getDeviceClassSubgroupUpdateCompliance

Get device class subgroup update compliance information such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update.

getDeviceModule

Gets the device module properties and latest deployment status for a device module connected to Device Update for IoT Hub.

getGroup

Gets the device group properties.

getLogCollection

Get the device diagnostics log collection

getLogCollectionDetailedStatus

Get log collection with detailed status

getOperationStatus

Retrieve operation status.

getUpdateCompliance

Gets the breakdown of how many devices are on their latest update, have new updates available, or are in progress receiving new updates.

getUpdateComplianceForGroup

Get device group update compliance information such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update.

importDevices

Import existing devices from IoT Hub. This is a long-running-operation; use Operation-Location response header value to check for operation status.

listBestUpdatesForGroup

Get the best available updates for a device group and a count of how many devices need each update.

listDeploymentsForDeviceClassSubgroup

Gets a list of deployments for a device class subgroup.

listDeploymentsForGroup

Gets a list of deployments for a device group.

listDeviceClasses

Gets a list of all device classes (sets of devices compatible with the same updates based on the model Id and compat properties reported in the Device Update PnP interface in IoT Hub) for all devices connected to Device Update for IoT Hub.

listDeviceClassSubgroupsForGroup

Get the device class subgroups for the group. A device class subgroup is the set of devices within the group that share the same device class. All devices within the same device class are compatible with the same updates.

listDevices

Gets a list of devices connected to Device Update for IoT Hub.

listDeviceStatesForDeviceClassSubgroupDeployment

Gets a list of devices in a deployment along with their state. Useful for getting a list of failed devices.

listGroups

Gets a list of all device groups. The $default group will always be returned first.

listHealthOfDevices

Get list of device health

listInstallableUpdatesForDeviceClass

Gets a list of installable updates for a device class.

listLogCollections

Get all device diagnostics log collections

listOperationStatuses

Get a list of all device import operations. Completed operations are kept for 7 days before auto-deleted.

retryDeployment

Retries a deployment with failed devices.

startLogCollection

Start the device diagnostics log collection on specified devices.

stopDeployment

Stops a deployment.

updateDeviceClass

Update device class details.

Property Details

createOrUpdateDeployment

Creates or updates a deployment.

createOrUpdateDeployment: (groupId: string, deploymentId: string, deployment: Deployment, options?: DeviceManagementCreateOrUpdateDeploymentOptionalParams) => Promise<Deployment>

Property Value

(groupId: string, deploymentId: string, deployment: Deployment, options?: DeviceManagementCreateOrUpdateDeploymentOptionalParams) => Promise<Deployment>

deleteDeployment

Deletes a deployment.

deleteDeployment: (groupId: string, deploymentId: string, options?: DeviceManagementDeleteDeploymentOptionalParams) => Promise<void>

Property Value

(groupId: string, deploymentId: string, options?: DeviceManagementDeleteDeploymentOptionalParams) => Promise<void>

deleteDeploymentForDeviceClassSubgroup

Deletes a device class subgroup deployment.

deleteDeploymentForDeviceClassSubgroup: (groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementDeleteDeploymentForDeviceClassSubgroupOptionalParams) => Promise<void>

Property Value

(groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementDeleteDeploymentForDeviceClassSubgroupOptionalParams) => Promise<void>

deleteDeviceClass

Deletes a device class. Device classes are created automatically when Device Update-enabled devices are connected to the hub but are not automatically cleaned up since they are referenced by DeviceClassSubgroups. If the user has deleted all DeviceClassSubgroups for a device class they can also delete the device class to remove the records from the system and to stop checking the compatibility of this device class with new updates. If a device is ever reconnected for this device class it will be re-created.

deleteDeviceClass: (deviceClassId: string, options?: DeviceManagementDeleteDeviceClassOptionalParams) => Promise<void>

Property Value

(deviceClassId: string, options?: DeviceManagementDeleteDeviceClassOptionalParams) => Promise<void>

deleteDeviceClassSubgroup

Deletes a device class subgroup. This subgroup is automatically created when a Device Update-enabled device is connected to the hub and reports its properties. Groups, subgroups, and deployments are not automatically cleaned up but are retained for history purposes. Users can call this method to delete a subgroup if they do not need to retain any of the history of the subgroup and no longer need it. If a device is ever connected again for this subgroup after the subgroup was deleted it will be automatically re-created but there will be no history.

deleteDeviceClassSubgroup: (groupId: string, deviceClassId: string, options?: DeviceManagementDeleteDeviceClassSubgroupOptionalParams) => Promise<void>

Property Value

(groupId: string, deviceClassId: string, options?: DeviceManagementDeleteDeviceClassSubgroupOptionalParams) => Promise<void>

deleteGroup

Deletes a device group. This group is automatically created when a Device Update-enabled device is connected to the hub and reports its properties. Groups, subgroups, and deployments are not automatically cleaned up but are retained for history purposes. Users can call this method to delete a group if they do not need to retain any of the history of the group and no longer need it. If a device is ever connected again for this group after the group was deleted it will be automatically re-created but there will be no history.

deleteGroup: (groupId: string, options?: DeviceManagementDeleteGroupOptionalParams) => Promise<void>

Property Value

(groupId: string, options?: DeviceManagementDeleteGroupOptionalParams) => Promise<void>

getBestUpdatesForDeviceClassSubgroup

Get the best available update for a device class subgroup and a count of how many devices need this update.

getBestUpdatesForDeviceClassSubgroup: (groupId: string, deviceClassId: string, options?: DeviceManagementGetBestUpdatesForDeviceClassSubgroupOptionalParams) => Promise<DeviceClassSubgroupUpdatableDevices>

Property Value

(groupId: string, deviceClassId: string, options?: DeviceManagementGetBestUpdatesForDeviceClassSubgroupOptionalParams) => Promise<DeviceClassSubgroupUpdatableDevices>

getDeployment

Gets the deployment properties.

getDeployment: (groupId: string, deploymentId: string, options?: DeviceManagementGetDeploymentOptionalParams) => Promise<Deployment>

Property Value

(groupId: string, deploymentId: string, options?: DeviceManagementGetDeploymentOptionalParams) => Promise<Deployment>

getDeploymentForDeviceClassSubgroup

Gets the deployment properties.

getDeploymentForDeviceClassSubgroup: (groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementGetDeploymentForDeviceClassSubgroupOptionalParams) => Promise<Deployment>

Property Value

(groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementGetDeploymentForDeviceClassSubgroupOptionalParams) => Promise<Deployment>

getDeploymentStatus

Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed.

getDeploymentStatus: (groupId: string, deploymentId: string, options?: DeviceManagementGetDeploymentStatusOptionalParams) => Promise<DeploymentStatus>

Property Value

(groupId: string, deploymentId: string, options?: DeviceManagementGetDeploymentStatusOptionalParams) => Promise<DeploymentStatus>

getDevice

Gets the device properties and latest deployment status for a device connected to Device Update for IoT Hub.

getDevice: (deviceId: string, options?: DeviceManagementGetDeviceOptionalParams) => Promise<Device>

Property Value

(deviceId: string, options?: DeviceManagementGetDeviceOptionalParams) => Promise<Device>

getDeviceClass

Gets the properties of a device class.

getDeviceClass: (deviceClassId: string, options?: DeviceManagementGetDeviceClassOptionalParams) => Promise<DeviceClass>

Property Value

(deviceClassId: string, options?: DeviceManagementGetDeviceClassOptionalParams) => Promise<DeviceClass>

getDeviceClassSubgroup

Gets device class subgroup details. A device class subgroup is the set of devices within the group that share the same device class. All devices within the same device class are compatible with the same updates.

getDeviceClassSubgroup: (groupId: string, deviceClassId: string, options?: DeviceManagementGetDeviceClassSubgroupOptionalParams) => Promise<DeviceClassSubgroup>

Property Value

(groupId: string, deviceClassId: string, options?: DeviceManagementGetDeviceClassSubgroupOptionalParams) => Promise<DeviceClassSubgroup>

getDeviceClassSubgroupDeploymentStatus

Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed.

getDeviceClassSubgroupDeploymentStatus: (groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementGetDeviceClassSubgroupDeploymentStatusOptionalParams) => Promise<DeviceClassSubgroupDeploymentStatus>

Property Value

(groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementGetDeviceClassSubgroupDeploymentStatusOptionalParams) => Promise<DeviceClassSubgroupDeploymentStatus>

getDeviceClassSubgroupUpdateCompliance

Get device class subgroup update compliance information such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update.

getDeviceClassSubgroupUpdateCompliance: (groupId: string, deviceClassId: string, options?: DeviceManagementGetDeviceClassSubgroupUpdateComplianceOptionalParams) => Promise<UpdateCompliance>

Property Value

(groupId: string, deviceClassId: string, options?: DeviceManagementGetDeviceClassSubgroupUpdateComplianceOptionalParams) => Promise<UpdateCompliance>

getDeviceModule

Gets the device module properties and latest deployment status for a device module connected to Device Update for IoT Hub.

getDeviceModule: (deviceId: string, moduleId: string, options?: DeviceManagementGetDeviceModuleOptionalParams) => Promise<Device>

Property Value

(deviceId: string, moduleId: string, options?: DeviceManagementGetDeviceModuleOptionalParams) => Promise<Device>

getGroup

Gets the device group properties.

getGroup: (groupId: string, options?: DeviceManagementGetGroupOptionalParams) => Promise<Group>

Property Value

(groupId: string, options?: DeviceManagementGetGroupOptionalParams) => Promise<Group>

getLogCollection

Get the device diagnostics log collection

getLogCollection: (logCollectionId: string, options?: DeviceManagementGetLogCollectionOptionalParams) => Promise<LogCollection>

Property Value

(logCollectionId: string, options?: DeviceManagementGetLogCollectionOptionalParams) => Promise<LogCollection>

getLogCollectionDetailedStatus

Get log collection with detailed status

getLogCollectionDetailedStatus: (logCollectionId: string, options?: DeviceManagementGetLogCollectionDetailedStatusOptionalParams) => Promise<LogCollectionOperationDetailedStatus>

Property Value

(logCollectionId: string, options?: DeviceManagementGetLogCollectionDetailedStatusOptionalParams) => Promise<LogCollectionOperationDetailedStatus>

getOperationStatus

Retrieve operation status.

getOperationStatus: (operationId: string, options?: DeviceManagementGetOperationStatusOptionalParams) => Promise<DeviceOperation>

Property Value

(operationId: string, options?: DeviceManagementGetOperationStatusOptionalParams) => Promise<DeviceOperation>

getUpdateCompliance

Gets the breakdown of how many devices are on their latest update, have new updates available, or are in progress receiving new updates.

getUpdateCompliance: (options?: DeviceManagementGetUpdateComplianceOptionalParams) => Promise<UpdateCompliance>

Property Value

(options?: DeviceManagementGetUpdateComplianceOptionalParams) => Promise<UpdateCompliance>

getUpdateComplianceForGroup

Get device group update compliance information such as how many devices are on their latest update, how many need new updates, and how many are in progress on receiving a new update.

getUpdateComplianceForGroup: (groupId: string, options?: DeviceManagementGetUpdateComplianceForGroupOptionalParams) => Promise<UpdateCompliance>

Property Value

(groupId: string, options?: DeviceManagementGetUpdateComplianceForGroupOptionalParams) => Promise<UpdateCompliance>

importDevices

Import existing devices from IoT Hub. This is a long-running-operation; use Operation-Location response header value to check for operation status.

importDevices: (importType: ImportType, options?: DeviceManagementImportDevicesOptionalParams) => PollerLike<OperationState<void>, void>

Property Value

(importType: ImportType, options?: DeviceManagementImportDevicesOptionalParams) => PollerLike<OperationState<void>, void>

listBestUpdatesForGroup

Get the best available updates for a device group and a count of how many devices need each update.

listBestUpdatesForGroup: (groupId: string, options?: DeviceManagementListBestUpdatesForGroupOptionalParams) => PagedAsyncIterableIterator<DeviceClassSubgroupUpdatableDevices, DeviceClassSubgroupUpdatableDevices[], PageSettings>

Property Value

(groupId: string, options?: DeviceManagementListBestUpdatesForGroupOptionalParams) => PagedAsyncIterableIterator<DeviceClassSubgroupUpdatableDevices, DeviceClassSubgroupUpdatableDevices[], PageSettings>

listDeploymentsForDeviceClassSubgroup

Gets a list of deployments for a device class subgroup.

listDeploymentsForDeviceClassSubgroup: (groupId: string, deviceClassId: string, options?: DeviceManagementListDeploymentsForDeviceClassSubgroupOptionalParams) => PagedAsyncIterableIterator<Deployment, Deployment[], PageSettings>

Property Value

(groupId: string, deviceClassId: string, options?: DeviceManagementListDeploymentsForDeviceClassSubgroupOptionalParams) => PagedAsyncIterableIterator<Deployment, Deployment[], PageSettings>

listDeploymentsForGroup

Gets a list of deployments for a device group.

listDeploymentsForGroup: (groupId: string, options?: DeviceManagementListDeploymentsForGroupOptionalParams) => PagedAsyncIterableIterator<Deployment, Deployment[], PageSettings>

Property Value

(groupId: string, options?: DeviceManagementListDeploymentsForGroupOptionalParams) => PagedAsyncIterableIterator<Deployment, Deployment[], PageSettings>

listDeviceClasses

Gets a list of all device classes (sets of devices compatible with the same updates based on the model Id and compat properties reported in the Device Update PnP interface in IoT Hub) for all devices connected to Device Update for IoT Hub.

listDeviceClasses: (options?: DeviceManagementListDeviceClassesOptionalParams) => PagedAsyncIterableIterator<DeviceClass, DeviceClass[], PageSettings>

Property Value

(options?: DeviceManagementListDeviceClassesOptionalParams) => PagedAsyncIterableIterator<DeviceClass, DeviceClass[], PageSettings>

listDeviceClassSubgroupsForGroup

Get the device class subgroups for the group. A device class subgroup is the set of devices within the group that share the same device class. All devices within the same device class are compatible with the same updates.

listDeviceClassSubgroupsForGroup: (groupId: string, options?: DeviceManagementListDeviceClassSubgroupsForGroupOptionalParams) => PagedAsyncIterableIterator<DeviceClassSubgroup, DeviceClassSubgroup[], PageSettings>

Property Value

(groupId: string, options?: DeviceManagementListDeviceClassSubgroupsForGroupOptionalParams) => PagedAsyncIterableIterator<DeviceClassSubgroup, DeviceClassSubgroup[], PageSettings>

listDevices

Gets a list of devices connected to Device Update for IoT Hub.

listDevices: (options?: DeviceManagementListDevicesOptionalParams) => PagedAsyncIterableIterator<Device, Device[], PageSettings>

Property Value

(options?: DeviceManagementListDevicesOptionalParams) => PagedAsyncIterableIterator<Device, Device[], PageSettings>

listDeviceStatesForDeviceClassSubgroupDeployment

Gets a list of devices in a deployment along with their state. Useful for getting a list of failed devices.

listDeviceStatesForDeviceClassSubgroupDeployment: (groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementListDeviceStatesForDeviceClassSubgroupDeploymentOptionalParams) => PagedAsyncIterableIterator<DeploymentDeviceState, DeploymentDeviceState[], PageSettings>

Property Value

(groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementListDeviceStatesForDeviceClassSubgroupDeploymentOptionalParams) => PagedAsyncIterableIterator<DeploymentDeviceState, DeploymentDeviceState[], PageSettings>

listGroups

Gets a list of all device groups. The $default group will always be returned first.

listGroups: (options?: DeviceManagementListGroupsOptionalParams) => PagedAsyncIterableIterator<Group, Group[], PageSettings>

Property Value

(options?: DeviceManagementListGroupsOptionalParams) => PagedAsyncIterableIterator<Group, Group[], PageSettings>

listHealthOfDevices

Get list of device health

listHealthOfDevices: (filter: string, options?: DeviceManagementListHealthOfDevicesOptionalParams) => PagedAsyncIterableIterator<DeviceHealth, DeviceHealth[], PageSettings>

Property Value

(filter: string, options?: DeviceManagementListHealthOfDevicesOptionalParams) => PagedAsyncIterableIterator<DeviceHealth, DeviceHealth[], PageSettings>

listInstallableUpdatesForDeviceClass

Gets a list of installable updates for a device class.

listInstallableUpdatesForDeviceClass: (deviceClassId: string, options?: DeviceManagementListInstallableUpdatesForDeviceClassOptionalParams) => PagedAsyncIterableIterator<UpdateInfo, UpdateInfo[], PageSettings>

Property Value

(deviceClassId: string, options?: DeviceManagementListInstallableUpdatesForDeviceClassOptionalParams) => PagedAsyncIterableIterator<UpdateInfo, UpdateInfo[], PageSettings>

listLogCollections

Get all device diagnostics log collections

listLogCollections: (options?: DeviceManagementListLogCollectionsOptionalParams) => PagedAsyncIterableIterator<LogCollection, LogCollection[], PageSettings>

Property Value

(options?: DeviceManagementListLogCollectionsOptionalParams) => PagedAsyncIterableIterator<LogCollection, LogCollection[], PageSettings>

listOperationStatuses

Get a list of all device import operations. Completed operations are kept for 7 days before auto-deleted.

listOperationStatuses: (options?: DeviceManagementListOperationStatusesOptionalParams) => PagedAsyncIterableIterator<DeviceOperation, DeviceOperation[], PageSettings>

Property Value

(options?: DeviceManagementListOperationStatusesOptionalParams) => PagedAsyncIterableIterator<DeviceOperation, DeviceOperation[], PageSettings>

retryDeployment

Retries a deployment with failed devices.

retryDeployment: (groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementRetryDeploymentOptionalParams) => Promise<Deployment>

Property Value

(groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementRetryDeploymentOptionalParams) => Promise<Deployment>

startLogCollection

Start the device diagnostics log collection on specified devices.

startLogCollection: (logCollectionId: string, logCollection: LogCollection, options?: DeviceManagementStartLogCollectionOptionalParams) => Promise<LogCollection>

Property Value

(logCollectionId: string, logCollection: LogCollection, options?: DeviceManagementStartLogCollectionOptionalParams) => Promise<LogCollection>

stopDeployment

Stops a deployment.

stopDeployment: (groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementStopDeploymentOptionalParams) => Promise<Deployment>

Property Value

(groupId: string, deviceClassId: string, deploymentId: string, options?: DeviceManagementStopDeploymentOptionalParams) => Promise<Deployment>

updateDeviceClass

Update device class details.

updateDeviceClass: (deviceClassId: string, deviceClassPatch: PatchBody, options?: DeviceManagementUpdateDeviceClassOptionalParams) => Promise<DeviceClass>

Property Value

(deviceClassId: string, deviceClassPatch: PatchBody, options?: DeviceManagementUpdateDeviceClassOptionalParams) => Promise<DeviceClass>