Class Device
The device resource.
Inheritance
Implements
Inherited Members
Namespace: Google.Apis.CloudIot.v1.Data
Assembly: Google.Apis.CloudIot.v1.dll
Syntax
public class Device : IDirectResponseSchema
Properties
Blocked
If a device is blocked, connections or requests from this device will fail. Can be used to temporarily prevent the device from connecting if, for example, the sensor is generating bad data and needs maintenance.
Declaration
[JsonProperty("blocked")]
public virtual bool? Blocked { get; set; }
Property Value
Type | Description |
---|---|
bool? |
Config
The most recent device configuration, which is eventually sent from Cloud IoT Core to the device. If not
present on creation, the configuration will be initialized with an empty payload and version value of 1
.
To update this field after creation, use the DeviceManager.ModifyCloudToDeviceConfig
method.
Declaration
[JsonProperty("config")]
public virtual DeviceConfig Config { get; set; }
Property Value
Type | Description |
---|---|
DeviceConfig |
Credentials
The credentials used to authenticate this device. To allow credential rotation without interruption,
multiple device credentials can be bound to this device. No more than 3 credentials can be bound to a single
device at a time. When new credentials are added to a device, they are verified against the registry
credentials. For details, see the description of the DeviceRegistry.credentials
field.
Declaration
[JsonProperty("credentials")]
public virtual IList<DeviceCredential> Credentials { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IList<T><DeviceCredential> |
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
Type | Description |
---|---|
string |
GatewayConfig
Gateway-related configuration and state.
Declaration
[JsonProperty("gatewayConfig")]
public virtual GatewayConfig GatewayConfig { get; set; }
Property Value
Type | Description |
---|---|
GatewayConfig |
Id
The user-defined device identifier. The device ID must be unique within a device registry.
Declaration
[JsonProperty("id")]
public virtual string Id { get; set; }
Property Value
Type | Description |
---|---|
string |
LastConfigAckTime
[Output only] The last time a cloud-to-device config version acknowledgment was received from the device. This field is only for configurations sent through MQTT.
Declaration
[JsonProperty("lastConfigAckTime")]
public virtual object LastConfigAckTime { get; set; }
Property Value
Type | Description |
---|---|
object |
LastConfigSendTime
[Output only] The last time a cloud-to-device config version was sent to the device.
Declaration
[JsonProperty("lastConfigSendTime")]
public virtual object LastConfigSendTime { get; set; }
Property Value
Type | Description |
---|---|
object |
LastErrorStatus
[Output only] The error message of the most recent error, such as a failure to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this field. If no errors have occurred, this field has an empty message and the status code 0 == OK. Otherwise, this field is expected to have a status code other than OK.
Declaration
[JsonProperty("lastErrorStatus")]
public virtual Status LastErrorStatus { get; set; }
Property Value
Type | Description |
---|---|
Status |
LastErrorTime
[Output only] The time the most recent error occurred, such as a failure to publish to Cloud Pub/Sub. This field is the timestamp of 'last_error_status'.
Declaration
[JsonProperty("lastErrorTime")]
public virtual object LastErrorTime { get; set; }
Property Value
Type | Description |
---|---|
object |
LastEventTime
[Output only] The last time a telemetry event was received. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.
Declaration
[JsonProperty("lastEventTime")]
public virtual object LastEventTime { get; set; }
Property Value
Type | Description |
---|---|
object |
LastHeartbeatTime
[Output only] The last time an MQTT PINGREQ
was received. This field applies only to devices connecting
through MQTT. MQTT clients usually only send PINGREQ
messages if the connection is idle, and no other
messages have been sent. Timestamps are periodically collected and written to storage; they may be stale by
a few minutes.
Declaration
[JsonProperty("lastHeartbeatTime")]
public virtual object LastHeartbeatTime { get; set; }
Property Value
Type | Description |
---|---|
object |
LastStateTime
[Output only] The last time a state event was received. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.
Declaration
[JsonProperty("lastStateTime")]
public virtual object LastStateTime { get; set; }
Property Value
Type | Description |
---|---|
object |
LogLevel
Beta Feature The logging verbosity for device activity. If unspecified, DeviceRegistry.log_level will be used.
Declaration
[JsonProperty("logLevel")]
public virtual string LogLevel { get; set; }
Property Value
Type | Description |
---|---|
string |
Metadata
The metadata key-value pairs assigned to the device. This metadata is not interpreted or indexed by Cloud IoT Core. It can be used to add contextual information for the device. Keys must conform to the regular expression a-zA-Z+ and be less than 128 bytes in length. Values are free-form strings. Each value must be less than or equal to 32 KB in size. The total size of all keys and values must be less than 256 KB, and the maximum number of key-value pairs is 500.
Declaration
[JsonProperty("metadata")]
public virtual IDictionary<string, string> Metadata { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IDictionary<TKey, TValue><string, string> |
Name
The resource path name. For example, projects/p1/locations/us-central1/registries/registry0/devices/dev0
or projects/p1/locations/us-central1/registries/registry0/devices/{num_id}
. When name
is populated as a
response from the service, it always ends in the device numeric ID.
Declaration
[JsonProperty("name")]
public virtual string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
NumId
[Output only] A server-defined unique numeric ID for the device. This is a more compact way to identify devices, and it is globally unique.
Declaration
[JsonProperty("numId")]
public virtual ulong? NumId { get; set; }
Property Value
Type | Description |
---|---|
ulong? |
State
[Output only] The state most recently received from the device. If no state has been reported, this field is not present.
Declaration
[JsonProperty("state")]
public virtual DeviceState State { get; set; }
Property Value
Type | Description |
---|---|
DeviceState |