DeviceManagementClient.UpdateDeviceClassAsync Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Update device class details.
public virtual System.Threading.Tasks.Task<Azure.Response> UpdateDeviceClassAsync (string deviceClassId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member UpdateDeviceClassAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.UpdateDeviceClassAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function UpdateDeviceClassAsync (deviceClassId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)
Parameters
- deviceClassId
- String
Device class identifier.
- content
- RequestContent
The content to send as the body of the request. Details of the request body schema are in the Remarks section below.
- 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
deviceClassId
or content
is null.
deviceClassId
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 UpdateDeviceClassAsync with required parameters and request content and parse the result.
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);
var data = new {
friendlyName = "<friendlyName>",
};
Response response = await client.UpdateDeviceClassAsync("<deviceClassId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("deviceClassId").ToString());
Console.WriteLine(result.GetProperty("friendlyName").ToString());
Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("contractModel").GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("contractModel").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("compatProperties").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("friendlyName").ToString());
Remarks
Below is the JSON schema for the request and response payloads.
Request Body:
Schema for PatchBody
:
{
friendlyName: string, # Required. The device class friendly name. Friendly name can be 1-100 characters, alphanumeric, dot, and dash.
}
Response Body:
Schema for DeviceClass
:
{
deviceClassId: string, # Required. The device class identifier. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash.
friendlyName: string, # Optional. The device class friendly name. This can be updated by callers after the device class has been automatically created.
deviceClassProperties: {
contractModel: {
id: string, # Required. The Device Update agent contract model Id of the device class. This is also used to calculate the device class Id.
name: string, # Required. The Device Update agent contract model name of the device class. Intended to be a more readable form of the contract model Id.
}, # Optional. The Device Update agent contract model.
compatProperties: Dictionary<string, string>, # Required. The compat properties of the device class. This object can be thought of as a set of key-value pairs where the key is the name of the compatibility property and the value is the value of the compatibility property. There will always be at least 1 compat property
}, # Required. The device class properties that are used to calculate the device class Id
bestCompatibleUpdate: {
updateId: {
provider: string, # Required. Update provider.
name: string, # Required. Update name.
version: string, # Required. Update version.
}, # Required. Update identifier.
description: string, # Optional. Update description.
friendlyName: string, # Optional. Friendly update name.
}, # Optional. Update that is the highest version compatible with this device class.
}
Applies to
Azure SDK for .NET