Cloud IoT v1 API - Class DeviceManagerClientImpl (2.2.0)

public sealed class DeviceManagerClientImpl : DeviceManagerClient

Reference documentation and code samples for the Cloud IoT v1 API class DeviceManagerClientImpl.

DeviceManager client wrapper implementation, for convenient use.

Inheritance

object > DeviceManagerClient > DeviceManagerClientImpl

Namespace

Google.Cloud.Iot.V1

Assembly

Google.Cloud.Iot.V1.dll

Remarks

Internet of Things (IoT) service. Securely connect and manage IoT devices.

Constructors

DeviceManagerClientImpl(DeviceManagerClient, DeviceManagerSettings, ILogger)

public DeviceManagerClientImpl(DeviceManager.DeviceManagerClient grpcClient, DeviceManagerSettings settings, ILogger logger)

Constructs a client wrapper for the DeviceManager service, with the specified gRPC client and settings.

Parameters
Name Description
grpcClient DeviceManagerDeviceManagerClient

The underlying gRPC client.

settings DeviceManagerSettings

The base DeviceManagerSettings used within this client.

logger ILogger

Optional ILogger to use within this client.

Properties

GrpcClient

public override DeviceManager.DeviceManagerClient GrpcClient { get; }

The underlying gRPC DeviceManager client

Property Value
Type Description
DeviceManagerDeviceManagerClient
Overrides

Methods

BindDeviceToGateway(BindDeviceToGatewayRequest, CallSettings)

public override BindDeviceToGatewayResponse BindDeviceToGateway(BindDeviceToGatewayRequest request, CallSettings callSettings = null)

Associates the device with the gateway.

Parameters
Name Description
request BindDeviceToGatewayRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
BindDeviceToGatewayResponse

The RPC response.

Overrides

BindDeviceToGatewayAsync(BindDeviceToGatewayRequest, CallSettings)

public override Task<BindDeviceToGatewayResponse> BindDeviceToGatewayAsync(BindDeviceToGatewayRequest request, CallSettings callSettings = null)

Associates the device with the gateway.

Parameters
Name Description
request BindDeviceToGatewayRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskBindDeviceToGatewayResponse

A Task containing the RPC response.

Overrides

CreateDevice(CreateDeviceRequest, CallSettings)

public override Device CreateDevice(CreateDeviceRequest request, CallSettings callSettings = null)

Creates a device in a device registry.

Parameters
Name Description
request CreateDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Device

The RPC response.

Overrides

CreateDeviceAsync(CreateDeviceRequest, CallSettings)

public override Task<Device> CreateDeviceAsync(CreateDeviceRequest request, CallSettings callSettings = null)

Creates a device in a device registry.

Parameters
Name Description
request CreateDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskDevice

A Task containing the RPC response.

Overrides

CreateDeviceRegistry(CreateDeviceRegistryRequest, CallSettings)

public override DeviceRegistry CreateDeviceRegistry(CreateDeviceRegistryRequest request, CallSettings callSettings = null)

Creates a device registry that contains devices.

Parameters
Name Description
request CreateDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
DeviceRegistry

The RPC response.

Overrides

CreateDeviceRegistryAsync(CreateDeviceRegistryRequest, CallSettings)

public override Task<DeviceRegistry> CreateDeviceRegistryAsync(CreateDeviceRegistryRequest request, CallSettings callSettings = null)

Creates a device registry that contains devices.

Parameters
Name Description
request CreateDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskDeviceRegistry

A Task containing the RPC response.

Overrides

DeleteDevice(DeleteDeviceRequest, CallSettings)

public override void DeleteDevice(DeleteDeviceRequest request, CallSettings callSettings = null)

Deletes a device.

Parameters
Name Description
request DeleteDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Overrides

DeleteDeviceAsync(DeleteDeviceRequest, CallSettings)

public override Task DeleteDeviceAsync(DeleteDeviceRequest request, CallSettings callSettings = null)

Deletes a device.

Parameters
Name Description
request DeleteDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Task

A Task containing the RPC response.

Overrides

DeleteDeviceRegistry(DeleteDeviceRegistryRequest, CallSettings)

public override void DeleteDeviceRegistry(DeleteDeviceRegistryRequest request, CallSettings callSettings = null)

