blob: 005e659b3688da1d3c83b127f3304df65c877238 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, 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
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, 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
125Args:
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
144Returns:
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
155Args:
156 parent: string, The project and cloud region where this device registry must be created.
157For 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
237Returns:
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
316Args:
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
324Returns:
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
343Args:
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
351Returns:
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.
429Returns an empty policy if the resource exists and does not have a policy
430set.
431
432Args:
433 resource: string, REQUIRED: The resource for which the policy is being requested.
434See 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
446Returns:
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
565Args:
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
569is zero, the service will select a default size. A call may return fewer
570objects than requested. A non-empty `next_page_token` in the response
571indicates that more data is available.
572 pageToken: string, The value returned by the last `ListDeviceRegistriesResponse`; indicates
573that this is a continuation of a prior `ListDeviceRegistries` call and
574the 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
580Returns:
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
666Args:
667 previous_request: The request for the previous page. (required)
668 previous_response: The response from the request for the previous page. (required)
669
670Returns:
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
680Args:
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.
758The field mask must not be empty, and it must not contain fields that
759are immutable or only set by the server.
760Mutable 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
767Returns:
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
845existing policy.
846
847Args:
848 resource: string, REQUIRED: The resource for which the policy is being specified.
849See 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
974Returns:
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.
1092If the resource does not exist, this will return an empty set of
1093permissions, not a NOT_FOUND error.
1094
1095Args:
1096 resource: string, REQUIRED: The resource for which the policy detail is being requested.
1097See 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
1115Returns:
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
1130Args:
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
1149Returns:
1150 An object of the form:
1151
1152 { # Response for `UnbindDeviceFromGateway`.
1153 }</pre>
1154</div>
1155
1156</body></html>