docs: update docs (#916)
* fix: re-run script
* test: fix noxfile
diff --git a/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html b/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
index 48c50af..9bdb60b 100644
--- a/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
+++ b/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
@@ -94,7 +94,7 @@
<code><a href="#get">get(name, fieldMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets details about a device.</p>
<p class="toc_element">
- <code><a href="#list">list(parent, deviceIds=None, deviceNumIds=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=None, pageToken=None, fieldMask=None, pageSize=None, x__xgafv=None)</a></code></p>
+ <code><a href="#list">list(parent, deviceIds=None, gatewayListOptions_associationsDeviceId=None, deviceNumIds=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=None, fieldMask=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
<p class="firstline">List devices in a device registry.</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -121,32 +121,150 @@
The object takes the form of:
{ # The device resource.
- "lastConfigAckTime": "A String", # [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.
- "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
- "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
- # gateway.
- "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
- # specified in `last_accessed_gateway`.
- "gatewayType": "A String", # Indicates whether the device is a gateway.
- "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ },
+ "lastStateTime": "A String", # [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.
+ "config": { # The device configuration. Eventually delivered to devices. # 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.
+ "version": "A String", # [Output only] The version of this update. The version number is assigned by
+ # the server, and is always greater than 0 after device creation. The
+ # version must be 0 on the `CreateDevice` request if a `config` is
+ # specified; the response of `CreateDevice` will always have a value of 1.
+ "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
+ # Cloud IoT Core. This timestamp is set by the server.
+ "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
+ # acknowledgment from the device, indicating that the device has received
+ # this configuration version. If this field is not present, the device has
+ # not yet acknowledged that it received this version. Note that when
+ # the config was sent to the device, many config versions may have been
+ # available in Cloud IoT Core while the device was disconnected, and on
+ # connection, only the latest version is sent to the device. Some
+ # versions may never be sent to the device, and therefore are never
+ # acknowledged. This timestamp is set by Cloud IoT Core.
+ "binaryData": "A String", # The device configuration data.
+ },
+ "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
+ # has been reported, this field is not present.
+ "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
+ # IoT Core.
+ "binaryData": "A String", # The device state data.
+ },
+ "name": "A String", # 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.
+ "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.
+ { # A server-stored device credential used for authentication.
+ "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
+ # credential will be ignored for new client authentication requests after
+ # this timestamp; however, it will not be automatically deleted.
+ "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
+ # When adding a new device credential, either via device creation or via
+ # modifications, this public key credential may be required to be signed by
+ # one of the registry level certificates. More specifically, if the
+ # registry contains at least one certificate, any new device credential
+ # must be signed by one of the registry certificates. As a result,
+ # when the registry contains certificates, only X.509 certificates are
+ # accepted as device credentials. However, if the registry does
+ # not contain a certificate, self-signed certificates and public keys will
+ # be accepted. New device credentials must be different from every
+ # registry-level certificate.
+ "key": "A String", # The key data.
+ "format": "A String", # The format of the key.
+ },
},
- "numId": "A String", # [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.
- "blocked": True or False, # 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.
- "lastHeartbeatTime": "A String", # [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.
- "lastEventTime": "A String", # [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.
- "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
- # the device.
+ ],
+ "lastErrorTime": "A String", # [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'.
+ "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.
+ "a_key": "A String",
+ },
+ "logLevel": "A String", # **Beta Feature**
+ #
+ # The logging verbosity for device activity. If unspecified,
+ # DeviceRegistry.log_level will be used.
+ "id": "A String", # The user-defined device identifier. The device ID must be unique
+ # within a device registry.
+ "lastConfigAckTime": "A String", # [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.
+ "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
+ "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
+ # gateway.
+ "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
+ # specified in `last_accessed_gateway`.
+ "gatewayType": "A String", # Indicates whether the device is a gateway.
+ },
+ "numId": "A String", # [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.
+ "blocked": True or False, # 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.
+ "lastHeartbeatTime": "A String", # [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.
+ "lastEventTime": "A String", # [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.
+ "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
+ # the device.
+}
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # The device resource.
"lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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
@@ -158,26 +276,20 @@
#
# You can find out more about this error model and how to work with it in the
# [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
"details": [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
},
"lastStateTime": "A String", # [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.
- "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
- # has been reported, this field is not present.
- "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
- # IoT Core.
- "binaryData": "A String", # The device state data.
- },
"config": { # The device configuration. Eventually delivered to devices. # 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
@@ -200,6 +312,17 @@
# acknowledged. This timestamp is set by Cloud IoT Core.
"binaryData": "A String", # The device configuration data.
},
+ "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
+ # has been reported, this field is not present.
+ "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
+ # IoT Core.
+ "binaryData": "A String", # The device state data.
+ },
+ "name": "A String", # 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.
"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
@@ -226,179 +349,56 @@
},
},
],
- "name": "A String", # 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.
"lastErrorTime": "A String", # [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'.
- "logLevel": "A String", # **Beta Feature**
- #
- # The logging verbosity for device activity. If unspecified,
- # DeviceRegistry.log_level will be used.
"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.
"a_key": "A String",
},
+ "logLevel": "A String", # **Beta Feature**
+ #
+ # The logging verbosity for device activity. If unspecified,
+ # DeviceRegistry.log_level will be used.
"id": "A String", # The user-defined device identifier. The device ID must be unique
# within a device registry.
- }
-
- x__xgafv: string, V1 error format.
- Allowed values
- 1 - v1 error format
- 2 - v2 error format
-
-Returns:
- An object of the form:
-
- { # The device resource.
- "lastConfigAckTime": "A String", # [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.
- "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
- "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
- # gateway.
- "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
- # specified in `last_accessed_gateway`.
- "gatewayType": "A String", # Indicates whether the device is a gateway.
- "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
- },
- "numId": "A String", # [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.
- "blocked": True or False, # 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.
- "lastHeartbeatTime": "A String", # [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.
- "lastEventTime": "A String", # [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.
- "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
- # the device.
- "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
- # different programming environments, including REST APIs and RPC APIs. It is
- # used by [gRPC](https://github.com/grpc). Each `Status` message contains
- # three pieces of data: error code, error message, and error details.
- #
- # You can find out more about this error model and how to work with it in the
- # [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
- "details": [ # A list of messages that carry the error details. There is a common set of
- # message types for APIs to use.
- {
- "a_key": "", # Properties of the object. Contains field @type with type URL.
- },
- ],
- },
- "lastStateTime": "A String", # [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.
- "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
- # has been reported, this field is not present.
- "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
- # IoT Core.
- "binaryData": "A String", # The device state data.
- },
- "config": { # The device configuration. Eventually delivered to devices. # 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.
- "version": "A String", # [Output only] The version of this update. The version number is assigned by
- # the server, and is always greater than 0 after device creation. The
- # version must be 0 on the `CreateDevice` request if a `config` is
- # specified; the response of `CreateDevice` will always have a value of 1.
- "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
- # Cloud IoT Core. This timestamp is set by the server.
- "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
- # acknowledgment from the device, indicating that the device has received
- # this configuration version. If this field is not present, the device has
- # not yet acknowledged that it received this version. Note that when
- # the config was sent to the device, many config versions may have been
- # available in Cloud IoT Core while the device was disconnected, and on
- # connection, only the latest version is sent to the device. Some
- # versions may never be sent to the device, and therefore are never
- # acknowledged. This timestamp is set by Cloud IoT Core.
- "binaryData": "A String", # The device configuration data.
- },
- "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.
- { # A server-stored device credential used for authentication.
- "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
- # credential will be ignored for new client authentication requests after
- # this timestamp; however, it will not be automatically deleted.
- "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
- # When adding a new device credential, either via device creation or via
- # modifications, this public key credential may be required to be signed by
- # one of the registry level certificates. More specifically, if the
- # registry contains at least one certificate, any new device credential
- # must be signed by one of the registry certificates. As a result,
- # when the registry contains certificates, only X.509 certificates are
- # accepted as device credentials. However, if the registry does
- # not contain a certificate, self-signed certificates and public keys will
- # be accepted. New device credentials must be different from every
- # registry-level certificate.
- "key": "A String", # The key data.
- "format": "A String", # The format of the key.
- },
- },
- ],
- "name": "A String", # 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.
- "lastErrorTime": "A String", # [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'.
- "logLevel": "A String", # **Beta Feature**
- #
- # The logging verbosity for device activity. If unspecified,
- # DeviceRegistry.log_level will be used.
- "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.
- "a_key": "A String",
- },
- "id": "A String", # The user-defined device identifier. The device ID must be unique
- # within a device registry.
- }</pre>
+ "lastConfigAckTime": "A String", # [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.
+ "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
+ "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
+ # gateway.
+ "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
+ # specified in `last_accessed_gateway`.
+ "gatewayType": "A String", # Indicates whether the device is a gateway.
+ },
+ "numId": "A String", # [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.
+ "blocked": True or False, # 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.
+ "lastHeartbeatTime": "A String", # [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.
+ "lastEventTime": "A String", # [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.
+ "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
+ # the device.
+ }</pre>
</div>
<div class="method">
@@ -448,144 +448,144 @@
An object of the form:
{ # The device resource.
- "lastConfigAckTime": "A String", # [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.
- "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
- "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
- # gateway.
- "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
- # specified in `last_accessed_gateway`.
- "gatewayType": "A String", # Indicates whether the device is a gateway.
- "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
- },
- "numId": "A String", # [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.
- "blocked": True or False, # 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.
- "lastHeartbeatTime": "A String", # [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.
- "lastEventTime": "A String", # [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.
- "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
- # the device.
- "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
- # different programming environments, including REST APIs and RPC APIs. It is
- # used by [gRPC](https://github.com/grpc). Each `Status` message contains
- # three pieces of data: error code, error message, and error details.
- #
- # You can find out more about this error model and how to work with it in the
- # [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
- "details": [ # A list of messages that carry the error details. There is a common set of
- # message types for APIs to use.
- {
- "a_key": "", # Properties of the object. Contains field @type with type URL.
- },
- ],
- },
- "lastStateTime": "A String", # [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.
- "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
- # has been reported, this field is not present.
- "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
- # IoT Core.
- "binaryData": "A String", # The device state data.
- },
- "config": { # The device configuration. Eventually delivered to devices. # 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.
- "version": "A String", # [Output only] The version of this update. The version number is assigned by
- # the server, and is always greater than 0 after device creation. The
- # version must be 0 on the `CreateDevice` request if a `config` is
- # specified; the response of `CreateDevice` will always have a value of 1.
- "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
- # Cloud IoT Core. This timestamp is set by the server.
- "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
- # acknowledgment from the device, indicating that the device has received
- # this configuration version. If this field is not present, the device has
- # not yet acknowledged that it received this version. Note that when
- # the config was sent to the device, many config versions may have been
- # available in Cloud IoT Core while the device was disconnected, and on
- # connection, only the latest version is sent to the device. Some
- # versions may never be sent to the device, and therefore are never
- # acknowledged. This timestamp is set by Cloud IoT Core.
- "binaryData": "A String", # The device configuration data.
- },
- "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.
- { # A server-stored device credential used for authentication.
- "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
- # credential will be ignored for new client authentication requests after
- # this timestamp; however, it will not be automatically deleted.
- "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
- # When adding a new device credential, either via device creation or via
- # modifications, this public key credential may be required to be signed by
- # one of the registry level certificates. More specifically, if the
- # registry contains at least one certificate, any new device credential
- # must be signed by one of the registry certificates. As a result,
- # when the registry contains certificates, only X.509 certificates are
- # accepted as device credentials. However, if the registry does
- # not contain a certificate, self-signed certificates and public keys will
- # be accepted. New device credentials must be different from every
- # registry-level certificate.
- "key": "A String", # The key data.
- "format": "A String", # The format of the key.
- },
+ "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
- "name": "A String", # 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.
- "lastErrorTime": "A String", # [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'.
- "logLevel": "A String", # **Beta Feature**
- #
- # The logging verbosity for device activity. If unspecified,
- # DeviceRegistry.log_level will be used.
- "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.
- "a_key": "A String",
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ },
+ "lastStateTime": "A String", # [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.
+ "config": { # The device configuration. Eventually delivered to devices. # 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.
+ "version": "A String", # [Output only] The version of this update. The version number is assigned by
+ # the server, and is always greater than 0 after device creation. The
+ # version must be 0 on the `CreateDevice` request if a `config` is
+ # specified; the response of `CreateDevice` will always have a value of 1.
+ "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
+ # Cloud IoT Core. This timestamp is set by the server.
+ "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
+ # acknowledgment from the device, indicating that the device has received
+ # this configuration version. If this field is not present, the device has
+ # not yet acknowledged that it received this version. Note that when
+ # the config was sent to the device, many config versions may have been
+ # available in Cloud IoT Core while the device was disconnected, and on
+ # connection, only the latest version is sent to the device. Some
+ # versions may never be sent to the device, and therefore are never
+ # acknowledged. This timestamp is set by Cloud IoT Core.
+ "binaryData": "A String", # The device configuration data.
+ },
+ "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
+ # has been reported, this field is not present.
+ "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
+ # IoT Core.
+ "binaryData": "A String", # The device state data.
+ },
+ "name": "A String", # 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.
+ "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.
+ { # A server-stored device credential used for authentication.
+ "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
+ # credential will be ignored for new client authentication requests after
+ # this timestamp; however, it will not be automatically deleted.
+ "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
+ # When adding a new device credential, either via device creation or via
+ # modifications, this public key credential may be required to be signed by
+ # one of the registry level certificates. More specifically, if the
+ # registry contains at least one certificate, any new device credential
+ # must be signed by one of the registry certificates. As a result,
+ # when the registry contains certificates, only X.509 certificates are
+ # accepted as device credentials. However, if the registry does
+ # not contain a certificate, self-signed certificates and public keys will
+ # be accepted. New device credentials must be different from every
+ # registry-level certificate.
+ "key": "A String", # The key data.
+ "format": "A String", # The format of the key.
+ },
},
- "id": "A String", # The user-defined device identifier. The device ID must be unique
- # within a device registry.
- }</pre>
+ ],
+ "lastErrorTime": "A String", # [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'.
+ "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.
+ "a_key": "A String",
+ },
+ "logLevel": "A String", # **Beta Feature**
+ #
+ # The logging verbosity for device activity. If unspecified,
+ # DeviceRegistry.log_level will be used.
+ "id": "A String", # The user-defined device identifier. The device ID must be unique
+ # within a device registry.
+ "lastConfigAckTime": "A String", # [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.
+ "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
+ "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
+ # gateway.
+ "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
+ # specified in `last_accessed_gateway`.
+ "gatewayType": "A String", # Indicates whether the device is a gateway.
+ },
+ "numId": "A String", # [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.
+ "blocked": True or False, # 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.
+ "lastHeartbeatTime": "A String", # [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.
+ "lastEventTime": "A String", # [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.
+ "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
+ # the device.
+ }</pre>
</div>
<div class="method">
- <code class="details" id="list">list(parent, deviceIds=None, deviceNumIds=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=None, pageToken=None, fieldMask=None, pageSize=None, x__xgafv=None)</code>
+ <code class="details" id="list">list(parent, deviceIds=None, gatewayListOptions_associationsDeviceId=None, deviceNumIds=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=None, fieldMask=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
<pre>List devices in a device registry.
Args:
@@ -593,12 +593,12 @@
`projects/my-project/locations/us-central1/registries/my-registry`. (required)
deviceIds: string, A list of device string IDs. For example, `['device0', 'device12']`.
If empty, this field is ignored. Maximum IDs: 10,000 (repeated)
- deviceNumIds: string, A list of device numeric IDs. If empty, this field is ignored. Maximum
-IDs: 10,000. (repeated)
gatewayListOptions_associationsDeviceId: string, If set, returns only the gateways with which the specified device is
associated. The device ID can be numeric (`num_id`) or the user-defined
string (`id`). For example, if `456` is specified, returns only the
gateways to which the device with `num_id` 456 is bound.
+ deviceNumIds: string, A list of device numeric IDs. If empty, this field is ignored. Maximum
+IDs: 10,000. (repeated)
gatewayListOptions_gatewayType: string, If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY`
is specified, only non-gateway devices are returned. If
`GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.
@@ -606,12 +606,12 @@
The gateway ID can be numeric (`num_id`) or the user-defined string
(`id`). For example, if `123` is specified, only devices bound to the
gateway with `num_id` 123 are returned.
- pageToken: string, The value returned by the last `ListDevicesResponse`; indicates
-that this is a continuation of a prior `ListDevices` call and
-the system should return the next page of data.
fieldMask: string, The fields of the `Device` resource to be returned in the response. The
fields `id` and `num_id` are always returned, along with any
other fields specified.
+ pageToken: string, The value returned by the last `ListDevicesResponse`; indicates
+that this is a continuation of a prior `ListDevices` call and
+the system should return the next page of data.
pageSize: integer, The maximum number of devices to return in the response. If this value
is zero, the service will select a default size. A call may return fewer
objects than requested. A non-empty `next_page_token` in the response
@@ -625,145 +625,145 @@
An object of the form:
{ # Response for `ListDevices`.
- "devices": [ # The devices that match the request.
- { # The device resource.
- "lastConfigAckTime": "A String", # [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.
- "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
- "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
- # gateway.
- "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
- # specified in `last_accessed_gateway`.
- "gatewayType": "A String", # Indicates whether the device is a gateway.
- "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
- },
- "numId": "A String", # [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.
- "blocked": True or False, # 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.
- "lastHeartbeatTime": "A String", # [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.
- "lastEventTime": "A String", # [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.
- "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
- # the device.
- "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
- # different programming environments, including REST APIs and RPC APIs. It is
- # used by [gRPC](https://github.com/grpc). Each `Status` message contains
- # three pieces of data: error code, error message, and error details.
- #
- # You can find out more about this error model and how to work with it in the
- # [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
- "details": [ # A list of messages that carry the error details. There is a common set of
- # message types for APIs to use.
- {
- "a_key": "", # Properties of the object. Contains field @type with type URL.
- },
- ],
- },
- "lastStateTime": "A String", # [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.
- "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
- # has been reported, this field is not present.
- "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
- # IoT Core.
- "binaryData": "A String", # The device state data.
- },
- "config": { # The device configuration. Eventually delivered to devices. # 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.
- "version": "A String", # [Output only] The version of this update. The version number is assigned by
- # the server, and is always greater than 0 after device creation. The
- # version must be 0 on the `CreateDevice` request if a `config` is
- # specified; the response of `CreateDevice` will always have a value of 1.
- "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
- # Cloud IoT Core. This timestamp is set by the server.
- "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
- # acknowledgment from the device, indicating that the device has received
- # this configuration version. If this field is not present, the device has
- # not yet acknowledged that it received this version. Note that when
- # the config was sent to the device, many config versions may have been
- # available in Cloud IoT Core while the device was disconnected, and on
- # connection, only the latest version is sent to the device. Some
- # versions may never be sent to the device, and therefore are never
- # acknowledged. This timestamp is set by Cloud IoT Core.
- "binaryData": "A String", # The device configuration data.
- },
- "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.
- { # A server-stored device credential used for authentication.
- "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
- # credential will be ignored for new client authentication requests after
- # this timestamp; however, it will not be automatically deleted.
- "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
- # When adding a new device credential, either via device creation or via
- # modifications, this public key credential may be required to be signed by
- # one of the registry level certificates. More specifically, if the
- # registry contains at least one certificate, any new device credential
- # must be signed by one of the registry certificates. As a result,
- # when the registry contains certificates, only X.509 certificates are
- # accepted as device credentials. However, if the registry does
- # not contain a certificate, self-signed certificates and public keys will
- # be accepted. New device credentials must be different from every
- # registry-level certificate.
- "key": "A String", # The key data.
- "format": "A String", # The format of the key.
- },
- },
- ],
- "name": "A String", # 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.
- "lastErrorTime": "A String", # [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'.
- "logLevel": "A String", # **Beta Feature**
- #
- # The logging verbosity for device activity. If unspecified,
- # DeviceRegistry.log_level will be used.
- "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.
- "a_key": "A String",
- },
- "id": "A String", # The user-defined device identifier. The device ID must be unique
- # within a device registry.
- },
- ],
"nextPageToken": "A String", # If not empty, indicates that there may be more devices that match the
# request; this value should be passed in a new `ListDevicesRequest`.
+ "devices": [ # The devices that match the request.
+ { # The device resource.
+ "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ },
+ "lastStateTime": "A String", # [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.
+ "config": { # The device configuration. Eventually delivered to devices. # 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.
+ "version": "A String", # [Output only] The version of this update. The version number is assigned by
+ # the server, and is always greater than 0 after device creation. The
+ # version must be 0 on the `CreateDevice` request if a `config` is
+ # specified; the response of `CreateDevice` will always have a value of 1.
+ "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
+ # Cloud IoT Core. This timestamp is set by the server.
+ "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
+ # acknowledgment from the device, indicating that the device has received
+ # this configuration version. If this field is not present, the device has
+ # not yet acknowledged that it received this version. Note that when
+ # the config was sent to the device, many config versions may have been
+ # available in Cloud IoT Core while the device was disconnected, and on
+ # connection, only the latest version is sent to the device. Some
+ # versions may never be sent to the device, and therefore are never
+ # acknowledged. This timestamp is set by Cloud IoT Core.
+ "binaryData": "A String", # The device configuration data.
+ },
+ "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
+ # has been reported, this field is not present.
+ "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
+ # IoT Core.
+ "binaryData": "A String", # The device state data.
+ },
+ "name": "A String", # 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.
+ "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.
+ { # A server-stored device credential used for authentication.
+ "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
+ # credential will be ignored for new client authentication requests after
+ # this timestamp; however, it will not be automatically deleted.
+ "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
+ # When adding a new device credential, either via device creation or via
+ # modifications, this public key credential may be required to be signed by
+ # one of the registry level certificates. More specifically, if the
+ # registry contains at least one certificate, any new device credential
+ # must be signed by one of the registry certificates. As a result,
+ # when the registry contains certificates, only X.509 certificates are
+ # accepted as device credentials. However, if the registry does
+ # not contain a certificate, self-signed certificates and public keys will
+ # be accepted. New device credentials must be different from every
+ # registry-level certificate.
+ "key": "A String", # The key data.
+ "format": "A String", # The format of the key.
+ },
+ },
+ ],
+ "lastErrorTime": "A String", # [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'.
+ "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.
+ "a_key": "A String",
+ },
+ "logLevel": "A String", # **Beta Feature**
+ #
+ # The logging verbosity for device activity. If unspecified,
+ # DeviceRegistry.log_level will be used.
+ "id": "A String", # The user-defined device identifier. The device ID must be unique
+ # within a device registry.
+ "lastConfigAckTime": "A String", # [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.
+ "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
+ "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
+ # gateway.
+ "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
+ # specified in `last_accessed_gateway`.
+ "gatewayType": "A String", # Indicates whether the device is a gateway.
+ },
+ "numId": "A String", # [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.
+ "blocked": True or False, # 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.
+ "lastHeartbeatTime": "A String", # [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.
+ "lastEventTime": "A String", # [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.
+ "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
+ # the device.
+ },
+ ],
}</pre>
</div>
@@ -795,12 +795,12 @@
The object takes the form of:
{ # Request for `ModifyCloudToDeviceConfig`.
+ "binaryData": "A String", # Required. The configuration data for the device.
"versionToUpdate": "A String", # The version number to update. If this value is zero, it will not check the
# version number of the server and will always update the current version;
# otherwise, this update will fail if the version number found on the server
# does not match this version number. This is used to support multiple
# simultaneous updates without losing data.
- "binaryData": "A String", # Required. The configuration data for the device.
}
x__xgafv: string, V1 error format.
@@ -845,32 +845,154 @@
The object takes the form of:
{ # The device resource.
- "lastConfigAckTime": "A String", # [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.
- "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
- "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
- # gateway.
- "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
- # specified in `last_accessed_gateway`.
- "gatewayType": "A String", # Indicates whether the device is a gateway.
- "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ },
+ "lastStateTime": "A String", # [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.
+ "config": { # The device configuration. Eventually delivered to devices. # 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.
+ "version": "A String", # [Output only] The version of this update. The version number is assigned by
+ # the server, and is always greater than 0 after device creation. The
+ # version must be 0 on the `CreateDevice` request if a `config` is
+ # specified; the response of `CreateDevice` will always have a value of 1.
+ "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
+ # Cloud IoT Core. This timestamp is set by the server.
+ "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
+ # acknowledgment from the device, indicating that the device has received
+ # this configuration version. If this field is not present, the device has
+ # not yet acknowledged that it received this version. Note that when
+ # the config was sent to the device, many config versions may have been
+ # available in Cloud IoT Core while the device was disconnected, and on
+ # connection, only the latest version is sent to the device. Some
+ # versions may never be sent to the device, and therefore are never
+ # acknowledged. This timestamp is set by Cloud IoT Core.
+ "binaryData": "A String", # The device configuration data.
+ },
+ "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
+ # has been reported, this field is not present.
+ "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
+ # IoT Core.
+ "binaryData": "A String", # The device state data.
+ },
+ "name": "A String", # 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.
+ "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.
+ { # A server-stored device credential used for authentication.
+ "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
+ # credential will be ignored for new client authentication requests after
+ # this timestamp; however, it will not be automatically deleted.
+ "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
+ # When adding a new device credential, either via device creation or via
+ # modifications, this public key credential may be required to be signed by
+ # one of the registry level certificates. More specifically, if the
+ # registry contains at least one certificate, any new device credential
+ # must be signed by one of the registry certificates. As a result,
+ # when the registry contains certificates, only X.509 certificates are
+ # accepted as device credentials. However, if the registry does
+ # not contain a certificate, self-signed certificates and public keys will
+ # be accepted. New device credentials must be different from every
+ # registry-level certificate.
+ "key": "A String", # The key data.
+ "format": "A String", # The format of the key.
+ },
},
- "numId": "A String", # [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.
- "blocked": True or False, # 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.
- "lastHeartbeatTime": "A String", # [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.
- "lastEventTime": "A String", # [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.
- "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
- # the device.
+ ],
+ "lastErrorTime": "A String", # [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'.
+ "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.
+ "a_key": "A String",
+ },
+ "logLevel": "A String", # **Beta Feature**
+ #
+ # The logging verbosity for device activity. If unspecified,
+ # DeviceRegistry.log_level will be used.
+ "id": "A String", # The user-defined device identifier. The device ID must be unique
+ # within a device registry.
+ "lastConfigAckTime": "A String", # [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.
+ "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
+ "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
+ # gateway.
+ "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
+ # specified in `last_accessed_gateway`.
+ "gatewayType": "A String", # Indicates whether the device is a gateway.
+ },
+ "numId": "A String", # [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.
+ "blocked": True or False, # 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.
+ "lastHeartbeatTime": "A String", # [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.
+ "lastEventTime": "A String", # [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.
+ "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
+ # the device.
+}
+
+ updateMask: string, Required. Only updates the `device` fields indicated by this mask.
+The field mask must not be empty, and it must not contain fields that
+are immutable or only set by the server.
+Mutable top-level fields: `credentials`, `blocked`, and `metadata`
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # The device resource.
"lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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
@@ -882,26 +1004,20 @@
#
# You can find out more about this error model and how to work with it in the
# [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
"details": [ # A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
],
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
},
"lastStateTime": "A String", # [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.
- "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
- # has been reported, this field is not present.
- "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
- # IoT Core.
- "binaryData": "A String", # The device state data.
- },
"config": { # The device configuration. Eventually delivered to devices. # 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
@@ -924,6 +1040,17 @@
# acknowledged. This timestamp is set by Cloud IoT Core.
"binaryData": "A String", # The device configuration data.
},
+ "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
+ # has been reported, this field is not present.
+ "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
+ # IoT Core.
+ "binaryData": "A String", # The device state data.
+ },
+ "name": "A String", # 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.
"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
@@ -950,183 +1077,56 @@
},
},
],
- "name": "A String", # 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.
"lastErrorTime": "A String", # [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'.
- "logLevel": "A String", # **Beta Feature**
- #
- # The logging verbosity for device activity. If unspecified,
- # DeviceRegistry.log_level will be used.
"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.
"a_key": "A String",
},
+ "logLevel": "A String", # **Beta Feature**
+ #
+ # The logging verbosity for device activity. If unspecified,
+ # DeviceRegistry.log_level will be used.
"id": "A String", # The user-defined device identifier. The device ID must be unique
# within a device registry.
- }
-
- updateMask: string, Required. Only updates the `device` fields indicated by this mask.
-The field mask must not be empty, and it must not contain fields that
-are immutable or only set by the server.
-Mutable top-level fields: `credentials`, `blocked`, and `metadata`
- x__xgafv: string, V1 error format.
- Allowed values
- 1 - v1 error format
- 2 - v2 error format
-
-Returns:
- An object of the form:
-
- { # The device resource.
- "lastConfigAckTime": "A String", # [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.
- "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
- "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
- # gateway.
- "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
- # specified in `last_accessed_gateway`.
- "gatewayType": "A String", # Indicates whether the device is a gateway.
- "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
- },
- "numId": "A String", # [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.
- "blocked": True or False, # 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.
- "lastHeartbeatTime": "A String", # [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.
- "lastEventTime": "A String", # [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.
- "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
- # the device.
- "lastErrorStatus": { # The `Status` type defines a logical error model that is suitable for # [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.
- # different programming environments, including REST APIs and RPC APIs. It is
- # used by [gRPC](https://github.com/grpc). Each `Status` message contains
- # three pieces of data: error code, error message, and error details.
- #
- # You can find out more about this error model and how to work with it in the
- # [API Design Guide](https://cloud.google.com/apis/design/errors).
- "code": 42, # The status code, which should be an enum value of google.rpc.Code.
- "message": "A String", # A developer-facing error message, which should be in English. Any
- # user-facing error message should be localized and sent in the
- # google.rpc.Status.details field, or localized by the client.
- "details": [ # A list of messages that carry the error details. There is a common set of
- # message types for APIs to use.
- {
- "a_key": "", # Properties of the object. Contains field @type with type URL.
- },
- ],
- },
- "lastStateTime": "A String", # [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.
- "state": { # The device state, as reported by the device. # [Output only] The state most recently received from the device. If no state
- # has been reported, this field is not present.
- "updateTime": "A String", # [Output only] The time at which this state version was updated in Cloud
- # IoT Core.
- "binaryData": "A String", # The device state data.
- },
- "config": { # The device configuration. Eventually delivered to devices. # 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.
- "version": "A String", # [Output only] The version of this update. The version number is assigned by
- # the server, and is always greater than 0 after device creation. The
- # version must be 0 on the `CreateDevice` request if a `config` is
- # specified; the response of `CreateDevice` will always have a value of 1.
- "cloudUpdateTime": "A String", # [Output only] The time at which this configuration version was updated in
- # Cloud IoT Core. This timestamp is set by the server.
- "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
- # acknowledgment from the device, indicating that the device has received
- # this configuration version. If this field is not present, the device has
- # not yet acknowledged that it received this version. Note that when
- # the config was sent to the device, many config versions may have been
- # available in Cloud IoT Core while the device was disconnected, and on
- # connection, only the latest version is sent to the device. Some
- # versions may never be sent to the device, and therefore are never
- # acknowledged. This timestamp is set by Cloud IoT Core.
- "binaryData": "A String", # The device configuration data.
- },
- "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.
- { # A server-stored device credential used for authentication.
- "expirationTime": "A String", # [Optional] The time at which this credential becomes invalid. This
- # credential will be ignored for new client authentication requests after
- # this timestamp; however, it will not be automatically deleted.
- "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
- # When adding a new device credential, either via device creation or via
- # modifications, this public key credential may be required to be signed by
- # one of the registry level certificates. More specifically, if the
- # registry contains at least one certificate, any new device credential
- # must be signed by one of the registry certificates. As a result,
- # when the registry contains certificates, only X.509 certificates are
- # accepted as device credentials. However, if the registry does
- # not contain a certificate, self-signed certificates and public keys will
- # be accepted. New device credentials must be different from every
- # registry-level certificate.
- "key": "A String", # The key data.
- "format": "A String", # The format of the key.
- },
- },
- ],
- "name": "A String", # 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.
- "lastErrorTime": "A String", # [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'.
- "logLevel": "A String", # **Beta Feature**
- #
- # The logging verbosity for device activity. If unspecified,
- # DeviceRegistry.log_level will be used.
- "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.
- "a_key": "A String",
- },
- "id": "A String", # The user-defined device identifier. The device ID must be unique
- # within a device registry.
- }</pre>
+ "lastConfigAckTime": "A String", # [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.
+ "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
+ "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+ "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
+ # gateway.
+ "lastAccessedGatewayTime": "A String", # [Output only] The most recent time at which the device accessed the gateway
+ # specified in `last_accessed_gateway`.
+ "gatewayType": "A String", # Indicates whether the device is a gateway.
+ },
+ "numId": "A String", # [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.
+ "blocked": True or False, # 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.
+ "lastHeartbeatTime": "A String", # [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.
+ "lastEventTime": "A String", # [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.
+ "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
+ # the device.
+ }</pre>
</div>
<div class="method">