Deletes a device registry configuration.

Parameters
Name Description
request DeleteDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Overrides

DeleteDeviceRegistryAsync(DeleteDeviceRegistryRequest, CallSettings)

public override Task DeleteDeviceRegistryAsync(DeleteDeviceRegistryRequest request, CallSettings callSettings = null)

Deletes a device registry configuration.

Parameters
Name Description
request DeleteDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Task

A Task containing the RPC response.

Overrides

GetDevice(GetDeviceRequest, CallSettings)

public override Device GetDevice(GetDeviceRequest request, CallSettings callSettings = null)

Gets details about a device.

Parameters
Name Description
request GetDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Device

The RPC response.

Overrides

GetDeviceAsync(GetDeviceRequest, CallSettings)

public override Task<Device> GetDeviceAsync(GetDeviceRequest request, CallSettings callSettings = null)

Gets details about a device.

Parameters
Name Description
request GetDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskDevice

A Task containing the RPC response.

Overrides

GetDeviceRegistry(GetDeviceRegistryRequest, CallSettings)

public override DeviceRegistry GetDeviceRegistry(GetDeviceRegistryRequest request, CallSettings callSettings = null)

Gets a device registry configuration.

Parameters
Name Description
request GetDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
DeviceRegistry

The RPC response.

Overrides

GetDeviceRegistryAsync(GetDeviceRegistryRequest, CallSettings)

public override Task<DeviceRegistry> GetDeviceRegistryAsync(GetDeviceRegistryRequest request, CallSettings callSettings = null)

Gets a device registry configuration.

Parameters
Name Description
request GetDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskDeviceRegistry

A Task containing the RPC response.

Overrides

GetIamPolicy(GetIamPolicyRequest, CallSettings)

public override Policy GetIamPolicy(GetIamPolicyRequest request, CallSettings callSettings = null)

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

Parameters
Name Description
request GetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Policy

The RPC response.

Overrides

GetIamPolicyAsync(GetIamPolicyRequest, CallSettings)

public override Task<Policy> GetIamPolicyAsync(GetIamPolicyRequest request, CallSettings callSettings = null)

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

Parameters
Name Description
request GetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskPolicy

A Task containing the RPC response.

Overrides

ListDeviceConfigVersions(ListDeviceConfigVersionsRequest, CallSettings)

public override ListDeviceConfigVersionsResponse ListDeviceConfigVersions(ListDeviceConfigVersionsRequest request, CallSettings callSettings = null)

Lists the last few versions of the device configuration in descending order (i.e.: newest first).

Parameters
Name Description
request ListDeviceConfigVersionsRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
ListDeviceConfigVersionsResponse

The RPC response.

Overrides

ListDeviceConfigVersionsAsync(ListDeviceConfigVersionsRequest, CallSettings)

public override Task<ListDeviceConfigVersionsResponse> ListDeviceConfigVersionsAsync(ListDeviceConfigVersionsRequest request, CallSettings callSettings = null)

Lists the last few versions of the device configuration in descending order (i.e.: newest first).

Parameters
Name Description
request ListDeviceConfigVersionsRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskListDeviceConfigVersionsResponse

A Task containing the RPC response.

Overrides

ListDeviceRegistries(ListDeviceRegistriesRequest, CallSettings)

public override PagedEnumerable<ListDeviceRegistriesResponse, DeviceRegistry> ListDeviceRegistries(ListDeviceRegistriesRequest request, CallSettings callSettings = null)

Lists device registries.

Parameters
Name Description
request ListDeviceRegistriesRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
PagedEnumerableListDeviceRegistriesResponseDeviceRegistry

A pageable sequence of DeviceRegistry resources.

Overrides

ListDeviceRegistriesAsync(ListDeviceRegistriesRequest, CallSettings)

public override PagedAsyncEnumerable<ListDeviceRegistriesResponse, DeviceRegistry> ListDeviceRegistriesAsync(ListDeviceRegistriesRequest request, CallSettings callSettings = null)

Lists device registries.

Parameters
Name Description
request ListDeviceRegistriesRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
PagedAsyncEnumerableListDeviceRegistriesResponseDeviceRegistry

A pageable asynchronous sequence of DeviceRegistry resources.

Overrides

