docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html b/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
index 187d03b..48c50af 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, pageSize=None, fieldMask=None, deviceNumIds=None, x__xgafv=None, deviceIds=None, pageToken=None, gatewayListOptions_associationsGatewayId=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None)</a></code></p>
+  <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>
 <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,196 +121,34 @@
     The object takes the form of:
 
 { # The device resource.
-  "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.
-  "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
-    "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.
-    "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
-        # gateway.
-    "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
-  },
-  "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.
-  "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.
-  "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'.
-  "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.
-  "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.
-  "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.
-  "logLevel": "A String", # **Beta Feature**
-      # 
-      # The logging verbosity for device activity. If unspecified,
-      # DeviceRegistry.log_level will be used.
-  "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.
-  },
-  "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).
-    "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.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "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.
-      },
-    ],
-  },
-  "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.
-      "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.
-      },
-      "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.
-    },
-  ],
-  "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.
-  "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.
-    "binaryData": "A String", # The device configuration data.
-    "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.
-  },
-  "id": "A String", # The user-defined device identifier. The device ID must be unique
-      # within a device registry.
-  "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",
-  },
-}
-
-  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.
-    "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.
-    "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
-      "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.
-      "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
+    &quot;lastConfigAckTime&quot;: &quot;A String&quot;, # [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.
+    &quot;gatewayConfig&quot;: { # Gateway-related configuration and state. # Gateway-related configuration and state.
+      &quot;gatewayAuthMethod&quot;: &quot;A String&quot;, # Indicates how to authorize and/or authenticate devices to access the
           # gateway.
-      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+      &quot;lastAccessedGatewayTime&quot;: &quot;A String&quot;, # [Output only] The most recent time at which the device accessed the gateway
+          # specified in `last_accessed_gateway`.
+      &quot;gatewayType&quot;: &quot;A String&quot;, # Indicates whether the device is a gateway.
+      &quot;lastAccessedGatewayId&quot;: &quot;A String&quot;, # [Output only] The ID of the gateway the device accessed most recently.
     },
-    "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.
-    "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.
-    "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'.
-    "numId": "A String", # [Output only] A server-defined unique numeric ID for the device. This is a
+    &quot;numId&quot;: &quot;A String&quot;, # [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.
-    "lastHeartbeatTime": "A String", # [Output only] The last time an MQTT `PINGREQ` was received. This field
+    &quot;blocked&quot;: 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.
+    &quot;lastHeartbeatTime&quot;: &quot;A String&quot;, # [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.
-    "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.
-    "logLevel": "A String", # **Beta Feature**
-        #
-        # The logging verbosity for device activity. If unspecified,
-        # DeviceRegistry.log_level will be used.
-    "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.
-    },
-    "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
+    &quot;lastEventTime&quot;: &quot;A String&quot;, # [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.
+    &quot;lastConfigSendTime&quot;: &quot;A String&quot;, # [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
+    &quot;lastErrorStatus&quot;: { # 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. &#x27;last_error_time&#x27; 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.
@@ -320,25 +158,59 @@
         #
         # 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).
-      "message": "A String", # A developer-facing error message, which should be in English. Any
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # 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.
-      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-      "details": [ # A list of messages that carry the error details.  There is a common set of
+      &quot;details&quot;: [ # 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.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
         },
       ],
     },
