blob: e956986de1ace8b9b7421189496c9d2cfdfda4fc [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">
Dan O'Mearadd494642020-05-01 07:42:23 -070088 <code><a href="#bindDeviceToGateway">bindDeviceToGateway(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070089<p class="firstline">Associates the device with the gateway.</p>
90<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070091 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070092<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">
Bu Sun Kim65020912020-05-20 12:08:20 -0700103 <code><a href="#list">list(parent, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700104<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">
Dan O'Mearadd494642020-05-01 07:42:23 -0700109 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700110<p class="firstline">Updates a device registry configuration.</p>
111<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700112 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700113<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
114<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700115 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700116<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
117<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700118 <code><a href="#unbindDeviceFromGateway">unbindDeviceFromGateway(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700119<p class="firstline">Deletes the association between the device and the gateway.</p>
120<h3>Method Details</h3>
121<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700122 <code class="details" id="bindDeviceToGateway">bindDeviceToGateway(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700123 <pre>Associates the device with the gateway.
124
125Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700126 parent: string, Required. The name of the registry. For example,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700127`projects/example-project/locations/us-central1/registries/my-registry`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700128 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700129 The object takes the form of:
130
131{ # Request for `BindDeviceToGateway`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700132 &quot;deviceId&quot;: &quot;A String&quot;, # Required. The device to associate with the specified gateway. The value of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700133 # `device_id` can be either the device numeric ID or the user-defined device
134 # identifier.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700135 &quot;gatewayId&quot;: &quot;A String&quot;, # Required. The value of `gateway_id` can be either the device numeric ID or the
136 # user-defined device identifier.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700137 }
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">
Dan O'Mearadd494642020-05-01 07:42:23 -0700152 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700153 <pre>Creates a device registry that contains devices.
154
155Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700156 parent: string, Required. The project and cloud region where this device registry must be created.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700157For example, `projects/example-project/locations/us-central1`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700158 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700159 The object takes the form of:
160
161{ # A container for a group of devices.
Bu Sun Kim65020912020-05-20 12:08:20 -0700162 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700163 # credentials can be bound to a single registry at a time. The verification
164 # process occurs at the time of device creation or update. If this field is
165 # empty, no verification is performed. Otherwise, the credentials of a newly
166 # created device or added credentials of an updated device should be signed
167 # with one of these registry credentials.
168 #
169 # Note, however, that existing devices will never be affected by
170 # modifications to this list of credentials: after a device has been
171 # successfully created in a registry, it should be able to connect even if
172 # its registry credentials are revoked, deleted, or modified.
173 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700174 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
175 &quot;x509Details&quot;: { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates.
Bu Sun Kim65020912020-05-20 12:08:20 -0700176 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
177 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
178 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
179 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700180 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
181 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700182 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700183 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700184 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700185 },
186 },
187 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700188 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
189 # `projects/example-project/locations/us-central1/registries/my-registry`.
190 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
191 # device. All telemetry events that were successfully published by the
192 # device and acknowledged by Cloud IoT Core are guaranteed to be
193 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
194 # only the first matching configuration is used. If you try to publish a
195 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
196 # for the device&#x27;s registry, the connection closes automatically. If you try
197 # to do so using an HTTP connection, an error is returned. Up to 10
198 # configurations may be provided.
199 { # The configuration for forwarding telemetry events.
200 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
201 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
202 # all strings are matched. This field is used only for telemetry events;
203 # subfolders are not supported for state changes.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700204 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
205 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700206 },
207 ],
208 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
209 #
210 # The default logging verbosity for activity from devices in this registry.
211 # The verbosity level can be overridden by Device.log_level.
212 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
213 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
214 # Otherwise, any requests to DeviceService will fail for this registry.
215 },
216 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
217 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
218 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
219 # connections to this registry will fail.
220 },
221 &quot;stateNotificationConfig&quot;: { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device.
222 # State updates are guaranteed to be stored in the state history, but
223 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
224 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
225 # notification will be published but the state will still be stored in Cloud
226 # IoT Core.
227 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
228 # `projects/myProject/topics/deviceEvents`.
229 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700230}
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.
Bu Sun Kim65020912020-05-20 12:08:20 -0700241 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700242 # credentials can be bound to a single registry at a time. The verification
243 # process occurs at the time of device creation or update. If this field is
244 # empty, no verification is performed. Otherwise, the credentials of a newly
245 # created device or added credentials of an updated device should be signed
246 # with one of these registry credentials.
247 #
248 # Note, however, that existing devices will never be affected by
249 # modifications to this list of credentials: after a device has been
250 # successfully created in a registry, it should be able to connect even if
251 # its registry credentials are revoked, deleted, or modified.
252 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700253 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
254 &quot;x509Details&quot;: { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates.
Bu Sun Kim65020912020-05-20 12:08:20 -0700255 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
256 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
257 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
258 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700259 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
260 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700261 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700262 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700263 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700264 },
265 },
266 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700267 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
268 # `projects/example-project/locations/us-central1/registries/my-registry`.
269 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
270 # device. All telemetry events that were successfully published by the
271 # device and acknowledged by Cloud IoT Core are guaranteed to be
272 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
273 # only the first matching configuration is used. If you try to publish a
274 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
275 # for the device&#x27;s registry, the connection closes automatically. If you try
276 # to do so using an HTTP connection, an error is returned. Up to 10
277 # configurations may be provided.
278 { # The configuration for forwarding telemetry events.
279 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
280 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
281 # all strings are matched. This field is used only for telemetry events;
282 # subfolders are not supported for state changes.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700283 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
284 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700285 },
286 ],
287 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
288 #
289 # The default logging verbosity for activity from devices in this registry.
290 # The verbosity level can be overridden by Device.log_level.
291 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
292 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
293 # Otherwise, any requests to DeviceService will fail for this registry.
294 },
295 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
296 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
297 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
298 # connections to this registry will fail.
299 },
300 &quot;stateNotificationConfig&quot;: { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device.
301 # State updates are guaranteed to be stored in the state history, but
302 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
303 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
304 # notification will be published but the state will still be stored in Cloud
305 # IoT Core.
306 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
307 # `projects/myProject/topics/deviceEvents`.
308 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700309 }</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:
Dan O'Mearadd494642020-05-01 07:42:23 -0700317 name: string, Required. The name of the device registry. For example,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700318`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:
Dan O'Mearadd494642020-05-01 07:42:23 -0700344 name: string, Required. The name of the device registry. For example,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700345`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.
Bu Sun Kim65020912020-05-20 12:08:20 -0700355 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700356 # credentials can be bound to a single registry at a time. The verification
357 # process occurs at the time of device creation or update. If this field is
358 # empty, no verification is performed. Otherwise, the credentials of a newly
359 # created device or added credentials of an updated device should be signed
360 # with one of these registry credentials.
361 #
362 # Note, however, that existing devices will never be affected by
363 # modifications to this list of credentials: after a device has been
364 # successfully created in a registry, it should be able to connect even if
365 # its registry credentials are revoked, deleted, or modified.
366 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700367 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
368 &quot;x509Details&quot;: { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates.
Bu Sun Kim65020912020-05-20 12:08:20 -0700369 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
370 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
371 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
372 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700373 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
374 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700375 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700376 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700377 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700378 },
379 },
380 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700381 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
382 # `projects/example-project/locations/us-central1/registries/my-registry`.
383 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
384 # device. All telemetry events that were successfully published by the
385 # device and acknowledged by Cloud IoT Core are guaranteed to be
386 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
387 # only the first matching configuration is used. If you try to publish a
388 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
389 # for the device&#x27;s registry, the connection closes automatically. If you try
390 # to do so using an HTTP connection, an error is returned. Up to 10
391 # configurations may be provided.
392 { # The configuration for forwarding telemetry events.
393 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
394 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
395 # all strings are matched. This field is used only for telemetry events;
396 # subfolders are not supported for state changes.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700397 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
398 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700399 },
400 ],
401 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
402 #
403 # The default logging verbosity for activity from devices in this registry.
404 # The verbosity level can be overridden by Device.log_level.
405 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
406 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
407 # Otherwise, any requests to DeviceService will fail for this registry.
408 },
409 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
410 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
411 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
412 # connections to this registry will fail.
413 },
414 &quot;stateNotificationConfig&quot;: { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device.
415 # State updates are guaranteed to be stored in the state history, but
416 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
417 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
418 # notification will be published but the state will still be stored in Cloud
419 # IoT Core.
420 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
421 # `projects/myProject/topics/deviceEvents`.
422 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700423 }</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.
Bu Sun Kim65020912020-05-20 12:08:20 -0700439 &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
Dan O'Mearadd494642020-05-01 07:42:23 -0700440 # `GetIamPolicy`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700441 &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned.
Dan O'Mearadd494642020-05-01 07:42:23 -0700442 #
443 # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
444 # rejected.
445 #
446 # Requests for policies with any conditional bindings must specify version 3.
447 # Policies without any conditional bindings may specify any valid value or
448 # leave the field unset.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700449 #
450 # To learn which resources support conditions in their IAM policies, see the
451 # [IAM
452 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -0700453 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700454 }
455
456 x__xgafv: string, V1 error format.
457 Allowed values
458 1 - v1 error format
459 2 - v2 error format
460
461Returns:
462 An object of the form:
463
Dan O'Mearadd494642020-05-01 07:42:23 -0700464 { # An Identity and Access Management (IAM) policy, which specifies access
465 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700466 #
467 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700468 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
469 # `members` to a single `role`. Members can be user accounts, service accounts,
470 # Google groups, and domains (such as G Suite). A `role` is a named list of
471 # permissions; each `role` can be an IAM predefined role or a user-created
472 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700473 #
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700474 # For some types of Google Cloud resources, a `binding` can also specify a
475 # `condition`, which is a logical expression that allows access to a resource
476 # only if the expression evaluates to `true`. A condition can add constraints
477 # based on attributes of the request, the resource, or both. To learn which
478 # resources support conditions in their IAM policies, see the
479 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -0700480 #
481 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700482 #
483 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700484 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700485 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700486 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
487 # &quot;members&quot;: [
488 # &quot;user:mike@example.com&quot;,
489 # &quot;group:admins@example.com&quot;,
490 # &quot;domain:google.com&quot;,
491 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700492 # ]
493 # },
494 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700495 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700496 # &quot;members&quot;: [
497 # &quot;user:eve@example.com&quot;
498 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700499 # &quot;condition&quot;: {
500 # &quot;title&quot;: &quot;expirable access&quot;,
501 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
502 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700503 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700504 # }
Dan O'Mearadd494642020-05-01 07:42:23 -0700505 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700506 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
507 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700508 # }
509 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700510 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700511 #
512 # bindings:
513 # - members:
514 # - user:mike@example.com
515 # - group:admins@example.com
516 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -0700517 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
518 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700519 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -0700520 # - user:eve@example.com
521 # role: roles/resourcemanager.organizationViewer
522 # condition:
523 # title: expirable access
524 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -0700525 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -0700526 # - etag: BwWWja0YfJA=
527 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700528 #
529 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -0700530 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -0700531 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -0700532 # `condition` that determines how and when the `bindings` are applied. Each
533 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700534 { # Associates `members` with a `role`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700535 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
536 #
537 # If the condition evaluates to `true`, then this binding applies to the
538 # current request.
539 #
540 # If the condition evaluates to `false`, then this binding does not apply to
541 # the current request. However, a different role binding might grant the same
542 # role to one or more of the members in this binding.
543 #
544 # To learn which resources support conditions in their IAM policies, see the
545 # [IAM
546 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
547 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
548 # are documented at https://github.com/google/cel-spec.
549 #
550 # Example (Comparison):
551 #
552 # title: &quot;Summary size limit&quot;
553 # description: &quot;Determines if a summary is less than 100 chars&quot;
554 # expression: &quot;document.summary.size() &lt; 100&quot;
555 #
556 # Example (Equality):
557 #
558 # title: &quot;Requestor is owner&quot;
559 # description: &quot;Determines if requestor is the document owner&quot;
560 # expression: &quot;document.owner == request.auth.claims.email&quot;
561 #
562 # Example (Logic):
563 #
564 # title: &quot;Public documents&quot;
565 # description: &quot;Determine whether the document should be publicly visible&quot;
566 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
567 #
568 # Example (Data Manipulation):
569 #
570 # title: &quot;Notification string&quot;
571 # description: &quot;Create a notification string with a timestamp.&quot;
572 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
573 #
574 # The exact variables and functions that may be referenced within an expression
575 # are determined by the service that evaluates it. See the service
576 # documentation for additional information.
577 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
578 # describes the expression, e.g. when hovered over it in a UI.
579 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
580 # syntax.
581 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
582 # its purpose. This can be used e.g. in UIs which allow to enter the
583 # expression.
584 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
585 # reporting, e.g. a file name and a position in the file.
586 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700587 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700588 # `members` can have the following values:
589 #
590 # * `allUsers`: A special identifier that represents anyone who is
591 # on the internet; with or without a Google account.
592 #
593 # * `allAuthenticatedUsers`: A special identifier that represents anyone
594 # who is authenticated with a Google account or a service account.
595 #
596 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -0700597 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700598 #
599 #
600 # * `serviceAccount:{emailid}`: An email address that represents a service
601 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
602 #
603 # * `group:{emailid}`: An email address that represents a Google group.
604 # For example, `admins@example.com`.
605 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700606 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
607 # identifier) representing a user that has been recently deleted. For
608 # example, `alice@example.com?uid=123456789012345678901`. If the user is
609 # recovered, this value reverts to `user:{emailid}` and the recovered user
610 # retains the role in the binding.
611 #
612 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
613 # unique identifier) representing a service account that has been recently
614 # deleted. For example,
615 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
616 # If the service account is undeleted, this value reverts to
617 # `serviceAccount:{emailid}` and the undeleted service account retains the
618 # role in the binding.
619 #
620 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
621 # identifier) representing a Google group that has been recently
622 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
623 # the group is recovered, this value reverts to `group:{emailid}` and the
624 # recovered group retains the role in the binding.
625 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700626 #
627 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
628 # users of that domain. For example, `google.com` or `example.com`.
629 #
Bu Sun Kim65020912020-05-20 12:08:20 -0700630 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700631 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700632 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
633 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700634 },
635 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700636 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
637 # prevent simultaneous updates of a policy from overwriting each other.
638 # It is strongly suggested that systems make use of the `etag` in the
639 # read-modify-write cycle to perform policy updates in order to avoid race
640 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
641 # systems are expected to put that etag in the request to `setIamPolicy` to
642 # ensure that their change will be applied to the same version of the policy.
643 #
644 # **Important:** If you use IAM Conditions, you must include the `etag` field
645 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
646 # you to overwrite a version `3` policy with a version `1` policy, and all of
647 # the conditions in the version `3` policy are lost.
648 &quot;version&quot;: 42, # Specifies the format of the policy.
649 #
650 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
651 # are rejected.
652 #
653 # Any operation that affects conditional role bindings must specify version
654 # `3`. This requirement applies to the following operations:
655 #
656 # * Getting a policy that includes a conditional role binding
657 # * Adding a conditional role binding to a policy
658 # * Changing a conditional role binding in a policy
659 # * Removing any role binding, with or without a condition, from a policy
660 # that includes conditions
661 #
662 # **Important:** If you use IAM Conditions, you must include the `etag` field
663 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
664 # you to overwrite a version `3` policy with a version `1` policy, and all of
665 # the conditions in the version `3` policy are lost.
666 #
667 # If a policy does not include any conditions, operations on that policy may
668 # specify any valid version or leave the field unset.
669 #
670 # To learn which resources support conditions in their IAM policies, see the
671 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700672 }</pre>
673</div>
674
675<div class="method">
Bu Sun Kim65020912020-05-20 12:08:20 -0700676 <code class="details" id="list">list(parent, pageToken=None, pageSize=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700677 <pre>Lists device registries.
678
679Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700680 parent: string, Required. The project and cloud region path. For example,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700681`projects/example-project/locations/us-central1`. (required)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700682 pageToken: string, The value returned by the last `ListDeviceRegistriesResponse`; indicates
683that this is a continuation of a prior `ListDeviceRegistries` call and
684the system should return the next page of data.
Dan O'Mearadd494642020-05-01 07:42:23 -0700685 pageSize: integer, The maximum number of registries to return in the response. If this value
686is zero, the service will select a default size. A call may return fewer
687objects than requested. A non-empty `next_page_token` in the response
688indicates that more data is available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700689 x__xgafv: string, V1 error format.
690 Allowed values
691 1 - v1 error format
692 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700693
694Returns:
695 An object of the form:
696
697 { # Response for `ListDeviceRegistries`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700698 &quot;deviceRegistries&quot;: [ # The registries that matched the query.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700699 { # A container for a group of devices.
Bu Sun Kim65020912020-05-20 12:08:20 -0700700 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700701 # credentials can be bound to a single registry at a time. The verification
702 # process occurs at the time of device creation or update. If this field is
703 # empty, no verification is performed. Otherwise, the credentials of a newly
704 # created device or added credentials of an updated device should be signed
705 # with one of these registry credentials.
706 #
707 # Note, however, that existing devices will never be affected by
708 # modifications to this list of credentials: after a device has been
709 # successfully created in a registry, it should be able to connect even if
710 # its registry credentials are revoked, deleted, or modified.
711 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700712 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
713 &quot;x509Details&quot;: { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates.
Bu Sun Kim65020912020-05-20 12:08:20 -0700714 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
715 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
716 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
717 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700718 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
719 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700720 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700721 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700722 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700723 },
724 },
725 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700726 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
727 # `projects/example-project/locations/us-central1/registries/my-registry`.
728 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
729 # device. All telemetry events that were successfully published by the
730 # device and acknowledged by Cloud IoT Core are guaranteed to be
731 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
732 # only the first matching configuration is used. If you try to publish a
733 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
734 # for the device&#x27;s registry, the connection closes automatically. If you try
735 # to do so using an HTTP connection, an error is returned. Up to 10
736 # configurations may be provided.
737 { # The configuration for forwarding telemetry events.
738 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
739 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
740 # all strings are matched. This field is used only for telemetry events;
741 # subfolders are not supported for state changes.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700742 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
743 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700744 },
745 ],
746 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
747 #
748 # The default logging verbosity for activity from devices in this registry.
749 # The verbosity level can be overridden by Device.log_level.
750 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
751 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
752 # Otherwise, any requests to DeviceService will fail for this registry.
753 },
754 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
755 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
756 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
757 # connections to this registry will fail.
758 },
759 &quot;stateNotificationConfig&quot;: { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device.
760 # State updates are guaranteed to be stored in the state history, but
761 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
762 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
763 # notification will be published but the state will still be stored in Cloud
764 # IoT Core.
765 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
766 # `projects/myProject/topics/deviceEvents`.
767 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700768 },
769 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700770 &quot;nextPageToken&quot;: &quot;A String&quot;, # If not empty, indicates that there may be more registries that match the
771 # request; this value should be passed in a new
772 # `ListDeviceRegistriesRequest`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700773 }</pre>
774</div>
775
776<div class="method">
777 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
778 <pre>Retrieves the next page of results.
779
780Args:
781 previous_request: The request for the previous page. (required)
782 previous_response: The response from the request for the previous page. (required)
783
784Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -0700785 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700786 page. Returns None if there are no more items in the collection.
787 </pre>
788</div>
789
790<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700791 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700792 <pre>Updates a device registry configuration.
793
794Args:
795 name: string, The resource path name. For example,
796`projects/example-project/locations/us-central1/registries/my-registry`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700797 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700798 The object takes the form of:
799
800{ # A container for a group of devices.
Bu Sun Kim65020912020-05-20 12:08:20 -0700801 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700802 # credentials can be bound to a single registry at a time. The verification
803 # process occurs at the time of device creation or update. If this field is
804 # empty, no verification is performed. Otherwise, the credentials of a newly
805 # created device or added credentials of an updated device should be signed
806 # with one of these registry credentials.
807 #
808 # Note, however, that existing devices will never be affected by
809 # modifications to this list of credentials: after a device has been
810 # successfully created in a registry, it should be able to connect even if
811 # its registry credentials are revoked, deleted, or modified.
812 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700813 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
814 &quot;x509Details&quot;: { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates.
Bu Sun Kim65020912020-05-20 12:08:20 -0700815 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
816 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
817 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
818 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700819 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
820 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700821 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700822 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700823 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700824 },
825 },
826 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700827 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
828 # `projects/example-project/locations/us-central1/registries/my-registry`.
829 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
830 # device. All telemetry events that were successfully published by the
831 # device and acknowledged by Cloud IoT Core are guaranteed to be
832 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
833 # only the first matching configuration is used. If you try to publish a
834 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
835 # for the device&#x27;s registry, the connection closes automatically. If you try
836 # to do so using an HTTP connection, an error is returned. Up to 10
837 # configurations may be provided.
838 { # The configuration for forwarding telemetry events.
839 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
840 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
841 # all strings are matched. This field is used only for telemetry events;
842 # subfolders are not supported for state changes.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700843 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
844 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700845 },
846 ],
847 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
848 #
849 # The default logging verbosity for activity from devices in this registry.
850 # The verbosity level can be overridden by Device.log_level.
851 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
852 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
853 # Otherwise, any requests to DeviceService will fail for this registry.
854 },
855 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
856 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
857 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
858 # connections to this registry will fail.
859 },
860 &quot;stateNotificationConfig&quot;: { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device.
861 # State updates are guaranteed to be stored in the state history, but
862 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
863 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
864 # notification will be published but the state will still be stored in Cloud
865 # IoT Core.
866 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
867 # `projects/myProject/topics/deviceEvents`.
868 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700869}
870
Dan O'Mearadd494642020-05-01 07:42:23 -0700871 updateMask: string, Required. Only updates the `device_registry` fields indicated by this mask.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700872The field mask must not be empty, and it must not contain fields that
873are immutable or only set by the server.
874Mutable top-level fields: `event_notification_config`, `http_config`,
875`mqtt_config`, and `state_notification_config`.
876 x__xgafv: string, V1 error format.
877 Allowed values
878 1 - v1 error format
879 2 - v2 error format
880
881Returns:
882 An object of the form:
883
884 { # A container for a group of devices.
Bu Sun Kim65020912020-05-20 12:08:20 -0700885 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700886 # credentials can be bound to a single registry at a time. The verification
887 # process occurs at the time of device creation or update. If this field is
888 # empty, no verification is performed. Otherwise, the credentials of a newly
889 # created device or added credentials of an updated device should be signed
890 # with one of these registry credentials.
891 #
892 # Note, however, that existing devices will never be affected by
893 # modifications to this list of credentials: after a device has been
894 # successfully created in a registry, it should be able to connect even if
895 # its registry credentials are revoked, deleted, or modified.
896 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700897 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
898 &quot;x509Details&quot;: { # Details of an X.509 certificate. For informational purposes only. # [Output only] The certificate details. Used only for X.509 certificates.
Bu Sun Kim65020912020-05-20 12:08:20 -0700899 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
900 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
901 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
902 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700903 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
904 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700905 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700906 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700907 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700908 },
909 },
910 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700911 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
912 # `projects/example-project/locations/us-central1/registries/my-registry`.
913 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
914 # device. All telemetry events that were successfully published by the
915 # device and acknowledged by Cloud IoT Core are guaranteed to be
916 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
917 # only the first matching configuration is used. If you try to publish a
918 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
919 # for the device&#x27;s registry, the connection closes automatically. If you try
920 # to do so using an HTTP connection, an error is returned. Up to 10
921 # configurations may be provided.
922 { # The configuration for forwarding telemetry events.
923 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
924 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
925 # all strings are matched. This field is used only for telemetry events;
926 # subfolders are not supported for state changes.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700927 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
928 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700929 },
930 ],
931 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
932 #
933 # The default logging verbosity for activity from devices in this registry.
934 # The verbosity level can be overridden by Device.log_level.
935 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
936 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
937 # Otherwise, any requests to DeviceService will fail for this registry.
938 },
939 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
940 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
941 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
942 # connections to this registry will fail.
943 },
944 &quot;stateNotificationConfig&quot;: { # The configuration for notification of new states received from the device. # The configuration for notification of new states received from the device.
945 # State updates are guaranteed to be stored in the state history, but
946 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
947 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
948 # notification will be published but the state will still be stored in Cloud
949 # IoT Core.
950 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
951 # `projects/myProject/topics/deviceEvents`.
952 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700953 }</pre>
954</div>
955
956<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700957 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700958 <pre>Sets the access control policy on the specified resource. Replaces any
959existing policy.
960
961Args:
962 resource: string, REQUIRED: The resource for which the policy is being specified.
963See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700964 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700965 The object takes the form of:
966
967{ # Request message for `SetIamPolicy` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700968 &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700969 # the policy is limited to a few 10s of KB. An empty policy is a
970 # valid policy but certain Cloud Platform services (such as Projects)
971 # might reject them.
Dan O'Mearadd494642020-05-01 07:42:23 -0700972 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700973 #
974 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700975 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
976 # `members` to a single `role`. Members can be user accounts, service accounts,
977 # Google groups, and domains (such as G Suite). A `role` is a named list of
978 # permissions; each `role` can be an IAM predefined role or a user-created
979 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700980 #
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700981 # For some types of Google Cloud resources, a `binding` can also specify a
982 # `condition`, which is a logical expression that allows access to a resource
983 # only if the expression evaluates to `true`. A condition can add constraints
984 # based on attributes of the request, the resource, or both. To learn which
985 # resources support conditions in their IAM policies, see the
986 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -0700987 #
988 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700989 #
990 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700991 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700992 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700993 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
994 # &quot;members&quot;: [
995 # &quot;user:mike@example.com&quot;,
996 # &quot;group:admins@example.com&quot;,
997 # &quot;domain:google.com&quot;,
998 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700999 # ]
1000 # },
1001 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07001002 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001003 # &quot;members&quot;: [
1004 # &quot;user:eve@example.com&quot;
1005 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001006 # &quot;condition&quot;: {
1007 # &quot;title&quot;: &quot;expirable access&quot;,
1008 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
1009 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07001010 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001011 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07001012 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001013 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
1014 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001015 # }
1016 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001017 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001018 #
1019 # bindings:
1020 # - members:
1021 # - user:mike@example.com
1022 # - group:admins@example.com
1023 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07001024 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1025 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001026 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07001027 # - user:eve@example.com
1028 # role: roles/resourcemanager.organizationViewer
1029 # condition:
1030 # title: expirable access
1031 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -07001032 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -07001033 # - etag: BwWWja0YfJA=
1034 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001035 #
1036 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07001037 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -07001038 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -07001039 # `condition` that determines how and when the `bindings` are applied. Each
1040 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001041 { # Associates `members` with a `role`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001042 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
1043 #
1044 # If the condition evaluates to `true`, then this binding applies to the
1045 # current request.
1046 #
1047 # If the condition evaluates to `false`, then this binding does not apply to
1048 # the current request. However, a different role binding might grant the same
1049 # role to one or more of the members in this binding.
1050 #
1051 # To learn which resources support conditions in their IAM policies, see the
1052 # [IAM
1053 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1054 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1055 # are documented at https://github.com/google/cel-spec.
1056 #
1057 # Example (Comparison):
1058 #
1059 # title: &quot;Summary size limit&quot;
1060 # description: &quot;Determines if a summary is less than 100 chars&quot;
1061 # expression: &quot;document.summary.size() &lt; 100&quot;
1062 #
1063 # Example (Equality):
1064 #
1065 # title: &quot;Requestor is owner&quot;
1066 # description: &quot;Determines if requestor is the document owner&quot;
1067 # expression: &quot;document.owner == request.auth.claims.email&quot;
1068 #
1069 # Example (Logic):
1070 #
1071 # title: &quot;Public documents&quot;
1072 # description: &quot;Determine whether the document should be publicly visible&quot;
1073 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
1074 #
1075 # Example (Data Manipulation):
1076 #
1077 # title: &quot;Notification string&quot;
1078 # description: &quot;Create a notification string with a timestamp.&quot;
1079 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
1080 #
1081 # The exact variables and functions that may be referenced within an expression
1082 # are determined by the service that evaluates it. See the service
1083 # documentation for additional information.
1084 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1085 # describes the expression, e.g. when hovered over it in a UI.
1086 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1087 # syntax.
1088 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
1089 # its purpose. This can be used e.g. in UIs which allow to enter the
1090 # expression.
1091 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1092 # reporting, e.g. a file name and a position in the file.
1093 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001094 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001095 # `members` can have the following values:
1096 #
1097 # * `allUsers`: A special identifier that represents anyone who is
1098 # on the internet; with or without a Google account.
1099 #
1100 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1101 # who is authenticated with a Google account or a service account.
1102 #
1103 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07001104 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001105 #
1106 #
1107 # * `serviceAccount:{emailid}`: An email address that represents a service
1108 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1109 #
1110 # * `group:{emailid}`: An email address that represents a Google group.
1111 # For example, `admins@example.com`.
1112 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001113 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1114 # identifier) representing a user that has been recently deleted. For
1115 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1116 # recovered, this value reverts to `user:{emailid}` and the recovered user
1117 # retains the role in the binding.
1118 #
1119 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1120 # unique identifier) representing a service account that has been recently
1121 # deleted. For example,
1122 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1123 # If the service account is undeleted, this value reverts to
1124 # `serviceAccount:{emailid}` and the undeleted service account retains the
1125 # role in the binding.
1126 #
1127 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1128 # identifier) representing a Google group that has been recently
1129 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1130 # the group is recovered, this value reverts to `group:{emailid}` and the
1131 # recovered group retains the role in the binding.
1132 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001133 #
1134 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1135 # users of that domain. For example, `google.com` or `example.com`.
1136 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001137 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001138 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001139 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
1140 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001141 },
1142 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001143 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1144 # prevent simultaneous updates of a policy from overwriting each other.
1145 # It is strongly suggested that systems make use of the `etag` in the
1146 # read-modify-write cycle to perform policy updates in order to avoid race
1147 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1148 # systems are expected to put that etag in the request to `setIamPolicy` to
1149 # ensure that their change will be applied to the same version of the policy.
1150 #
1151 # **Important:** If you use IAM Conditions, you must include the `etag` field
1152 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1153 # you to overwrite a version `3` policy with a version `1` policy, and all of
1154 # the conditions in the version `3` policy are lost.
1155 &quot;version&quot;: 42, # Specifies the format of the policy.
1156 #
1157 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1158 # are rejected.
1159 #
1160 # Any operation that affects conditional role bindings must specify version
1161 # `3`. This requirement applies to the following operations:
1162 #
1163 # * Getting a policy that includes a conditional role binding
1164 # * Adding a conditional role binding to a policy
1165 # * Changing a conditional role binding in a policy
1166 # * Removing any role binding, with or without a condition, from a policy
1167 # that includes conditions
1168 #
1169 # **Important:** If you use IAM Conditions, you must include the `etag` field
1170 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1171 # you to overwrite a version `3` policy with a version `1` policy, and all of
1172 # the conditions in the version `3` policy are lost.
1173 #
1174 # If a policy does not include any conditions, operations on that policy may
1175 # specify any valid version or leave the field unset.
1176 #
1177 # To learn which resources support conditions in their IAM policies, see the
1178 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001179 },
1180 }
1181
1182 x__xgafv: string, V1 error format.
1183 Allowed values
1184 1 - v1 error format
1185 2 - v2 error format
1186
1187Returns:
1188 An object of the form:
1189
Dan O'Mearadd494642020-05-01 07:42:23 -07001190 { # An Identity and Access Management (IAM) policy, which specifies access
1191 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001192 #
1193 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001194 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1195 # `members` to a single `role`. Members can be user accounts, service accounts,
1196 # Google groups, and domains (such as G Suite). A `role` is a named list of
1197 # permissions; each `role` can be an IAM predefined role or a user-created
1198 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001199 #
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001200 # For some types of Google Cloud resources, a `binding` can also specify a
1201 # `condition`, which is a logical expression that allows access to a resource
1202 # only if the expression evaluates to `true`. A condition can add constraints
1203 # based on attributes of the request, the resource, or both. To learn which
1204 # resources support conditions in their IAM policies, see the
1205 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Dan O'Mearadd494642020-05-01 07:42:23 -07001206 #
1207 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001208 #
1209 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07001210 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001211 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07001212 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
1213 # &quot;members&quot;: [
1214 # &quot;user:mike@example.com&quot;,
1215 # &quot;group:admins@example.com&quot;,
1216 # &quot;domain:google.com&quot;,
1217 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001218 # ]
1219 # },
1220 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07001221 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001222 # &quot;members&quot;: [
1223 # &quot;user:eve@example.com&quot;
1224 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001225 # &quot;condition&quot;: {
1226 # &quot;title&quot;: &quot;expirable access&quot;,
1227 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
1228 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07001229 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001230 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07001231 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001232 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
1233 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001234 # }
1235 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001236 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001237 #
1238 # bindings:
1239 # - members:
1240 # - user:mike@example.com
1241 # - group:admins@example.com
1242 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07001243 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1244 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001245 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07001246 # - user:eve@example.com
1247 # role: roles/resourcemanager.organizationViewer
1248 # condition:
1249 # title: expirable access
1250 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -07001251 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -07001252 # - etag: BwWWja0YfJA=
1253 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001254 #
1255 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07001256 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -07001257 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -07001258 # `condition` that determines how and when the `bindings` are applied. Each
1259 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001260 { # Associates `members` with a `role`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001261 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
1262 #
1263 # If the condition evaluates to `true`, then this binding applies to the
1264 # current request.
1265 #
1266 # If the condition evaluates to `false`, then this binding does not apply to
1267 # the current request. However, a different role binding might grant the same
1268 # role to one or more of the members in this binding.
1269 #
1270 # To learn which resources support conditions in their IAM policies, see the
1271 # [IAM
1272 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1273 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1274 # are documented at https://github.com/google/cel-spec.
1275 #
1276 # Example (Comparison):
1277 #
1278 # title: &quot;Summary size limit&quot;
1279 # description: &quot;Determines if a summary is less than 100 chars&quot;
1280 # expression: &quot;document.summary.size() &lt; 100&quot;
1281 #
1282 # Example (Equality):
1283 #
1284 # title: &quot;Requestor is owner&quot;
1285 # description: &quot;Determines if requestor is the document owner&quot;
1286 # expression: &quot;document.owner == request.auth.claims.email&quot;
1287 #
1288 # Example (Logic):
1289 #
1290 # title: &quot;Public documents&quot;
1291 # description: &quot;Determine whether the document should be publicly visible&quot;
1292 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
1293 #
1294 # Example (Data Manipulation):
1295 #
1296 # title: &quot;Notification string&quot;
1297 # description: &quot;Create a notification string with a timestamp.&quot;
1298 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
1299 #
1300 # The exact variables and functions that may be referenced within an expression
1301 # are determined by the service that evaluates it. See the service
1302 # documentation for additional information.
1303 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1304 # describes the expression, e.g. when hovered over it in a UI.
1305 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1306 # syntax.
1307 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
1308 # its purpose. This can be used e.g. in UIs which allow to enter the
1309 # expression.
1310 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1311 # reporting, e.g. a file name and a position in the file.
1312 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001313 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001314 # `members` can have the following values:
1315 #
1316 # * `allUsers`: A special identifier that represents anyone who is
1317 # on the internet; with or without a Google account.
1318 #
1319 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1320 # who is authenticated with a Google account or a service account.
1321 #
1322 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07001323 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001324 #
1325 #
1326 # * `serviceAccount:{emailid}`: An email address that represents a service
1327 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1328 #
1329 # * `group:{emailid}`: An email address that represents a Google group.
1330 # For example, `admins@example.com`.
1331 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001332 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1333 # identifier) representing a user that has been recently deleted. For
1334 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1335 # recovered, this value reverts to `user:{emailid}` and the recovered user
1336 # retains the role in the binding.
1337 #
1338 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1339 # unique identifier) representing a service account that has been recently
1340 # deleted. For example,
1341 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1342 # If the service account is undeleted, this value reverts to
1343 # `serviceAccount:{emailid}` and the undeleted service account retains the
1344 # role in the binding.
1345 #
1346 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1347 # identifier) representing a Google group that has been recently
1348 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1349 # the group is recovered, this value reverts to `group:{emailid}` and the
1350 # recovered group retains the role in the binding.
1351 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001352 #
1353 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1354 # users of that domain. For example, `google.com` or `example.com`.
1355 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001356 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001357 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001358 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
1359 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001360 },
1361 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001362 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1363 # prevent simultaneous updates of a policy from overwriting each other.
1364 # It is strongly suggested that systems make use of the `etag` in the
1365 # read-modify-write cycle to perform policy updates in order to avoid race
1366 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1367 # systems are expected to put that etag in the request to `setIamPolicy` to
1368 # ensure that their change will be applied to the same version of the policy.
1369 #
1370 # **Important:** If you use IAM Conditions, you must include the `etag` field
1371 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1372 # you to overwrite a version `3` policy with a version `1` policy, and all of
1373 # the conditions in the version `3` policy are lost.
1374 &quot;version&quot;: 42, # Specifies the format of the policy.
1375 #
1376 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1377 # are rejected.
1378 #
1379 # Any operation that affects conditional role bindings must specify version
1380 # `3`. This requirement applies to the following operations:
1381 #
1382 # * Getting a policy that includes a conditional role binding
1383 # * Adding a conditional role binding to a policy
1384 # * Changing a conditional role binding in a policy
1385 # * Removing any role binding, with or without a condition, from a policy
1386 # that includes conditions
1387 #
1388 # **Important:** If you use IAM Conditions, you must include the `etag` field
1389 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1390 # you to overwrite a version `3` policy with a version `1` policy, and all of
1391 # the conditions in the version `3` policy are lost.
1392 #
1393 # If a policy does not include any conditions, operations on that policy may
1394 # specify any valid version or leave the field unset.
1395 #
1396 # To learn which resources support conditions in their IAM policies, see the
1397 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001398 }</pre>
1399</div>
1400
1401<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001402 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001403 <pre>Returns permissions that a caller has on the specified resource.
1404If the resource does not exist, this will return an empty set of
1405permissions, not a NOT_FOUND error.
1406
1407Args:
1408 resource: string, REQUIRED: The resource for which the policy detail is being requested.
1409See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001410 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001411 The object takes the form of:
1412
1413{ # Request message for `TestIamPermissions` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07001414 &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
1415 # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001416 # information see
1417 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Bu Sun Kim65020912020-05-20 12:08:20 -07001418 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001419 ],
1420 }
1421
1422 x__xgafv: string, V1 error format.
1423 Allowed values
1424 1 - v1 error format
1425 2 - v2 error format
1426
1427Returns:
1428 An object of the form:
1429
1430 { # Response message for `TestIamPermissions` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07001431 &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001432 # allowed.
Bu Sun Kim65020912020-05-20 12:08:20 -07001433 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001434 ],
1435 }</pre>
1436</div>
1437
1438<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001439 <code class="details" id="unbindDeviceFromGateway">unbindDeviceFromGateway(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001440 <pre>Deletes the association between the device and the gateway.
1441
1442Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07001443 parent: string, Required. The name of the registry. For example,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001444`projects/example-project/locations/us-central1/registries/my-registry`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001445 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001446 The object takes the form of:
1447
1448{ # Request for `UnbindDeviceFromGateway`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001449 &quot;gatewayId&quot;: &quot;A String&quot;, # Required. The value of `gateway_id` can be either the device numeric ID or the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001450 # user-defined device identifier.
Bu Sun Kim65020912020-05-20 12:08:20 -07001451 &quot;deviceId&quot;: &quot;A String&quot;, # Required. The device to disassociate from the specified gateway. The value of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001452 # `device_id` can be either the device numeric ID or the user-defined device
1453 # identifier.
1454 }
1455
1456 x__xgafv: string, V1 error format.
1457 Allowed values
1458 1 - v1 error format
1459 2 - v2 error format
1460
1461Returns:
1462 An object of the form:
1463
1464 { # Response for `UnbindDeviceFromGateway`.
1465 }</pre>
1466</div>
1467
1468</body></html>