• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<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>