-    "credentials": [ # The credentials used to authenticate this device. To allow credential
+    &quot;lastStateTime&quot;: &quot;A String&quot;, # [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.
+    &quot;state&quot;: { # 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.
+      &quot;updateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this state version was updated in Cloud
+          # IoT Core.
+      &quot;binaryData&quot;: &quot;A String&quot;, # The device state data.
+    },
+    &quot;config&quot;: { # 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.
+      &quot;version&quot;: &quot;A String&quot;, # [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.
+      &quot;cloudUpdateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this configuration version was updated in
+          # Cloud IoT Core. This timestamp is set by the server.
+      &quot;deviceAckTime&quot;: &quot;A String&quot;, # [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.
+      &quot;binaryData&quot;: &quot;A String&quot;, # The device configuration data.
+    },
+    &quot;credentials&quot;: [ # 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.
-        "publicKey": { # A public key format and data. # A public key used to verify the signature of JSON Web Tokens (JWTs).
+        &quot;expirationTime&quot;: &quot;A String&quot;, # [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.
+        &quot;publicKey&quot;: { # 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
@@ -349,56 +221,184 @@
             # 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.
+          &quot;key&quot;: &quot;A String&quot;, # The key data.
+          &quot;format&quot;: &quot;A String&quot;, # The format of the key.
         },
-        "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.
       },
     ],
-    "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.
-    "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.
-      "binaryData": "A String", # The device configuration data.
-      "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.
-    },
-    "id": "A String", # The user-defined device identifier. The device ID must be unique
-        # within a device registry.
-    "metadata": { # The metadata key-value pairs assigned to the device. This metadata is not
+    &quot;name&quot;: &quot;A String&quot;, # 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.
+    &quot;lastErrorTime&quot;: &quot;A String&quot;, # [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
+        # &#x27;last_error_status&#x27;.
+    &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
+        # 
+        # The logging verbosity for device activity. If unspecified,
+        # DeviceRegistry.log_level will be used.
+    &quot;metadata&quot;: { # 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",
+      &quot;a_key&quot;: &quot;A String&quot;,
     },
-  }</pre>
+    &quot;id&quot;: &quot;A String&quot;, # 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.
+      &quot;lastConfigAckTime&quot;: &quot;A String&quot;, # [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.
+      &quot;gatewayConfig&quot;: { # Gateway-related configuration and state. # Gateway-related configuration and state.
+        &quot;gatewayAuthMethod&quot;: &quot;A String&quot;, # Indicates how to authorize and/or authenticate devices to access the
+            # gateway.
+        &quot;lastAccessedGatewayTime&quot;: &quot;A String&quot;, # [Output only] The most recent time at which the device accessed the gateway
+            # specified in `last_accessed_gateway`.
+        &quot;gatewayType&quot;: &quot;A String&quot;, # Indicates whether the device is a gateway.
+        &quot;lastAccessedGatewayId&quot;: &quot;A String&quot;, # [Output only] The ID of the gateway the device accessed most recently.
+      },
+      &quot;numId&quot;: &quot;A String&quot;, # [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.
+      &quot;blocked&quot;: 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.
+      &quot;lastHeartbeatTime&quot;: &quot;A String&quot;, # [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.
+      &quot;lastEventTime&quot;: &quot;A String&quot;, # [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.
+      &quot;lastConfigSendTime&quot;: &quot;A String&quot;, # [Output only] The last time a cloud-to-device config version was sent to
+          # the device.
+      &quot;lastErrorStatus&quot;: { # 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. &#x27;last_error_time&#x27; 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).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # 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.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+      &quot;lastStateTime&quot;: &quot;A String&quot;, # [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.
+      &quot;state&quot;: { # 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.
+        &quot;updateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this state version was updated in Cloud
+            # IoT Core.
+        &quot;binaryData&quot;: &quot;A String&quot;, # The device state data.
+      },
+      &quot;config&quot;: { # 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.
+        &quot;version&quot;: &quot;A String&quot;, # [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.
+        &quot;cloudUpdateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this configuration version was updated in
+            # Cloud IoT Core. This timestamp is set by the server.
+        &quot;deviceAckTime&quot;: &quot;A String&quot;, # [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.
+        &quot;binaryData&quot;: &quot;A String&quot;, # The device configuration data.
+      },
+      &quot;credentials&quot;: [ # 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.
+          &quot;expirationTime&quot;: &quot;A String&quot;, # [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.
+          &quot;publicKey&quot;: { # 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.
+            &quot;key&quot;: &quot;A String&quot;, # The key data.
+            &quot;format&quot;: &quot;A String&quot;, # The format of the key.
+          },
+        },
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # 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.
+      &quot;lastErrorTime&quot;: &quot;A String&quot;, # [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
+          # &#x27;last_error_status&#x27;.
+      &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
+          #
+          # The logging verbosity for device activity. If unspecified,
+          # DeviceRegistry.log_level will be used.
+      &quot;metadata&quot;: { # 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.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
+          # within a device registry.
+    }</pre>
 </div>
 
 <div class="method">
@@ -448,171 +448,153 @@
   An object of the form:
 
     { # The device resource.
-    "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.
-    "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
-      "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.
-      "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
-          # gateway.
-      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
-    },
-    "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.
-    "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.
-    "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'.
-    "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.
-    "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.
-    "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.
-    "logLevel": "A String", # **Beta Feature**
-        #
-        # The logging verbosity for device activity. If unspecified,
-        # DeviceRegistry.log_level will be used.
-    "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.
-    },
-    "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).
-      "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.
-      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-      "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.
+      &quot;lastConfigAckTime&quot;: &quot;A String&quot;, # [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.
+      &quot;gatewayConfig&quot;: { # Gateway-related configuration and state. # Gateway-related configuration and state.
+        &quot;gatewayAuthMethod&quot;: &quot;A String&quot;, # Indicates how to authorize and/or authenticate devices to access the
+            # gateway.
+        &quot;lastAccessedGatewayTime&quot;: &quot;A String&quot;, # [Output only] The most recent time at which the device accessed the gateway
+            # specified in `last_accessed_gateway`.
+        &quot;gatewayType&quot;: &quot;A String&quot;, # Indicates whether the device is a gateway.
+        &quot;lastAccessedGatewayId&quot;: &quot;A String&quot;, # [Output only] The ID of the gateway the device accessed most recently.
+      },
+      &quot;numId&quot;: &quot;A String&quot;, # [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.
+      &quot;blocked&quot;: 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.
+      &quot;lastHeartbeatTime&quot;: &quot;A String&quot;, # [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.
+      &quot;lastEventTime&quot;: &quot;A String&quot;, # [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.
+      &quot;lastConfigSendTime&quot;: &quot;A String&quot;, # [Output only] The last time a cloud-to-device config version was sent to
+          # the device.
+      &quot;lastErrorStatus&quot;: { # 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. &#x27;last_error_time&#x27; 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).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # 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.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+      &quot;lastStateTime&quot;: &quot;A String&quot;, # [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.
+      &quot;state&quot;: { # 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.
+        &quot;updateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this state version was updated in Cloud
+            # IoT Core.
+        &quot;binaryData&quot;: &quot;A String&quot;, # The device state data.
+      },
+      &quot;config&quot;: { # 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.
+        &quot;version&quot;: &quot;A String&quot;, # [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.
+        &quot;cloudUpdateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this configuration version was updated in
+            # Cloud IoT Core. This timestamp is set by the server.
+        &quot;deviceAckTime&quot;: &quot;A String&quot;, # [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.
+        &quot;binaryData&quot;: &quot;A String&quot;, # The device configuration data.
+      },
+      &quot;credentials&quot;: [ # 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.
+          &quot;expirationTime&quot;: &quot;A String&quot;, # [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.
+          &quot;publicKey&quot;: { # 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.
+            &quot;key&quot;: &quot;A String&quot;, # The key data.
+            &quot;format&quot;: &quot;A String&quot;, # The format of the key.
+          },
         },
       ],