ListDevices(ListDevicesRequest, CallSettings)

public override PagedEnumerable<ListDevicesResponse, Device> ListDevices(ListDevicesRequest request, CallSettings callSettings = null)

List devices in a device registry.

Parameters
Name Description
request ListDevicesRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
PagedEnumerableListDevicesResponseDevice

A pageable sequence of Device resources.

Overrides

ListDevicesAsync(ListDevicesRequest, CallSettings)

public override PagedAsyncEnumerable<ListDevicesResponse, Device> ListDevicesAsync(ListDevicesRequest request, CallSettings callSettings = null)

List devices in a device registry.

Parameters
Name Description
request ListDevicesRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
PagedAsyncEnumerableListDevicesResponseDevice

A pageable asynchronous sequence of Device resources.

Overrides

ListDeviceStates(ListDeviceStatesRequest, CallSettings)

public override ListDeviceStatesResponse ListDeviceStates(ListDeviceStatesRequest request, CallSettings callSettings = null)

Lists the last few versions of the device state in descending order (i.e.: newest first).

Parameters
Name Description
request ListDeviceStatesRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
ListDeviceStatesResponse

The RPC response.

Overrides

ListDeviceStatesAsync(ListDeviceStatesRequest, CallSettings)

public override Task<ListDeviceStatesResponse> ListDeviceStatesAsync(ListDeviceStatesRequest request, CallSettings callSettings = null)

Lists the last few versions of the device state in descending order (i.e.: newest first).

Parameters
Name Description
request ListDeviceStatesRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskListDeviceStatesResponse

A Task containing the RPC response.

Overrides

ModifyCloudToDeviceConfig(ModifyCloudToDeviceConfigRequest, CallSettings)

public override DeviceConfig ModifyCloudToDeviceConfig(ModifyCloudToDeviceConfigRequest request, CallSettings callSettings = null)

Modifies the configuration for the device, which is eventually sent from the Cloud IoT Core servers. Returns the modified configuration version and its metadata.

Parameters
Name Description
request ModifyCloudToDeviceConfigRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
DeviceConfig

The RPC response.

Overrides

ModifyCloudToDeviceConfigAsync(ModifyCloudToDeviceConfigRequest, CallSettings)

public override Task<DeviceConfig> ModifyCloudToDeviceConfigAsync(ModifyCloudToDeviceConfigRequest request, CallSettings callSettings = null)

Modifies the configuration for the device, which is eventually sent from the Cloud IoT Core servers. Returns the modified configuration version and its metadata.

Parameters
Name Description
request ModifyCloudToDeviceConfigRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskDeviceConfig

A Task containing the RPC response.

Overrides

SendCommandToDevice(SendCommandToDeviceRequest, CallSettings)

public override SendCommandToDeviceResponse SendCommandToDevice(SendCommandToDeviceRequest request, CallSettings callSettings = null)

Sends a command to the specified device. In order for a device to be able to receive commands, it must: 1) be connected to Cloud IoT Core using the MQTT protocol, and 2) be subscribed to the group of MQTT topics specified by /devices/{device-id}/commands/#. This subscription will receive commands at the top-level topic /devices/{device-id}/commands as well as commands for subfolders, like /devices/{device-id}/commands/subfolder. Note that subscribing to specific subfolders is not supported. If the command could not be delivered to the device, this method will return an error; in particular, if the device is not subscribed, this method will return FAILED_PRECONDITION. Otherwise, this method will return OK. If the subscription is QoS 1, at least once delivery will be guaranteed; for QoS 0, no acknowledgment will be expected from the device.

Parameters
Name Description
request SendCommandToDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
SendCommandToDeviceResponse

The RPC response.

Overrides

SendCommandToDeviceAsync(SendCommandToDeviceRequest, CallSettings)

public override Task<SendCommandToDeviceResponse> SendCommandToDeviceAsync(SendCommandToDeviceRequest request, CallSettings callSettings = null)

