chore: regens API reference docs (#889)

diff --git a/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html b/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
index 7218ff9..187d03b 100644
--- a/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
+++ b/docs/dyn/cloudiot_v1.projects.locations.registries.devices.html
@@ -85,7 +85,7 @@
 <p class="firstline">Returns the states Resource.</p>
 
 <p class="toc_element">
-  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a device in a device registry.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -100,24 +100,24 @@
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
-  <code><a href="#modifyCloudToDeviceConfig">modifyCloudToDeviceConfig(name, body, x__xgafv=None)</a></code></p>
+  <code><a href="#modifyCloudToDeviceConfig">modifyCloudToDeviceConfig(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Modifies the configuration for the device, which is eventually sent from</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates a device.</p>
 <p class="toc_element">
-  <code><a href="#sendCommandToDevice">sendCommandToDevice(name, body, x__xgafv=None)</a></code></p>
+  <code><a href="#sendCommandToDevice">sendCommandToDevice(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Sends a command to the specified device. In order for a device to be able</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
   <pre>Creates a device in a device registry.
 
 Args:
-  parent: string, The name of the device registry where this device should be created.
+  parent: string, Required. The name of the device registry where this device should be created.
 For example,
 `projects/example-project/locations/us-central1/registries/my-registry`. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # The device resource.
@@ -127,13 +127,16 @@
   "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`.
-    "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+    "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.
-    "gatewayType": "A String", # Indicates whether the device is a gateway.
+    "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
   },
-  "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
-      # the device.
+  "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.
@@ -160,6 +163,8 @@
         # 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
@@ -182,9 +187,6 @@
       },
     ],
   },
-  "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.
   "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
@@ -211,20 +213,9 @@
           # this timestamp; however, it will not be automatically deleted.
     },
   ],
-  "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",
-  },
+  "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
@@ -249,11 +240,20 @@
   },
   "id": "A String", # The user-defined device identifier. The device ID must be unique
       # within a device registry.
-  "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.
+  "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.
@@ -271,13 +271,16 @@
     "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`.
-      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+      "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.
-      "gatewayType": "A String", # Indicates whether the device is a gateway.
+      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
     },
-    "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
-        # the device.
+    "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.
@@ -304,6 +307,8 @@
           # 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
@@ -326,9 +331,6 @@
         },
       ],
     },
-    "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.
     "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
@@ -355,20 +357,9 @@
             # this timestamp; however, it will not be automatically deleted.
       },
     ],
-    "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",
-    },
+    "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
@@ -393,11 +384,20 @@
     },
     "id": "A String", # The user-defined device identifier. The device ID must be unique
         # within a device registry.
-    "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.
+    "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>
 </div>
 
@@ -406,7 +406,7 @@
   <pre>Deletes a device.
 
 Args:
-  name: string, The name of the device. For example,
+  name: string, Required. The name of the device. For example,
 `projects/p0/locations/us-central1/registries/registry0/devices/device0` or
 `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. (required)
   x__xgafv: string, V1 error format.
@@ -434,7 +434,7 @@
   <pre>Gets details about a device.
 
 Args:
-  name: string, The name of the device. For example,
+  name: string, Required. The name of the device. For example,
 `projects/p0/locations/us-central1/registries/registry0/devices/device0` or
 `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. (required)
   fieldMask: string, The fields of the `Device` resource to be returned in the response. If the
@@ -454,13 +454,16 @@
     "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`.
-      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+      "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.
-      "gatewayType": "A String", # Indicates whether the device is a gateway.
+      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
     },
-    "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
-        # the device.
+    "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.
@@ -487,6 +490,8 @@
           # 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
@@ -509,9 +514,6 @@
         },
       ],
     },
-    "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.
     "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
@@ -538,20 +540,9 @@
             # this timestamp; however, it will not be automatically deleted.
       },
     ],
-    "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",
-    },
+    "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
@@ -576,11 +567,20 @@
     },
     "id": "A String", # The user-defined device identifier. The device ID must be unique
         # within a device registry.
-    "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.
+    "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>
 </div>
 
@@ -589,7 +589,7 @@
   <pre>List devices in a device registry.
 
 Args:
-  parent: string, The device registry path. Required. For example,
+  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
@@ -635,13 +635,16 @@
         "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`.
-          "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+          "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.
-          "gatewayType": "A String", # Indicates whether the device is a gateway.
+          "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
         },
-        "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
-            # the device.
+        "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.
@@ -668,6 +671,8 @@
               # 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