-    },
-    "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.
-        "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.
-        },
-        "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.
+      &quot;name&quot;: &quot;A String&quot;, # 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.
+      &quot;lastErrorTime&quot;: &quot;A String&quot;, # [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
+          # &#x27;last_error_status&#x27;.
+      &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
+          #
+          # The logging verbosity for device activity. If unspecified,
+          # DeviceRegistry.log_level will be used.
+      &quot;metadata&quot;: { # 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.
+        &quot;a_key&quot;: &quot;A String&quot;,
       },
-    ],
-    "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.
-    "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.
-      "binaryData": "A String", # The device configuration data.
-      "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.
-    },
-    "id": "A String", # The user-defined device identifier. The device ID must be unique
-        # within a device registry.
-    "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",
-    },
-  }</pre>
+      &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
+          # within a device registry.
+    }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, pageSize=None, fieldMask=None, deviceNumIds=None, x__xgafv=None, deviceIds=None, pageToken=None, gatewayListOptions_associationsGatewayId=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None)</code>
+    <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>
   <pre>List devices in a device registry.
 
 Args:
   parent: string, Required. The device registry path. Required. For example,
 `projects/my-project/locations/us-central1/registries/my-registry`. (required)
-  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
-indicates that more data is available.
-  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.
+  deviceIds: string, A list of device string IDs. For example, `[&#x27;device0&#x27;, &#x27;device12&#x27;]`.
+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)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-  deviceIds: string, A list of device string IDs. For example, `['device0', 'device12']`.
-If empty, this field is ignored. Maximum IDs: 10,000 (repeated)
-  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.
-  gatewayListOptions_associationsGatewayId: string, If set, only devices associated with the specified gateway are returned.
-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.
   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
