docs: update generated docs (#981)

diff --git a/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html b/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
index 9bdb60b..cde2129 100644
--- a/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
+++ b/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
@@ -94,7 +94,7 @@
   <code><a href="#get">get(name, fieldMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets details about a device.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, deviceIds=None, gatewayListOptions_associationsDeviceId=None, deviceNumIds=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=None, fieldMask=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, pageToken=None, fieldMask=None, pageSize=None, deviceIds=None, deviceNumIds=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=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,64 +121,6 @@
     The object takes the form of:
 
 { # The device resource.
-  &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;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;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;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;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;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;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;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
@@ -205,9 +147,18 @@
       },
     },
   ],
+  &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.
@@ -222,22 +173,18 @@
       # maximum number of key-value pairs is 500.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
-  &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
-      # 
-      # The logging verbosity for device activity. If unspecified,
-      # DeviceRegistry.log_level will be used.
   &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
       # within a device registry.
   &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;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;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;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.
@@ -254,6 +201,59 @@
       # 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.
+  },
 }
 
   x__xgafv: string, V1 error format.
@@ -265,64 +265,6 @@
   An object of the form:
 
     { # The device resource.
-    &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;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;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;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;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;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;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;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
@@ -349,9 +291,18 @@
         },
       },
     ],
+    &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.
@@ -366,22 +317,18 @@
         # maximum number of key-value pairs is 500.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
-    &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
-        #
-        # The logging verbosity for device activity. If unspecified,
-        # DeviceRegistry.log_level will be used.
     &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
         # within a device registry.
     &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;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;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;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.
@@ -398,6 +345,59 @@
         # 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.
+    },
   }</pre>
 </div>
 
@@ -448,64 +448,6 @@
   An object of the form:
 
     { # The device resource.
-    &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;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;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;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;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;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;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;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
@@ -532,9 +474,18 @@
         },
       },
     ],
+    &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.
@@ -549,22 +500,18 @@
         # maximum number of key-value pairs is 500.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
-    &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
-        #
-        # The logging verbosity for device activity. If unspecified,
-        # DeviceRegistry.log_level will be used.
     &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
         # within a device registry.
     &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;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;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;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.
@@ -581,24 +528,87 @@
         # 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.
+    },
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, deviceIds=None, gatewayListOptions_associationsDeviceId=None, deviceNumIds=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=None, fieldMask=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, pageToken=None, fieldMask=None, pageSize=None, deviceIds=None, deviceNumIds=None, gatewayListOptions_associationsDeviceId=None, gatewayListOptions_gatewayType=None, gatewayListOptions_associationsGatewayId=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)
+  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.
   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)
   gatewayListOptions_associationsDeviceId: string, If set, returns only the gateways with which the specified device is
 associated. The device ID can be numeric (`num_id`) or the user-defined
 string (`id`). For example, if `456` is specified, returns only the
 gateways to which the device with `num_id` 456 is bound.
-  deviceNumIds: string, A list of device numeric IDs. If empty, this field is ignored. Maximum
-IDs: 10,000. (repeated)
   gatewayListOptions_gatewayType: string, If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY`
 is specified, only non-gateway devices are returned. If
 `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.
@@ -606,16 +616,6 @@
 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.
-  fieldMask: string, The fields of the `Device` resource to be returned in the response. The
-fields `id` and `num_id` are always returned, along with any
-other fields specified.
-  pageToken: string, The value returned by the last `ListDevicesResponse`; indicates
-that this is a continuation of a prior `ListDevices` call and
-the system should return the next page of data.
-  pageSize: integer, The maximum number of devices to return in the response. If this value
-is zero, the service will select a default size. A call may return fewer
-objects than requested. A non-empty `next_page_token` in the response
-indicates that more data is available.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -625,68 +625,8 @@
   An object of the form:
 
     { # Response for `ListDevices`.
-    &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`.
     &quot;devices&quot;: [ # The devices that match the request.
       { # The device resource.
-        &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;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;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;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;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;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;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;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
@@ -713,9 +653,18 @@
             },
           },
         ],
+        &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.
@@ -730,22 +679,18 @@
             # maximum number of key-value pairs is 500.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
-        &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
-            #
-            # The logging verbosity for device activity. If unspecified,
-            # DeviceRegistry.log_level will be used.
         &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
             # within a device registry.
         &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;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;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;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.
@@ -762,8 +707,63 @@
             # 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;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>
 
@@ -845,64 +845,6 @@
     The object takes the form of:
 
 { # The device resource.
-  &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;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;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;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;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;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;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;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
@@ -929,9 +871,18 @@
       },
     },
   ],
+  &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.
@@ -946,22 +897,18 @@
       # maximum number of key-value pairs is 500.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
-  &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
-      # 
-      # The logging verbosity for device activity. If unspecified,
-      # DeviceRegistry.log_level will be used.
   &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
       # within a device registry.
   &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;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;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;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.
@@ -978,6 +925,59 @@
       # 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.
+  },
 }
 
   updateMask: string, Required. Only updates the `device` fields indicated by this mask.
@@ -993,64 +993,6 @@
   An object of the form:
 
     { # The device resource.
-    &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;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;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;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;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;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;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;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
@@ -1077,9 +1019,18 @@
         },
       },
     ],
+    &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.
@@ -1094,22 +1045,18 @@
         # maximum number of key-value pairs is 500.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
-    &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
-        #
-        # The logging verbosity for device activity. If unspecified,
-        # DeviceRegistry.log_level will be used.
     &quot;id&quot;: &quot;A String&quot;, # The user-defined device identifier. The device ID must be unique
         # within a device registry.
     &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;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;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;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.
@@ -1126,6 +1073,59 @@
         # 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.
+    },
   }</pre>
 </div>