@@ -690,9 +695,6 @@
             },
           ],
         },
-        "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.
         "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
@@ -719,20 +721,9 @@
                 # this timestamp; however, it will not be automatically deleted.
           },
         ],
-        "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",
-        },
+        "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
@@ -757,11 +748,20 @@
         },
         "id": "A String", # The user-defined device identifier. The device ID must be unique
             # within a device registry.
-        "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.
+        "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>
@@ -782,16 +782,16 @@
 </div>
 
 <div class="method">
-    <code class="details" id="modifyCloudToDeviceConfig">modifyCloudToDeviceConfig(name, body, x__xgafv=None)</code>
+    <code class="details" id="modifyCloudToDeviceConfig">modifyCloudToDeviceConfig(name, body=None, x__xgafv=None)</code>
   <pre>Modifies the configuration for the device, which is eventually sent from
 the Cloud IoT Core servers. Returns the modified configuration version and
 its metadata.
 
 Args:
-  name: string, The name of the device. For example,
+  name: string, Required. The name of the device. For example,
 `projects/p0/locations/us-central1/registries/registry0/devices/device0` or
 `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request for `ModifyCloudToDeviceConfig`.
@@ -800,7 +800,7 @@
         # 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", # The configuration data for the device.
+    "binaryData": "A String", # Required. The configuration data for the device.
   }
 
   x__xgafv: string, V1 error format.
@@ -832,7 +832,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
   <pre>Updates a device.
 
 Args:
@@ -841,7 +841,7 @@
 `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. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # The device resource.
@@ -851,13 +851,16 @@
   "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`.
-    "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+    "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.
-    "gatewayType": "A String", # Indicates whether the device is a gateway.
+    "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
   },
-  "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
-      # the device.
+  "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.
@@ -884,6 +887,8 @@
         # 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
@@ -906,9 +911,6 @@
       },
     ],
   },
-  "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.
   "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
@@ -935,20 +937,9 @@
           # this timestamp; however, it will not be automatically deleted.
     },
   ],
-  "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",
-  },
+  "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
@@ -973,14 +964,23 @@
   },
   "id": "A String", # The user-defined device identifier. The device ID must be unique
       # within a device registry.
-  "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.
+  "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",
+  },
 }
 
-  updateMask: string, Only updates the `device` fields indicated by this mask.
+  updateMask: string, Required. Only updates the `device` fields indicated by this mask.
 The field mask must not be empty, and it must not contain fields that
 are immutable or only set by the server.
 Mutable top-level fields: `credentials`, `blocked`, and `metadata`
@@ -999,13 +999,16 @@
     "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`.
-      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
+      "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.
-      "gatewayType": "A String", # Indicates whether the device is a gateway.
+      "lastAccessedGatewayId": "A String", # [Output only] The ID of the gateway the device accessed most recently.
     },
-    "lastConfigSendTime": "A String", # [Output only] The last time a cloud-to-device config version was sent to
-        # the device.
+    "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.
@@ -1032,6 +1035,8 @@
           # 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
@@ -1054,9 +1059,6 @@
         },
       ],
     },
-    "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.
     "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
@@ -1083,20 +1085,9 @@
             # this timestamp; however, it will not be automatically deleted.
       },
     ],
-    "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",
-    },
+    "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
@@ -1121,16 +1112,25 @@
     },
     "id": "A String", # The user-defined device identifier. The device ID must be unique
         # within a device registry.
-    "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.
+    "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>
 </div>
 
 <div class="method">
-    <code class="details" id="sendCommandToDevice">sendCommandToDevice(name, body, x__xgafv=None)</code>
+    <code class="details" id="sendCommandToDevice">sendCommandToDevice(name, body=None, x__xgafv=None)</code>
   <pre>Sends a command to the specified device. In order for a device to be able
 to receive commands, it must:
 1) be connected to Cloud IoT Core using the MQTT protocol, and
@@ -1146,14 +1146,14 @@
 guaranteed; for QoS 0, no acknowledgment will be expected from the device.
 
 Args:
-  name: string, The name of the device. For example,
+  name: string, Required. The name of the device. For example,
 `projects/p0/locations/us-central1/registries/registry0/devices/device0` or
 `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request for `SendCommandToDevice`.
-    "binaryData": "A String", # The command data to send to the device.
+    "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
         # to the /devices/{device-id}/commands topic, otherwise it will be delivered
         # to the /devices/{device-id}/commands/{subfolder} topic. Multi-level