@@ -620,150 +602,168 @@
   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.
+  gatewayListOptions_associationsGatewayId: string, If set, only devices associated with the specified gateway are returned.
+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.
+  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
+indicates that more data is available.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
 
 Returns:
   An object of the form:
 
     { # Response for `ListDevices`.
-    "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.
+    &quot;devices&quot;: [ # The devices that match the request.
       { # The device resource.
-        "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.
-        "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
-          "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.
-          "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
-              # gateway.
-          "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
-        },
-        "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.
-        "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.
-        "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'.
-        "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.
-        "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.
-        "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.
-        "logLevel": "A String", # **Beta Feature**
-            #
-            # The logging verbosity for device activity. If unspecified,
-            # DeviceRegistry.log_level will be used.
-        "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.
-        },
-        "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).
-          "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.
-          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-          "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.
+          &quot;lastConfigAckTime&quot;: &quot;A String&quot;, # [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.
+          &quot;gatewayConfig&quot;: { # Gateway-related configuration and state. # Gateway-related configuration and state.
+            &quot;gatewayAuthMethod&quot;: &quot;A String&quot;, # Indicates how to authorize and/or authenticate devices to access the
+                # gateway.
+            &quot;lastAccessedGatewayTime&quot;: &quot;A String&quot;, # [Output only] The most recent time at which the device accessed the gateway
+                # specified in `last_accessed_gateway`.
+            &quot;gatewayType&quot;: &quot;A String&quot;, # Indicates whether the device is a gateway.
+            &quot;lastAccessedGatewayId&quot;: &quot;A String&quot;, # [Output only] The ID of the gateway the device accessed most recently.
+          },
+          &quot;numId&quot;: &quot;A String&quot;, # [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.
+          &quot;blocked&quot;: 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.
+          &quot;lastHeartbeatTime&quot;: &quot;A String&quot;, # [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.
+          &quot;lastEventTime&quot;: &quot;A String&quot;, # [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.
+          &quot;lastConfigSendTime&quot;: &quot;A String&quot;, # [Output only] The last time a cloud-to-device config version was sent to
+              # the device.
+          &quot;lastErrorStatus&quot;: { # 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. &#x27;last_error_time&#x27; 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).
+            &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+            &quot;message&quot;: &quot;A String&quot;, # 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.
+            &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+                # message types for APIs to use.
+              {
+                &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+          },
+          &quot;lastStateTime&quot;: &quot;A String&quot;, # [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.
+          &quot;state&quot;: { # 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.
+            &quot;updateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this state version was updated in Cloud
+                # IoT Core.
+            &quot;binaryData&quot;: &quot;A String&quot;, # The device state data.
+          },
+          &quot;config&quot;: { # 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.
+            &quot;version&quot;: &quot;A String&quot;, # [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.
+            &quot;cloudUpdateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this configuration version was updated in
+                # Cloud IoT Core. This timestamp is set by the server.
+            &quot;deviceAckTime&quot;: &quot;A String&quot;, # [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.
+            &quot;binaryData&quot;: &quot;A String&quot;, # The device configuration data.
+          },
+          &quot;credentials&quot;: [ # 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.
+              &quot;expirationTime&quot;: &quot;A String&quot;, # [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.
+              &quot;publicKey&quot;: { # 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.
+                &quot;key&quot;: &quot;A String&quot;, # The key data.
+                &quot;format&quot;: &quot;A String&quot;, # The format of the key.
+              },
             },
           ],
-        },
-        "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.
-            "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.
-            },
-            "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.
+          &quot;name&quot;: &quot;A String&quot;, # 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.
+          &quot;lastErrorTime&quot;: &quot;A String&quot;, # [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
+              # &#x27;last_error_status&#x27;.
+          &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
+              #
+              # The logging verbosity for device activity. If unspecified,
+              # DeviceRegistry.log_level will be used.
+          &quot;metadata&quot;: { # 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.
+            &quot;a_key&quot;: &quot;A String&quot;,
           },
