blob: f84418f6e3a9af71e28be95df9240e00e134d45d [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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700175 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim65020912020-05-20 12:08:20 -0700176 &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 -0700177 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
178 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
179 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
180 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700181 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
182 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700183 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700184 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700200 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
201 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700202 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
203 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
204 # all strings are matched. This field is used only for telemetry events;
205 # subfolders are not supported for state changes.
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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700254 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim65020912020-05-20 12:08:20 -0700255 &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 -0700256 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
257 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
258 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
259 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700260 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
261 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700262 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700263 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700279 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
280 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700281 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
282 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
283 # all strings are matched. This field is used only for telemetry events;
284 # subfolders are not supported for state changes.
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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700368 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim65020912020-05-20 12:08:20 -0700369 &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 -0700370 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
371 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
372 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
373 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700374 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
375 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700376 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700377 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700393 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
394 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700395 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
396 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
397 # all strings are matched. This field is used only for telemetry events;
398 # subfolders are not supported for state changes.
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.
449 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700450 }
451
452 x__xgafv: string, V1 error format.
453 Allowed values
454 1 - v1 error format
455 2 - v2 error format
456
457Returns:
458 An object of the form:
459
Dan O'Mearadd494642020-05-01 07:42:23 -0700460 { # An Identity and Access Management (IAM) policy, which specifies access
461 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700462 #
463 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700464 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
465 # `members` to a single `role`. Members can be user accounts, service accounts,
466 # Google groups, and domains (such as G Suite). A `role` is a named list of
467 # permissions; each `role` can be an IAM predefined role or a user-created
468 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700469 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700470 # Optionally, a `binding` can specify a `condition`, which is a logical
471 # expression that allows access to a resource only if the expression evaluates
472 # to `true`. A condition can add constraints based on attributes of the
473 # request, the resource, or both.
474 #
475 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700476 #
477 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700478 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700479 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700480 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
481 # &quot;members&quot;: [
482 # &quot;user:mike@example.com&quot;,
483 # &quot;group:admins@example.com&quot;,
484 # &quot;domain:google.com&quot;,
485 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700486 # ]
487 # },
488 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700489 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
490 # &quot;members&quot;: [&quot;user:eve@example.com&quot;],
491 # &quot;condition&quot;: {
492 # &quot;title&quot;: &quot;expirable access&quot;,
493 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
494 # &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 -0700495 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700496 # }
Dan O'Mearadd494642020-05-01 07:42:23 -0700497 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700498 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
499 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700500 # }
501 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700502 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700503 #
504 # bindings:
505 # - members:
506 # - user:mike@example.com
507 # - group:admins@example.com
508 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -0700509 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
510 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700511 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -0700512 # - user:eve@example.com
513 # role: roles/resourcemanager.organizationViewer
514 # condition:
515 # title: expirable access
516 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -0700517 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -0700518 # - etag: BwWWja0YfJA=
519 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700520 #
521 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -0700522 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -0700523 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
524 # prevent simultaneous updates of a policy from overwriting each other.
525 # It is strongly suggested that systems make use of the `etag` in the
526 # read-modify-write cycle to perform policy updates in order to avoid race
527 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
528 # systems are expected to put that etag in the request to `setIamPolicy` to
529 # ensure that their change will be applied to the same version of the policy.
530 #
531 # **Important:** If you use IAM Conditions, you must include the `etag` field
532 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
533 # you to overwrite a version `3` policy with a version `1` policy, and all of
534 # the conditions in the version `3` policy are lost.
535 &quot;version&quot;: 42, # Specifies the format of the policy.
536 #
537 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
538 # are rejected.
539 #
540 # Any operation that affects conditional role bindings must specify version
541 # `3`. This requirement applies to the following operations:
542 #
543 # * Getting a policy that includes a conditional role binding
544 # * Adding a conditional role binding to a policy
545 # * Changing a conditional role binding in a policy
546 # * Removing any role binding, with or without a condition, from a policy
547 # that includes conditions
548 #
549 # **Important:** If you use IAM Conditions, you must include the `etag` field
550 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
551 # you to overwrite a version `3` policy with a version `1` policy, and all of
552 # the conditions in the version `3` policy are lost.
553 #
554 # If a policy does not include any conditions, operations on that policy may
555 # specify any valid version or leave the field unset.
556 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -0700557 # `condition` that determines how and when the `bindings` are applied. Each
558 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700559 { # Associates `members` with a `role`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700560 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700561 # `members` can have the following values:
562 #
563 # * `allUsers`: A special identifier that represents anyone who is
564 # on the internet; with or without a Google account.
565 #
566 # * `allAuthenticatedUsers`: A special identifier that represents anyone
567 # who is authenticated with a Google account or a service account.
568 #
569 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -0700570 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700571 #
572 #
573 # * `serviceAccount:{emailid}`: An email address that represents a service
574 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
575 #
576 # * `group:{emailid}`: An email address that represents a Google group.
577 # For example, `admins@example.com`.
578 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700579 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
580 # identifier) representing a user that has been recently deleted. For
581 # example, `alice@example.com?uid=123456789012345678901`. If the user is
582 # recovered, this value reverts to `user:{emailid}` and the recovered user
583 # retains the role in the binding.
584 #
585 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
586 # unique identifier) representing a service account that has been recently
587 # deleted. For example,
588 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
589 # If the service account is undeleted, this value reverts to
590 # `serviceAccount:{emailid}` and the undeleted service account retains the
591 # role in the binding.
592 #
593 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
594 # identifier) representing a Google group that has been recently
595 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
596 # the group is recovered, this value reverts to `group:{emailid}` and the
597 # recovered group retains the role in the binding.
598 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700599 #
600 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
601 # users of that domain. For example, `google.com` or `example.com`.
602 #
Bu Sun Kim65020912020-05-20 12:08:20 -0700603 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700604 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700605 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
606 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
607 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700608 # NOTE: An unsatisfied condition will not allow user access via current
609 # binding. Different bindings, including their conditions, are examined
610 # independently.
Dan O'Mearadd494642020-05-01 07:42:23 -0700611 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
612 # are documented at https://github.com/google/cel-spec.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700613 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700614 # Example (Comparison):
615 #
Bu Sun Kim65020912020-05-20 12:08:20 -0700616 # title: &quot;Summary size limit&quot;
617 # description: &quot;Determines if a summary is less than 100 chars&quot;
618 # expression: &quot;document.summary.size() &lt; 100&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -0700619 #
620 # Example (Equality):
621 #
Bu Sun Kim65020912020-05-20 12:08:20 -0700622 # title: &quot;Requestor is owner&quot;
623 # description: &quot;Determines if requestor is the document owner&quot;
624 # expression: &quot;document.owner == request.auth.claims.email&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -0700625 #
626 # Example (Logic):
627 #
Bu Sun Kim65020912020-05-20 12:08:20 -0700628 # title: &quot;Public documents&quot;
629 # description: &quot;Determine whether the document should be publicly visible&quot;
630 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -0700631 #
632 # Example (Data Manipulation):
633 #
Bu Sun Kim65020912020-05-20 12:08:20 -0700634 # title: &quot;Notification string&quot;
635 # description: &quot;Create a notification string with a timestamp.&quot;
636 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -0700637 #
638 # The exact variables and functions that may be referenced within an expression
639 # are determined by the service that evaluates it. See the service
640 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700641 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700642 # its purpose. This can be used e.g. in UIs which allow to enter the
643 # expression.
Bu Sun Kim65020912020-05-20 12:08:20 -0700644 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
645 # reporting, e.g. a file name and a position in the file.
646 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
647 # describes the expression, e.g. when hovered over it in a UI.
648 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
649 # syntax.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700650 },
651 },
652 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700653 }</pre>
654</div>
655
656<div class="method">
Bu Sun Kim65020912020-05-20 12:08:20 -0700657 <code class="details" id="list">list(parent, pageToken=None, pageSize=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700658 <pre>Lists device registries.
659
660Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700661 parent: string, Required. The project and cloud region path. For example,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700662`projects/example-project/locations/us-central1`. (required)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700663 pageToken: string, The value returned by the last `ListDeviceRegistriesResponse`; indicates
664that this is a continuation of a prior `ListDeviceRegistries` call and
665the system should return the next page of data.
Dan O'Mearadd494642020-05-01 07:42:23 -0700666 pageSize: integer, The maximum number of registries to return in the response. If this value
667is zero, the service will select a default size. A call may return fewer
668objects than requested. A non-empty `next_page_token` in the response
669indicates that more data is available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700670 x__xgafv: string, V1 error format.
671 Allowed values
672 1 - v1 error format
673 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700674
675Returns:
676 An object of the form:
677
678 { # Response for `ListDeviceRegistries`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700679 &quot;deviceRegistries&quot;: [ # The registries that matched the query.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700680 { # A container for a group of devices.
Bu Sun Kim65020912020-05-20 12:08:20 -0700681 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700682 # credentials can be bound to a single registry at a time. The verification
683 # process occurs at the time of device creation or update. If this field is
684 # empty, no verification is performed. Otherwise, the credentials of a newly
685 # created device or added credentials of an updated device should be signed
686 # with one of these registry credentials.
687 #
688 # Note, however, that existing devices will never be affected by
689 # modifications to this list of credentials: after a device has been
690 # successfully created in a registry, it should be able to connect even if
691 # its registry credentials are revoked, deleted, or modified.
692 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700693 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700694 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim65020912020-05-20 12:08:20 -0700695 &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 -0700696 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
697 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
698 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
699 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700700 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
701 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700702 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700703 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700704 },
705 },
706 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700707 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
708 # `projects/example-project/locations/us-central1/registries/my-registry`.
709 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
710 # device. All telemetry events that were successfully published by the
711 # device and acknowledged by Cloud IoT Core are guaranteed to be
712 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
713 # only the first matching configuration is used. If you try to publish a
714 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
715 # for the device&#x27;s registry, the connection closes automatically. If you try
716 # to do so using an HTTP connection, an error is returned. Up to 10
717 # configurations may be provided.
718 { # The configuration for forwarding telemetry events.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700719 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
720 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700721 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
722 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
723 # all strings are matched. This field is used only for telemetry events;
724 # subfolders are not supported for state changes.
Bu Sun Kim65020912020-05-20 12:08:20 -0700725 },
726 ],
727 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
728 #
729 # The default logging verbosity for activity from devices in this registry.
730 # The verbosity level can be overridden by Device.log_level.
731 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
732 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
733 # Otherwise, any requests to DeviceService will fail for this registry.
734 },
735 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
736 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
737 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
738 # connections to this registry will fail.
739 },
740 &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.
741 # State updates are guaranteed to be stored in the state history, but
742 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
743 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
744 # notification will be published but the state will still be stored in Cloud
745 # IoT Core.
746 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
747 # `projects/myProject/topics/deviceEvents`.
748 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700749 },
750 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700751 &quot;nextPageToken&quot;: &quot;A String&quot;, # If not empty, indicates that there may be more registries that match the
752 # request; this value should be passed in a new
753 # `ListDeviceRegistriesRequest`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700754 }</pre>
755</div>
756
757<div class="method">
758 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
759 <pre>Retrieves the next page of results.
760
761Args:
762 previous_request: The request for the previous page. (required)
763 previous_response: The response from the request for the previous page. (required)
764
765Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -0700766 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700767 page. Returns None if there are no more items in the collection.
768 </pre>
769</div>
770
771<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700772 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700773 <pre>Updates a device registry configuration.
774
775Args:
776 name: string, The resource path name. For example,
777`projects/example-project/locations/us-central1/registries/my-registry`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700778 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700779 The object takes the form of:
780
781{ # A container for a group of devices.
Bu Sun Kim65020912020-05-20 12:08:20 -0700782 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700783 # credentials can be bound to a single registry at a time. The verification
784 # process occurs at the time of device creation or update. If this field is
785 # empty, no verification is performed. Otherwise, the credentials of a newly
786 # created device or added credentials of an updated device should be signed
787 # with one of these registry credentials.
788 #
789 # Note, however, that existing devices will never be affected by
790 # modifications to this list of credentials: after a device has been
791 # successfully created in a registry, it should be able to connect even if
792 # its registry credentials are revoked, deleted, or modified.
793 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700794 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700795 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim65020912020-05-20 12:08:20 -0700796 &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 -0700797 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
798 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
799 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
800 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700801 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
802 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700803 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700804 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700805 },
806 },
807 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700808 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
809 # `projects/example-project/locations/us-central1/registries/my-registry`.
810 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
811 # device. All telemetry events that were successfully published by the
812 # device and acknowledged by Cloud IoT Core are guaranteed to be
813 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
814 # only the first matching configuration is used. If you try to publish a
815 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
816 # for the device&#x27;s registry, the connection closes automatically. If you try
817 # to do so using an HTTP connection, an error is returned. Up to 10
818 # configurations may be provided.
819 { # The configuration for forwarding telemetry events.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700820 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
821 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700822 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
823 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
824 # all strings are matched. This field is used only for telemetry events;
825 # subfolders are not supported for state changes.
Bu Sun Kim65020912020-05-20 12:08:20 -0700826 },
827 ],
828 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
829 #
830 # The default logging verbosity for activity from devices in this registry.
831 # The verbosity level can be overridden by Device.log_level.
832 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
833 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
834 # Otherwise, any requests to DeviceService will fail for this registry.
835 },
836 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
837 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
838 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
839 # connections to this registry will fail.
840 },
841 &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.
842 # State updates are guaranteed to be stored in the state history, but
843 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
844 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
845 # notification will be published but the state will still be stored in Cloud
846 # IoT Core.
847 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
848 # `projects/myProject/topics/deviceEvents`.
849 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700850}
851
Dan O'Mearadd494642020-05-01 07:42:23 -0700852 updateMask: string, Required. Only updates the `device_registry` fields indicated by this mask.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700853The field mask must not be empty, and it must not contain fields that
854are immutable or only set by the server.
855Mutable top-level fields: `event_notification_config`, `http_config`,
856`mqtt_config`, and `state_notification_config`.
857 x__xgafv: string, V1 error format.
858 Allowed values
859 1 - v1 error format
860 2 - v2 error format
861
862Returns:
863 An object of the form:
864
865 { # A container for a group of devices.
Bu Sun Kim65020912020-05-20 12:08:20 -0700866 &quot;credentials&quot;: [ # The credentials used to verify the device credentials. No more than 10
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700867 # credentials can be bound to a single registry at a time. The verification
868 # process occurs at the time of device creation or update. If this field is
869 # empty, no verification is performed. Otherwise, the credentials of a newly
870 # created device or added credentials of an updated device should be signed
871 # with one of these registry credentials.
872 #
873 # Note, however, that existing devices will never be affected by
874 # modifications to this list of credentials: after a device has been
875 # successfully created in a registry, it should be able to connect even if
876 # its registry credentials are revoked, deleted, or modified.
877 { # A server-stored registry credential used to validate device credentials.
Bu Sun Kim65020912020-05-20 12:08:20 -0700878 &quot;publicKeyCertificate&quot;: { # A public key certificate format and data. # A public key certificate used to verify the device credentials.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700879 &quot;certificate&quot;: &quot;A String&quot;, # The certificate data.
Bu Sun Kim65020912020-05-20 12:08:20 -0700880 &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 -0700881 &quot;signatureAlgorithm&quot;: &quot;A String&quot;, # The algorithm used to sign the certificate.
882 &quot;startTime&quot;: &quot;A String&quot;, # The time the certificate becomes valid.
883 &quot;expiryTime&quot;: &quot;A String&quot;, # The time the certificate becomes invalid.
884 &quot;subject&quot;: &quot;A String&quot;, # The entity the certificate and public key belong to.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700885 &quot;issuer&quot;: &quot;A String&quot;, # The entity that signed the certificate.
886 &quot;publicKeyType&quot;: &quot;A String&quot;, # The type of public key in the certificate.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700887 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700888 &quot;format&quot;: &quot;A String&quot;, # The certificate format.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700889 },
890 },
891 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700892 &quot;name&quot;: &quot;A String&quot;, # The resource path name. For example,
893 # `projects/example-project/locations/us-central1/registries/my-registry`.
894 &quot;eventNotificationConfigs&quot;: [ # The configuration for notification of telemetry events received from the
895 # device. All telemetry events that were successfully published by the
896 # device and acknowledged by Cloud IoT Core are guaranteed to be
897 # delivered to Cloud Pub/Sub. If multiple configurations match a message,
898 # only the first matching configuration is used. If you try to publish a
899 # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
900 # for the device&#x27;s registry, the connection closes automatically. If you try
901 # to do so using an HTTP connection, an error is returned. Up to 10
902 # configurations may be provided.
903 { # The configuration for forwarding telemetry events.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700904 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
905 # `projects/myProject/topics/deviceEvents`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700906 &quot;subfolderMatches&quot;: &quot;A String&quot;, # If the subfolder name matches this string exactly, this configuration will
907 # be used. The string must not include the leading &#x27;/&#x27; character. If empty,
908 # all strings are matched. This field is used only for telemetry events;
909 # subfolders are not supported for state changes.
Bu Sun Kim65020912020-05-20 12:08:20 -0700910 },
911 ],
912 &quot;logLevel&quot;: &quot;A String&quot;, # **Beta Feature**
913 #
914 # The default logging verbosity for activity from devices in this registry.
915 # The verbosity level can be overridden by Device.log_level.
916 &quot;httpConfig&quot;: { # The configuration of the HTTP bridge for a device registry. # The DeviceService (HTTP) configuration for this device registry.
917 &quot;httpEnabledState&quot;: &quot;A String&quot;, # If enabled, allows devices to use DeviceService via the HTTP protocol.
918 # Otherwise, any requests to DeviceService will fail for this registry.
919 },
920 &quot;id&quot;: &quot;A String&quot;, # The identifier of this device registry. For example, `myRegistry`.
921 &quot;mqttConfig&quot;: { # The configuration of MQTT for a device registry. # The MQTT configuration for this device registry.
922 &quot;mqttEnabledState&quot;: &quot;A String&quot;, # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
923 # connections to this registry will fail.
924 },
925 &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.
926 # State updates are guaranteed to be stored in the state history, but
927 # notifications to Cloud Pub/Sub are not guaranteed. For example, if
928 # permissions are misconfigured or the specified topic doesn&#x27;t exist, no
929 # notification will be published but the state will still be stored in Cloud
930 # IoT Core.
931 &quot;pubsubTopicName&quot;: &quot;A String&quot;, # A Cloud Pub/Sub topic name. For example,
932 # `projects/myProject/topics/deviceEvents`.
933 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700934 }</pre>
935</div>
936
937<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700938 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700939 <pre>Sets the access control policy on the specified resource. Replaces any
940existing policy.
941
942Args:
943 resource: string, REQUIRED: The resource for which the policy is being specified.
944See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700945 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700946 The object takes the form of:
947
948{ # Request message for `SetIamPolicy` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700949 &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 -0700950 # the policy is limited to a few 10s of KB. An empty policy is a
951 # valid policy but certain Cloud Platform services (such as Projects)
952 # might reject them.
Dan O'Mearadd494642020-05-01 07:42:23 -0700953 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700954 #
955 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700956 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
957 # `members` to a single `role`. Members can be user accounts, service accounts,
958 # Google groups, and domains (such as G Suite). A `role` is a named list of
959 # permissions; each `role` can be an IAM predefined role or a user-created
960 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700961 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700962 # Optionally, a `binding` can specify a `condition`, which is a logical
963 # expression that allows access to a resource only if the expression evaluates
964 # to `true`. A condition can add constraints based on attributes of the
965 # request, the resource, or both.
966 #
967 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700968 #
969 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700970 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700971 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700972 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
973 # &quot;members&quot;: [
974 # &quot;user:mike@example.com&quot;,
975 # &quot;group:admins@example.com&quot;,
976 # &quot;domain:google.com&quot;,
977 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700978 # ]
979 # },
980 # {
Bu Sun Kim65020912020-05-20 12:08:20 -0700981 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
982 # &quot;members&quot;: [&quot;user:eve@example.com&quot;],
983 # &quot;condition&quot;: {
984 # &quot;title&quot;: &quot;expirable access&quot;,
985 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
986 # &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 -0700987 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700988 # }
Dan O'Mearadd494642020-05-01 07:42:23 -0700989 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700990 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
991 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700992 # }
993 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700994 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700995 #
996 # bindings:
997 # - members:
998 # - user:mike@example.com
999 # - group:admins@example.com
1000 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07001001 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1002 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001003 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07001004 # - user:eve@example.com
1005 # role: roles/resourcemanager.organizationViewer
1006 # condition:
1007 # title: expirable access
1008 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -07001009 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -07001010 # - etag: BwWWja0YfJA=
1011 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001012 #
1013 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07001014 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -07001015 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1016 # prevent simultaneous updates of a policy from overwriting each other.
1017 # It is strongly suggested that systems make use of the `etag` in the
1018 # read-modify-write cycle to perform policy updates in order to avoid race
1019 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1020 # systems are expected to put that etag in the request to `setIamPolicy` to
1021 # ensure that their change will be applied to the same version of the policy.
1022 #
1023 # **Important:** If you use IAM Conditions, you must include the `etag` field
1024 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1025 # you to overwrite a version `3` policy with a version `1` policy, and all of
1026 # the conditions in the version `3` policy are lost.
1027 &quot;version&quot;: 42, # Specifies the format of the policy.
1028 #
1029 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1030 # are rejected.
1031 #
1032 # Any operation that affects conditional role bindings must specify version
1033 # `3`. This requirement applies to the following operations:
1034 #
1035 # * Getting a policy that includes a conditional role binding
1036 # * Adding a conditional role binding to a policy
1037 # * Changing a conditional role binding in a policy
1038 # * Removing any role binding, with or without a condition, from a policy
1039 # that includes conditions
1040 #
1041 # **Important:** If you use IAM Conditions, you must include the `etag` field
1042 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1043 # you to overwrite a version `3` policy with a version `1` policy, and all of
1044 # the conditions in the version `3` policy are lost.
1045 #
1046 # If a policy does not include any conditions, operations on that policy may
1047 # specify any valid version or leave the field unset.
1048 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -07001049 # `condition` that determines how and when the `bindings` are applied. Each
1050 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001051 { # Associates `members` with a `role`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001052 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001053 # `members` can have the following values:
1054 #
1055 # * `allUsers`: A special identifier that represents anyone who is
1056 # on the internet; with or without a Google account.
1057 #
1058 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1059 # who is authenticated with a Google account or a service account.
1060 #
1061 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07001062 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001063 #
1064 #
1065 # * `serviceAccount:{emailid}`: An email address that represents a service
1066 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1067 #
1068 # * `group:{emailid}`: An email address that represents a Google group.
1069 # For example, `admins@example.com`.
1070 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001071 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1072 # identifier) representing a user that has been recently deleted. For
1073 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1074 # recovered, this value reverts to `user:{emailid}` and the recovered user
1075 # retains the role in the binding.
1076 #
1077 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1078 # unique identifier) representing a service account that has been recently
1079 # deleted. For example,
1080 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1081 # If the service account is undeleted, this value reverts to
1082 # `serviceAccount:{emailid}` and the undeleted service account retains the
1083 # role in the binding.
1084 #
1085 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1086 # identifier) representing a Google group that has been recently
1087 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1088 # the group is recovered, this value reverts to `group:{emailid}` and the
1089 # recovered group retains the role in the binding.
1090 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001091 #
1092 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1093 # users of that domain. For example, `google.com` or `example.com`.
1094 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001095 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001096 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001097 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
1098 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1099 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001100 # NOTE: An unsatisfied condition will not allow user access via current
1101 # binding. Different bindings, including their conditions, are examined
1102 # independently.
Dan O'Mearadd494642020-05-01 07:42:23 -07001103 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1104 # are documented at https://github.com/google/cel-spec.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001105 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001106 # Example (Comparison):
1107 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001108 # title: &quot;Summary size limit&quot;
1109 # description: &quot;Determines if a summary is less than 100 chars&quot;
1110 # expression: &quot;document.summary.size() &lt; 100&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001111 #
1112 # Example (Equality):
1113 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001114 # title: &quot;Requestor is owner&quot;
1115 # description: &quot;Determines if requestor is the document owner&quot;
1116 # expression: &quot;document.owner == request.auth.claims.email&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001117 #
1118 # Example (Logic):
1119 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001120 # title: &quot;Public documents&quot;
1121 # description: &quot;Determine whether the document should be publicly visible&quot;
1122 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001123 #
1124 # Example (Data Manipulation):
1125 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001126 # title: &quot;Notification string&quot;
1127 # description: &quot;Create a notification string with a timestamp.&quot;
1128 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001129 #
1130 # The exact variables and functions that may be referenced within an expression
1131 # are determined by the service that evaluates it. See the service
1132 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -07001133 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001134 # its purpose. This can be used e.g. in UIs which allow to enter the
1135 # expression.
Bu Sun Kim65020912020-05-20 12:08:20 -07001136 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1137 # reporting, e.g. a file name and a position in the file.
1138 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1139 # describes the expression, e.g. when hovered over it in a UI.
1140 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1141 # syntax.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001142 },
1143 },
1144 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001145 },
1146 }
1147
1148 x__xgafv: string, V1 error format.
1149 Allowed values
1150 1 - v1 error format
1151 2 - v2 error format
1152
1153Returns:
1154 An object of the form:
1155
Dan O'Mearadd494642020-05-01 07:42:23 -07001156 { # An Identity and Access Management (IAM) policy, which specifies access
1157 # controls for Google Cloud resources.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001158 #
1159 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001160 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1161 # `members` to a single `role`. Members can be user accounts, service accounts,
1162 # Google groups, and domains (such as G Suite). A `role` is a named list of
1163 # permissions; each `role` can be an IAM predefined role or a user-created
1164 # custom role.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001165 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001166 # Optionally, a `binding` can specify a `condition`, which is a logical
1167 # expression that allows access to a resource only if the expression evaluates
1168 # to `true`. A condition can add constraints based on attributes of the
1169 # request, the resource, or both.
1170 #
1171 # **JSON example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001172 #
1173 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07001174 # &quot;bindings&quot;: [
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001175 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07001176 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
1177 # &quot;members&quot;: [
1178 # &quot;user:mike@example.com&quot;,
1179 # &quot;group:admins@example.com&quot;,
1180 # &quot;domain:google.com&quot;,
1181 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001182 # ]
1183 # },
1184 # {
Bu Sun Kim65020912020-05-20 12:08:20 -07001185 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
1186 # &quot;members&quot;: [&quot;user:eve@example.com&quot;],
1187 # &quot;condition&quot;: {
1188 # &quot;title&quot;: &quot;expirable access&quot;,
1189 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
1190 # &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 -07001191 # }
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001192 # }
Dan O'Mearadd494642020-05-01 07:42:23 -07001193 # ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001194 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
1195 # &quot;version&quot;: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001196 # }
1197 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001198 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001199 #
1200 # bindings:
1201 # - members:
1202 # - user:mike@example.com
1203 # - group:admins@example.com
1204 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -07001205 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1206 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001207 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -07001208 # - user:eve@example.com
1209 # role: roles/resourcemanager.organizationViewer
1210 # condition:
1211 # title: expirable access
1212 # description: Does not grant access after Sep 2020
Bu Sun Kim65020912020-05-20 12:08:20 -07001213 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
Dan O'Mearadd494642020-05-01 07:42:23 -07001214 # - etag: BwWWja0YfJA=
1215 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001216 #
1217 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -07001218 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -07001219 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1220 # prevent simultaneous updates of a policy from overwriting each other.
1221 # It is strongly suggested that systems make use of the `etag` in the
1222 # read-modify-write cycle to perform policy updates in order to avoid race
1223 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1224 # systems are expected to put that etag in the request to `setIamPolicy` to
1225 # ensure that their change will be applied to the same version of the policy.
1226 #
1227 # **Important:** If you use IAM Conditions, you must include the `etag` field
1228 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1229 # you to overwrite a version `3` policy with a version `1` policy, and all of
1230 # the conditions in the version `3` policy are lost.
1231 &quot;version&quot;: 42, # Specifies the format of the policy.
1232 #
1233 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1234 # are rejected.
1235 #
1236 # Any operation that affects conditional role bindings must specify version
1237 # `3`. This requirement applies to the following operations:
1238 #
1239 # * Getting a policy that includes a conditional role binding
1240 # * Adding a conditional role binding to a policy
1241 # * Changing a conditional role binding in a policy
1242 # * Removing any role binding, with or without a condition, from a policy
1243 # that includes conditions
1244 #
1245 # **Important:** If you use IAM Conditions, you must include the `etag` field
1246 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1247 # you to overwrite a version `3` policy with a version `1` policy, and all of
1248 # the conditions in the version `3` policy are lost.
1249 #
1250 # If a policy does not include any conditions, operations on that policy may
1251 # specify any valid version or leave the field unset.
1252 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
Dan O'Mearadd494642020-05-01 07:42:23 -07001253 # `condition` that determines how and when the `bindings` are applied. Each
1254 # of the `bindings` must contain at least one member.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001255 { # Associates `members` with a `role`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001256 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001257 # `members` can have the following values:
1258 #
1259 # * `allUsers`: A special identifier that represents anyone who is
1260 # on the internet; with or without a Google account.
1261 #
1262 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1263 # who is authenticated with a Google account or a service account.
1264 #
1265 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -07001266 # account. For example, `alice@example.com` .
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001267 #
1268 #
1269 # * `serviceAccount:{emailid}`: An email address that represents a service
1270 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1271 #
1272 # * `group:{emailid}`: An email address that represents a Google group.
1273 # For example, `admins@example.com`.
1274 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001275 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1276 # identifier) representing a user that has been recently deleted. For
1277 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1278 # recovered, this value reverts to `user:{emailid}` and the recovered user
1279 # retains the role in the binding.
1280 #
1281 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1282 # unique identifier) representing a service account that has been recently
1283 # deleted. For example,
1284 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1285 # If the service account is undeleted, this value reverts to
1286 # `serviceAccount:{emailid}` and the undeleted service account retains the
1287 # role in the binding.
1288 #
1289 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1290 # identifier) representing a Google group that has been recently
1291 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1292 # the group is recovered, this value reverts to `group:{emailid}` and the
1293 # recovered group retains the role in the binding.
1294 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001295 #
1296 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1297 # users of that domain. For example, `google.com` or `example.com`.
1298 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001299 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001300 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001301 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
1302 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1303 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001304 # NOTE: An unsatisfied condition will not allow user access via current
1305 # binding. Different bindings, including their conditions, are examined
1306 # independently.
Dan O'Mearadd494642020-05-01 07:42:23 -07001307 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1308 # are documented at https://github.com/google/cel-spec.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001309 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001310 # Example (Comparison):
1311 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001312 # title: &quot;Summary size limit&quot;
1313 # description: &quot;Determines if a summary is less than 100 chars&quot;
1314 # expression: &quot;document.summary.size() &lt; 100&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001315 #
1316 # Example (Equality):
1317 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001318 # title: &quot;Requestor is owner&quot;
1319 # description: &quot;Determines if requestor is the document owner&quot;
1320 # expression: &quot;document.owner == request.auth.claims.email&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001321 #
1322 # Example (Logic):
1323 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001324 # title: &quot;Public documents&quot;
1325 # description: &quot;Determine whether the document should be publicly visible&quot;
1326 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001327 #
1328 # Example (Data Manipulation):
1329 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001330 # title: &quot;Notification string&quot;
1331 # description: &quot;Create a notification string with a timestamp.&quot;
1332 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
Dan O'Mearadd494642020-05-01 07:42:23 -07001333 #
1334 # The exact variables and functions that may be referenced within an expression
1335 # are determined by the service that evaluates it. See the service
1336 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -07001337 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001338 # its purpose. This can be used e.g. in UIs which allow to enter the
1339 # expression.
Bu Sun Kim65020912020-05-20 12:08:20 -07001340 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1341 # reporting, e.g. a file name and a position in the file.
1342 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1343 # describes the expression, e.g. when hovered over it in a UI.
1344 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1345 # syntax.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001346 },
1347 },
1348 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001349 }</pre>
1350</div>
1351
1352<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001353 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001354 <pre>Returns permissions that a caller has on the specified resource.
1355If the resource does not exist, this will return an empty set of
1356permissions, not a NOT_FOUND error.
1357
1358Args:
1359 resource: string, REQUIRED: The resource for which the policy detail is being requested.
1360See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001361 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001362 The object takes the form of:
1363
1364{ # Request message for `TestIamPermissions` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07001365 &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
1366 # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001367 # information see
1368 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Bu Sun Kim65020912020-05-20 12:08:20 -07001369 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001370 ],
1371 }
1372
1373 x__xgafv: string, V1 error format.
1374 Allowed values
1375 1 - v1 error format
1376 2 - v2 error format
1377
1378Returns:
1379 An object of the form:
1380
1381 { # Response message for `TestIamPermissions` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07001382 &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001383 # allowed.
Bu Sun Kim65020912020-05-20 12:08:20 -07001384 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001385 ],
1386 }</pre>
1387</div>
1388
1389<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001390 <code class="details" id="unbindDeviceFromGateway">unbindDeviceFromGateway(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001391 <pre>Deletes the association between the device and the gateway.
1392
1393Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07001394 parent: string, Required. The name of the registry. For example,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001395`projects/example-project/locations/us-central1/registries/my-registry`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001396 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001397 The object takes the form of:
1398
1399{ # Request for `UnbindDeviceFromGateway`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001400 &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 -07001401 # user-defined device identifier.
Bu Sun Kim65020912020-05-20 12:08:20 -07001402 &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 -07001403 # `device_id` can be either the device numeric ID or the user-defined device
1404 # identifier.
1405 }
1406
1407 x__xgafv: string, V1 error format.
1408 Allowed values
1409 1 - v1 error format
1410 2 - v2 error format
1411
1412Returns:
1413 An object of the form:
1414
1415 { # Response for `UnbindDeviceFromGateway`.
1416 }</pre>
1417</div>
1418
1419</body></html>