blob: c7b5573aaf5ce229a4c669a03c198bb9d540bae1 [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 Kim4ed7d3f2020-05-27 12:20:54 -0700118 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
119 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
120 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
121 # of the `short_name` component is 50 characters.
122 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
123 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
124 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
125 # AND over its fields. So a Condition is true if: 1) the request IP is from one
126 # of the listed subnetworks AND 2) the originating device complies with the
127 # listed device policy AND 3) all listed access levels are granted AND 4) the
128 # request was sent at a time allowed by the DateTimeRestriction.
129 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
130 # Must be valid ISO 3166-1 alpha-2 codes.
131 &quot;A String&quot;,
132 ],
133 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
134 # resource name. Referencing an `AccessLevel` which does not exist is an
135 # error. All access levels listed must be granted for the Condition
136 # to be true. Example:
137 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
138 &quot;A String&quot;,
139 ],
140 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
141 # Condition to be true. If not specified, all devices are allowed.
142 # given access level. A `DevicePolicy` specifies requirements for requests from
143 # devices to be granted access levels, it does not do any enforcement on the
144 # device. `DevicePolicy` acts as an AND over all specified fields, and each
145 # repeated field is an OR over its elements. Any unset fields are ignored. For
146 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
147 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
148 # true for requests originating from encrypted Linux desktops and encrypted
149 # Windows desktops.
150 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
151 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
152 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
153 # Defaults to `false`.
154 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
155 &quot;A String&quot;,
156 ],
157 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
158 # levels.
159 &quot;A String&quot;,
160 ],
161 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
162 { # A restriction on the OS type and version of devices making requests.
163 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
164 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
165 # Verifications includes requirements that the device is enterprise-managed,
166 # conformant to domain policies, and the caller has permission to call
167 # the API targeted by the request.
168 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
169 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
170 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
171 },
172 ],
173 },
174 &quot;members&quot;: [ # The request must be made by one of the provided user or service
175 # accounts. Groups are not supported.
176 # Syntax:
177 # `user:{emailid}`
178 # `serviceAccount:{emailid}`
179 # If not specified, a request may come from any user.
180 &quot;A String&quot;,
181 ],
182 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
183 # a CIDR IP address block, the specified IP address portion must be properly
184 # truncated (i.e. all the host bits must be zero) or the input is considered
185 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
186 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
187 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
188 # the listed subnets in order for this Condition to be true. If empty, all IP
189 # addresses are allowed.
190 &quot;A String&quot;,
191 ],
192 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
193 # its non-empty fields, each field must be false for the Condition overall to
194 # be satisfied. Defaults to false.
195 },
196 ],
197 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
198 # granted this `AccessLevel`. If AND is used, each `Condition` in
199 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
200 # is used, at least one `Condition` in `conditions` must be satisfied for the
201 # `AccessLevel` to be applied. Default behavior is AND.
202 },
203 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim65020912020-05-20 12:08:20 -0700204 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
205 # to represent the necessary conditions for the level to apply to a request.
206 # See CEL spec at: https://github.com/google/cel-spec
207 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
208 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
209 # are documented at https://github.com/google/cel-spec.
210 #
211 # Example (Comparison):
212 #
213 # title: &quot;Summary size limit&quot;
214 # description: &quot;Determines if a summary is less than 100 chars&quot;
215 # expression: &quot;document.summary.size() &lt; 100&quot;
216 #
217 # Example (Equality):
218 #
219 # title: &quot;Requestor is owner&quot;
220 # description: &quot;Determines if requestor is the document owner&quot;
221 # expression: &quot;document.owner == request.auth.claims.email&quot;
222 #
223 # Example (Logic):
224 #
225 # title: &quot;Public documents&quot;
226 # description: &quot;Determine whether the document should be publicly visible&quot;
227 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
228 #
229 # Example (Data Manipulation):
230 #
231 # title: &quot;Notification string&quot;
232 # description: &quot;Create a notification string with a timestamp.&quot;
233 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
234 #
235 # The exact variables and functions that may be referenced within an expression
236 # are determined by the service that evaluates it. See the service
237 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700238 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
239 # syntax.
240 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
241 # its purpose. This can be used e.g. in UIs which allow to enter the
242 # expression.
243 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
244 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700245 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
246 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kim65020912020-05-20 12:08:20 -0700247 },
248 },
249 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
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 Kim4ed7d3f2020-05-27 12:20:54 -0700262 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
263 # originally returns it. If you use the default HTTP mapping, the
264 # `name` should be a resource name ending with `operations/{unique_id}`.
265 &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.
266 # different programming environments, including REST APIs and RPC APIs. It is
267 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
268 # three pieces of data: error code, error message, and error details.
269 #
270 # You can find out more about this error model and how to work with it in the
271 # [API Design Guide](https://cloud.google.com/apis/design/errors).
272 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
273 # user-facing error message should be localized and sent in the
274 # google.rpc.Status.details field, or localized by the client.
275 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
276 # message types for APIs to use.
277 {
278 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
279 },
280 ],
281 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
282 },
283 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
284 # contains progress information and common metadata such as create time.
285 # Some services might not provide such metadata. Any method that returns a
286 # long-running operation should document the metadata type, if any.
287 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
288 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700289 &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 -0700290 # If `true`, the operation is completed, and either `error` or `response` is
291 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700292 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700293 # method returns no data on success, such as `Delete`, the response is
294 # `google.protobuf.Empty`. If the original method is standard
295 # `Get`/`Create`/`Update`, the response should be the resource. For other
296 # methods, the response should have the type `XxxResponse`, where `Xxx`
297 # is the original method name. For example, if the original method name
298 # is `TakeSnapshot()`, the inferred response type is
299 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700300 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700301 },
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 Kim4ed7d3f2020-05-27 12:20:54 -0700327 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
328 # originally returns it. If you use the default HTTP mapping, the
329 # `name` should be a resource name ending with `operations/{unique_id}`.
330 &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.
331 # different programming environments, including REST APIs and RPC APIs. It is
332 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
333 # three pieces of data: error code, error message, and error details.
334 #
335 # You can find out more about this error model and how to work with it in the
336 # [API Design Guide](https://cloud.google.com/apis/design/errors).
337 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
338 # user-facing error message should be localized and sent in the
339 # google.rpc.Status.details field, or localized by the client.
340 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
341 # message types for APIs to use.
342 {
343 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
344 },
345 ],
346 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
347 },
348 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
349 # contains progress information and common metadata such as create time.
350 # Some services might not provide such metadata. Any method that returns a
351 # long-running operation should document the metadata type, if any.
352 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
353 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700354 &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 -0700355 # If `true`, the operation is completed, and either `error` or `response` is
356 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700357 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700358 # method returns no data on success, such as `Delete`, the response is
359 # `google.protobuf.Empty`. If the original method is standard
360 # `Get`/`Create`/`Update`, the response should be the resource. For other
361 # methods, the response should have the type `XxxResponse`, where `Xxx`
362 # is the original method name. For example, if the original method name
363 # is `TakeSnapshot()`, the inferred response type is
364 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700365 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700366 },
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 Kim4ed7d3f2020-05-27 12:20:54 -0700398 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
399 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
400 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
401 # of the `short_name` component is 50 characters.
402 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
403 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
404 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
405 # AND over its fields. So a Condition is true if: 1) the request IP is from one
406 # of the listed subnetworks AND 2) the originating device complies with the
407 # listed device policy AND 3) all listed access levels are granted AND 4) the
408 # request was sent at a time allowed by the DateTimeRestriction.
409 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
410 # Must be valid ISO 3166-1 alpha-2 codes.
411 &quot;A String&quot;,
412 ],
413 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
414 # resource name. Referencing an `AccessLevel` which does not exist is an
415 # error. All access levels listed must be granted for the Condition
416 # to be true. Example:
417 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
418 &quot;A String&quot;,
419 ],
420 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
421 # Condition to be true. If not specified, all devices are allowed.
422 # given access level. A `DevicePolicy` specifies requirements for requests from
423 # devices to be granted access levels, it does not do any enforcement on the
424 # device. `DevicePolicy` acts as an AND over all specified fields, and each
425 # repeated field is an OR over its elements. Any unset fields are ignored. For
426 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
427 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
428 # true for requests originating from encrypted Linux desktops and encrypted
429 # Windows desktops.
430 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
431 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
432 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
433 # Defaults to `false`.
434 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
435 &quot;A String&quot;,
436 ],
437 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
438 # levels.
439 &quot;A String&quot;,
440 ],
441 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
442 { # A restriction on the OS type and version of devices making requests.
443 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
444 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
445 # Verifications includes requirements that the device is enterprise-managed,
446 # conformant to domain policies, and the caller has permission to call
447 # the API targeted by the request.
448 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
449 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
450 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
451 },
452 ],
453 },
454 &quot;members&quot;: [ # The request must be made by one of the provided user or service
455 # accounts. Groups are not supported.
456 # Syntax:
457 # `user:{emailid}`
458 # `serviceAccount:{emailid}`
459 # If not specified, a request may come from any user.
460 &quot;A String&quot;,
461 ],
462 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
463 # a CIDR IP address block, the specified IP address portion must be properly
464 # truncated (i.e. all the host bits must be zero) or the input is considered
465 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
466 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
467 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
468 # the listed subnets in order for this Condition to be true. If empty, all IP
469 # addresses are allowed.
470 &quot;A String&quot;,
471 ],
472 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
473 # its non-empty fields, each field must be false for the Condition overall to
474 # be satisfied. Defaults to false.
475 },
476 ],
477 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
478 # granted this `AccessLevel`. If AND is used, each `Condition` in
479 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
480 # is used, at least one `Condition` in `conditions` must be satisfied for the
481 # `AccessLevel` to be applied. Default behavior is AND.
482 },
483 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim65020912020-05-20 12:08:20 -0700484 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
485 # to represent the necessary conditions for the level to apply to a request.
486 # See CEL spec at: https://github.com/google/cel-spec
487 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
488 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
489 # are documented at https://github.com/google/cel-spec.
490 #
491 # Example (Comparison):
492 #
493 # title: &quot;Summary size limit&quot;
494 # description: &quot;Determines if a summary is less than 100 chars&quot;
495 # expression: &quot;document.summary.size() &lt; 100&quot;
496 #
497 # Example (Equality):
498 #
499 # title: &quot;Requestor is owner&quot;
500 # description: &quot;Determines if requestor is the document owner&quot;
501 # expression: &quot;document.owner == request.auth.claims.email&quot;
502 #
503 # Example (Logic):
504 #
505 # title: &quot;Public documents&quot;
506 # description: &quot;Determine whether the document should be publicly visible&quot;
507 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
508 #
509 # Example (Data Manipulation):
510 #
511 # title: &quot;Notification string&quot;
512 # description: &quot;Create a notification string with a timestamp.&quot;
513 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
514 #
515 # The exact variables and functions that may be referenced within an expression
516 # are determined by the service that evaluates it. See the service
517 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700518 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
519 # syntax.
520 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
521 # its purpose. This can be used e.g. in UIs which allow to enter the
522 # expression.
523 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
524 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700525 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
526 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kim65020912020-05-20 12:08:20 -0700527 },
528 },
529 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
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 Kim4ed7d3f2020-05-27 12:20:54 -0700565 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
566 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
567 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
568 # of the `short_name` component is 50 characters.
569 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
570 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
571 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
572 # AND over its fields. So a Condition is true if: 1) the request IP is from one
573 # of the listed subnetworks AND 2) the originating device complies with the
574 # listed device policy AND 3) all listed access levels are granted AND 4) the
575 # request was sent at a time allowed by the DateTimeRestriction.
576 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
577 # Must be valid ISO 3166-1 alpha-2 codes.
578 &quot;A String&quot;,
579 ],
580 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
581 # resource name. Referencing an `AccessLevel` which does not exist is an
582 # error. All access levels listed must be granted for the Condition
583 # to be true. Example:
584 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
585 &quot;A String&quot;,
586 ],
587 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
588 # Condition to be true. If not specified, all devices are allowed.
589 # given access level. A `DevicePolicy` specifies requirements for requests from
590 # devices to be granted access levels, it does not do any enforcement on the
591 # device. `DevicePolicy` acts as an AND over all specified fields, and each
592 # repeated field is an OR over its elements. Any unset fields are ignored. For
593 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
594 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
595 # true for requests originating from encrypted Linux desktops and encrypted
596 # Windows desktops.
597 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
598 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
599 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
600 # Defaults to `false`.
601 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
602 &quot;A String&quot;,
603 ],
604 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
605 # levels.
606 &quot;A String&quot;,
607 ],
608 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
609 { # A restriction on the OS type and version of devices making requests.
610 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
611 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
612 # Verifications includes requirements that the device is enterprise-managed,
613 # conformant to domain policies, and the caller has permission to call
614 # the API targeted by the request.
615 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
616 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
617 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
618 },
619 ],
620 },
621 &quot;members&quot;: [ # The request must be made by one of the provided user or service
622 # accounts. Groups are not supported.
623 # Syntax:
624 # `user:{emailid}`
625 # `serviceAccount:{emailid}`
626 # If not specified, a request may come from any user.
627 &quot;A String&quot;,
628 ],
629 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
630 # a CIDR IP address block, the specified IP address portion must be properly
631 # truncated (i.e. all the host bits must be zero) or the input is considered
632 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
633 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
634 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
635 # the listed subnets in order for this Condition to be true. If empty, all IP
636 # addresses are allowed.
637 &quot;A String&quot;,
638 ],
639 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
640 # its non-empty fields, each field must be false for the Condition overall to
641 # be satisfied. Defaults to false.
642 },
643 ],
644 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
645 # granted this `AccessLevel`. If AND is used, each `Condition` in
646 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
647 # is used, at least one `Condition` in `conditions` must be satisfied for the
648 # `AccessLevel` to be applied. Default behavior is AND.
649 },
650 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim65020912020-05-20 12:08:20 -0700651 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
652 # to represent the necessary conditions for the level to apply to a request.
653 # See CEL spec at: https://github.com/google/cel-spec
654 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
655 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
656 # are documented at https://github.com/google/cel-spec.
657 #
658 # Example (Comparison):
659 #
660 # title: &quot;Summary size limit&quot;
661 # description: &quot;Determines if a summary is less than 100 chars&quot;
662 # expression: &quot;document.summary.size() &lt; 100&quot;
663 #
664 # Example (Equality):
665 #
666 # title: &quot;Requestor is owner&quot;
667 # description: &quot;Determines if requestor is the document owner&quot;
668 # expression: &quot;document.owner == request.auth.claims.email&quot;
669 #
670 # Example (Logic):
671 #
672 # title: &quot;Public documents&quot;
673 # description: &quot;Determine whether the document should be publicly visible&quot;
674 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
675 #
676 # Example (Data Manipulation):
677 #
678 # title: &quot;Notification string&quot;
679 # description: &quot;Create a notification string with a timestamp.&quot;
680 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
681 #
682 # The exact variables and functions that may be referenced within an expression
683 # are determined by the service that evaluates it. See the service
684 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700685 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
686 # syntax.
687 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
688 # its purpose. This can be used e.g. in UIs which allow to enter the
689 # expression.
690 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
691 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700692 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
693 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kim65020912020-05-20 12:08:20 -0700694 },
695 },
696 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
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 Kim4ed7d3f2020-05-27 12:20:54 -0700735 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
736 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
737 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
738 # of the `short_name` component is 50 characters.
739 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
740 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
741 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
742 # AND over its fields. So a Condition is true if: 1) the request IP is from one
743 # of the listed subnetworks AND 2) the originating device complies with the
744 # listed device policy AND 3) all listed access levels are granted AND 4) the
745 # request was sent at a time allowed by the DateTimeRestriction.
746 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
747 # Must be valid ISO 3166-1 alpha-2 codes.
748 &quot;A String&quot;,
749 ],
750 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
751 # resource name. Referencing an `AccessLevel` which does not exist is an
752 # error. All access levels listed must be granted for the Condition
753 # to be true. Example:
754 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
755 &quot;A String&quot;,
756 ],
757 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
758 # Condition to be true. If not specified, all devices are allowed.
759 # given access level. A `DevicePolicy` specifies requirements for requests from
760 # devices to be granted access levels, it does not do any enforcement on the
761 # device. `DevicePolicy` acts as an AND over all specified fields, and each
762 # repeated field is an OR over its elements. Any unset fields are ignored. For
763 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
764 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
765 # true for requests originating from encrypted Linux desktops and encrypted
766 # Windows desktops.
767 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
768 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
769 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
770 # Defaults to `false`.
771 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
772 &quot;A String&quot;,
773 ],
774 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
775 # levels.
776 &quot;A String&quot;,
777 ],
778 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
779 { # A restriction on the OS type and version of devices making requests.
780 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
781 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
782 # Verifications includes requirements that the device is enterprise-managed,
783 # conformant to domain policies, and the caller has permission to call
784 # the API targeted by the request.
785 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
786 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
787 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
788 },
789 ],
790 },
791 &quot;members&quot;: [ # The request must be made by one of the provided user or service
792 # accounts. Groups are not supported.
793 # Syntax:
794 # `user:{emailid}`
795 # `serviceAccount:{emailid}`
796 # If not specified, a request may come from any user.
797 &quot;A String&quot;,
798 ],
799 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
800 # a CIDR IP address block, the specified IP address portion must be properly
801 # truncated (i.e. all the host bits must be zero) or the input is considered
802 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
803 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
804 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
805 # the listed subnets in order for this Condition to be true. If empty, all IP
806 # addresses are allowed.
807 &quot;A String&quot;,
808 ],
809 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
810 # its non-empty fields, each field must be false for the Condition overall to
811 # be satisfied. Defaults to false.
812 },
813 ],
814 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
815 # granted this `AccessLevel`. If AND is used, each `Condition` in
816 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
817 # is used, at least one `Condition` in `conditions` must be satisfied for the
818 # `AccessLevel` to be applied. Default behavior is AND.
819 },
820 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim65020912020-05-20 12:08:20 -0700821 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
822 # to represent the necessary conditions for the level to apply to a request.
823 # See CEL spec at: https://github.com/google/cel-spec
824 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
825 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
826 # are documented at https://github.com/google/cel-spec.
827 #
828 # Example (Comparison):
829 #
830 # title: &quot;Summary size limit&quot;
831 # description: &quot;Determines if a summary is less than 100 chars&quot;
832 # expression: &quot;document.summary.size() &lt; 100&quot;
833 #
834 # Example (Equality):
835 #
836 # title: &quot;Requestor is owner&quot;
837 # description: &quot;Determines if requestor is the document owner&quot;
838 # expression: &quot;document.owner == request.auth.claims.email&quot;
839 #
840 # Example (Logic):
841 #
842 # title: &quot;Public documents&quot;
843 # description: &quot;Determine whether the document should be publicly visible&quot;
844 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
845 #
846 # Example (Data Manipulation):
847 #
848 # title: &quot;Notification string&quot;
849 # description: &quot;Create a notification string with a timestamp.&quot;
850 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
851 #
852 # The exact variables and functions that may be referenced within an expression
853 # are determined by the service that evaluates it. See the service
854 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700855 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
856 # syntax.
857 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
858 # its purpose. This can be used e.g. in UIs which allow to enter the
859 # expression.
860 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
861 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700862 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
863 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kim65020912020-05-20 12:08:20 -0700864 },
865 },
866 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
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 Kim4ed7d3f2020-05-27 12:20:54 -0700880 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
881 # originally returns it. If you use the default HTTP mapping, the
882 # `name` should be a resource name ending with `operations/{unique_id}`.
883 &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.
884 # different programming environments, including REST APIs and RPC APIs. It is
885 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
886 # three pieces of data: error code, error message, and error details.
887 #
888 # You can find out more about this error model and how to work with it in the
889 # [API Design Guide](https://cloud.google.com/apis/design/errors).
890 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
891 # user-facing error message should be localized and sent in the
892 # google.rpc.Status.details field, or localized by the client.
893 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
894 # message types for APIs to use.
895 {
896 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
897 },
898 ],
899 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
900 },
901 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
902 # contains progress information and common metadata such as create time.
903 # Some services might not provide such metadata. Any method that returns a
904 # long-running operation should document the metadata type, if any.
905 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
906 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700907 &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 -0700908 # If `true`, the operation is completed, and either `error` or `response` is
909 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700910 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700911 # method returns no data on success, such as `Delete`, the response is
912 # `google.protobuf.Empty`. If the original method is standard
913 # `Get`/`Create`/`Update`, the response should be the resource. For other
914 # methods, the response should have the type `XxxResponse`, where `Xxx`
915 # is the original method name. For example, if the original method name
916 # is `TakeSnapshot()`, the inferred response type is
917 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700918 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -0700919 },
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;accessLevels&quot;: [ # Required. The desired Access Levels that should
Dan O'Mearadd494642020-05-01 07:42:23 -0700949 # replace all existing Access Levels in the
950 # Access Policy.
951 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
952 # services, along with a list of requirements necessary for the label to be
953 # applied.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700954 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
955 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
956 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
957 # of the `short_name` component is 50 characters.
958 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
959 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
960 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
961 # AND over its fields. So a Condition is true if: 1) the request IP is from one
962 # of the listed subnetworks AND 2) the originating device complies with the
963 # listed device policy AND 3) all listed access levels are granted AND 4) the
964 # request was sent at a time allowed by the DateTimeRestriction.
965 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
966 # Must be valid ISO 3166-1 alpha-2 codes.
967 &quot;A String&quot;,
968 ],
969 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
970 # resource name. Referencing an `AccessLevel` which does not exist is an
971 # error. All access levels listed must be granted for the Condition
972 # to be true. Example:
973 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
974 &quot;A String&quot;,
975 ],
976 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
977 # Condition to be true. If not specified, all devices are allowed.
978 # given access level. A `DevicePolicy` specifies requirements for requests from
979 # devices to be granted access levels, it does not do any enforcement on the
980 # device. `DevicePolicy` acts as an AND over all specified fields, and each
981 # repeated field is an OR over its elements. Any unset fields are ignored. For
982 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
983 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
984 # true for requests originating from encrypted Linux desktops and encrypted
985 # Windows desktops.
986 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
987 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
988 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
989 # Defaults to `false`.
990 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
991 &quot;A String&quot;,
992 ],
993 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
994 # levels.
995 &quot;A String&quot;,
996 ],
997 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
998 { # A restriction on the OS type and version of devices making requests.
999 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
1000 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
1001 # Verifications includes requirements that the device is enterprise-managed,
1002 # conformant to domain policies, and the caller has permission to call
1003 # the API targeted by the request.
1004 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
1005 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
1006 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
1007 },
1008 ],
1009 },
1010 &quot;members&quot;: [ # The request must be made by one of the provided user or service
1011 # accounts. Groups are not supported.
1012 # Syntax:
1013 # `user:{emailid}`
1014 # `serviceAccount:{emailid}`
1015 # If not specified, a request may come from any user.
1016 &quot;A String&quot;,
1017 ],
1018 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
1019 # a CIDR IP address block, the specified IP address portion must be properly
1020 # truncated (i.e. all the host bits must be zero) or the input is considered
1021 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
1022 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
1023 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
1024 # the listed subnets in order for this Condition to be true. If empty, all IP
1025 # addresses are allowed.
1026 &quot;A String&quot;,
1027 ],
1028 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
1029 # its non-empty fields, each field must be false for the Condition overall to
1030 # be satisfied. Defaults to false.
1031 },
1032 ],
1033 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
1034 # granted this `AccessLevel`. If AND is used, each `Condition` in
1035 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
1036 # is used, at least one `Condition` in `conditions` must be satisfied for the
1037 # `AccessLevel` to be applied. Default behavior is AND.
1038 },
1039 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim65020912020-05-20 12:08:20 -07001040 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
1041 # to represent the necessary conditions for the level to apply to a request.
1042 # See CEL spec at: https://github.com/google/cel-spec
1043 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
1044 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1045 # are documented at https://github.com/google/cel-spec.
1046 #
1047 # Example (Comparison):
1048 #
1049 # title: &quot;Summary size limit&quot;
1050 # description: &quot;Determines if a summary is less than 100 chars&quot;
1051 # expression: &quot;document.summary.size() &lt; 100&quot;
1052 #
1053 # Example (Equality):
1054 #
1055 # title: &quot;Requestor is owner&quot;
1056 # description: &quot;Determines if requestor is the document owner&quot;
1057 # expression: &quot;document.owner == request.auth.claims.email&quot;
1058 #
1059 # Example (Logic):
1060 #
1061 # title: &quot;Public documents&quot;
1062 # description: &quot;Determine whether the document should be publicly visible&quot;
1063 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
1064 #
1065 # Example (Data Manipulation):
1066 #
1067 # title: &quot;Notification string&quot;
1068 # description: &quot;Create a notification string with a timestamp.&quot;
1069 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
1070 #
1071 # The exact variables and functions that may be referenced within an expression
1072 # are determined by the service that evaluates it. See the service
1073 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -07001074 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1075 # syntax.
1076 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
1077 # its purpose. This can be used e.g. in UIs which allow to enter the
1078 # expression.
1079 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1080 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001081 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1082 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kim65020912020-05-20 12:08:20 -07001083 },
1084 },
1085 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
Dan O'Mearadd494642020-05-01 07:42:23 -07001086 },
1087 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001088 &quot;etag&quot;: &quot;A String&quot;, # Optional. The etag for the version of the Access Policy that this
1089 # replace operation is to be performed on. If, at the time of replace, the
1090 # etag for the Access Policy stored in Access Context Manager is different
1091 # from the specified etag, then the replace operation will not be performed
1092 # and the call will fail. This field is not required. If etag is not
1093 # provided, the operation will be performed as if a valid etag is provided.
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 Kim4ed7d3f2020-05-27 12:20:54 -07001106 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
1107 # originally returns it. If you use the default HTTP mapping, the
1108 # `name` should be a resource name ending with `operations/{unique_id}`.
1109 &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.
1110 # different programming environments, including REST APIs and RPC APIs. It is
1111 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1112 # three pieces of data: error code, error message, and error details.
1113 #
1114 # You can find out more about this error model and how to work with it in the
1115 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1116 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
1117 # user-facing error message should be localized and sent in the
1118 # google.rpc.Status.details field, or localized by the client.
1119 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
1120 # message types for APIs to use.
1121 {
1122 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1123 },
1124 ],
1125 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
1126 },
1127 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
1128 # contains progress information and common metadata such as create time.
1129 # Some services might not provide such metadata. Any method that returns a
1130 # long-running operation should document the metadata type, if any.
1131 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1132 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001133 &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 -07001134 # If `true`, the operation is completed, and either `error` or `response` is
1135 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -07001136 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001137 # method returns no data on success, such as `Delete`, the response is
1138 # `google.protobuf.Empty`. If the original method is standard
1139 # `Get`/`Create`/`Update`, the response should be the resource. For other
1140 # methods, the response should have the type `XxxResponse`, where `Xxx`
1141 # is the original method name. For example, if the original method name
1142 # is `TakeSnapshot()`, the inferred response type is
1143 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001144 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001145 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001146 }</pre>
1147</div>
1148
1149</body></html>