-        ],
-        "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.
-        "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.
-          "binaryData": "A String", # The device configuration data.
-          "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.
+          &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
+              # within a device registry.
         },
-        "id": "A String", # The user-defined device identifier. The device ID must be unique
-            # within a device registry.
-        "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",
-        },
-      },
     ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # If not empty, indicates that there may be more devices that match the
+        # request; this value should be passed in a new `ListDevicesRequest`.
   }</pre>
 </div>
 
@@ -776,7 +776,7 @@
   previous_response: The response from the request for the previous page. (required)
 
 Returns:
-  A request object that you can call 'execute()' on to request the next
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>
@@ -795,12 +795,12 @@
     The object takes the form of:
 
 { # Request for `ModifyCloudToDeviceConfig`.
-    "versionToUpdate": "A String", # The version number to update. If this value is zero, it will not check the
+    &quot;versionToUpdate&quot;: &quot;A String&quot;, # 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.
+    &quot;binaryData&quot;: &quot;A String&quot;, # Required. The configuration data for the device.
   }
 
   x__xgafv: string, V1 error format.
@@ -812,14 +812,13 @@
   An object of the form:
 
     { # The device configuration. Eventually delivered to devices.
-    "version": "A String", # [Output only] The version of this update. The version number is assigned by
+    &quot;version&quot;: &quot;A String&quot;, # [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
+    &quot;cloudUpdateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this configuration version was updated in
         # Cloud IoT Core. This timestamp is set by the server.
-    "binaryData": "A String", # The device configuration data.
-    "deviceAckTime": "A String", # [Output only] The time at which Cloud IoT Core received the
+    &quot;deviceAckTime&quot;: &quot;A String&quot;, # [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
@@ -828,6 +827,7 @@
         # 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.
+    &quot;binaryData&quot;: &quot;A String&quot;, # The device configuration data.
   }</pre>
 </div>
 