Sends a command to the specified device. In order for a device to be able to receive commands, it must: 1) be connected to Cloud IoT Core using the MQTT protocol, and 2) be subscribed to the group of MQTT topics specified by /devices/{device-id}/commands/#. This subscription will receive commands at the top-level topic /devices/{device-id}/commands as well as commands for subfolders, like /devices/{device-id}/commands/subfolder. Note that subscribing to specific subfolders is not supported. If the command could not be delivered to the device, this method will return an error; in particular, if the device is not subscribed, this method will return FAILED_PRECONDITION. Otherwise, this method will return OK. If the subscription is QoS 1, at least once delivery will be guaranteed; for QoS 0, no acknowledgment will be expected from the device.

Parameters
Name Description
request SendCommandToDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskSendCommandToDeviceResponse

A Task containing the RPC response.

Overrides

SetIamPolicy(SetIamPolicyRequest, CallSettings)

public override Policy SetIamPolicy(SetIamPolicyRequest request, CallSettings callSettings = null)

Sets the access control policy on the specified resource. Replaces any existing policy.

Parameters
Name Description
request SetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Policy

The RPC response.

Overrides

SetIamPolicyAsync(SetIamPolicyRequest, CallSettings)

public override Task<Policy> SetIamPolicyAsync(SetIamPolicyRequest request, CallSettings callSettings = null)

Sets the access control policy on the specified resource. Replaces any existing policy.

Parameters
Name Description
request SetIamPolicyRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskPolicy

A Task containing the RPC response.

Overrides

TestIamPermissions(TestIamPermissionsRequest, CallSettings)

public override TestIamPermissionsResponse TestIamPermissions(TestIamPermissionsRequest request, CallSettings callSettings = null)

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.

Parameters
Name Description
request TestIamPermissionsRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TestIamPermissionsResponse

The RPC response.

Overrides

TestIamPermissionsAsync(TestIamPermissionsRequest, CallSettings)

public override Task<TestIamPermissionsResponse> TestIamPermissionsAsync(TestIamPermissionsRequest request, CallSettings callSettings = null)

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.

Parameters
Name Description
request TestIamPermissionsRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskTestIamPermissionsResponse

A Task containing the RPC response.

Overrides

UnbindDeviceFromGateway(UnbindDeviceFromGatewayRequest, CallSettings)

public override UnbindDeviceFromGatewayResponse UnbindDeviceFromGateway(UnbindDeviceFromGatewayRequest request, CallSettings callSettings = null)

Deletes the association between the device and the gateway.

Parameters
Name Description
request UnbindDeviceFromGatewayRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
UnbindDeviceFromGatewayResponse

The RPC response.

Overrides

UnbindDeviceFromGatewayAsync(UnbindDeviceFromGatewayRequest, CallSettings)

public override Task<UnbindDeviceFromGatewayResponse> UnbindDeviceFromGatewayAsync(UnbindDeviceFromGatewayRequest request, CallSettings callSettings = null)

Deletes the association between the device and the gateway.

Parameters
Name Description
request UnbindDeviceFromGatewayRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskUnbindDeviceFromGatewayResponse

A Task containing the RPC response.

Overrides

UpdateDevice(UpdateDeviceRequest, CallSettings)

public override Device UpdateDevice(UpdateDeviceRequest request, CallSettings callSettings = null)

Updates a device.

Parameters
Name Description
request UpdateDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Device

The RPC response.

Overrides

UpdateDeviceAsync(UpdateDeviceRequest, CallSettings)

public override Task<Device> UpdateDeviceAsync(UpdateDeviceRequest request, CallSettings callSettings = null)

Updates a device.

Parameters
Name Description
request UpdateDeviceRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskDevice

A Task containing the RPC response.

Overrides

UpdateDeviceRegistry(UpdateDeviceRegistryRequest, CallSettings)

public override DeviceRegistry UpdateDeviceRegistry(UpdateDeviceRegistryRequest request, CallSettings callSettings = null)

Updates a device registry configuration.

Parameters
Name Description
request UpdateDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
DeviceRegistry

The RPC response.

Overrides

UpdateDeviceRegistryAsync(UpdateDeviceRegistryRequest, CallSettings)

public override Task<DeviceRegistry> UpdateDeviceRegistryAsync(UpdateDeviceRegistryRequest request, CallSettings callSettings = null)

Updates a device registry configuration.

Parameters
Name Description
request UpdateDeviceRegistryRequest

The request object containing all of the parameters for the API call.

callSettings CallSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
TaskDeviceRegistry

A Task containing the RPC response.

Overrides