Share via


DeviceManagementClient.GetDeviceClassSubgroupDeploymentStatusAsync Method

Definition

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

public virtual System.Threading.Tasks.Task<Azure.Response> GetDeviceClassSubgroupDeploymentStatusAsync (string groupId, string deviceClassId, string deploymentId, Azure.RequestContext context = default);
abstract member GetDeviceClassSubgroupDeploymentStatusAsync : string * string * string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.GetDeviceClassSubgroupDeploymentStatusAsync : string * string * string * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function GetDeviceClassSubgroupDeploymentStatusAsync (groupId As String, deviceClassId As String, deploymentId As String, Optional context As RequestContext = Nothing) As Task(Of Response)

Parameters

groupId
String

Group identifier.

deviceClassId
String

Device class identifier.

deploymentId
String

Deployment identifier.

context
RequestContext

The request context, which can override default behaviors of the client pipeline on a per-call basis.

Returns

The response returned from the service. Details of the response body schema are in the Remarks section below.

Exceptions

groupId, deviceClassId or deploymentId is null.

groupId, deviceClassId or deploymentId is an empty string, and was expected to be non-empty.

Service returned a non-success status code.

Examples

This sample shows how to call GetDeviceClassSubgroupDeploymentStatusAsync with required parameters and parse the result.

var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);

Response response = await client.GetDeviceClassSubgroupDeploymentStatusAsync("<groupId>", "<deviceClassId>", "<deploymentId>");

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("groupId").ToString());
Console.WriteLine(result.GetProperty("deviceClassId").ToString());
Console.WriteLine(result.GetProperty("deploymentState").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("innererror").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("innererror").GetProperty("errorDetail").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("occurredDateTime").ToString());
Console.WriteLine(result.GetProperty("totalDevices").ToString());
Console.WriteLine(result.GetProperty("devicesInProgressCount").ToString());
Console.WriteLine(result.GetProperty("devicesCompletedFailedCount").ToString());
Console.WriteLine(result.GetProperty("devicesCompletedSucceededCount").ToString());
Console.WriteLine(result.GetProperty("devicesCanceledCount").ToString());

Remarks

Below is the JSON schema for the response payload.

Response Body:

Schema for DeviceClassSubgroupDeploymentStatus:

{
              groupId: string, # Required. The group identity
              deviceClassId: string, # Required. The device class subgroup identity
              deploymentState: "Active" | "Failed" | "Inactive" | "Canceled", # Required. The state of the subgroup deployment.
              error: {
                code: string, # Required. Server defined error code.
                message: string, # Required. A human-readable representation of the error.
                target: string, # Optional. The target of the error.
                details: [Error], # Optional. An array of errors that led to the reported error.
                innererror: {
                  code: string, # Required. A more specific error code than what was provided by the containing error.
                  message: string, # Optional. A human-readable representation of the error.
                  errorDetail: string, # Optional. The internal error or exception message.
                  innerError: InnerError, # Optional. An object containing more specific information than the current object about the error.
                }, # Optional. An object containing more specific information than the current object about the error.
                occurredDateTime: string (ISO 8601 Format), # Optional. Date and time in UTC when the error occurred.
              }, # Optional. The error details of the Failed state.  This is not present if the deployment state is not Failed.
              totalDevices: number, # Optional. The total number of devices in the deployment.
              devicesInProgressCount: number, # Optional. The number of devices that are currently in deployment.
              devicesCompletedFailedCount: number, # Optional. The number of devices that have completed deployment with a failure.
              devicesCompletedSucceededCount: number, # Optional. The number of devices which have successfully completed deployment.
              devicesCanceledCount: number, # Optional. The number of devices which have had their deployment canceled.
            }

Applies to