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