blob: b819a1cecb411571ad4dc06b141dfd11e0862451 [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="accesscontextmanager_v1.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1.accessPolicies.html">accessPolicies</a> . <a href="accesscontextmanager_v1.accessPolicies.accessLevels.html">accessLevels</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070079<p class="firstline">Create an Access Level. The longrunning</p>
80<p class="toc_element">
81 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
82<p class="firstline">Delete an Access Level by resource</p>
83<p class="toc_element">
84 <code><a href="#get">get(name, accessLevelFormat=None, x__xgafv=None)</a></code></p>
85<p class="firstline">Get an Access Level by resource</p>
86<p class="toc_element">
Bu Sun Kim65020912020-05-20 12:08:20 -070087 <code><a href="#list">list(parent, pageToken=None, pageSize=None, accessLevelFormat=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070088<p class="firstline">List all Access Levels for an access</p>
89<p class="toc_element">
90 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
91<p class="firstline">Retrieves the next page of results.</p>
92<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070093 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070094<p class="firstline">Update an Access Level. The longrunning</p>
Dan O'Mearadd494642020-05-01 07:42:23 -070095<p class="toc_element">
96 <code><a href="#replaceAll">replaceAll(parent, body=None, x__xgafv=None)</a></code></p>
97<p class="firstline">Replace all existing Access Levels in an Access</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070098<h3>Method Details</h3>
99<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700100 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700101 <pre>Create an Access Level. The longrunning
102operation from this RPC will have a successful status once the Access
103Level has
104propagated to long-lasting storage. Access Levels containing
105errors will result in an error response for the first error encountered.
106
107Args:
108 parent: string, Required. Resource name for the access policy which owns this Access
109Level.
110
111Format: `accessPolicies/{policy_id}` (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700112 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700113 The object takes the form of:
114
Dan O'Mearadd494642020-05-01 07:42:23 -0700115{ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
116 # services, along with a list of requirements necessary for the label to be
117 # applied.
Bu Sun Kim65020912020-05-20 12:08:20 -0700118 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
119 # to represent the necessary conditions for the level to apply to a request.
120 # See CEL spec at: https://github.com/google/cel-spec
121 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
122 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
123 # are documented at https://github.com/google/cel-spec.
124 #
125 # Example (Comparison):
126 #
127 # title: &quot;Summary size limit&quot;
128 # description: &quot;Determines if a summary is less than 100 chars&quot;
129 # expression: &quot;document.summary.size() &lt; 100&quot;
130 #
131 # Example (Equality):
132 #
133 # title: &quot;Requestor is owner&quot;
134 # description: &quot;Determines if requestor is the document owner&quot;
135 # expression: &quot;document.owner == request.auth.claims.email&quot;
136 #
137 # Example (Logic):
138 #
139 # title: &quot;Public documents&quot;
140 # description: &quot;Determine whether the document should be publicly visible&quot;
141 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
142 #
143 # Example (Data Manipulation):
144 #
145 # title: &quot;Notification string&quot;
146 # description: &quot;Create a notification string with a timestamp.&quot;
147 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
148 #
149 # The exact variables and functions that may be referenced within an expression
150 # are determined by the service that evaluates it. See the service
151 # documentation for additional information.
152 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
153 # describes the expression, e.g. when hovered over it in a UI.
154 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
155 # syntax.
156 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
157 # its purpose. This can be used e.g. in UIs which allow to enter the
158 # expression.
159 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
160 # reporting, e.g. a file name and a position in the file.
161 },
162 },
163 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
164 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
165 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
166 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
167 # of the `short_name` component is 50 characters.
168 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
169 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
Dan O'Mearadd494642020-05-01 07:42:23 -0700170 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
171 # AND over its fields. So a Condition is true if: 1) the request IP is from one
172 # of the listed subnetworks AND 2) the originating device complies with the
173 # listed device policy AND 3) all listed access levels are granted AND 4) the
174 # request was sent at a time allowed by the DateTimeRestriction.
Bu Sun Kim65020912020-05-20 12:08:20 -0700175 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
176 # Must be valid ISO 3166-1 alpha-2 codes.
177 &quot;A String&quot;,
178 ],
179 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
Dan O'Mearadd494642020-05-01 07:42:23 -0700180 # resource name. Referencing an `AccessLevel` which does not exist is an
181 # error. All access levels listed must be granted for the Condition
182 # to be true. Example:
Bu Sun Kim65020912020-05-20 12:08:20 -0700183 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
184 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700185 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700186 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
Dan O'Mearadd494642020-05-01 07:42:23 -0700187 # Condition to be true. If not specified, all devices are allowed.
188 # given access level. A `DevicePolicy` specifies requirements for requests from
189 # devices to be granted access levels, it does not do any enforcement on the
190 # device. `DevicePolicy` acts as an AND over all specified fields, and each
191 # repeated field is an OR over its elements. Any unset fields are ignored. For
192 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
193 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
194 # true for requests originating from encrypted Linux desktops and encrypted
195 # Windows desktops.
Bu Sun Kim65020912020-05-20 12:08:20 -0700196 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
197 # levels.
198 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700199 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700200 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
Dan O'Mearadd494642020-05-01 07:42:23 -0700201 { # A restriction on the OS type and version of devices making requests.
Bu Sun Kim65020912020-05-20 12:08:20 -0700202 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
203 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
204 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
205 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
206 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
Dan O'Mearadd494642020-05-01 07:42:23 -0700207 # Verifications includes requirements that the device is enterprise-managed,
208 # conformant to domain policies, and the caller has permission to call
209 # the API targeted by the request.
Dan O'Mearadd494642020-05-01 07:42:23 -0700210 },
211 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700212 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
213 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
214 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
Dan O'Mearadd494642020-05-01 07:42:23 -0700215 # Defaults to `false`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700216 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
217 &quot;A String&quot;,
218 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700219 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700220 &quot;members&quot;: [ # The request must be made by one of the provided user or service
Dan O'Mearadd494642020-05-01 07:42:23 -0700221 # accounts. Groups are not supported.
222 # Syntax:
223 # `user:{emailid}`
224 # `serviceAccount:{emailid}`
225 # If not specified, a request may come from any user.
Bu Sun Kim65020912020-05-20 12:08:20 -0700226 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700227 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700228 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
Dan O'Mearadd494642020-05-01 07:42:23 -0700229 # its non-empty fields, each field must be false for the Condition overall to
230 # be satisfied. Defaults to false.
Bu Sun Kim65020912020-05-20 12:08:20 -0700231 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
232 # a CIDR IP address block, the specified IP address portion must be properly
233 # truncated (i.e. all the host bits must be zero) or the input is considered
234 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
235 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
236 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
237 # the listed subnets in order for this Condition to be true. If empty, all IP
238 # addresses are allowed.
239 &quot;A String&quot;,
240 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700241 },
242 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700243 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
244 # granted this `AccessLevel`. If AND is used, each `Condition` in
245 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
246 # is used, at least one `Condition` in `conditions` must be satisfied for the
247 # `AccessLevel` to be applied. Default behavior is AND.
Dan O'Mearadd494642020-05-01 07:42:23 -0700248 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700249 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Dan O'Mearadd494642020-05-01 07:42:23 -0700250}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700251
252 x__xgafv: string, V1 error format.
253 Allowed values
254 1 - v1 error format
255 2 - v2 error format
256
257Returns:
258 An object of the form:
259
260 { # This resource represents a long-running operation that is the result of a
261 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700262 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700263 # If `true`, the operation is completed, and either `error` or `response` is
264 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700265 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700266 # method returns no data on success, such as `Delete`, the response is
267 # `google.protobuf.Empty`. If the original method is standard
268 # `Get`/`Create`/`Update`, the response should be the resource. For other
269 # methods, the response should have the type `XxxResponse`, where `Xxx`
270 # is the original method name. For example, if the original method name
271 # is `TakeSnapshot()`, the inferred response type is
272 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700273 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700274 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700275 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700276 # originally returns it. If you use the default HTTP mapping, the
277 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700278 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
279 # different programming environments, including REST APIs and RPC APIs. It is
280 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
281 # three pieces of data: error code, error message, and error details.
282 #
283 # You can find out more about this error model and how to work with it in the
284 # [API Design Guide](https://cloud.google.com/apis/design/errors).
285 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
286 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
287 # user-facing error message should be localized and sent in the
288 # google.rpc.Status.details field, or localized by the client.
289 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
290 # message types for APIs to use.
291 {
292 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
293 },
294 ],
295 },
296 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
297 # contains progress information and common metadata such as create time.
298 # Some services might not provide such metadata. Any method that returns a
299 # long-running operation should document the metadata type, if any.
300 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
301 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700302 }</pre>
303</div>
304
305<div class="method">
306 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
307 <pre>Delete an Access Level by resource
308name. The longrunning operation from this RPC will have a successful status
309once the Access Level has been removed
310from long-lasting storage.
311
312Args:
313 name: string, Required. Resource name for the Access Level.
314
315Format:
316`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
317 x__xgafv: string, V1 error format.
318 Allowed values
319 1 - v1 error format
320 2 - v2 error format
321
322Returns:
323 An object of the form:
324
325 { # This resource represents a long-running operation that is the result of a
326 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700327 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700328 # If `true`, the operation is completed, and either `error` or `response` is
329 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700330 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700331 # method returns no data on success, such as `Delete`, the response is
332 # `google.protobuf.Empty`. If the original method is standard
333 # `Get`/`Create`/`Update`, the response should be the resource. For other
334 # methods, the response should have the type `XxxResponse`, where `Xxx`
335 # is the original method name. For example, if the original method name
336 # is `TakeSnapshot()`, the inferred response type is
337 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700338 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700339 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700340 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700341 # originally returns it. If you use the default HTTP mapping, the
342 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700343 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
344 # different programming environments, including REST APIs and RPC APIs. It is
345 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
346 # three pieces of data: error code, error message, and error details.
347 #
348 # You can find out more about this error model and how to work with it in the
349 # [API Design Guide](https://cloud.google.com/apis/design/errors).
350 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
351 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
352 # user-facing error message should be localized and sent in the
353 # google.rpc.Status.details field, or localized by the client.
354 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
355 # message types for APIs to use.
356 {
357 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
358 },
359 ],
360 },
361 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
362 # contains progress information and common metadata such as create time.
363 # Some services might not provide such metadata. Any method that returns a
364 # long-running operation should document the metadata type, if any.
365 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
366 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700367 }</pre>
368</div>
369
370<div class="method">
371 <code class="details" id="get">get(name, accessLevelFormat=None, x__xgafv=None)</code>
372 <pre>Get an Access Level by resource
373name.
374
375Args:
376 name: string, Required. Resource name for the Access Level.
377
378Format:
379`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
380 accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression
381Language rather than as `BasicLevels`. Defaults to AS_DEFINED, where
382Access Levels
383are returned as `BasicLevels` or `CustomLevels` based on how they were
384created. If set to CEL, all Access Levels are returned as
385`CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent
386`CustomLevels`.
387 x__xgafv: string, V1 error format.
388 Allowed values
389 1 - v1 error format
390 2 - v2 error format
391
392Returns:
393 An object of the form:
394
Dan O'Mearadd494642020-05-01 07:42:23 -0700395 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
396 # services, along with a list of requirements necessary for the label to be
397 # applied.
Bu Sun Kim65020912020-05-20 12:08:20 -0700398 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
399 # to represent the necessary conditions for the level to apply to a request.
400 # See CEL spec at: https://github.com/google/cel-spec
401 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
402 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
403 # are documented at https://github.com/google/cel-spec.
404 #
405 # Example (Comparison):
406 #
407 # title: &quot;Summary size limit&quot;
408 # description: &quot;Determines if a summary is less than 100 chars&quot;
409 # expression: &quot;document.summary.size() &lt; 100&quot;
410 #
411 # Example (Equality):
412 #
413 # title: &quot;Requestor is owner&quot;
414 # description: &quot;Determines if requestor is the document owner&quot;
415 # expression: &quot;document.owner == request.auth.claims.email&quot;
416 #
417 # Example (Logic):
418 #
419 # title: &quot;Public documents&quot;
420 # description: &quot;Determine whether the document should be publicly visible&quot;
421 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
422 #
423 # Example (Data Manipulation):
424 #
425 # title: &quot;Notification string&quot;
426 # description: &quot;Create a notification string with a timestamp.&quot;
427 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
428 #
429 # The exact variables and functions that may be referenced within an expression
430 # are determined by the service that evaluates it. See the service
431 # documentation for additional information.
432 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
433 # describes the expression, e.g. when hovered over it in a UI.
434 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
435 # syntax.
436 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
437 # its purpose. This can be used e.g. in UIs which allow to enter the
438 # expression.
439 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
440 # reporting, e.g. a file name and a position in the file.
441 },
442 },
443 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
444 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
445 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
446 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
447 # of the `short_name` component is 50 characters.
448 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
449 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700450 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
451 # AND over its fields. So a Condition is true if: 1) the request IP is from one
452 # of the listed subnetworks AND 2) the originating device complies with the
453 # listed device policy AND 3) all listed access levels are granted AND 4) the
454 # request was sent at a time allowed by the DateTimeRestriction.
Bu Sun Kim65020912020-05-20 12:08:20 -0700455 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
456 # Must be valid ISO 3166-1 alpha-2 codes.
457 &quot;A String&quot;,
458 ],
459 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700460 # resource name. Referencing an `AccessLevel` which does not exist is an
461 # error. All access levels listed must be granted for the Condition
462 # to be true. Example:
Bu Sun Kim65020912020-05-20 12:08:20 -0700463 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
464 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700465 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700466 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700467 # Condition to be true. If not specified, all devices are allowed.
468 # given access level. A `DevicePolicy` specifies requirements for requests from
469 # devices to be granted access levels, it does not do any enforcement on the
470 # device. `DevicePolicy` acts as an AND over all specified fields, and each
471 # repeated field is an OR over its elements. Any unset fields are ignored. For
472 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
473 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
474 # true for requests originating from encrypted Linux desktops and encrypted
475 # Windows desktops.
Bu Sun Kim65020912020-05-20 12:08:20 -0700476 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
477 # levels.
478 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700479 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700480 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700481 { # A restriction on the OS type and version of devices making requests.
Bu Sun Kim65020912020-05-20 12:08:20 -0700482 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
483 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
484 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
485 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
486 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700487 # Verifications includes requirements that the device is enterprise-managed,
Dan O'Mearadd494642020-05-01 07:42:23 -0700488 # conformant to domain policies, and the caller has permission to call
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700489 # the API targeted by the request.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700490 },
491 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700492 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
493 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
494 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700495 # Defaults to `false`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700496 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
497 &quot;A String&quot;,
498 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700499 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700500 &quot;members&quot;: [ # The request must be made by one of the provided user or service
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700501 # accounts. Groups are not supported.
502 # Syntax:
503 # `user:{emailid}`
504 # `serviceAccount:{emailid}`
505 # If not specified, a request may come from any user.
Bu Sun Kim65020912020-05-20 12:08:20 -0700506 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700507 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700508 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700509 # its non-empty fields, each field must be false for the Condition overall to
510 # be satisfied. Defaults to false.
Bu Sun Kim65020912020-05-20 12:08:20 -0700511 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
512 # a CIDR IP address block, the specified IP address portion must be properly
513 # truncated (i.e. all the host bits must be zero) or the input is considered
514 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
515 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
516 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
517 # the listed subnets in order for this Condition to be true. If empty, all IP
518 # addresses are allowed.
519 &quot;A String&quot;,
520 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700521 },
522 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700523 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
524 # granted this `AccessLevel`. If AND is used, each `Condition` in
525 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
526 # is used, at least one `Condition` in `conditions` must be satisfied for the
527 # `AccessLevel` to be applied. Default behavior is AND.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700528 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700529 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Dan O'Mearadd494642020-05-01 07:42:23 -0700530 }</pre>
531</div>
532
533<div class="method">
Bu Sun Kim65020912020-05-20 12:08:20 -0700534 <code class="details" id="list">list(parent, pageToken=None, pageSize=None, accessLevelFormat=None, x__xgafv=None)</code>
Dan O'Mearadd494642020-05-01 07:42:23 -0700535 <pre>List all Access Levels for an access
536policy.
537
538Args:
539 parent: string, Required. Resource name for the access policy to list Access Levels from.
540
541Format:
542`accessPolicies/{policy_id}` (required)
Bu Sun Kim65020912020-05-20 12:08:20 -0700543 pageToken: string, Next page token for the next batch of Access Level instances.
544Defaults to the first page of results.
545 pageSize: integer, Number of Access Levels to include in
546the list. Default 100.
Dan O'Mearadd494642020-05-01 07:42:23 -0700547 accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression language, as
548`CustomLevels`, rather than as `BasicLevels`. Defaults to returning
549`AccessLevels` in the format they were defined.
Dan O'Mearadd494642020-05-01 07:42:23 -0700550 x__xgafv: string, V1 error format.
551 Allowed values
552 1 - v1 error format
553 2 - v2 error format
554
555Returns:
556 An object of the form:
557
558 { # A response to `ListAccessLevelsRequest`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700559 &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of results. If the value is
Dan O'Mearadd494642020-05-01 07:42:23 -0700560 # empty, no further results remain.
Bu Sun Kim65020912020-05-20 12:08:20 -0700561 &quot;accessLevels&quot;: [ # List of the Access Level instances.
Dan O'Mearadd494642020-05-01 07:42:23 -0700562 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
563 # services, along with a list of requirements necessary for the label to be
564 # applied.
Bu Sun Kim65020912020-05-20 12:08:20 -0700565 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
566 # to represent the necessary conditions for the level to apply to a request.
567 # See CEL spec at: https://github.com/google/cel-spec
568 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
569 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
570 # are documented at https://github.com/google/cel-spec.
571 #
572 # Example (Comparison):
573 #
574 # title: &quot;Summary size limit&quot;
575 # description: &quot;Determines if a summary is less than 100 chars&quot;
576 # expression: &quot;document.summary.size() &lt; 100&quot;
577 #
578 # Example (Equality):
579 #
580 # title: &quot;Requestor is owner&quot;
581 # description: &quot;Determines if requestor is the document owner&quot;
582 # expression: &quot;document.owner == request.auth.claims.email&quot;
583 #
584 # Example (Logic):
585 #
586 # title: &quot;Public documents&quot;
587 # description: &quot;Determine whether the document should be publicly visible&quot;
588 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
589 #
590 # Example (Data Manipulation):
591 #
592 # title: &quot;Notification string&quot;
593 # description: &quot;Create a notification string with a timestamp.&quot;
594 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
595 #
596 # The exact variables and functions that may be referenced within an expression
597 # are determined by the service that evaluates it. See the service
598 # documentation for additional information.
599 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
600 # describes the expression, e.g. when hovered over it in a UI.
601 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
602 # syntax.
603 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
604 # its purpose. This can be used e.g. in UIs which allow to enter the
605 # expression.
606 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
607 # reporting, e.g. a file name and a position in the file.
608 },
609 },
610 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
611 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
612 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
613 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
614 # of the `short_name` component is 50 characters.
615 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
616 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
Dan O'Mearadd494642020-05-01 07:42:23 -0700617 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
618 # AND over its fields. So a Condition is true if: 1) the request IP is from one
619 # of the listed subnetworks AND 2) the originating device complies with the
620 # listed device policy AND 3) all listed access levels are granted AND 4) the
621 # request was sent at a time allowed by the DateTimeRestriction.
Bu Sun Kim65020912020-05-20 12:08:20 -0700622 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
623 # Must be valid ISO 3166-1 alpha-2 codes.
624 &quot;A String&quot;,
625 ],
626 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
Dan O'Mearadd494642020-05-01 07:42:23 -0700627 # resource name. Referencing an `AccessLevel` which does not exist is an
628 # error. All access levels listed must be granted for the Condition
629 # to be true. Example:
Bu Sun Kim65020912020-05-20 12:08:20 -0700630 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
631 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700632 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700633 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
Dan O'Mearadd494642020-05-01 07:42:23 -0700634 # Condition to be true. If not specified, all devices are allowed.
635 # given access level. A `DevicePolicy` specifies requirements for requests from
636 # devices to be granted access levels, it does not do any enforcement on the
637 # device. `DevicePolicy` acts as an AND over all specified fields, and each
638 # repeated field is an OR over its elements. Any unset fields are ignored. For
639 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
640 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
641 # true for requests originating from encrypted Linux desktops and encrypted
642 # Windows desktops.
Bu Sun Kim65020912020-05-20 12:08:20 -0700643 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
644 # levels.
645 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700646 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700647 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
Dan O'Mearadd494642020-05-01 07:42:23 -0700648 { # A restriction on the OS type and version of devices making requests.
Bu Sun Kim65020912020-05-20 12:08:20 -0700649 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
650 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
651 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
652 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
653 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
Dan O'Mearadd494642020-05-01 07:42:23 -0700654 # Verifications includes requirements that the device is enterprise-managed,
655 # conformant to domain policies, and the caller has permission to call
656 # the API targeted by the request.
Dan O'Mearadd494642020-05-01 07:42:23 -0700657 },
658 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700659 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
660 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
661 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
Dan O'Mearadd494642020-05-01 07:42:23 -0700662 # Defaults to `false`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700663 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
664 &quot;A String&quot;,
665 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700666 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700667 &quot;members&quot;: [ # The request must be made by one of the provided user or service
Dan O'Mearadd494642020-05-01 07:42:23 -0700668 # accounts. Groups are not supported.
669 # Syntax:
670 # `user:{emailid}`
671 # `serviceAccount:{emailid}`
672 # If not specified, a request may come from any user.
Bu Sun Kim65020912020-05-20 12:08:20 -0700673 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700674 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700675 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
Dan O'Mearadd494642020-05-01 07:42:23 -0700676 # its non-empty fields, each field must be false for the Condition overall to
677 # be satisfied. Defaults to false.
Bu Sun Kim65020912020-05-20 12:08:20 -0700678 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
679 # a CIDR IP address block, the specified IP address portion must be properly
680 # truncated (i.e. all the host bits must be zero) or the input is considered
681 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
682 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
683 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
684 # the listed subnets in order for this Condition to be true. If empty, all IP
685 # addresses are allowed.
686 &quot;A String&quot;,
687 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700688 },
689 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700690 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
691 # granted this `AccessLevel`. If AND is used, each `Condition` in
692 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
693 # is used, at least one `Condition` in `conditions` must be satisfied for the
694 # `AccessLevel` to be applied. Default behavior is AND.
Dan O'Mearadd494642020-05-01 07:42:23 -0700695 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700696 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Dan O'Mearadd494642020-05-01 07:42:23 -0700697 },
698 ],
699 }</pre>
700</div>
701
702<div class="method">
703 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
704 <pre>Retrieves the next page of results.
705
706Args:
707 previous_request: The request for the previous page. (required)
708 previous_response: The response from the request for the previous page. (required)
709
710Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -0700711 A request object that you can call &#x27;execute()&#x27; on to request the next
Dan O'Mearadd494642020-05-01 07:42:23 -0700712 page. Returns None if there are no more items in the collection.
713 </pre>
714</div>
715
716<div class="method">
717 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
718 <pre>Update an Access Level. The longrunning
719operation from this RPC will have a successful status once the changes to
720the Access Level have propagated
721to long-lasting storage. Access Levels containing
722errors will result in an error response for the first error encountered.
723
724Args:
725 name: string, Required. Resource name for the Access Level. The `short_name` component
Bu Sun Kim65020912020-05-20 12:08:20 -0700726must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
Dan O'Mearadd494642020-05-01 07:42:23 -0700727`accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
728of the `short_name` component is 50 characters. (required)
729 body: object, The request body.
730 The object takes the form of:
731
732{ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
733 # services, along with a list of requirements necessary for the label to be
734 # applied.
Bu Sun Kim65020912020-05-20 12:08:20 -0700735 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
736 # to represent the necessary conditions for the level to apply to a request.
737 # See CEL spec at: https://github.com/google/cel-spec
738 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
739 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
740 # are documented at https://github.com/google/cel-spec.
741 #
742 # Example (Comparison):
743 #
744 # title: &quot;Summary size limit&quot;
745 # description: &quot;Determines if a summary is less than 100 chars&quot;
746 # expression: &quot;document.summary.size() &lt; 100&quot;
747 #
748 # Example (Equality):
749 #
750 # title: &quot;Requestor is owner&quot;
751 # description: &quot;Determines if requestor is the document owner&quot;
752 # expression: &quot;document.owner == request.auth.claims.email&quot;
753 #
754 # Example (Logic):
755 #
756 # title: &quot;Public documents&quot;
757 # description: &quot;Determine whether the document should be publicly visible&quot;
758 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
759 #
760 # Example (Data Manipulation):
761 #
762 # title: &quot;Notification string&quot;
763 # description: &quot;Create a notification string with a timestamp.&quot;
764 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
765 #
766 # The exact variables and functions that may be referenced within an expression
767 # are determined by the service that evaluates it. See the service
768 # documentation for additional information.
769 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
770 # describes the expression, e.g. when hovered over it in a UI.
771 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
772 # syntax.
773 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
774 # its purpose. This can be used e.g. in UIs which allow to enter the
775 # expression.
776 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
777 # reporting, e.g. a file name and a position in the file.
778 },
779 },
780 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
781 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
782 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
783 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
784 # of the `short_name` component is 50 characters.
785 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
786 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
Dan O'Mearadd494642020-05-01 07:42:23 -0700787 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
788 # AND over its fields. So a Condition is true if: 1) the request IP is from one
789 # of the listed subnetworks AND 2) the originating device complies with the
790 # listed device policy AND 3) all listed access levels are granted AND 4) the
791 # request was sent at a time allowed by the DateTimeRestriction.
Bu Sun Kim65020912020-05-20 12:08:20 -0700792 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
793 # Must be valid ISO 3166-1 alpha-2 codes.
794 &quot;A String&quot;,
795 ],
796 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
Dan O'Mearadd494642020-05-01 07:42:23 -0700797 # resource name. Referencing an `AccessLevel` which does not exist is an
798 # error. All access levels listed must be granted for the Condition
799 # to be true. Example:
Bu Sun Kim65020912020-05-20 12:08:20 -0700800 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
801 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700802 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700803 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
Dan O'Mearadd494642020-05-01 07:42:23 -0700804 # Condition to be true. If not specified, all devices are allowed.
805 # given access level. A `DevicePolicy` specifies requirements for requests from
806 # devices to be granted access levels, it does not do any enforcement on the
807 # device. `DevicePolicy` acts as an AND over all specified fields, and each
808 # repeated field is an OR over its elements. Any unset fields are ignored. For
809 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
810 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
811 # true for requests originating from encrypted Linux desktops and encrypted
812 # Windows desktops.
Bu Sun Kim65020912020-05-20 12:08:20 -0700813 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
814 # levels.
815 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700816 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700817 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
Dan O'Mearadd494642020-05-01 07:42:23 -0700818 { # A restriction on the OS type and version of devices making requests.
Bu Sun Kim65020912020-05-20 12:08:20 -0700819 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
820 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
821 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
822 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
823 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
Dan O'Mearadd494642020-05-01 07:42:23 -0700824 # Verifications includes requirements that the device is enterprise-managed,
825 # conformant to domain policies, and the caller has permission to call
826 # the API targeted by the request.
Dan O'Mearadd494642020-05-01 07:42:23 -0700827 },
828 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700829 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
830 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
831 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
Dan O'Mearadd494642020-05-01 07:42:23 -0700832 # Defaults to `false`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700833 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
834 &quot;A String&quot;,
835 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700836 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700837 &quot;members&quot;: [ # The request must be made by one of the provided user or service
Dan O'Mearadd494642020-05-01 07:42:23 -0700838 # accounts. Groups are not supported.
839 # Syntax:
840 # `user:{emailid}`
841 # `serviceAccount:{emailid}`
842 # If not specified, a request may come from any user.
Bu Sun Kim65020912020-05-20 12:08:20 -0700843 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -0700844 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700845 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
Dan O'Mearadd494642020-05-01 07:42:23 -0700846 # its non-empty fields, each field must be false for the Condition overall to
847 # be satisfied. Defaults to false.
Bu Sun Kim65020912020-05-20 12:08:20 -0700848 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
849 # a CIDR IP address block, the specified IP address portion must be properly
850 # truncated (i.e. all the host bits must be zero) or the input is considered
851 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
852 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
853 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
854 # the listed subnets in order for this Condition to be true. If empty, all IP
855 # addresses are allowed.
856 &quot;A String&quot;,
857 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700858 },
859 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700860 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
861 # granted this `AccessLevel`. If AND is used, each `Condition` in
862 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
863 # is used, at least one `Condition` in `conditions` must be satisfied for the
864 # `AccessLevel` to be applied. Default behavior is AND.
Dan O'Mearadd494642020-05-01 07:42:23 -0700865 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700866 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Dan O'Mearadd494642020-05-01 07:42:23 -0700867}
868
869 updateMask: string, Required. Mask to control which fields get updated. Must be non-empty.
870 x__xgafv: string, V1 error format.
871 Allowed values
872 1 - v1 error format
873 2 - v2 error format
874
875Returns:
876 An object of the form:
877
878 { # This resource represents a long-running operation that is the result of a
879 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700880 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
Dan O'Mearadd494642020-05-01 07:42:23 -0700881 # If `true`, the operation is completed, and either `error` or `response` is
882 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700883 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700884 # method returns no data on success, such as `Delete`, the response is
885 # `google.protobuf.Empty`. If the original method is standard
886 # `Get`/`Create`/`Update`, the response should be the resource. For other
887 # methods, the response should have the type `XxxResponse`, where `Xxx`
888 # is the original method name. For example, if the original method name
889 # is `TakeSnapshot()`, the inferred response type is
890 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700891 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -0700892 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700893 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
Dan O'Mearadd494642020-05-01 07:42:23 -0700894 # originally returns it. If you use the default HTTP mapping, the
895 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700896 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
897 # different programming environments, including REST APIs and RPC APIs. It is
898 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
899 # three pieces of data: error code, error message, and error details.
900 #
901 # You can find out more about this error model and how to work with it in the
902 # [API Design Guide](https://cloud.google.com/apis/design/errors).
903 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
904 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
905 # user-facing error message should be localized and sent in the
906 # google.rpc.Status.details field, or localized by the client.
907 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
908 # message types for APIs to use.
909 {
910 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
911 },
912 ],
913 },
914 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
915 # contains progress information and common metadata such as create time.
916 # Some services might not provide such metadata. Any method that returns a
917 # long-running operation should document the metadata type, if any.
918 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
919 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700920 }</pre>
921</div>
922
923<div class="method">
924 <code class="details" id="replaceAll">replaceAll(parent, body=None, x__xgafv=None)</code>
925 <pre>Replace all existing Access Levels in an Access
926Policy with
927the Access Levels provided. This
928is done atomically. The longrunning operation from this RPC will have a
929successful status once all replacements have propagated to long-lasting
930storage. Replacements containing errors will result in an error response
931for the first error encountered. Replacement will be cancelled on error,
932existing Access Levels will not be
933affected. Operation.response field will contain
934ReplaceAccessLevelsResponse. Removing Access Levels contained in existing
935Service Perimeters will result in
936error.
937
938Args:
939 parent: string, Required. Resource name for the access policy which owns these
940Access Levels.
941
942Format: `accessPolicies/{policy_id}` (required)
943 body: object, The request body.
944 The object takes the form of:
945
946{ # A request to replace all existing Access Levels in an Access Policy with
947 # the Access Levels provided. This is done atomically.
Bu Sun Kim65020912020-05-20 12:08:20 -0700948 &quot;etag&quot;: &quot;A String&quot;, # Optional. The etag for the version of the Access Policy that this
Dan O'Mearadd494642020-05-01 07:42:23 -0700949 # replace operation is to be performed on. If, at the time of replace, the
950 # etag for the Access Policy stored in Access Context Manager is different
951 # from the specified etag, then the replace operation will not be performed
952 # and the call will fail. This field is not required. If etag is not
953 # provided, the operation will be performed as if a valid etag is provided.
Bu Sun Kim65020912020-05-20 12:08:20 -0700954 &quot;accessLevels&quot;: [ # Required. The desired Access Levels that should
Dan O'Mearadd494642020-05-01 07:42:23 -0700955 # replace all existing Access Levels in the
956 # Access Policy.
957 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
958 # services, along with a list of requirements necessary for the label to be
959 # applied.
Bu Sun Kim65020912020-05-20 12:08:20 -0700960 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
961 # to represent the necessary conditions for the level to apply to a request.
962 # See CEL spec at: https://github.com/google/cel-spec
963 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
964 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
965 # are documented at https://github.com/google/cel-spec.
966 #
967 # Example (Comparison):
968 #
969 # title: &quot;Summary size limit&quot;
970 # description: &quot;Determines if a summary is less than 100 chars&quot;
971 # expression: &quot;document.summary.size() &lt; 100&quot;
972 #
973 # Example (Equality):
974 #
975 # title: &quot;Requestor is owner&quot;
976 # description: &quot;Determines if requestor is the document owner&quot;
977 # expression: &quot;document.owner == request.auth.claims.email&quot;
978 #
979 # Example (Logic):
980 #
981 # title: &quot;Public documents&quot;
982 # description: &quot;Determine whether the document should be publicly visible&quot;
983 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
984 #
985 # Example (Data Manipulation):
986 #
987 # title: &quot;Notification string&quot;
988 # description: &quot;Create a notification string with a timestamp.&quot;
989 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
990 #
991 # The exact variables and functions that may be referenced within an expression
992 # are determined by the service that evaluates it. See the service
993 # documentation for additional information.
994 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
995 # describes the expression, e.g. when hovered over it in a UI.
996 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
997 # syntax.
998 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
999 # its purpose. This can be used e.g. in UIs which allow to enter the
1000 # expression.
1001 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1002 # reporting, e.g. a file name and a position in the file.
1003 },
1004 },
1005 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
1006 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
1007 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
1008 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
1009 # of the `short_name` component is 50 characters.
1010 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
1011 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
Dan O'Mearadd494642020-05-01 07:42:23 -07001012 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
1013 # AND over its fields. So a Condition is true if: 1) the request IP is from one
1014 # of the listed subnetworks AND 2) the originating device complies with the
1015 # listed device policy AND 3) all listed access levels are granted AND 4) the
1016 # request was sent at a time allowed by the DateTimeRestriction.
Bu Sun Kim65020912020-05-20 12:08:20 -07001017 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
1018 # Must be valid ISO 3166-1 alpha-2 codes.
1019 &quot;A String&quot;,
1020 ],
1021 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
Dan O'Mearadd494642020-05-01 07:42:23 -07001022 # resource name. Referencing an `AccessLevel` which does not exist is an
1023 # error. All access levels listed must be granted for the Condition
1024 # to be true. Example:
Bu Sun Kim65020912020-05-20 12:08:20 -07001025 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
1026 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07001027 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001028 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
Dan O'Mearadd494642020-05-01 07:42:23 -07001029 # Condition to be true. If not specified, all devices are allowed.
1030 # given access level. A `DevicePolicy` specifies requirements for requests from
1031 # devices to be granted access levels, it does not do any enforcement on the
1032 # device. `DevicePolicy` acts as an AND over all specified fields, and each
1033 # repeated field is an OR over its elements. Any unset fields are ignored. For
1034 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
1035 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
1036 # true for requests originating from encrypted Linux desktops and encrypted
1037 # Windows desktops.
Bu Sun Kim65020912020-05-20 12:08:20 -07001038 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
1039 # levels.
1040 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07001041 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001042 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
Dan O'Mearadd494642020-05-01 07:42:23 -07001043 { # A restriction on the OS type and version of devices making requests.
Bu Sun Kim65020912020-05-20 12:08:20 -07001044 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
1045 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
1046 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
1047 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
1048 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
Dan O'Mearadd494642020-05-01 07:42:23 -07001049 # Verifications includes requirements that the device is enterprise-managed,
1050 # conformant to domain policies, and the caller has permission to call
1051 # the API targeted by the request.
Dan O'Mearadd494642020-05-01 07:42:23 -07001052 },
1053 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001054 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
1055 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
1056 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
Dan O'Mearadd494642020-05-01 07:42:23 -07001057 # Defaults to `false`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001058 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
1059 &quot;A String&quot;,
1060 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001061 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001062 &quot;members&quot;: [ # The request must be made by one of the provided user or service
Dan O'Mearadd494642020-05-01 07:42:23 -07001063 # accounts. Groups are not supported.
1064 # Syntax:
1065 # `user:{emailid}`
1066 # `serviceAccount:{emailid}`
1067 # If not specified, a request may come from any user.
Bu Sun Kim65020912020-05-20 12:08:20 -07001068 &quot;A String&quot;,
Dan O'Mearadd494642020-05-01 07:42:23 -07001069 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001070 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
Dan O'Mearadd494642020-05-01 07:42:23 -07001071 # its non-empty fields, each field must be false for the Condition overall to
1072 # be satisfied. Defaults to false.
Bu Sun Kim65020912020-05-20 12:08:20 -07001073 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
1074 # a CIDR IP address block, the specified IP address portion must be properly
1075 # truncated (i.e. all the host bits must be zero) or the input is considered
1076 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
1077 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
1078 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
1079 # the listed subnets in order for this Condition to be true. If empty, all IP
1080 # addresses are allowed.
1081 &quot;A String&quot;,
1082 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001083 },
1084 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001085 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
1086 # granted this `AccessLevel`. If AND is used, each `Condition` in
1087 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
1088 # is used, at least one `Condition` in `conditions` must be satisfied for the
1089 # `AccessLevel` to be applied. Default behavior is AND.
Dan O'Mearadd494642020-05-01 07:42:23 -07001090 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001091 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Dan O'Mearadd494642020-05-01 07:42:23 -07001092 },
1093 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001094 }
1095
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001096 x__xgafv: string, V1 error format.
1097 Allowed values
1098 1 - v1 error format
1099 2 - v2 error format
1100
1101Returns:
1102 An object of the form:
1103
1104 { # This resource represents a long-running operation that is the result of a
1105 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07001106 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001107 # If `true`, the operation is completed, and either `error` or `response` is
1108 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -07001109 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001110 # method returns no data on success, such as `Delete`, the response is
1111 # `google.protobuf.Empty`. If the original method is standard
1112 # `Get`/`Create`/`Update`, the response should be the resource. For other
1113 # methods, the response should have the type `XxxResponse`, where `Xxx`
1114 # is the original method name. For example, if the original method name
1115 # is `TakeSnapshot()`, the inferred response type is
1116 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001117 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001118 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001119 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001120 # originally returns it. If you use the default HTTP mapping, the
1121 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001122 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1123 # different programming environments, including REST APIs and RPC APIs. It is
1124 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1125 # three pieces of data: error code, error message, and error details.
1126 #
1127 # You can find out more about this error model and how to work with it in the
1128 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1129 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
1130 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
1131 # user-facing error message should be localized and sent in the
1132 # google.rpc.Status.details field, or localized by the client.
1133 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
1134 # message types for APIs to use.
1135 {
1136 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1137 },
1138 ],
1139 },
1140 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
1141 # contains progress information and common metadata such as create time.
1142 # Some services might not provide such metadata. Any method that returns a
1143 # long-running operation should document the metadata type, if any.
1144 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1145 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001146 }</pre>
1147</div>
1148
1149</body></html>