blob: 784c9459844507e58002b73fc74559cf46f0310b [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_v1beta.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1beta.accessPolicies.html">accessPolicies</a> . <a href="accesscontextmanager_v1beta.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, pageToken=None, x__xgafv=None, pageSize=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>
95<h3>Method Details</h3>
96<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -070097 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070098 <pre>Create an Access Level. The longrunning
99operation from this RPC will have a successful status once the Access
100Level has
101propagated to long-lasting storage. Access Levels containing
102errors will result in an error response for the first error encountered.
103
104Args:
105 parent: string, Required. Resource name for the access policy which owns this Access
106Level.
107
108Format: `accessPolicies/{policy_id}` (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700109 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700110 The object takes the form of:
111
Dan O'Mearadd494642020-05-01 07:42:23 -0700112{ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
113 # services, along with a list of requirements necessary for the label to be
114 # applied.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700115 "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
116 "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
117 # granted this `AccessLevel`. If AND is used, each `Condition` in
118 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
119 # is used, at least one `Condition` in `conditions` must be satisfied for the
120 # `AccessLevel` to be applied. Default behavior is AND.
121 "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
122 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
123 # AND over its fields. So a Condition is true if: 1) the request IP is from one
124 # of the listed subnetworks AND 2) the originating device complies with the
125 # listed device policy AND 3) all listed access levels are granted AND 4) the
126 # request was sent at a time allowed by the DateTimeRestriction.
127 "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
128 # resource name. Referencing an `AccessLevel` which does not exist is an
129 # error. All access levels listed must be granted for the Condition
130 # to be true. Example:
131 # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
132 "A String",
133 ],
134 "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
135 # Condition to be true. If not specified, all devices are allowed.
136 # given access level. A `DevicePolicy` specifies requirements for requests from
137 # devices to be granted access levels, it does not do any enforcement on the
138 # device. `DevicePolicy` acts as an AND over all specified fields, and each
139 # repeated field is an OR over its elements. Any unset fields are ignored. For
140 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
141 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
142 # true for requests originating from encrypted Linux desktops and encrypted
143 # Windows desktops.
144 "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
145 "A String",
146 ],
147 "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
148 { # A restriction on the OS type and version of devices making requests.
149 "osType": "A String", # Required. The allowed OS type.
150 "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
151 # Verifications includes requirements that the device is enterprise-managed,
Dan O'Mearadd494642020-05-01 07:42:23 -0700152 # conformant to domain policies, and the caller has permission to call
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700153 # the API targeted by the request.
154 "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
155 # satisfies the constraint. Format: `"major.minor.patch"`.
156 # Examples: `"10.5.301"`, `"9.2.1"`.
157 },
158 ],
159 "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
160 "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
161 "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
162 # levels.
163 "A String",
164 ],
165 "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
166 # Defaults to `false`.
167 },
168 "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
169 # a CIDR IP address block, the specified IP address portion must be properly
170 # truncated (i.e. all the host bits must be zero) or the input is considered
171 # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
172 # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
173 # "2001:db8::1/32" is not. The originating IP of a request must be in one of
174 # the listed subnets in order for this Condition to be true. If empty, all IP
175 # addresses are allowed.
176 "A String",
177 ],
178 "regions": [ # The request must originate from one of the provided countries/regions.
179 # Must be valid ISO 3166-1 alpha-2 codes.
180 "A String",
181 ],
182 "members": [ # The request must be made by one of the provided user or service
183 # accounts. Groups are not supported.
184 # Syntax:
185 # `user:{emailid}`
186 # `serviceAccount:{emailid}`
187 # If not specified, a request may come from any user.
188 "A String",
189 ],
190 "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
191 # its non-empty fields, each field must be false for the Condition overall to
192 # be satisfied. Defaults to false.
193 },
194 ],
195 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700196 "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
197 "title": "A String", # Human readable title. Must be unique within the Policy.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700198 "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
199 # must begin with a letter and only include alphanumeric and '_'. Format:
Dan O'Mearadd494642020-05-01 07:42:23 -0700200 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
201 # // of the `short_name` component is 50 characters.
202 "custom": { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
203 # to represent the necessary conditions for the level to apply to a request.
204 # See CEL spec at: https://github.com/google/cel-spec
205 "expr": { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
206 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
207 # are documented at https://github.com/google/cel-spec.
208 #
209 # Example (Comparison):
210 #
211 # title: "Summary size limit"
212 # description: "Determines if a summary is less than 100 chars"
213 # expression: "document.summary.size() &lt; 100"
214 #
215 # Example (Equality):
216 #
217 # title: "Requestor is owner"
218 # description: "Determines if requestor is the document owner"
219 # expression: "document.owner == request.auth.claims.email"
220 #
221 # Example (Logic):
222 #
223 # title: "Public documents"
224 # description: "Determine whether the document should be publicly visible"
225 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
226 #
227 # Example (Data Manipulation):
228 #
229 # title: "Notification string"
230 # description: "Create a notification string with a timestamp."
231 # expression: "'New message received at ' + string(document.create_time)"
232 #
233 # The exact variables and functions that may be referenced within an expression
234 # are determined by the service that evaluates it. See the service
235 # documentation for additional information.
236 "location": "A String", # Optional. String indicating the location of the expression for error
237 # reporting, e.g. a file name and a position in the file.
238 "expression": "A String", # Textual representation of an expression in Common Expression Language
239 # syntax.
240 "description": "A String", # Optional. Description of the expression. This is a longer text which
241 # describes the expression, e.g. when hovered over it in a UI.
242 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
243 # its purpose. This can be used e.g. in UIs which allow to enter the
244 # expression.
245 },
246 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700247 }
248
249 x__xgafv: string, V1 error format.
250 Allowed values
251 1 - v1 error format
252 2 - v2 error format
253
254Returns:
255 An object of the form:
256
257 { # This resource represents a long-running operation that is the result of a
258 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700259 "metadata": { # Service-specific metadata associated with the operation. It typically
260 # contains progress information and common metadata such as create time.
261 # Some services might not provide such metadata. Any method that returns a
262 # long-running operation should document the metadata type, if any.
263 "a_key": "", # Properties of the object. Contains field @type with type URL.
264 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700265 "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.
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 "message": "A String", # 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 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
276 "details": [ # A list of messages that carry the error details. There is a common set of
277 # message types for APIs to use.
278 {
279 "a_key": "", # Properties of the object. Contains field @type with type URL.
280 },
281 ],
282 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700283 "done": True or False, # If the value is `false`, it means the operation is still in progress.
284 # If `true`, the operation is completed, and either `error` or `response` is
285 # available.
286 "response": { # The normal response of the operation in case of success. If the original
287 # method returns no data on success, such as `Delete`, the response is
288 # `google.protobuf.Empty`. If the original method is standard
289 # `Get`/`Create`/`Update`, the response should be the resource. For other
290 # methods, the response should have the type `XxxResponse`, where `Xxx`
291 # is the original method name. For example, if the original method name
292 # is `TakeSnapshot()`, the inferred response type is
293 # `TakeSnapshotResponse`.
294 "a_key": "", # Properties of the object. Contains field @type with type URL.
295 },
296 "name": "A String", # The server-assigned name, which is only unique within the same service that
297 # originally returns it. If you use the default HTTP mapping, the
298 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700299 }</pre>
300</div>
301
302<div class="method">
303 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
304 <pre>Delete an Access Level by resource
305name. The longrunning operation from this RPC will have a successful status
306once the Access Level has been removed
307from long-lasting storage.
308
309Args:
310 name: string, Required. Resource name for the Access Level.
311
312Format:
313`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
314 x__xgafv: string, V1 error format.
315 Allowed values
316 1 - v1 error format
317 2 - v2 error format
318
319Returns:
320 An object of the form:
321
322 { # This resource represents a long-running operation that is the result of a
323 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700324 "metadata": { # Service-specific metadata associated with the operation. It typically
325 # contains progress information and common metadata such as create time.
326 # Some services might not provide such metadata. Any method that returns a
327 # long-running operation should document the metadata type, if any.
328 "a_key": "", # Properties of the object. Contains field @type with type URL.
329 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700330 "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.
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 "message": "A String", # 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 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
341 "details": [ # A list of messages that carry the error details. There is a common set of
342 # message types for APIs to use.
343 {
344 "a_key": "", # Properties of the object. Contains field @type with type URL.
345 },
346 ],
347 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700348 "done": True or False, # If the value is `false`, it means the operation is still in progress.
349 # If `true`, the operation is completed, and either `error` or `response` is
350 # available.
351 "response": { # The normal response of the operation in case of success. If the original
352 # method returns no data on success, such as `Delete`, the response is
353 # `google.protobuf.Empty`. If the original method is standard
354 # `Get`/`Create`/`Update`, the response should be the resource. For other
355 # methods, the response should have the type `XxxResponse`, where `Xxx`
356 # is the original method name. For example, if the original method name
357 # is `TakeSnapshot()`, the inferred response type is
358 # `TakeSnapshotResponse`.
359 "a_key": "", # Properties of the object. Contains field @type with type URL.
360 },
361 "name": "A String", # The server-assigned name, which is only unique within the same service that
362 # originally returns it. If you use the default HTTP mapping, the
363 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700364 }</pre>
365</div>
366
367<div class="method">
368 <code class="details" id="get">get(name, accessLevelFormat=None, x__xgafv=None)</code>
369 <pre>Get an Access Level by resource
370name.
371
372Args:
373 name: string, Required. Resource name for the Access Level.
374
375Format:
376`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
377 accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression
378Language rather than as `BasicLevels`. Defaults to AS_DEFINED, where
379Access Levels
380are returned as `BasicLevels` or `CustomLevels` based on how they were
381created. If set to CEL, all Access Levels are returned as
382`CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent
383`CustomLevels`.
384 x__xgafv: string, V1 error format.
385 Allowed values
386 1 - v1 error format
387 2 - v2 error format
388
389Returns:
390 An object of the form:
391
Dan O'Mearadd494642020-05-01 07:42:23 -0700392 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
393 # services, along with a list of requirements necessary for the label to be
394 # applied.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700395 "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
396 "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
397 # granted this `AccessLevel`. If AND is used, each `Condition` in
398 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
399 # is used, at least one `Condition` in `conditions` must be satisfied for the
400 # `AccessLevel` to be applied. Default behavior is AND.
401 "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
402 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
403 # AND over its fields. So a Condition is true if: 1) the request IP is from one
404 # of the listed subnetworks AND 2) the originating device complies with the
405 # listed device policy AND 3) all listed access levels are granted AND 4) the
406 # request was sent at a time allowed by the DateTimeRestriction.
407 "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
408 # resource name. Referencing an `AccessLevel` which does not exist is an
409 # error. All access levels listed must be granted for the Condition
410 # to be true. Example:
411 # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
412 "A String",
413 ],
414 "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
415 # Condition to be true. If not specified, all devices are allowed.
416 # given access level. A `DevicePolicy` specifies requirements for requests from
417 # devices to be granted access levels, it does not do any enforcement on the
418 # device. `DevicePolicy` acts as an AND over all specified fields, and each
419 # repeated field is an OR over its elements. Any unset fields are ignored. For
420 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
421 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
422 # true for requests originating from encrypted Linux desktops and encrypted
423 # Windows desktops.
424 "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
425 "A String",
426 ],
427 "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
428 { # A restriction on the OS type and version of devices making requests.
429 "osType": "A String", # Required. The allowed OS type.
430 "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
431 # Verifications includes requirements that the device is enterprise-managed,
Dan O'Mearadd494642020-05-01 07:42:23 -0700432 # conformant to domain policies, and the caller has permission to call
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700433 # the API targeted by the request.
434 "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
435 # satisfies the constraint. Format: `"major.minor.patch"`.
436 # Examples: `"10.5.301"`, `"9.2.1"`.
437 },
438 ],
439 "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
440 "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
441 "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
442 # levels.
443 "A String",
444 ],
445 "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
446 # Defaults to `false`.
447 },
448 "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
449 # a CIDR IP address block, the specified IP address portion must be properly
450 # truncated (i.e. all the host bits must be zero) or the input is considered
451 # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
452 # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
453 # "2001:db8::1/32" is not. The originating IP of a request must be in one of
454 # the listed subnets in order for this Condition to be true. If empty, all IP
455 # addresses are allowed.
456 "A String",
457 ],
458 "regions": [ # The request must originate from one of the provided countries/regions.
459 # Must be valid ISO 3166-1 alpha-2 codes.
460 "A String",
461 ],
462 "members": [ # The request must be made by one of the provided user or service
463 # accounts. Groups are not supported.
464 # Syntax:
465 # `user:{emailid}`
466 # `serviceAccount:{emailid}`
467 # If not specified, a request may come from any user.
468 "A String",
469 ],
470 "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
471 # its non-empty fields, each field must be false for the Condition overall to
472 # be satisfied. Defaults to false.
473 },
474 ],
475 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700476 "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
477 "title": "A String", # Human readable title. Must be unique within the Policy.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700478 "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
479 # must begin with a letter and only include alphanumeric and '_'. Format:
Dan O'Mearadd494642020-05-01 07:42:23 -0700480 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
481 # // of the `short_name` component is 50 characters.
482 "custom": { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
483 # to represent the necessary conditions for the level to apply to a request.
484 # See CEL spec at: https://github.com/google/cel-spec
485 "expr": { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
486 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
487 # are documented at https://github.com/google/cel-spec.
488 #
489 # Example (Comparison):
490 #
491 # title: "Summary size limit"
492 # description: "Determines if a summary is less than 100 chars"
493 # expression: "document.summary.size() &lt; 100"
494 #
495 # Example (Equality):
496 #
497 # title: "Requestor is owner"
498 # description: "Determines if requestor is the document owner"
499 # expression: "document.owner == request.auth.claims.email"
500 #
501 # Example (Logic):
502 #
503 # title: "Public documents"
504 # description: "Determine whether the document should be publicly visible"
505 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
506 #
507 # Example (Data Manipulation):
508 #
509 # title: "Notification string"
510 # description: "Create a notification string with a timestamp."
511 # expression: "'New message received at ' + string(document.create_time)"
512 #
513 # The exact variables and functions that may be referenced within an expression
514 # are determined by the service that evaluates it. See the service
515 # documentation for additional information.
516 "location": "A String", # Optional. String indicating the location of the expression for error
517 # reporting, e.g. a file name and a position in the file.
518 "expression": "A String", # Textual representation of an expression in Common Expression Language
519 # syntax.
520 "description": "A String", # Optional. Description of the expression. This is a longer text which
521 # describes the expression, e.g. when hovered over it in a UI.
522 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
523 # its purpose. This can be used e.g. in UIs which allow to enter the
524 # expression.
525 },
526 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700527 }</pre>
528</div>
529
530<div class="method">
531 <code class="details" id="list">list(parent, accessLevelFormat=None, pageToken=None, x__xgafv=None, pageSize=None)</code>
532 <pre>List all Access Levels for an access
533policy.
534
535Args:
536 parent: string, Required. Resource name for the access policy to list Access Levels from.
537
538Format:
539`accessPolicies/{policy_id}` (required)
540 accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression language, as
541`CustomLevels`, rather than as `BasicLevels`. Defaults to returning
542`AccessLevels` in the format they were defined.
543 pageToken: string, Next page token for the next batch of Access Level instances.
544Defaults to the first page of results.
545 x__xgafv: string, V1 error format.
546 Allowed values
547 1 - v1 error format
548 2 - v2 error format
549 pageSize: integer, Number of Access Levels to include in
550the list. Default 100.
551
552Returns:
553 An object of the form:
554
555 { # A response to `ListAccessLevelsRequest`.
556 "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
557 # empty, no further results remain.
558 "accessLevels": [ # List of the Access Level instances.
Dan O'Mearadd494642020-05-01 07:42:23 -0700559 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
560 # services, along with a list of requirements necessary for the label to be
561 # applied.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700562 "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
563 "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
564 # granted this `AccessLevel`. If AND is used, each `Condition` in
565 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
566 # is used, at least one `Condition` in `conditions` must be satisfied for the
567 # `AccessLevel` to be applied. Default behavior is AND.
568 "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
569 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
570 # AND over its fields. So a Condition is true if: 1) the request IP is from one
571 # of the listed subnetworks AND 2) the originating device complies with the
572 # listed device policy AND 3) all listed access levels are granted AND 4) the
573 # request was sent at a time allowed by the DateTimeRestriction.
574 "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
575 # resource name. Referencing an `AccessLevel` which does not exist is an
576 # error. All access levels listed must be granted for the Condition
577 # to be true. Example:
578 # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
579 "A String",
580 ],
581 "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
582 # Condition to be true. If not specified, all devices are allowed.
583 # given access level. A `DevicePolicy` specifies requirements for requests from
584 # devices to be granted access levels, it does not do any enforcement on the
585 # device. `DevicePolicy` acts as an AND over all specified fields, and each
586 # repeated field is an OR over its elements. Any unset fields are ignored. For
587 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
588 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
589 # true for requests originating from encrypted Linux desktops and encrypted
590 # Windows desktops.
591 "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
592 "A String",
593 ],
594 "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
595 { # A restriction on the OS type and version of devices making requests.
596 "osType": "A String", # Required. The allowed OS type.
597 "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
598 # Verifications includes requirements that the device is enterprise-managed,
Dan O'Mearadd494642020-05-01 07:42:23 -0700599 # conformant to domain policies, and the caller has permission to call
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700600 # the API targeted by the request.
601 "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
602 # satisfies the constraint. Format: `"major.minor.patch"`.
603 # Examples: `"10.5.301"`, `"9.2.1"`.
604 },
605 ],
606 "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
607 "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
608 "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
609 # levels.
610 "A String",
611 ],
612 "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
613 # Defaults to `false`.
614 },
615 "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
616 # a CIDR IP address block, the specified IP address portion must be properly
617 # truncated (i.e. all the host bits must be zero) or the input is considered
618 # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
619 # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
620 # "2001:db8::1/32" is not. The originating IP of a request must be in one of
621 # the listed subnets in order for this Condition to be true. If empty, all IP
622 # addresses are allowed.
623 "A String",
624 ],
625 "regions": [ # The request must originate from one of the provided countries/regions.
626 # Must be valid ISO 3166-1 alpha-2 codes.
627 "A String",
628 ],
629 "members": [ # The request must be made by one of the provided user or service
630 # accounts. Groups are not supported.
631 # Syntax:
632 # `user:{emailid}`
633 # `serviceAccount:{emailid}`
634 # If not specified, a request may come from any user.
635 "A String",
636 ],
637 "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
638 # its non-empty fields, each field must be false for the Condition overall to
639 # be satisfied. Defaults to false.
640 },
641 ],
642 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700643 "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
644 "title": "A String", # Human readable title. Must be unique within the Policy.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700645 "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
646 # must begin with a letter and only include alphanumeric and '_'. Format:
Dan O'Mearadd494642020-05-01 07:42:23 -0700647 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
648 # // of the `short_name` component is 50 characters.
649 "custom": { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
650 # to represent the necessary conditions for the level to apply to a request.
651 # See CEL spec at: https://github.com/google/cel-spec
652 "expr": { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
653 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
654 # are documented at https://github.com/google/cel-spec.
655 #
656 # Example (Comparison):
657 #
658 # title: "Summary size limit"
659 # description: "Determines if a summary is less than 100 chars"
660 # expression: "document.summary.size() &lt; 100"
661 #
662 # Example (Equality):
663 #
664 # title: "Requestor is owner"
665 # description: "Determines if requestor is the document owner"
666 # expression: "document.owner == request.auth.claims.email"
667 #
668 # Example (Logic):
669 #
670 # title: "Public documents"
671 # description: "Determine whether the document should be publicly visible"
672 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
673 #
674 # Example (Data Manipulation):
675 #
676 # title: "Notification string"
677 # description: "Create a notification string with a timestamp."
678 # expression: "'New message received at ' + string(document.create_time)"
679 #
680 # The exact variables and functions that may be referenced within an expression
681 # are determined by the service that evaluates it. See the service
682 # documentation for additional information.
683 "location": "A String", # Optional. String indicating the location of the expression for error
684 # reporting, e.g. a file name and a position in the file.
685 "expression": "A String", # Textual representation of an expression in Common Expression Language
686 # syntax.
687 "description": "A String", # Optional. Description of the expression. This is a longer text which
688 # describes the expression, e.g. when hovered over it in a UI.
689 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
690 # its purpose. This can be used e.g. in UIs which allow to enter the
691 # expression.
692 },
693 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700694 },
695 ],
696 }</pre>
697</div>
698
699<div class="method">
700 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
701 <pre>Retrieves the next page of results.
702
703Args:
704 previous_request: The request for the previous page. (required)
705 previous_response: The response from the request for the previous page. (required)
706
707Returns:
708 A request object that you can call 'execute()' on to request the next
709 page. Returns None if there are no more items in the collection.
710 </pre>
711</div>
712
713<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700714 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700715 <pre>Update an Access Level. The longrunning
716operation from this RPC will have a successful status once the changes to
717the Access Level have propagated
718to long-lasting storage. Access Levels containing
719errors will result in an error response for the first error encountered.
720
721Args:
722 name: string, Required. Resource name for the Access Level. The `short_name` component
723must begin with a letter and only include alphanumeric and '_'. Format:
Dan O'Mearadd494642020-05-01 07:42:23 -0700724`accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
725 // of the `short_name` component is 50 characters. (required)
726 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700727 The object takes the form of:
728
Dan O'Mearadd494642020-05-01 07:42:23 -0700729{ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
730 # services, along with a list of requirements necessary for the label to be
731 # applied.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700732 "basic": { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
733 "combiningFunction": "A String", # How the `conditions` list should be combined to determine if a request is
734 # granted this `AccessLevel`. If AND is used, each `Condition` in
735 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
736 # is used, at least one `Condition` in `conditions` must be satisfied for the
737 # `AccessLevel` to be applied. Default behavior is AND.
738 "conditions": [ # Required. A list of requirements for the `AccessLevel` to be granted.
739 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
740 # AND over its fields. So a Condition is true if: 1) the request IP is from one
741 # of the listed subnetworks AND 2) the originating device complies with the
742 # listed device policy AND 3) all listed access levels are granted AND 4) the
743 # request was sent at a time allowed by the DateTimeRestriction.
744 "requiredAccessLevels": [ # A list of other access levels defined in the same `Policy`, referenced by
745 # resource name. Referencing an `AccessLevel` which does not exist is an
746 # error. All access levels listed must be granted for the Condition
747 # to be true. Example:
748 # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
749 "A String",
750 ],
751 "devicePolicy": { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
752 # Condition to be true. If not specified, all devices are allowed.
753 # given access level. A `DevicePolicy` specifies requirements for requests from
754 # devices to be granted access levels, it does not do any enforcement on the
755 # device. `DevicePolicy` acts as an AND over all specified fields, and each
756 # repeated field is an OR over its elements. Any unset fields are ignored. For
757 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
758 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
759 # true for requests originating from encrypted Linux desktops and encrypted
760 # Windows desktops.
761 "allowedEncryptionStatuses": [ # Allowed encryptions statuses, an empty list allows all statuses.
762 "A String",
763 ],
764 "osConstraints": [ # Allowed OS versions, an empty list allows all types and all versions.
765 { # A restriction on the OS type and version of devices making requests.
766 "osType": "A String", # Required. The allowed OS type.
767 "requireVerifiedChromeOs": True or False, # Only allows requests from devices with a verified Chrome OS.
768 # Verifications includes requirements that the device is enterprise-managed,
Dan O'Mearadd494642020-05-01 07:42:23 -0700769 # conformant to domain policies, and the caller has permission to call
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700770 # the API targeted by the request.
771 "minimumVersion": "A String", # The minimum allowed OS version. If not set, any version of this OS
772 # satisfies the constraint. Format: `"major.minor.patch"`.
773 # Examples: `"10.5.301"`, `"9.2.1"`.
774 },
775 ],
776 "requireAdminApproval": True or False, # Whether the device needs to be approved by the customer admin.
777 "requireCorpOwned": True or False, # Whether the device needs to be corp owned.
778 "allowedDeviceManagementLevels": [ # Allowed device management levels, an empty list allows all management
779 # levels.
780 "A String",
781 ],
782 "requireScreenlock": True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
783 # Defaults to `false`.
784 },
785 "ipSubnetworks": [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
786 # a CIDR IP address block, the specified IP address portion must be properly
787 # truncated (i.e. all the host bits must be zero) or the input is considered
788 # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
789 # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
790 # "2001:db8::1/32" is not. The originating IP of a request must be in one of
791 # the listed subnets in order for this Condition to be true. If empty, all IP
792 # addresses are allowed.
793 "A String",
794 ],
795 "regions": [ # The request must originate from one of the provided countries/regions.
796 # Must be valid ISO 3166-1 alpha-2 codes.
797 "A String",
798 ],
799 "members": [ # The request must be made by one of the provided user or service
800 # accounts. Groups are not supported.
801 # Syntax:
802 # `user:{emailid}`
803 # `serviceAccount:{emailid}`
804 # If not specified, a request may come from any user.
805 "A String",
806 ],
807 "negate": True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
808 # its non-empty fields, each field must be false for the Condition overall to
809 # be satisfied. Defaults to false.
810 },
811 ],
812 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700813 "description": "A String", # Description of the `AccessLevel` and its use. Does not affect behavior.
814 "title": "A String", # Human readable title. Must be unique within the Policy.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700815 "name": "A String", # Required. Resource name for the Access Level. The `short_name` component
816 # must begin with a letter and only include alphanumeric and '_'. Format:
Dan O'Mearadd494642020-05-01 07:42:23 -0700817 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
818 # // of the `short_name` component is 50 characters.
819 "custom": { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
820 # to represent the necessary conditions for the level to apply to a request.
821 # See CEL spec at: https://github.com/google/cel-spec
822 "expr": { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
823 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
824 # are documented at https://github.com/google/cel-spec.
825 #
826 # Example (Comparison):
827 #
828 # title: "Summary size limit"
829 # description: "Determines if a summary is less than 100 chars"
830 # expression: "document.summary.size() &lt; 100"
831 #
832 # Example (Equality):
833 #
834 # title: "Requestor is owner"
835 # description: "Determines if requestor is the document owner"
836 # expression: "document.owner == request.auth.claims.email"
837 #
838 # Example (Logic):
839 #
840 # title: "Public documents"
841 # description: "Determine whether the document should be publicly visible"
842 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
843 #
844 # Example (Data Manipulation):
845 #
846 # title: "Notification string"
847 # description: "Create a notification string with a timestamp."
848 # expression: "'New message received at ' + string(document.create_time)"
849 #
850 # The exact variables and functions that may be referenced within an expression
851 # are determined by the service that evaluates it. See the service
852 # documentation for additional information.
853 "location": "A String", # Optional. String indicating the location of the expression for error
854 # reporting, e.g. a file name and a position in the file.
855 "expression": "A String", # Textual representation of an expression in Common Expression Language
856 # syntax.
857 "description": "A String", # Optional. Description of the expression. This is a longer text which
858 # describes the expression, e.g. when hovered over it in a UI.
859 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
860 # its purpose. This can be used e.g. in UIs which allow to enter the
861 # expression.
862 },
863 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700864 }
865
Dan O'Mearadd494642020-05-01 07:42:23 -0700866 updateMask: string, Required. Mask to control which fields get updated. Must be non-empty.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700867 x__xgafv: string, V1 error format.
868 Allowed values
869 1 - v1 error format
870 2 - v2 error format
871
872Returns:
873 An object of the form:
874
875 { # This resource represents a long-running operation that is the result of a
876 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700877 "metadata": { # Service-specific metadata associated with the operation. It typically
878 # contains progress information and common metadata such as create time.
879 # Some services might not provide such metadata. Any method that returns a
880 # long-running operation should document the metadata type, if any.
881 "a_key": "", # Properties of the object. Contains field @type with type URL.
882 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700883 "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.
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 "message": "A String", # 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 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
894 "details": [ # A list of messages that carry the error details. There is a common set of
895 # message types for APIs to use.
896 {
897 "a_key": "", # Properties of the object. Contains field @type with type URL.
898 },
899 ],
900 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700901 "done": True or False, # If the value is `false`, it means the operation is still in progress.
902 # If `true`, the operation is completed, and either `error` or `response` is
903 # available.
904 "response": { # The normal response of the operation in case of success. If the original
905 # method returns no data on success, such as `Delete`, the response is
906 # `google.protobuf.Empty`. If the original method is standard
907 # `Get`/`Create`/`Update`, the response should be the resource. For other
908 # methods, the response should have the type `XxxResponse`, where `Xxx`
909 # is the original method name. For example, if the original method name
910 # is `TakeSnapshot()`, the inferred response type is
911 # `TakeSnapshotResponse`.
912 "a_key": "", # Properties of the object. Contains field @type with type URL.
913 },
914 "name": "A String", # The server-assigned name, which is only unique within the same service that
915 # originally returns it. If you use the default HTTP mapping, the
916 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700917 }</pre>
918</div>
919
920</body></html>