| Bu Sun Kim | 715bd7f | 2019-06-14 16:50:42 -0700 | [diff] [blame^] | 1 | <html><body> | 
 | 2 | <style> | 
 | 3 |  | 
 | 4 | body, h1, h2, h3, div, span, p, pre, a { | 
 | 5 |   margin: 0; | 
 | 6 |   padding: 0; | 
 | 7 |   border: 0; | 
 | 8 |   font-weight: inherit; | 
 | 9 |   font-style: inherit; | 
 | 10 |   font-size: 100%; | 
 | 11 |   font-family: inherit; | 
 | 12 |   vertical-align: baseline; | 
 | 13 | } | 
 | 14 |  | 
 | 15 | body { | 
 | 16 |   font-size: 13px; | 
 | 17 |   padding: 1em; | 
 | 18 | } | 
 | 19 |  | 
 | 20 | h1 { | 
 | 21 |   font-size: 26px; | 
 | 22 |   margin-bottom: 1em; | 
 | 23 | } | 
 | 24 |  | 
 | 25 | h2 { | 
 | 26 |   font-size: 24px; | 
 | 27 |   margin-bottom: 1em; | 
 | 28 | } | 
 | 29 |  | 
 | 30 | h3 { | 
 | 31 |   font-size: 20px; | 
 | 32 |   margin-bottom: 1em; | 
 | 33 |   margin-top: 1em; | 
 | 34 | } | 
 | 35 |  | 
 | 36 | pre, code { | 
 | 37 |   line-height: 1.5; | 
 | 38 |   font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; | 
 | 39 | } | 
 | 40 |  | 
 | 41 | pre { | 
 | 42 |   margin-top: 0.5em; | 
 | 43 | } | 
 | 44 |  | 
 | 45 | h1, h2, h3, p { | 
 | 46 |   font-family: Arial, sans serif; | 
 | 47 | } | 
 | 48 |  | 
 | 49 | h1, h2, h3 { | 
 | 50 |   border-bottom: solid #CCC 1px; | 
 | 51 | } | 
 | 52 |  | 
 | 53 | .toc_element { | 
 | 54 |   margin-top: 0.5em; | 
 | 55 | } | 
 | 56 |  | 
 | 57 | .firstline { | 
 | 58 |   margin-left: 2 em; | 
 | 59 | } | 
 | 60 |  | 
 | 61 | .method  { | 
 | 62 |   margin-top: 1em; | 
 | 63 |   border: solid 1px #CCC; | 
 | 64 |   padding: 1em; | 
 | 65 |   background: #EEE; | 
 | 66 | } | 
 | 67 |  | 
 | 68 | .details { | 
 | 69 |   font-weight: bold; | 
 | 70 |   font-size: 14px; | 
 | 71 | } | 
 | 72 |  | 
 | 73 | </style> | 
 | 74 |  | 
 | 75 | <h1><a href="cloudiot_v1.html">Cloud IoT API</a> . <a href="cloudiot_v1.projects.html">projects</a> . <a href="cloudiot_v1.projects.locations.html">locations</a> . <a href="cloudiot_v1.projects.locations.registries.html">registries</a></h1> | 
 | 76 | <h2>Instance Methods</h2> | 
 | 77 | <p class="toc_element"> | 
 | 78 |   <code><a href="cloudiot_v1.projects.locations.registries.devices.html">devices()</a></code> | 
 | 79 | </p> | 
 | 80 | <p class="firstline">Returns the devices Resource.</p> | 
 | 81 |  | 
 | 82 | <p class="toc_element"> | 
 | 83 |   <code><a href="cloudiot_v1.projects.locations.registries.groups.html">groups()</a></code> | 
 | 84 | </p> | 
 | 85 | <p class="firstline">Returns the groups Resource.</p> | 
 | 86 |  | 
 | 87 | <p class="toc_element"> | 
 | 88 |   <code><a href="#bindDeviceToGateway">bindDeviceToGateway(parent, body, x__xgafv=None)</a></code></p> | 
 | 89 | <p class="firstline">Associates the device with the gateway.</p> | 
 | 90 | <p class="toc_element"> | 
 | 91 |   <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p> | 
 | 92 | <p class="firstline">Creates a device registry that contains devices.</p> | 
 | 93 | <p class="toc_element"> | 
 | 94 |   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p> | 
 | 95 | <p class="firstline">Deletes a device registry configuration.</p> | 
 | 96 | <p class="toc_element"> | 
 | 97 |   <code><a href="#get">get(name, x__xgafv=None)</a></code></p> | 
 | 98 | <p class="firstline">Gets a device registry configuration.</p> | 
 | 99 | <p class="toc_element"> | 
 | 100 |   <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p> | 
 | 101 | <p class="firstline">Gets the access control policy for a resource.</p> | 
 | 102 | <p class="toc_element"> | 
 | 103 |   <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p> | 
 | 104 | <p class="firstline">Lists device registries.</p> | 
 | 105 | <p class="toc_element"> | 
 | 106 |   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> | 
 | 107 | <p class="firstline">Retrieves the next page of results.</p> | 
 | 108 | <p class="toc_element"> | 
 | 109 |   <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p> | 
 | 110 | <p class="firstline">Updates a device registry configuration.</p> | 
 | 111 | <p class="toc_element"> | 
 | 112 |   <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p> | 
 | 113 | <p class="firstline">Sets the access control policy on the specified resource. Replaces any</p> | 
 | 114 | <p class="toc_element"> | 
 | 115 |   <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p> | 
 | 116 | <p class="firstline">Returns permissions that a caller has on the specified resource.</p> | 
 | 117 | <p class="toc_element"> | 
 | 118 |   <code><a href="#unbindDeviceFromGateway">unbindDeviceFromGateway(parent, body, x__xgafv=None)</a></code></p> | 
 | 119 | <p class="firstline">Deletes the association between the device and the gateway.</p> | 
 | 120 | <h3>Method Details</h3> | 
 | 121 | <div class="method"> | 
 | 122 |     <code class="details" id="bindDeviceToGateway">bindDeviceToGateway(parent, body, x__xgafv=None)</code> | 
 | 123 |   <pre>Associates the device with the gateway. | 
 | 124 |  | 
 | 125 | Args: | 
 | 126 |   parent: string, The name of the registry. For example, | 
 | 127 | `projects/example-project/locations/us-central1/registries/my-registry`. (required) | 
 | 128 |   body: object, The request body. (required) | 
 | 129 |     The object takes the form of: | 
 | 130 |  | 
 | 131 | { # Request for `BindDeviceToGateway`. | 
 | 132 |     "gatewayId": "A String", # The value of `gateway_id` can be either the device numeric ID or the | 
 | 133 |         # user-defined device identifier. | 
 | 134 |     "deviceId": "A String", # The device to associate with the specified gateway. The value of | 
 | 135 |         # `device_id` can be either the device numeric ID or the user-defined device | 
 | 136 |         # identifier. | 
 | 137 |   } | 
 | 138 |  | 
 | 139 |   x__xgafv: string, V1 error format. | 
 | 140 |     Allowed values | 
 | 141 |       1 - v1 error format | 
 | 142 |       2 - v2 error format | 
 | 143 |  | 
 | 144 | Returns: | 
 | 145 |   An object of the form: | 
 | 146 |  | 
 | 147 |     { # Response for `BindDeviceToGateway`. | 
 | 148 |   }</pre> | 
 | 149 | </div> | 
 | 150 |  | 
 | 151 | <div class="method"> | 
 | 152 |     <code class="details" id="create">create(parent, body, x__xgafv=None)</code> | 
 | 153 |   <pre>Creates a device registry that contains devices. | 
 | 154 |  | 
 | 155 | Args: | 
 | 156 |   parent: string, The project and cloud region where this device registry must be created. | 
 | 157 | For example, `projects/example-project/locations/us-central1`. (required) | 
 | 158 |   body: object, The request body. (required) | 
 | 159 |     The object takes the form of: | 
 | 160 |  | 
 | 161 | { # A container for a group of devices. | 
 | 162 |   "name": "A String", # The resource path name. For example, | 
 | 163 |       # `projects/example-project/locations/us-central1/registries/my-registry`. | 
 | 164 |   "stateNotificationConfig": { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device. | 
 | 165 |       # State updates are guaranteed to be stored in the state history, but | 
 | 166 |       # notifications to Cloud Pub/Sub are not guaranteed. For example, if | 
 | 167 |       # permissions are misconfigured or the specified topic doesn't exist, no | 
 | 168 |       # notification will be published but the state will still be stored in Cloud | 
 | 169 |       # IoT Core. | 
 | 170 |     "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 171 |         # `projects/myProject/topics/deviceEvents`. | 
 | 172 |   }, | 
 | 173 |   "logLevel": "A String", # **Beta Feature** | 
 | 174 |       #  | 
 | 175 |       # The default logging verbosity for activity from devices in this registry. | 
 | 176 |       # The verbosity level can be overridden by Device.log_level. | 
 | 177 |   "eventNotificationConfigs": [ # The configuration for notification of telemetry events received from the | 
 | 178 |       # device. All telemetry events that were successfully published by the | 
 | 179 |       # device and acknowledged by Cloud IoT Core are guaranteed to be | 
 | 180 |       # delivered to Cloud Pub/Sub. If multiple configurations match a message, | 
 | 181 |       # only the first matching configuration is used. If you try to publish a | 
 | 182 |       # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic | 
 | 183 |       # for the device's registry, the connection closes automatically. If you try | 
 | 184 |       # to do so using an HTTP connection, an error is returned. Up to 10 | 
 | 185 |       # configurations may be provided. | 
 | 186 |     { # The configuration for forwarding telemetry events. | 
 | 187 |       "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 188 |           # `projects/myProject/topics/deviceEvents`. | 
 | 189 |       "subfolderMatches": "A String", # If the subfolder name matches this string exactly, this configuration will | 
 | 190 |           # be used. The string must not include the leading '/' character. If empty, | 
 | 191 |           # all strings are matched. This field is used only for telemetry events; | 
 | 192 |           # subfolders are not supported for state changes. | 
 | 193 |     }, | 
 | 194 |   ], | 
 | 195 |   "httpConfig": { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry. | 
 | 196 |     "httpEnabledState": "A String", # If enabled, allows devices to use DeviceService via the HTTP protocol. | 
 | 197 |         # Otherwise, any requests to DeviceService will fail for this registry. | 
 | 198 |   }, | 
 | 199 |   "mqttConfig": { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry. | 
 | 200 |     "mqttEnabledState": "A String", # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT | 
 | 201 |         # connections to this registry will fail. | 
 | 202 |   }, | 
 | 203 |   "credentials": [ # The credentials used to verify the device credentials. No more than 10 | 
 | 204 |       # credentials can be bound to a single registry at a time. The verification | 
 | 205 |       # process occurs at the time of device creation or update. If this field is | 
 | 206 |       # empty, no verification is performed. Otherwise, the credentials of a newly | 
 | 207 |       # created device or added credentials of an updated device should be signed | 
 | 208 |       # with one of these registry credentials. | 
 | 209 |       #  | 
 | 210 |       # Note, however, that existing devices will never be affected by | 
 | 211 |       # modifications to this list of credentials: after a device has been | 
 | 212 |       # successfully created in a registry, it should be able to connect even if | 
 | 213 |       # its registry credentials are revoked, deleted, or modified. | 
 | 214 |     { # A server-stored registry credential used to validate device credentials. | 
 | 215 |       "publicKeyCertificate": { # A public key certificate format and data. # A public key certificate used to verify the device credentials. | 
 | 216 |         "x509Details": { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates. | 
 | 217 |           "signatureAlgorithm": "A String", # The algorithm used to sign the certificate. | 
 | 218 |           "expiryTime": "A String", # The time the certificate becomes invalid. | 
 | 219 |           "publicKeyType": "A String", # The type of public key in the certificate. | 
 | 220 |           "startTime": "A String", # The time the certificate becomes valid. | 
 | 221 |           "subject": "A String", # The entity the certificate and public key belong to. | 
 | 222 |           "issuer": "A String", # The entity that signed the certificate. | 
 | 223 |         }, | 
 | 224 |         "certificate": "A String", # The certificate data. | 
 | 225 |         "format": "A String", # The certificate format. | 
 | 226 |       }, | 
 | 227 |     }, | 
 | 228 |   ], | 
 | 229 |   "id": "A String", # The identifier of this device registry. For example, `myRegistry`. | 
 | 230 | } | 
 | 231 |  | 
 | 232 |   x__xgafv: string, V1 error format. | 
 | 233 |     Allowed values | 
 | 234 |       1 - v1 error format | 
 | 235 |       2 - v2 error format | 
 | 236 |  | 
 | 237 | Returns: | 
 | 238 |   An object of the form: | 
 | 239 |  | 
 | 240 |     { # A container for a group of devices. | 
 | 241 |     "name": "A String", # The resource path name. For example, | 
 | 242 |         # `projects/example-project/locations/us-central1/registries/my-registry`. | 
 | 243 |     "stateNotificationConfig": { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device. | 
 | 244 |         # State updates are guaranteed to be stored in the state history, but | 
 | 245 |         # notifications to Cloud Pub/Sub are not guaranteed. For example, if | 
 | 246 |         # permissions are misconfigured or the specified topic doesn't exist, no | 
 | 247 |         # notification will be published but the state will still be stored in Cloud | 
 | 248 |         # IoT Core. | 
 | 249 |       "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 250 |           # `projects/myProject/topics/deviceEvents`. | 
 | 251 |     }, | 
 | 252 |     "logLevel": "A String", # **Beta Feature** | 
 | 253 |         # | 
 | 254 |         # The default logging verbosity for activity from devices in this registry. | 
 | 255 |         # The verbosity level can be overridden by Device.log_level. | 
 | 256 |     "eventNotificationConfigs": [ # The configuration for notification of telemetry events received from the | 
 | 257 |         # device. All telemetry events that were successfully published by the | 
 | 258 |         # device and acknowledged by Cloud IoT Core are guaranteed to be | 
 | 259 |         # delivered to Cloud Pub/Sub. If multiple configurations match a message, | 
 | 260 |         # only the first matching configuration is used. If you try to publish a | 
 | 261 |         # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic | 
 | 262 |         # for the device's registry, the connection closes automatically. If you try | 
 | 263 |         # to do so using an HTTP connection, an error is returned. Up to 10 | 
 | 264 |         # configurations may be provided. | 
 | 265 |       { # The configuration for forwarding telemetry events. | 
 | 266 |         "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 267 |             # `projects/myProject/topics/deviceEvents`. | 
 | 268 |         "subfolderMatches": "A String", # If the subfolder name matches this string exactly, this configuration will | 
 | 269 |             # be used. The string must not include the leading '/' character. If empty, | 
 | 270 |             # all strings are matched. This field is used only for telemetry events; | 
 | 271 |             # subfolders are not supported for state changes. | 
 | 272 |       }, | 
 | 273 |     ], | 
 | 274 |     "httpConfig": { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry. | 
 | 275 |       "httpEnabledState": "A String", # If enabled, allows devices to use DeviceService via the HTTP protocol. | 
 | 276 |           # Otherwise, any requests to DeviceService will fail for this registry. | 
 | 277 |     }, | 
 | 278 |     "mqttConfig": { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry. | 
 | 279 |       "mqttEnabledState": "A String", # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT | 
 | 280 |           # connections to this registry will fail. | 
 | 281 |     }, | 
 | 282 |     "credentials": [ # The credentials used to verify the device credentials. No more than 10 | 
 | 283 |         # credentials can be bound to a single registry at a time. The verification | 
 | 284 |         # process occurs at the time of device creation or update. If this field is | 
 | 285 |         # empty, no verification is performed. Otherwise, the credentials of a newly | 
 | 286 |         # created device or added credentials of an updated device should be signed | 
 | 287 |         # with one of these registry credentials. | 
 | 288 |         # | 
 | 289 |         # Note, however, that existing devices will never be affected by | 
 | 290 |         # modifications to this list of credentials: after a device has been | 
 | 291 |         # successfully created in a registry, it should be able to connect even if | 
 | 292 |         # its registry credentials are revoked, deleted, or modified. | 
 | 293 |       { # A server-stored registry credential used to validate device credentials. | 
 | 294 |         "publicKeyCertificate": { # A public key certificate format and data. # A public key certificate used to verify the device credentials. | 
 | 295 |           "x509Details": { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates. | 
 | 296 |             "signatureAlgorithm": "A String", # The algorithm used to sign the certificate. | 
 | 297 |             "expiryTime": "A String", # The time the certificate becomes invalid. | 
 | 298 |             "publicKeyType": "A String", # The type of public key in the certificate. | 
 | 299 |             "startTime": "A String", # The time the certificate becomes valid. | 
 | 300 |             "subject": "A String", # The entity the certificate and public key belong to. | 
 | 301 |             "issuer": "A String", # The entity that signed the certificate. | 
 | 302 |           }, | 
 | 303 |           "certificate": "A String", # The certificate data. | 
 | 304 |           "format": "A String", # The certificate format. | 
 | 305 |         }, | 
 | 306 |       }, | 
 | 307 |     ], | 
 | 308 |     "id": "A String", # The identifier of this device registry. For example, `myRegistry`. | 
 | 309 |   }</pre> | 
 | 310 | </div> | 
 | 311 |  | 
 | 312 | <div class="method"> | 
 | 313 |     <code class="details" id="delete">delete(name, x__xgafv=None)</code> | 
 | 314 |   <pre>Deletes a device registry configuration. | 
 | 315 |  | 
 | 316 | Args: | 
 | 317 |   name: string, The name of the device registry. For example, | 
 | 318 | `projects/example-project/locations/us-central1/registries/my-registry`. (required) | 
 | 319 |   x__xgafv: string, V1 error format. | 
 | 320 |     Allowed values | 
 | 321 |       1 - v1 error format | 
 | 322 |       2 - v2 error format | 
 | 323 |  | 
 | 324 | Returns: | 
 | 325 |   An object of the form: | 
 | 326 |  | 
 | 327 |     { # A generic empty message that you can re-use to avoid defining duplicated | 
 | 328 |       # empty messages in your APIs. A typical example is to use it as the request | 
 | 329 |       # or the response type of an API method. For instance: | 
 | 330 |       # | 
 | 331 |       #     service Foo { | 
 | 332 |       #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); | 
 | 333 |       #     } | 
 | 334 |       # | 
 | 335 |       # The JSON representation for `Empty` is empty JSON object `{}`. | 
 | 336 |   }</pre> | 
 | 337 | </div> | 
 | 338 |  | 
 | 339 | <div class="method"> | 
 | 340 |     <code class="details" id="get">get(name, x__xgafv=None)</code> | 
 | 341 |   <pre>Gets a device registry configuration. | 
 | 342 |  | 
 | 343 | Args: | 
 | 344 |   name: string, The name of the device registry. For example, | 
 | 345 | `projects/example-project/locations/us-central1/registries/my-registry`. (required) | 
 | 346 |   x__xgafv: string, V1 error format. | 
 | 347 |     Allowed values | 
 | 348 |       1 - v1 error format | 
 | 349 |       2 - v2 error format | 
 | 350 |  | 
 | 351 | Returns: | 
 | 352 |   An object of the form: | 
 | 353 |  | 
 | 354 |     { # A container for a group of devices. | 
 | 355 |     "name": "A String", # The resource path name. For example, | 
 | 356 |         # `projects/example-project/locations/us-central1/registries/my-registry`. | 
 | 357 |     "stateNotificationConfig": { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device. | 
 | 358 |         # State updates are guaranteed to be stored in the state history, but | 
 | 359 |         # notifications to Cloud Pub/Sub are not guaranteed. For example, if | 
 | 360 |         # permissions are misconfigured or the specified topic doesn't exist, no | 
 | 361 |         # notification will be published but the state will still be stored in Cloud | 
 | 362 |         # IoT Core. | 
 | 363 |       "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 364 |           # `projects/myProject/topics/deviceEvents`. | 
 | 365 |     }, | 
 | 366 |     "logLevel": "A String", # **Beta Feature** | 
 | 367 |         # | 
 | 368 |         # The default logging verbosity for activity from devices in this registry. | 
 | 369 |         # The verbosity level can be overridden by Device.log_level. | 
 | 370 |     "eventNotificationConfigs": [ # The configuration for notification of telemetry events received from the | 
 | 371 |         # device. All telemetry events that were successfully published by the | 
 | 372 |         # device and acknowledged by Cloud IoT Core are guaranteed to be | 
 | 373 |         # delivered to Cloud Pub/Sub. If multiple configurations match a message, | 
 | 374 |         # only the first matching configuration is used. If you try to publish a | 
 | 375 |         # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic | 
 | 376 |         # for the device's registry, the connection closes automatically. If you try | 
 | 377 |         # to do so using an HTTP connection, an error is returned. Up to 10 | 
 | 378 |         # configurations may be provided. | 
 | 379 |       { # The configuration for forwarding telemetry events. | 
 | 380 |         "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 381 |             # `projects/myProject/topics/deviceEvents`. | 
 | 382 |         "subfolderMatches": "A String", # If the subfolder name matches this string exactly, this configuration will | 
 | 383 |             # be used. The string must not include the leading '/' character. If empty, | 
 | 384 |             # all strings are matched. This field is used only for telemetry events; | 
 | 385 |             # subfolders are not supported for state changes. | 
 | 386 |       }, | 
 | 387 |     ], | 
 | 388 |     "httpConfig": { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry. | 
 | 389 |       "httpEnabledState": "A String", # If enabled, allows devices to use DeviceService via the HTTP protocol. | 
 | 390 |           # Otherwise, any requests to DeviceService will fail for this registry. | 
 | 391 |     }, | 
 | 392 |     "mqttConfig": { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry. | 
 | 393 |       "mqttEnabledState": "A String", # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT | 
 | 394 |           # connections to this registry will fail. | 
 | 395 |     }, | 
 | 396 |     "credentials": [ # The credentials used to verify the device credentials. No more than 10 | 
 | 397 |         # credentials can be bound to a single registry at a time. The verification | 
 | 398 |         # process occurs at the time of device creation or update. If this field is | 
 | 399 |         # empty, no verification is performed. Otherwise, the credentials of a newly | 
 | 400 |         # created device or added credentials of an updated device should be signed | 
 | 401 |         # with one of these registry credentials. | 
 | 402 |         # | 
 | 403 |         # Note, however, that existing devices will never be affected by | 
 | 404 |         # modifications to this list of credentials: after a device has been | 
 | 405 |         # successfully created in a registry, it should be able to connect even if | 
 | 406 |         # its registry credentials are revoked, deleted, or modified. | 
 | 407 |       { # A server-stored registry credential used to validate device credentials. | 
 | 408 |         "publicKeyCertificate": { # A public key certificate format and data. # A public key certificate used to verify the device credentials. | 
 | 409 |           "x509Details": { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates. | 
 | 410 |             "signatureAlgorithm": "A String", # The algorithm used to sign the certificate. | 
 | 411 |             "expiryTime": "A String", # The time the certificate becomes invalid. | 
 | 412 |             "publicKeyType": "A String", # The type of public key in the certificate. | 
 | 413 |             "startTime": "A String", # The time the certificate becomes valid. | 
 | 414 |             "subject": "A String", # The entity the certificate and public key belong to. | 
 | 415 |             "issuer": "A String", # The entity that signed the certificate. | 
 | 416 |           }, | 
 | 417 |           "certificate": "A String", # The certificate data. | 
 | 418 |           "format": "A String", # The certificate format. | 
 | 419 |         }, | 
 | 420 |       }, | 
 | 421 |     ], | 
 | 422 |     "id": "A String", # The identifier of this device registry. For example, `myRegistry`. | 
 | 423 |   }</pre> | 
 | 424 | </div> | 
 | 425 |  | 
 | 426 | <div class="method"> | 
 | 427 |     <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code> | 
 | 428 |   <pre>Gets the access control policy for a resource. | 
 | 429 | Returns an empty policy if the resource exists and does not have a policy | 
 | 430 | set. | 
 | 431 |  | 
 | 432 | Args: | 
 | 433 |   resource: string, REQUIRED: The resource for which the policy is being requested. | 
 | 434 | See the operation documentation for the appropriate value for this field. (required) | 
 | 435 |   body: object, The request body. | 
 | 436 |     The object takes the form of: | 
 | 437 |  | 
 | 438 | { # Request message for `GetIamPolicy` method. | 
 | 439 |   } | 
 | 440 |  | 
 | 441 |   x__xgafv: string, V1 error format. | 
 | 442 |     Allowed values | 
 | 443 |       1 - v1 error format | 
 | 444 |       2 - v2 error format | 
 | 445 |  | 
 | 446 | Returns: | 
 | 447 |   An object of the form: | 
 | 448 |  | 
 | 449 |     { # Defines an Identity and Access Management (IAM) policy. It is used to | 
 | 450 |       # specify access control policies for Cloud Platform resources. | 
 | 451 |       # | 
 | 452 |       # | 
 | 453 |       # A `Policy` consists of a list of `bindings`. A `binding` binds a list of | 
 | 454 |       # `members` to a `role`, where the members can be user accounts, Google groups, | 
 | 455 |       # Google domains, and service accounts. A `role` is a named list of permissions | 
 | 456 |       # defined by IAM. | 
 | 457 |       # | 
 | 458 |       # **JSON Example** | 
 | 459 |       # | 
 | 460 |       #     { | 
 | 461 |       #       "bindings": [ | 
 | 462 |       #         { | 
 | 463 |       #           "role": "roles/owner", | 
 | 464 |       #           "members": [ | 
 | 465 |       #             "user:mike@example.com", | 
 | 466 |       #             "group:admins@example.com", | 
 | 467 |       #             "domain:google.com", | 
 | 468 |       #             "serviceAccount:my-other-app@appspot.gserviceaccount.com" | 
 | 469 |       #           ] | 
 | 470 |       #         }, | 
 | 471 |       #         { | 
 | 472 |       #           "role": "roles/viewer", | 
 | 473 |       #           "members": ["user:sean@example.com"] | 
 | 474 |       #         } | 
 | 475 |       #       ] | 
 | 476 |       #     } | 
 | 477 |       # | 
 | 478 |       # **YAML Example** | 
 | 479 |       # | 
 | 480 |       #     bindings: | 
 | 481 |       #     - members: | 
 | 482 |       #       - user:mike@example.com | 
 | 483 |       #       - group:admins@example.com | 
 | 484 |       #       - domain:google.com | 
 | 485 |       #       - serviceAccount:my-other-app@appspot.gserviceaccount.com | 
 | 486 |       #       role: roles/owner | 
 | 487 |       #     - members: | 
 | 488 |       #       - user:sean@example.com | 
 | 489 |       #       role: roles/viewer | 
 | 490 |       # | 
 | 491 |       # | 
 | 492 |       # For a description of IAM and its features, see the | 
 | 493 |       # [IAM developer's guide](https://cloud.google.com/iam/docs). | 
 | 494 |     "bindings": [ # Associates a list of `members` to a `role`. | 
 | 495 |         # `bindings` with no members will result in an error. | 
 | 496 |       { # Associates `members` with a `role`. | 
 | 497 |         "role": "A String", # Role that is assigned to `members`. | 
 | 498 |             # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | 
 | 499 |         "members": [ # Specifies the identities requesting access for a Cloud Platform resource. | 
 | 500 |             # `members` can have the following values: | 
 | 501 |             # | 
 | 502 |             # * `allUsers`: A special identifier that represents anyone who is | 
 | 503 |             #    on the internet; with or without a Google account. | 
 | 504 |             # | 
 | 505 |             # * `allAuthenticatedUsers`: A special identifier that represents anyone | 
 | 506 |             #    who is authenticated with a Google account or a service account. | 
 | 507 |             # | 
 | 508 |             # * `user:{emailid}`: An email address that represents a specific Google | 
 | 509 |             #    account. For example, `alice@gmail.com` . | 
 | 510 |             # | 
 | 511 |             # | 
 | 512 |             # * `serviceAccount:{emailid}`: An email address that represents a service | 
 | 513 |             #    account. For example, `my-other-app@appspot.gserviceaccount.com`. | 
 | 514 |             # | 
 | 515 |             # * `group:{emailid}`: An email address that represents a Google group. | 
 | 516 |             #    For example, `admins@example.com`. | 
 | 517 |             # | 
 | 518 |             # | 
 | 519 |             # * `domain:{domain}`: The G Suite domain (primary) that represents all the | 
 | 520 |             #    users of that domain. For example, `google.com` or `example.com`. | 
 | 521 |             # | 
 | 522 |           "A String", | 
 | 523 |         ], | 
 | 524 |         "condition": { # Represents an expression text. Example: # The condition that is associated with this binding. | 
 | 525 |             # NOTE: An unsatisfied condition will not allow user access via current | 
 | 526 |             # binding. Different bindings, including their conditions, are examined | 
 | 527 |             # independently. | 
 | 528 |             # | 
 | 529 |             #     title: "User account presence" | 
 | 530 |             #     description: "Determines whether the request has a user account" | 
 | 531 |             #     expression: "size(request.user) > 0" | 
 | 532 |           "location": "A String", # An optional string indicating the location of the expression for error | 
 | 533 |               # reporting, e.g. a file name and a position in the file. | 
 | 534 |           "expression": "A String", # Textual representation of an expression in | 
 | 535 |               # Common Expression Language syntax. | 
 | 536 |               # | 
 | 537 |               # The application context of the containing message determines which | 
 | 538 |               # well-known feature set of CEL is supported. | 
 | 539 |           "description": "A String", # An optional description of the expression. This is a longer text which | 
 | 540 |               # describes the expression, e.g. when hovered over it in a UI. | 
 | 541 |           "title": "A String", # An optional title for the expression, i.e. a short string describing | 
 | 542 |               # its purpose. This can be used e.g. in UIs which allow to enter the | 
 | 543 |               # expression. | 
 | 544 |         }, | 
 | 545 |       }, | 
 | 546 |     ], | 
 | 547 |     "version": 42, # Deprecated. | 
 | 548 |     "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help | 
 | 549 |         # prevent simultaneous updates of a policy from overwriting each other. | 
 | 550 |         # It is strongly suggested that systems make use of the `etag` in the | 
 | 551 |         # read-modify-write cycle to perform policy updates in order to avoid race | 
 | 552 |         # conditions: An `etag` is returned in the response to `getIamPolicy`, and | 
 | 553 |         # systems are expected to put that etag in the request to `setIamPolicy` to | 
 | 554 |         # ensure that their change will be applied to the same version of the policy. | 
 | 555 |         # | 
 | 556 |         # If no `etag` is provided in the call to `setIamPolicy`, then the existing | 
 | 557 |         # policy is overwritten blindly. | 
 | 558 |   }</pre> | 
 | 559 | </div> | 
 | 560 |  | 
 | 561 | <div class="method"> | 
 | 562 |     <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code> | 
 | 563 |   <pre>Lists device registries. | 
 | 564 |  | 
 | 565 | Args: | 
 | 566 |   parent: string, The project and cloud region path. For example, | 
 | 567 | `projects/example-project/locations/us-central1`. (required) | 
 | 568 |   pageSize: integer, The maximum number of registries to return in the response. If this value | 
 | 569 | is zero, the service will select a default size. A call may return fewer | 
 | 570 | objects than requested. A non-empty `next_page_token` in the response | 
 | 571 | indicates that more data is available. | 
 | 572 |   pageToken: string, The value returned by the last `ListDeviceRegistriesResponse`; indicates | 
 | 573 | that this is a continuation of a prior `ListDeviceRegistries` call and | 
 | 574 | the system should return the next page of data. | 
 | 575 |   x__xgafv: string, V1 error format. | 
 | 576 |     Allowed values | 
 | 577 |       1 - v1 error format | 
 | 578 |       2 - v2 error format | 
 | 579 |  | 
 | 580 | Returns: | 
 | 581 |   An object of the form: | 
 | 582 |  | 
 | 583 |     { # Response for `ListDeviceRegistries`. | 
 | 584 |     "nextPageToken": "A String", # If not empty, indicates that there may be more registries that match the | 
 | 585 |         # request; this value should be passed in a new | 
 | 586 |         # `ListDeviceRegistriesRequest`. | 
 | 587 |     "deviceRegistries": [ # The registries that matched the query. | 
 | 588 |       { # A container for a group of devices. | 
 | 589 |         "name": "A String", # The resource path name. For example, | 
 | 590 |             # `projects/example-project/locations/us-central1/registries/my-registry`. | 
 | 591 |         "stateNotificationConfig": { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device. | 
 | 592 |             # State updates are guaranteed to be stored in the state history, but | 
 | 593 |             # notifications to Cloud Pub/Sub are not guaranteed. For example, if | 
 | 594 |             # permissions are misconfigured or the specified topic doesn't exist, no | 
 | 595 |             # notification will be published but the state will still be stored in Cloud | 
 | 596 |             # IoT Core. | 
 | 597 |           "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 598 |               # `projects/myProject/topics/deviceEvents`. | 
 | 599 |         }, | 
 | 600 |         "logLevel": "A String", # **Beta Feature** | 
 | 601 |             # | 
 | 602 |             # The default logging verbosity for activity from devices in this registry. | 
 | 603 |             # The verbosity level can be overridden by Device.log_level. | 
 | 604 |         "eventNotificationConfigs": [ # The configuration for notification of telemetry events received from the | 
 | 605 |             # device. All telemetry events that were successfully published by the | 
 | 606 |             # device and acknowledged by Cloud IoT Core are guaranteed to be | 
 | 607 |             # delivered to Cloud Pub/Sub. If multiple configurations match a message, | 
 | 608 |             # only the first matching configuration is used. If you try to publish a | 
 | 609 |             # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic | 
 | 610 |             # for the device's registry, the connection closes automatically. If you try | 
 | 611 |             # to do so using an HTTP connection, an error is returned. Up to 10 | 
 | 612 |             # configurations may be provided. | 
 | 613 |           { # The configuration for forwarding telemetry events. | 
 | 614 |             "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 615 |                 # `projects/myProject/topics/deviceEvents`. | 
 | 616 |             "subfolderMatches": "A String", # If the subfolder name matches this string exactly, this configuration will | 
 | 617 |                 # be used. The string must not include the leading '/' character. If empty, | 
 | 618 |                 # all strings are matched. This field is used only for telemetry events; | 
 | 619 |                 # subfolders are not supported for state changes. | 
 | 620 |           }, | 
 | 621 |         ], | 
 | 622 |         "httpConfig": { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry. | 
 | 623 |           "httpEnabledState": "A String", # If enabled, allows devices to use DeviceService via the HTTP protocol. | 
 | 624 |               # Otherwise, any requests to DeviceService will fail for this registry. | 
 | 625 |         }, | 
 | 626 |         "mqttConfig": { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry. | 
 | 627 |           "mqttEnabledState": "A String", # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT | 
 | 628 |               # connections to this registry will fail. | 
 | 629 |         }, | 
 | 630 |         "credentials": [ # The credentials used to verify the device credentials. No more than 10 | 
 | 631 |             # credentials can be bound to a single registry at a time. The verification | 
 | 632 |             # process occurs at the time of device creation or update. If this field is | 
 | 633 |             # empty, no verification is performed. Otherwise, the credentials of a newly | 
 | 634 |             # created device or added credentials of an updated device should be signed | 
 | 635 |             # with one of these registry credentials. | 
 | 636 |             # | 
 | 637 |             # Note, however, that existing devices will never be affected by | 
 | 638 |             # modifications to this list of credentials: after a device has been | 
 | 639 |             # successfully created in a registry, it should be able to connect even if | 
 | 640 |             # its registry credentials are revoked, deleted, or modified. | 
 | 641 |           { # A server-stored registry credential used to validate device credentials. | 
 | 642 |             "publicKeyCertificate": { # A public key certificate format and data. # A public key certificate used to verify the device credentials. | 
 | 643 |               "x509Details": { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates. | 
 | 644 |                 "signatureAlgorithm": "A String", # The algorithm used to sign the certificate. | 
 | 645 |                 "expiryTime": "A String", # The time the certificate becomes invalid. | 
 | 646 |                 "publicKeyType": "A String", # The type of public key in the certificate. | 
 | 647 |                 "startTime": "A String", # The time the certificate becomes valid. | 
 | 648 |                 "subject": "A String", # The entity the certificate and public key belong to. | 
 | 649 |                 "issuer": "A String", # The entity that signed the certificate. | 
 | 650 |               }, | 
 | 651 |               "certificate": "A String", # The certificate data. | 
 | 652 |               "format": "A String", # The certificate format. | 
 | 653 |             }, | 
 | 654 |           }, | 
 | 655 |         ], | 
 | 656 |         "id": "A String", # The identifier of this device registry. For example, `myRegistry`. | 
 | 657 |       }, | 
 | 658 |     ], | 
 | 659 |   }</pre> | 
 | 660 | </div> | 
 | 661 |  | 
 | 662 | <div class="method"> | 
 | 663 |     <code class="details" id="list_next">list_next(previous_request, previous_response)</code> | 
 | 664 |   <pre>Retrieves the next page of results. | 
 | 665 |  | 
 | 666 | Args: | 
 | 667 |   previous_request: The request for the previous page. (required) | 
 | 668 |   previous_response: The response from the request for the previous page. (required) | 
 | 669 |  | 
 | 670 | Returns: | 
 | 671 |   A request object that you can call 'execute()' on to request the next | 
 | 672 |   page. Returns None if there are no more items in the collection. | 
 | 673 |     </pre> | 
 | 674 | </div> | 
 | 675 |  | 
 | 676 | <div class="method"> | 
 | 677 |     <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code> | 
 | 678 |   <pre>Updates a device registry configuration. | 
 | 679 |  | 
 | 680 | Args: | 
 | 681 |   name: string, The resource path name. For example, | 
 | 682 | `projects/example-project/locations/us-central1/registries/my-registry`. (required) | 
 | 683 |   body: object, The request body. (required) | 
 | 684 |     The object takes the form of: | 
 | 685 |  | 
 | 686 | { # A container for a group of devices. | 
 | 687 |   "name": "A String", # The resource path name. For example, | 
 | 688 |       # `projects/example-project/locations/us-central1/registries/my-registry`. | 
 | 689 |   "stateNotificationConfig": { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device. | 
 | 690 |       # State updates are guaranteed to be stored in the state history, but | 
 | 691 |       # notifications to Cloud Pub/Sub are not guaranteed. For example, if | 
 | 692 |       # permissions are misconfigured or the specified topic doesn't exist, no | 
 | 693 |       # notification will be published but the state will still be stored in Cloud | 
 | 694 |       # IoT Core. | 
 | 695 |     "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 696 |         # `projects/myProject/topics/deviceEvents`. | 
 | 697 |   }, | 
 | 698 |   "logLevel": "A String", # **Beta Feature** | 
 | 699 |       #  | 
 | 700 |       # The default logging verbosity for activity from devices in this registry. | 
 | 701 |       # The verbosity level can be overridden by Device.log_level. | 
 | 702 |   "eventNotificationConfigs": [ # The configuration for notification of telemetry events received from the | 
 | 703 |       # device. All telemetry events that were successfully published by the | 
 | 704 |       # device and acknowledged by Cloud IoT Core are guaranteed to be | 
 | 705 |       # delivered to Cloud Pub/Sub. If multiple configurations match a message, | 
 | 706 |       # only the first matching configuration is used. If you try to publish a | 
 | 707 |       # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic | 
 | 708 |       # for the device's registry, the connection closes automatically. If you try | 
 | 709 |       # to do so using an HTTP connection, an error is returned. Up to 10 | 
 | 710 |       # configurations may be provided. | 
 | 711 |     { # The configuration for forwarding telemetry events. | 
 | 712 |       "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 713 |           # `projects/myProject/topics/deviceEvents`. | 
 | 714 |       "subfolderMatches": "A String", # If the subfolder name matches this string exactly, this configuration will | 
 | 715 |           # be used. The string must not include the leading '/' character. If empty, | 
 | 716 |           # all strings are matched. This field is used only for telemetry events; | 
 | 717 |           # subfolders are not supported for state changes. | 
 | 718 |     }, | 
 | 719 |   ], | 
 | 720 |   "httpConfig": { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry. | 
 | 721 |     "httpEnabledState": "A String", # If enabled, allows devices to use DeviceService via the HTTP protocol. | 
 | 722 |         # Otherwise, any requests to DeviceService will fail for this registry. | 
 | 723 |   }, | 
 | 724 |   "mqttConfig": { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry. | 
 | 725 |     "mqttEnabledState": "A String", # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT | 
 | 726 |         # connections to this registry will fail. | 
 | 727 |   }, | 
 | 728 |   "credentials": [ # The credentials used to verify the device credentials. No more than 10 | 
 | 729 |       # credentials can be bound to a single registry at a time. The verification | 
 | 730 |       # process occurs at the time of device creation or update. If this field is | 
 | 731 |       # empty, no verification is performed. Otherwise, the credentials of a newly | 
 | 732 |       # created device or added credentials of an updated device should be signed | 
 | 733 |       # with one of these registry credentials. | 
 | 734 |       #  | 
 | 735 |       # Note, however, that existing devices will never be affected by | 
 | 736 |       # modifications to this list of credentials: after a device has been | 
 | 737 |       # successfully created in a registry, it should be able to connect even if | 
 | 738 |       # its registry credentials are revoked, deleted, or modified. | 
 | 739 |     { # A server-stored registry credential used to validate device credentials. | 
 | 740 |       "publicKeyCertificate": { # A public key certificate format and data. # A public key certificate used to verify the device credentials. | 
 | 741 |         "x509Details": { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates. | 
 | 742 |           "signatureAlgorithm": "A String", # The algorithm used to sign the certificate. | 
 | 743 |           "expiryTime": "A String", # The time the certificate becomes invalid. | 
 | 744 |           "publicKeyType": "A String", # The type of public key in the certificate. | 
 | 745 |           "startTime": "A String", # The time the certificate becomes valid. | 
 | 746 |           "subject": "A String", # The entity the certificate and public key belong to. | 
 | 747 |           "issuer": "A String", # The entity that signed the certificate. | 
 | 748 |         }, | 
 | 749 |         "certificate": "A String", # The certificate data. | 
 | 750 |         "format": "A String", # The certificate format. | 
 | 751 |       }, | 
 | 752 |     }, | 
 | 753 |   ], | 
 | 754 |   "id": "A String", # The identifier of this device registry. For example, `myRegistry`. | 
 | 755 | } | 
 | 756 |  | 
 | 757 |   updateMask: string, Only updates the `device_registry` fields indicated by this mask. | 
 | 758 | The field mask must not be empty, and it must not contain fields that | 
 | 759 | are immutable or only set by the server. | 
 | 760 | Mutable top-level fields: `event_notification_config`, `http_config`, | 
 | 761 | `mqtt_config`, and `state_notification_config`. | 
 | 762 |   x__xgafv: string, V1 error format. | 
 | 763 |     Allowed values | 
 | 764 |       1 - v1 error format | 
 | 765 |       2 - v2 error format | 
 | 766 |  | 
 | 767 | Returns: | 
 | 768 |   An object of the form: | 
 | 769 |  | 
 | 770 |     { # A container for a group of devices. | 
 | 771 |     "name": "A String", # The resource path name. For example, | 
 | 772 |         # `projects/example-project/locations/us-central1/registries/my-registry`. | 
 | 773 |     "stateNotificationConfig": { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device. | 
 | 774 |         # State updates are guaranteed to be stored in the state history, but | 
 | 775 |         # notifications to Cloud Pub/Sub are not guaranteed. For example, if | 
 | 776 |         # permissions are misconfigured or the specified topic doesn't exist, no | 
 | 777 |         # notification will be published but the state will still be stored in Cloud | 
 | 778 |         # IoT Core. | 
 | 779 |       "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 780 |           # `projects/myProject/topics/deviceEvents`. | 
 | 781 |     }, | 
 | 782 |     "logLevel": "A String", # **Beta Feature** | 
 | 783 |         # | 
 | 784 |         # The default logging verbosity for activity from devices in this registry. | 
 | 785 |         # The verbosity level can be overridden by Device.log_level. | 
 | 786 |     "eventNotificationConfigs": [ # The configuration for notification of telemetry events received from the | 
 | 787 |         # device. All telemetry events that were successfully published by the | 
 | 788 |         # device and acknowledged by Cloud IoT Core are guaranteed to be | 
 | 789 |         # delivered to Cloud Pub/Sub. If multiple configurations match a message, | 
 | 790 |         # only the first matching configuration is used. If you try to publish a | 
 | 791 |         # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic | 
 | 792 |         # for the device's registry, the connection closes automatically. If you try | 
 | 793 |         # to do so using an HTTP connection, an error is returned. Up to 10 | 
 | 794 |         # configurations may be provided. | 
 | 795 |       { # The configuration for forwarding telemetry events. | 
 | 796 |         "pubsubTopicName": "A String", # A Cloud Pub/Sub topic name. For example, | 
 | 797 |             # `projects/myProject/topics/deviceEvents`. | 
 | 798 |         "subfolderMatches": "A String", # If the subfolder name matches this string exactly, this configuration will | 
 | 799 |             # be used. The string must not include the leading '/' character. If empty, | 
 | 800 |             # all strings are matched. This field is used only for telemetry events; | 
 | 801 |             # subfolders are not supported for state changes. | 
 | 802 |       }, | 
 | 803 |     ], | 
 | 804 |     "httpConfig": { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry. | 
 | 805 |       "httpEnabledState": "A String", # If enabled, allows devices to use DeviceService via the HTTP protocol. | 
 | 806 |           # Otherwise, any requests to DeviceService will fail for this registry. | 
 | 807 |     }, | 
 | 808 |     "mqttConfig": { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry. | 
 | 809 |       "mqttEnabledState": "A String", # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT | 
 | 810 |           # connections to this registry will fail. | 
 | 811 |     }, | 
 | 812 |     "credentials": [ # The credentials used to verify the device credentials. No more than 10 | 
 | 813 |         # credentials can be bound to a single registry at a time. The verification | 
 | 814 |         # process occurs at the time of device creation or update. If this field is | 
 | 815 |         # empty, no verification is performed. Otherwise, the credentials of a newly | 
 | 816 |         # created device or added credentials of an updated device should be signed | 
 | 817 |         # with one of these registry credentials. | 
 | 818 |         # | 
 | 819 |         # Note, however, that existing devices will never be affected by | 
 | 820 |         # modifications to this list of credentials: after a device has been | 
 | 821 |         # successfully created in a registry, it should be able to connect even if | 
 | 822 |         # its registry credentials are revoked, deleted, or modified. | 
 | 823 |       { # A server-stored registry credential used to validate device credentials. | 
 | 824 |         "publicKeyCertificate": { # A public key certificate format and data. # A public key certificate used to verify the device credentials. | 
 | 825 |           "x509Details": { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates. | 
 | 826 |             "signatureAlgorithm": "A String", # The algorithm used to sign the certificate. | 
 | 827 |             "expiryTime": "A String", # The time the certificate becomes invalid. | 
 | 828 |             "publicKeyType": "A String", # The type of public key in the certificate. | 
 | 829 |             "startTime": "A String", # The time the certificate becomes valid. | 
 | 830 |             "subject": "A String", # The entity the certificate and public key belong to. | 
 | 831 |             "issuer": "A String", # The entity that signed the certificate. | 
 | 832 |           }, | 
 | 833 |           "certificate": "A String", # The certificate data. | 
 | 834 |           "format": "A String", # The certificate format. | 
 | 835 |         }, | 
 | 836 |       }, | 
 | 837 |     ], | 
 | 838 |     "id": "A String", # The identifier of this device registry. For example, `myRegistry`. | 
 | 839 |   }</pre> | 
 | 840 | </div> | 
 | 841 |  | 
 | 842 | <div class="method"> | 
 | 843 |     <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code> | 
 | 844 |   <pre>Sets the access control policy on the specified resource. Replaces any | 
 | 845 | existing policy. | 
 | 846 |  | 
 | 847 | Args: | 
 | 848 |   resource: string, REQUIRED: The resource for which the policy is being specified. | 
 | 849 | See the operation documentation for the appropriate value for this field. (required) | 
 | 850 |   body: object, The request body. (required) | 
 | 851 |     The object takes the form of: | 
 | 852 |  | 
 | 853 | { # Request message for `SetIamPolicy` method. | 
 | 854 |     "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of | 
 | 855 |         # the policy is limited to a few 10s of KB. An empty policy is a | 
 | 856 |         # valid policy but certain Cloud Platform services (such as Projects) | 
 | 857 |         # might reject them. | 
 | 858 |         # specify access control policies for Cloud Platform resources. | 
 | 859 |         # | 
 | 860 |         # | 
 | 861 |         # A `Policy` consists of a list of `bindings`. A `binding` binds a list of | 
 | 862 |         # `members` to a `role`, where the members can be user accounts, Google groups, | 
 | 863 |         # Google domains, and service accounts. A `role` is a named list of permissions | 
 | 864 |         # defined by IAM. | 
 | 865 |         # | 
 | 866 |         # **JSON Example** | 
 | 867 |         # | 
 | 868 |         #     { | 
 | 869 |         #       "bindings": [ | 
 | 870 |         #         { | 
 | 871 |         #           "role": "roles/owner", | 
 | 872 |         #           "members": [ | 
 | 873 |         #             "user:mike@example.com", | 
 | 874 |         #             "group:admins@example.com", | 
 | 875 |         #             "domain:google.com", | 
 | 876 |         #             "serviceAccount:my-other-app@appspot.gserviceaccount.com" | 
 | 877 |         #           ] | 
 | 878 |         #         }, | 
 | 879 |         #         { | 
 | 880 |         #           "role": "roles/viewer", | 
 | 881 |         #           "members": ["user:sean@example.com"] | 
 | 882 |         #         } | 
 | 883 |         #       ] | 
 | 884 |         #     } | 
 | 885 |         # | 
 | 886 |         # **YAML Example** | 
 | 887 |         # | 
 | 888 |         #     bindings: | 
 | 889 |         #     - members: | 
 | 890 |         #       - user:mike@example.com | 
 | 891 |         #       - group:admins@example.com | 
 | 892 |         #       - domain:google.com | 
 | 893 |         #       - serviceAccount:my-other-app@appspot.gserviceaccount.com | 
 | 894 |         #       role: roles/owner | 
 | 895 |         #     - members: | 
 | 896 |         #       - user:sean@example.com | 
 | 897 |         #       role: roles/viewer | 
 | 898 |         # | 
 | 899 |         # | 
 | 900 |         # For a description of IAM and its features, see the | 
 | 901 |         # [IAM developer's guide](https://cloud.google.com/iam/docs). | 
 | 902 |       "bindings": [ # Associates a list of `members` to a `role`. | 
 | 903 |           # `bindings` with no members will result in an error. | 
 | 904 |         { # Associates `members` with a `role`. | 
 | 905 |           "role": "A String", # Role that is assigned to `members`. | 
 | 906 |               # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | 
 | 907 |           "members": [ # Specifies the identities requesting access for a Cloud Platform resource. | 
 | 908 |               # `members` can have the following values: | 
 | 909 |               # | 
 | 910 |               # * `allUsers`: A special identifier that represents anyone who is | 
 | 911 |               #    on the internet; with or without a Google account. | 
 | 912 |               # | 
 | 913 |               # * `allAuthenticatedUsers`: A special identifier that represents anyone | 
 | 914 |               #    who is authenticated with a Google account or a service account. | 
 | 915 |               # | 
 | 916 |               # * `user:{emailid}`: An email address that represents a specific Google | 
 | 917 |               #    account. For example, `alice@gmail.com` . | 
 | 918 |               # | 
 | 919 |               # | 
 | 920 |               # * `serviceAccount:{emailid}`: An email address that represents a service | 
 | 921 |               #    account. For example, `my-other-app@appspot.gserviceaccount.com`. | 
 | 922 |               # | 
 | 923 |               # * `group:{emailid}`: An email address that represents a Google group. | 
 | 924 |               #    For example, `admins@example.com`. | 
 | 925 |               # | 
 | 926 |               # | 
 | 927 |               # * `domain:{domain}`: The G Suite domain (primary) that represents all the | 
 | 928 |               #    users of that domain. For example, `google.com` or `example.com`. | 
 | 929 |               # | 
 | 930 |             "A String", | 
 | 931 |           ], | 
 | 932 |           "condition": { # Represents an expression text. Example: # The condition that is associated with this binding. | 
 | 933 |               # NOTE: An unsatisfied condition will not allow user access via current | 
 | 934 |               # binding. Different bindings, including their conditions, are examined | 
 | 935 |               # independently. | 
 | 936 |               # | 
 | 937 |               #     title: "User account presence" | 
 | 938 |               #     description: "Determines whether the request has a user account" | 
 | 939 |               #     expression: "size(request.user) > 0" | 
 | 940 |             "location": "A String", # An optional string indicating the location of the expression for error | 
 | 941 |                 # reporting, e.g. a file name and a position in the file. | 
 | 942 |             "expression": "A String", # Textual representation of an expression in | 
 | 943 |                 # Common Expression Language syntax. | 
 | 944 |                 # | 
 | 945 |                 # The application context of the containing message determines which | 
 | 946 |                 # well-known feature set of CEL is supported. | 
 | 947 |             "description": "A String", # An optional description of the expression. This is a longer text which | 
 | 948 |                 # describes the expression, e.g. when hovered over it in a UI. | 
 | 949 |             "title": "A String", # An optional title for the expression, i.e. a short string describing | 
 | 950 |                 # its purpose. This can be used e.g. in UIs which allow to enter the | 
 | 951 |                 # expression. | 
 | 952 |           }, | 
 | 953 |         }, | 
 | 954 |       ], | 
 | 955 |       "version": 42, # Deprecated. | 
 | 956 |       "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help | 
 | 957 |           # prevent simultaneous updates of a policy from overwriting each other. | 
 | 958 |           # It is strongly suggested that systems make use of the `etag` in the | 
 | 959 |           # read-modify-write cycle to perform policy updates in order to avoid race | 
 | 960 |           # conditions: An `etag` is returned in the response to `getIamPolicy`, and | 
 | 961 |           # systems are expected to put that etag in the request to `setIamPolicy` to | 
 | 962 |           # ensure that their change will be applied to the same version of the policy. | 
 | 963 |           # | 
 | 964 |           # If no `etag` is provided in the call to `setIamPolicy`, then the existing | 
 | 965 |           # policy is overwritten blindly. | 
 | 966 |     }, | 
 | 967 |   } | 
 | 968 |  | 
 | 969 |   x__xgafv: string, V1 error format. | 
 | 970 |     Allowed values | 
 | 971 |       1 - v1 error format | 
 | 972 |       2 - v2 error format | 
 | 973 |  | 
 | 974 | Returns: | 
 | 975 |   An object of the form: | 
 | 976 |  | 
 | 977 |     { # Defines an Identity and Access Management (IAM) policy. It is used to | 
 | 978 |       # specify access control policies for Cloud Platform resources. | 
 | 979 |       # | 
 | 980 |       # | 
 | 981 |       # A `Policy` consists of a list of `bindings`. A `binding` binds a list of | 
 | 982 |       # `members` to a `role`, where the members can be user accounts, Google groups, | 
 | 983 |       # Google domains, and service accounts. A `role` is a named list of permissions | 
 | 984 |       # defined by IAM. | 
 | 985 |       # | 
 | 986 |       # **JSON Example** | 
 | 987 |       # | 
 | 988 |       #     { | 
 | 989 |       #       "bindings": [ | 
 | 990 |       #         { | 
 | 991 |       #           "role": "roles/owner", | 
 | 992 |       #           "members": [ | 
 | 993 |       #             "user:mike@example.com", | 
 | 994 |       #             "group:admins@example.com", | 
 | 995 |       #             "domain:google.com", | 
 | 996 |       #             "serviceAccount:my-other-app@appspot.gserviceaccount.com" | 
 | 997 |       #           ] | 
 | 998 |       #         }, | 
 | 999 |       #         { | 
 | 1000 |       #           "role": "roles/viewer", | 
 | 1001 |       #           "members": ["user:sean@example.com"] | 
 | 1002 |       #         } | 
 | 1003 |       #       ] | 
 | 1004 |       #     } | 
 | 1005 |       # | 
 | 1006 |       # **YAML Example** | 
 | 1007 |       # | 
 | 1008 |       #     bindings: | 
 | 1009 |       #     - members: | 
 | 1010 |       #       - user:mike@example.com | 
 | 1011 |       #       - group:admins@example.com | 
 | 1012 |       #       - domain:google.com | 
 | 1013 |       #       - serviceAccount:my-other-app@appspot.gserviceaccount.com | 
 | 1014 |       #       role: roles/owner | 
 | 1015 |       #     - members: | 
 | 1016 |       #       - user:sean@example.com | 
 | 1017 |       #       role: roles/viewer | 
 | 1018 |       # | 
 | 1019 |       # | 
 | 1020 |       # For a description of IAM and its features, see the | 
 | 1021 |       # [IAM developer's guide](https://cloud.google.com/iam/docs). | 
 | 1022 |     "bindings": [ # Associates a list of `members` to a `role`. | 
 | 1023 |         # `bindings` with no members will result in an error. | 
 | 1024 |       { # Associates `members` with a `role`. | 
 | 1025 |         "role": "A String", # Role that is assigned to `members`. | 
 | 1026 |             # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | 
 | 1027 |         "members": [ # Specifies the identities requesting access for a Cloud Platform resource. | 
 | 1028 |             # `members` can have the following values: | 
 | 1029 |             # | 
 | 1030 |             # * `allUsers`: A special identifier that represents anyone who is | 
 | 1031 |             #    on the internet; with or without a Google account. | 
 | 1032 |             # | 
 | 1033 |             # * `allAuthenticatedUsers`: A special identifier that represents anyone | 
 | 1034 |             #    who is authenticated with a Google account or a service account. | 
 | 1035 |             # | 
 | 1036 |             # * `user:{emailid}`: An email address that represents a specific Google | 
 | 1037 |             #    account. For example, `alice@gmail.com` . | 
 | 1038 |             # | 
 | 1039 |             # | 
 | 1040 |             # * `serviceAccount:{emailid}`: An email address that represents a service | 
 | 1041 |             #    account. For example, `my-other-app@appspot.gserviceaccount.com`. | 
 | 1042 |             # | 
 | 1043 |             # * `group:{emailid}`: An email address that represents a Google group. | 
 | 1044 |             #    For example, `admins@example.com`. | 
 | 1045 |             # | 
 | 1046 |             # | 
 | 1047 |             # * `domain:{domain}`: The G Suite domain (primary) that represents all the | 
 | 1048 |             #    users of that domain. For example, `google.com` or `example.com`. | 
 | 1049 |             # | 
 | 1050 |           "A String", | 
 | 1051 |         ], | 
 | 1052 |         "condition": { # Represents an expression text. Example: # The condition that is associated with this binding. | 
 | 1053 |             # NOTE: An unsatisfied condition will not allow user access via current | 
 | 1054 |             # binding. Different bindings, including their conditions, are examined | 
 | 1055 |             # independently. | 
 | 1056 |             # | 
 | 1057 |             #     title: "User account presence" | 
 | 1058 |             #     description: "Determines whether the request has a user account" | 
 | 1059 |             #     expression: "size(request.user) > 0" | 
 | 1060 |           "location": "A String", # An optional string indicating the location of the expression for error | 
 | 1061 |               # reporting, e.g. a file name and a position in the file. | 
 | 1062 |           "expression": "A String", # Textual representation of an expression in | 
 | 1063 |               # Common Expression Language syntax. | 
 | 1064 |               # | 
 | 1065 |               # The application context of the containing message determines which | 
 | 1066 |               # well-known feature set of CEL is supported. | 
 | 1067 |           "description": "A String", # An optional description of the expression. This is a longer text which | 
 | 1068 |               # describes the expression, e.g. when hovered over it in a UI. | 
 | 1069 |           "title": "A String", # An optional title for the expression, i.e. a short string describing | 
 | 1070 |               # its purpose. This can be used e.g. in UIs which allow to enter the | 
 | 1071 |               # expression. | 
 | 1072 |         }, | 
 | 1073 |       }, | 
 | 1074 |     ], | 
 | 1075 |     "version": 42, # Deprecated. | 
 | 1076 |     "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help | 
 | 1077 |         # prevent simultaneous updates of a policy from overwriting each other. | 
 | 1078 |         # It is strongly suggested that systems make use of the `etag` in the | 
 | 1079 |         # read-modify-write cycle to perform policy updates in order to avoid race | 
 | 1080 |         # conditions: An `etag` is returned in the response to `getIamPolicy`, and | 
 | 1081 |         # systems are expected to put that etag in the request to `setIamPolicy` to | 
 | 1082 |         # ensure that their change will be applied to the same version of the policy. | 
 | 1083 |         # | 
 | 1084 |         # If no `etag` is provided in the call to `setIamPolicy`, then the existing | 
 | 1085 |         # policy is overwritten blindly. | 
 | 1086 |   }</pre> | 
 | 1087 | </div> | 
 | 1088 |  | 
 | 1089 | <div class="method"> | 
 | 1090 |     <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code> | 
 | 1091 |   <pre>Returns permissions that a caller has on the specified resource. | 
 | 1092 | If the resource does not exist, this will return an empty set of | 
 | 1093 | permissions, not a NOT_FOUND error. | 
 | 1094 |  | 
 | 1095 | Args: | 
 | 1096 |   resource: string, REQUIRED: The resource for which the policy detail is being requested. | 
 | 1097 | See the operation documentation for the appropriate value for this field. (required) | 
 | 1098 |   body: object, The request body. (required) | 
 | 1099 |     The object takes the form of: | 
 | 1100 |  | 
 | 1101 | { # Request message for `TestIamPermissions` method. | 
 | 1102 |     "permissions": [ # The set of permissions to check for the `resource`. Permissions with | 
 | 1103 |         # wildcards (such as '*' or 'storage.*') are not allowed. For more | 
 | 1104 |         # information see | 
 | 1105 |         # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). | 
 | 1106 |       "A String", | 
 | 1107 |     ], | 
 | 1108 |   } | 
 | 1109 |  | 
 | 1110 |   x__xgafv: string, V1 error format. | 
 | 1111 |     Allowed values | 
 | 1112 |       1 - v1 error format | 
 | 1113 |       2 - v2 error format | 
 | 1114 |  | 
 | 1115 | Returns: | 
 | 1116 |   An object of the form: | 
 | 1117 |  | 
 | 1118 |     { # Response message for `TestIamPermissions` method. | 
 | 1119 |     "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is | 
 | 1120 |         # allowed. | 
 | 1121 |       "A String", | 
 | 1122 |     ], | 
 | 1123 |   }</pre> | 
 | 1124 | </div> | 
 | 1125 |  | 
 | 1126 | <div class="method"> | 
 | 1127 |     <code class="details" id="unbindDeviceFromGateway">unbindDeviceFromGateway(parent, body, x__xgafv=None)</code> | 
 | 1128 |   <pre>Deletes the association between the device and the gateway. | 
 | 1129 |  | 
 | 1130 | Args: | 
 | 1131 |   parent: string, The name of the registry. For example, | 
 | 1132 | `projects/example-project/locations/us-central1/registries/my-registry`. (required) | 
 | 1133 |   body: object, The request body. (required) | 
 | 1134 |     The object takes the form of: | 
 | 1135 |  | 
 | 1136 | { # Request for `UnbindDeviceFromGateway`. | 
 | 1137 |     "gatewayId": "A String", # The value of `gateway_id` can be either the device numeric ID or the | 
 | 1138 |         # user-defined device identifier. | 
 | 1139 |     "deviceId": "A String", # The device to disassociate from the specified gateway. The value of | 
 | 1140 |         # `device_id` can be either the device numeric ID or the user-defined device | 
 | 1141 |         # identifier. | 
 | 1142 |   } | 
 | 1143 |  | 
 | 1144 |   x__xgafv: string, V1 error format. | 
 | 1145 |     Allowed values | 
 | 1146 |       1 - v1 error format | 
 | 1147 |       2 - v2 error format | 
 | 1148 |  | 
 | 1149 | Returns: | 
 | 1150 |   An object of the form: | 
 | 1151 |  | 
 | 1152 |     { # Response for `UnbindDeviceFromGateway`. | 
 | 1153 |   }</pre> | 
 | 1154 | </div> | 
 | 1155 |  | 
 | 1156 | </body></html> |