@@ -845,140 +845,140 @@
     The object takes the form of:
 
 { # The device resource.
-  "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.
-  "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
-    "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.
-    "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
-        # gateway.
-    "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
-  },
-  "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.
-  "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.
-  "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'.
-  "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.
-  "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.
-  "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.
-  "logLevel": "A String", # **Beta Feature**
-      # 
-      # The logging verbosity for device activity. If unspecified,
-      # DeviceRegistry.log_level will be used.
-  "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.
-  },
-  "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).
-    "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.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "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.
+    &quot;lastConfigAckTime&quot;: &quot;A String&quot;, # [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.
+    &quot;gatewayConfig&quot;: { # Gateway-related configuration and state. # Gateway-related configuration and state.
+      &quot;gatewayAuthMethod&quot;: &quot;A String&quot;, # Indicates how to authorize and/or authenticate devices to access the
+          # gateway.
+      &quot;lastAccessedGatewayTime&quot;: &quot;A String&quot;, # [Output only] The most recent time at which the device accessed the gateway
+          # specified in `last_accessed_gateway`.
+      &quot;gatewayType&quot;: &quot;A String&quot;, # Indicates whether the device is a gateway.
+      &quot;lastAccessedGatewayId&quot;: &quot;A String&quot;, # [Output only] The ID of the gateway the device accessed most recently.
+    },
+    &quot;numId&quot;: &quot;A String&quot;, # [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.
+    &quot;blocked&quot;: 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.
+    &quot;lastHeartbeatTime&quot;: &quot;A String&quot;, # [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.
+    &quot;lastEventTime&quot;: &quot;A String&quot;, # [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.
+    &quot;lastConfigSendTime&quot;: &quot;A String&quot;, # [Output only] The last time a cloud-to-device config version was sent to
+        # the device.
+    &quot;lastErrorStatus&quot;: { # 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. &#x27;last_error_time&#x27; 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).
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # 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.
+      &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+          # message types for APIs to use.
+        {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      ],
+    },
+    &quot;lastStateTime&quot;: &quot;A String&quot;, # [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.
+    &quot;state&quot;: { # 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.
+      &quot;updateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this state version was updated in Cloud
+          # IoT Core.
+      &quot;binaryData&quot;: &quot;A String&quot;, # The device state data.
+    },
+    &quot;config&quot;: { # 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.
+      &quot;version&quot;: &quot;A String&quot;, # [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.
+      &quot;cloudUpdateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this configuration version was updated in
+          # Cloud IoT Core. This timestamp is set by the server.
+      &quot;deviceAckTime&quot;: &quot;A String&quot;, # [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.
+      &quot;binaryData&quot;: &quot;A String&quot;, # The device configuration data.
+    },
+    &quot;credentials&quot;: [ # 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.
+        &quot;expirationTime&quot;: &quot;A String&quot;, # [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.
+        &quot;publicKey&quot;: { # 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.
+          &quot;key&quot;: &quot;A String&quot;, # The key data.
+          &quot;format&quot;: &quot;A String&quot;, # The format of the key.
+        },
       },
     ],
-  },
-  "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.
-      "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.
-      },
-      "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.
+    &quot;name&quot;: &quot;A String&quot;, # 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.
+    &quot;lastErrorTime&quot;: &quot;A String&quot;, # [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
+        # &#x27;last_error_status&#x27;.
+    &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
+        # 
+        # The logging verbosity for device activity. If unspecified,
+        # DeviceRegistry.log_level will be used.
+    &quot;metadata&quot;: { # 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.
+      &quot;a_key&quot;: &quot;A String&quot;,
     },
-  ],
-  "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.
-  "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.
-    "binaryData": "A String", # The device configuration data.
-    "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.
-  },
-  "id": "A String", # The user-defined device identifier. The device ID must be unique
-      # within a device registry.
-  "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",
-  },
-}
+    &quot;id&quot;: &quot;A String&quot;, # 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
@@ -993,140 +993,140 @@
   An object of the form:
 
     { # The device resource.
-    "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.
-    "gatewayConfig": { # Gateway-related configuration and state. # Gateway-related configuration and state.
-      "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.
-      "gatewayAuthMethod": "A String", # Indicates how to authorize and/or authenticate devices to access the
-          # gateway.
-      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
-    },
-    "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.
-    "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.
-    "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'.
-    "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.
-    "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.
-    "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.
-    "logLevel": "A String", # **Beta Feature**
-        #
-        # The logging verbosity for device activity. If unspecified,
-        # DeviceRegistry.log_level will be used.
-    "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.
-    },
-    "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).
-      "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.
-      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-      "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.
+      &quot;lastConfigAckTime&quot;: &quot;A String&quot;, # [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.
+      &quot;gatewayConfig&quot;: { # Gateway-related configuration and state. # Gateway-related configuration and state.
+        &quot;gatewayAuthMethod&quot;: &quot;A String&quot;, # Indicates how to authorize and/or authenticate devices to access the
+            # gateway.
+        &quot;lastAccessedGatewayTime&quot;: &quot;A String&quot;, # [Output only] The most recent time at which the device accessed the gateway
+            # specified in `last_accessed_gateway`.
+        &quot;gatewayType&quot;: &quot;A String&quot;, # Indicates whether the device is a gateway.
+        &quot;lastAccessedGatewayId&quot;: &quot;A String&quot;, # [Output only] The ID of the gateway the device accessed most recently.
+      },
+      &quot;numId&quot;: &quot;A String&quot;, # [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.
+      &quot;blocked&quot;: 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.
+      &quot;lastHeartbeatTime&quot;: &quot;A String&quot;, # [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.
+      &quot;lastEventTime&quot;: &quot;A String&quot;, # [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.
+      &quot;lastConfigSendTime&quot;: &quot;A String&quot;, # [Output only] The last time a cloud-to-device config version was sent to
+          # the device.
+      &quot;lastErrorStatus&quot;: { # 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. &#x27;last_error_time&#x27; 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).
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;message&quot;: &quot;A String&quot;, # 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.
+        &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+            # message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+      },
+      &quot;lastStateTime&quot;: &quot;A String&quot;, # [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.
+      &quot;state&quot;: { # 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.
+        &quot;updateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this state version was updated in Cloud
+            # IoT Core.
+        &quot;binaryData&quot;: &quot;A String&quot;, # The device state data.
+      },
+      &quot;config&quot;: { # 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.
+        &quot;version&quot;: &quot;A String&quot;, # [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.
+        &quot;cloudUpdateTime&quot;: &quot;A String&quot;, # [Output only] The time at which this configuration version was updated in
+            # Cloud IoT Core. This timestamp is set by the server.
+        &quot;deviceAckTime&quot;: &quot;A String&quot;, # [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.
+        &quot;binaryData&quot;: &quot;A String&quot;, # The device configuration data.
+      },
+      &quot;credentials&quot;: [ # 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.
+          &quot;expirationTime&quot;: &quot;A String&quot;, # [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.
+          &quot;publicKey&quot;: { # 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.
+            &quot;key&quot;: &quot;A String&quot;, # The key data.
+            &quot;format&quot;: &quot;A String&quot;, # The format of the key.
+          },
         },
       ],
-    },
-    "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.
-        "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.
-        },
-        "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.
+      &quot;name&quot;: &quot;A String&quot;, # 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.
+      &quot;lastErrorTime&quot;: &quot;A String&quot;, # [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
+          # &#x27;last_error_status&#x27;.
+      &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
+          #
+          # The logging verbosity for device activity. If unspecified,
+          # DeviceRegistry.log_level will be used.
+      &quot;metadata&quot;: { # 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.
+        &quot;a_key&quot;: &quot;A String&quot;,
       },
-    ],
-    "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.
-    "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.
-      "binaryData": "A String", # The device configuration data.
-      "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.
-    },
-    "id": "A String", # The user-defined device identifier. The device ID must be unique
-        # within a device registry.
-    "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",
-    },
-  }</pre>
+      &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
+          # within a device registry.
+    }</pre>
 </div>
 
 <div class="method">
@@ -1153,12 +1153,12 @@
     The object takes the form of:
 
 { # Request for `SendCommandToDevice`.
-    "binaryData": "A String", # Required. The command data to send to the device.
-    "subfolder": "A String", # Optional subfolder for the command. If empty, the command will be delivered
+    &quot;subfolder&quot;: &quot;A String&quot;, # Optional subfolder for the command. If empty, the command will be delivered
         # to the /devices/{device-id}/commands topic, otherwise it will be delivered
         # to the /devices/{device-id}/commands/{subfolder} topic. Multi-level
         # subfolders are allowed. This field must not have more than 256 characters,
-        # and must not contain any MQTT wildcards ("+" or "#") or null characters.
+        # and must not contain any MQTT wildcards (&quot;+&quot; or &quot;#&quot;) or null characters.
+    &quot;binaryData&quot;: &quot;A String&quot;, # Required. The command data to send to the device.
   }
 
   x__xgafv: string, V1 error format.