blob: 6bd2a8fbb2d8001019dfb5363f63ec91f8dbb2a1 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="accesscontextmanager_v1.html">Access Context Manager API</a> . <a href="accesscontextmanager_v1.accessPolicies.html">accessPolicies</a> . <a href="accesscontextmanager_v1.accessPolicies.accessLevels.html">accessLevels</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070079<p class="firstline">Create an Access Level. The longrunning</p>
80<p class="toc_element">
81 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
82<p class="firstline">Delete an Access Level by resource</p>
83<p class="toc_element">
84 <code><a href="#get">get(name, accessLevelFormat=None, x__xgafv=None)</a></code></p>
85<p class="firstline">Get an Access Level by resource</p>
86<p class="toc_element">
Bu Sun Kimd059ad82020-07-22 17:02:09 -070087 <code><a href="#list">list(parent, pageSize=None, pageToken=None, accessLevelFormat=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070088<p class="firstline">List all Access Levels for an access</p>
89<p class="toc_element">
90 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
91<p class="firstline">Retrieves the next page of results.</p>
92<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070093 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070094<p class="firstline">Update an Access Level. The longrunning</p>
Dan O'Mearadd494642020-05-01 07:42:23 -070095<p class="toc_element">
96 <code><a href="#replaceAll">replaceAll(parent, body=None, x__xgafv=None)</a></code></p>
97<p class="firstline">Replace all existing Access Levels in an Access</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070098<h3>Method Details</h3>
99<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700100 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700101 <pre>Create an Access Level. The longrunning
102operation from this RPC will have a successful status once the Access
103Level has
104propagated to long-lasting storage. Access Levels containing
105errors will result in an error response for the first error encountered.
106
107Args:
108 parent: string, Required. Resource name for the access policy which owns this Access
109Level.
110
111Format: `accessPolicies/{policy_id}` (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700112 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700113 The object takes the form of:
114
Dan O'Mearadd494642020-05-01 07:42:23 -0700115{ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
116 # services, along with a list of requirements necessary for the label to be
117 # applied.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700118 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700119 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
120 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
121 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
122 # AND over its fields. So a Condition is true if: 1) the request IP is from one
123 # of the listed subnetworks AND 2) the originating device complies with the
124 # listed device policy AND 3) all listed access levels are granted AND 4) the
125 # request was sent at a time allowed by the DateTimeRestriction.
126 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
127 # Must be valid ISO 3166-1 alpha-2 codes.
128 &quot;A String&quot;,
129 ],
130 &quot;requiredAccessLevels&quot;: [ # 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 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
135 &quot;A String&quot;,
136 ],
137 &quot;devicePolicy&quot;: { # `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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700147 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
148 &quot;A String&quot;,
149 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700150 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
151 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
152 # Defaults to `false`.
153 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700154 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
155 { # A restriction on the OS type and version of devices making requests.
156 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
157 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
158 # Verifications includes requirements that the device is enterprise-managed,
159 # conformant to domain policies, and the caller has permission to call
160 # the API targeted by the request.
161 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
162 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
163 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
164 },
165 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700166 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
167 # levels.
168 &quot;A String&quot;,
169 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700170 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700171 &quot;ipSubnetworks&quot;: [ # 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, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
175 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
176 # &quot;2001:db8::1/32&quot; 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 &quot;A String&quot;,
180 ],
181 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
182 # its non-empty fields, each field must be false for the Condition overall to
183 # be satisfied. Defaults to false.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700184 &quot;members&quot;: [ # The request must be made by one of the provided user or service
185 # accounts. Groups are not supported.
186 # Syntax:
187 # `user:{emailid}`
188 # `serviceAccount:{emailid}`
189 # If not specified, a request may come from any user.
190 &quot;A String&quot;,
191 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700192 },
193 ],
194 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
195 # granted this `AccessLevel`. If AND is used, each `Condition` in
196 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
197 # is used, at least one `Condition` in `conditions` must be satisfied for the
198 # `AccessLevel` to be applied. Default behavior is AND.
199 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700200 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
201 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
202 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
203 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
204 # of the `short_name` component is 50 characters.
Bu Sun Kim65020912020-05-20 12:08:20 -0700205 &quot;custom&quot;: { # `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 &quot;expr&quot;: { # 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: &quot;Summary size limit&quot;
215 # description: &quot;Determines if a summary is less than 100 chars&quot;
216 # expression: &quot;document.summary.size() &lt; 100&quot;
217 #
218 # Example (Equality):
219 #
220 # title: &quot;Requestor is owner&quot;
221 # description: &quot;Determines if requestor is the document owner&quot;
222 # expression: &quot;document.owner == request.auth.claims.email&quot;
223 #
224 # Example (Logic):
225 #
226 # title: &quot;Public documents&quot;
227 # description: &quot;Determine whether the document should be publicly visible&quot;
228 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
229 #
230 # Example (Data Manipulation):
231 #
232 # title: &quot;Notification string&quot;
233 # description: &quot;Create a notification string with a timestamp.&quot;
234 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
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.
Bu Sun Kim65020912020-05-20 12:08:20 -0700239 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
240 # its purpose. This can be used e.g. in UIs which allow to enter the
241 # expression.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700242 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
243 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700244 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
245 # syntax.
246 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
247 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim65020912020-05-20 12:08:20 -0700248 },
249 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700250}
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700251
252 x__xgafv: string, V1 error format.
253 Allowed values
254 1 - v1 error format
255 2 - v2 error format
256
257Returns:
258 An object of the form:
259
260 { # This resource represents a long-running operation that is the result of a
261 # network API call.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700262 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
263 # originally returns it. If you use the default HTTP mapping, the
264 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700265 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
266 # contains progress information and common metadata such as create time.
267 # Some services might not provide such metadata. Any method that returns a
268 # long-running operation should document the metadata type, if any.
269 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
270 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700271 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700272 # method returns no data on success, such as `Delete`, the response is
273 # `google.protobuf.Empty`. If the original method is standard
274 # `Get`/`Create`/`Update`, the response should be the resource. For other
275 # methods, the response should have the type `XxxResponse`, where `Xxx`
276 # is the original method name. For example, if the original method name
277 # is `TakeSnapshot()`, the inferred response type is
278 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700279 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700280 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700281 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
282 # If `true`, the operation is completed, and either `error` or `response` is
283 # available.
284 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
285 # different programming environments, including REST APIs and RPC APIs. It is
286 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
287 # three pieces of data: error code, error message, and error details.
288 #
289 # You can find out more about this error model and how to work with it in the
290 # [API Design Guide](https://cloud.google.com/apis/design/errors).
291 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
292 # message types for APIs to use.
293 {
294 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
295 },
296 ],
297 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
298 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
299 # user-facing error message should be localized and sent in the
300 # google.rpc.Status.details field, or localized by the client.
301 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700302 }</pre>
303</div>
304
305<div class="method">
306 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
307 <pre>Delete an Access Level by resource
308name. The longrunning operation from this RPC will have a successful status
309once the Access Level has been removed
310from long-lasting storage.
311
312Args:
313 name: string, Required. Resource name for the Access Level.
314
315Format:
316`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
317 x__xgafv: string, V1 error format.
318 Allowed values
319 1 - v1 error format
320 2 - v2 error format
321
322Returns:
323 An object of the form:
324
325 { # This resource represents a long-running operation that is the result of a
326 # network API call.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700327 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
328 # originally returns it. If you use the default HTTP mapping, the
329 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700330 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
331 # contains progress information and common metadata such as create time.
332 # Some services might not provide such metadata. Any method that returns a
333 # long-running operation should document the metadata type, if any.
334 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
335 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700336 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700337 # method returns no data on success, such as `Delete`, the response is
338 # `google.protobuf.Empty`. If the original method is standard
339 # `Get`/`Create`/`Update`, the response should be the resource. For other
340 # methods, the response should have the type `XxxResponse`, where `Xxx`
341 # is the original method name. For example, if the original method name
342 # is `TakeSnapshot()`, the inferred response type is
343 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700344 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700345 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700346 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
347 # If `true`, the operation is completed, and either `error` or `response` is
348 # available.
349 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
350 # different programming environments, including REST APIs and RPC APIs. It is
351 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
352 # three pieces of data: error code, error message, and error details.
353 #
354 # You can find out more about this error model and how to work with it in the
355 # [API Design Guide](https://cloud.google.com/apis/design/errors).
356 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
357 # message types for APIs to use.
358 {
359 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
360 },
361 ],
362 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
363 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
364 # user-facing error message should be localized and sent in the
365 # google.rpc.Status.details field, or localized by the client.
366 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700367 }</pre>
368</div>
369
370<div class="method">
371 <code class="details" id="get">get(name, accessLevelFormat=None, x__xgafv=None)</code>
372 <pre>Get an Access Level by resource
373name.
374
375Args:
376 name: string, Required. Resource name for the Access Level.
377
378Format:
379`accessPolicies/{policy_id}/accessLevels/{access_level_id}` (required)
380 accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression
381Language rather than as `BasicLevels`. Defaults to AS_DEFINED, where
382Access Levels
383are returned as `BasicLevels` or `CustomLevels` based on how they were
384created. If set to CEL, all Access Levels are returned as
385`CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent
386`CustomLevels`.
387 x__xgafv: string, V1 error format.
388 Allowed values
389 1 - v1 error format
390 2 - v2 error format
391
392Returns:
393 An object of the form:
394
Dan O'Mearadd494642020-05-01 07:42:23 -0700395 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
396 # services, along with a list of requirements necessary for the label to be
397 # applied.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700398 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700399 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
400 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
401 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
402 # AND over its fields. So a Condition is true if: 1) the request IP is from one
403 # of the listed subnetworks AND 2) the originating device complies with the
404 # listed device policy AND 3) all listed access levels are granted AND 4) the
405 # request was sent at a time allowed by the DateTimeRestriction.
406 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
407 # Must be valid ISO 3166-1 alpha-2 codes.
408 &quot;A String&quot;,
409 ],
410 &quot;requiredAccessLevels&quot;: [ # 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 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
415 &quot;A String&quot;,
416 ],
417 &quot;devicePolicy&quot;: { # `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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700427 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
428 &quot;A String&quot;,
429 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700430 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
431 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
432 # Defaults to `false`.
433 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700434 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
435 { # A restriction on the OS type and version of devices making requests.
436 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
437 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
438 # Verifications includes requirements that the device is enterprise-managed,
439 # conformant to domain policies, and the caller has permission to call
440 # the API targeted by the request.
441 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
442 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
443 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
444 },
445 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700446 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
447 # levels.
448 &quot;A String&quot;,
449 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700450 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700451 &quot;ipSubnetworks&quot;: [ # 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, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
455 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
456 # &quot;2001:db8::1/32&quot; 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 &quot;A String&quot;,
460 ],
461 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
462 # its non-empty fields, each field must be false for the Condition overall to
463 # be satisfied. Defaults to false.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700464 &quot;members&quot;: [ # The request must be made by one of the provided user or service
465 # accounts. Groups are not supported.
466 # Syntax:
467 # `user:{emailid}`
468 # `serviceAccount:{emailid}`
469 # If not specified, a request may come from any user.
470 &quot;A String&quot;,
471 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700472 },
473 ],
474 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
475 # granted this `AccessLevel`. If AND is used, each `Condition` in
476 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
477 # is used, at least one `Condition` in `conditions` must be satisfied for the
478 # `AccessLevel` to be applied. Default behavior is AND.
479 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700480 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
481 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
482 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
483 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
484 # of the `short_name` component is 50 characters.
Bu Sun Kim65020912020-05-20 12:08:20 -0700485 &quot;custom&quot;: { # `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 &quot;expr&quot;: { # 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: &quot;Summary size limit&quot;
495 # description: &quot;Determines if a summary is less than 100 chars&quot;
496 # expression: &quot;document.summary.size() &lt; 100&quot;
497 #
498 # Example (Equality):
499 #
500 # title: &quot;Requestor is owner&quot;
501 # description: &quot;Determines if requestor is the document owner&quot;
502 # expression: &quot;document.owner == request.auth.claims.email&quot;
503 #
504 # Example (Logic):
505 #
506 # title: &quot;Public documents&quot;
507 # description: &quot;Determine whether the document should be publicly visible&quot;
508 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
509 #
510 # Example (Data Manipulation):
511 #
512 # title: &quot;Notification string&quot;
513 # description: &quot;Create a notification string with a timestamp.&quot;
514 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
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.
Bu Sun Kim65020912020-05-20 12:08:20 -0700519 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
520 # its purpose. This can be used e.g. in UIs which allow to enter the
521 # expression.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700522 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
523 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700524 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
525 # syntax.
526 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
527 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim65020912020-05-20 12:08:20 -0700528 },
529 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700530 }</pre>
531</div>
532
533<div class="method">
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700534 <code class="details" id="list">list(parent, pageSize=None, pageToken=None, accessLevelFormat=None, x__xgafv=None)</code>
Dan O'Mearadd494642020-05-01 07:42:23 -0700535 <pre>List all Access Levels for an access
536policy.
537
538Args:
539 parent: string, Required. Resource name for the access policy to list Access Levels from.
540
541Format:
542`accessPolicies/{policy_id}` (required)
Bu Sun Kim65020912020-05-20 12:08:20 -0700543 pageSize: integer, Number of Access Levels to include in
544the list. Default 100.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700545 pageToken: string, Next page token for the next batch of Access Level instances.
546Defaults to the first page of results.
Dan O'Mearadd494642020-05-01 07:42:23 -0700547 accessLevelFormat: string, Whether to return `BasicLevels` in the Cloud Common Expression language, as
548`CustomLevels`, rather than as `BasicLevels`. Defaults to returning
549`AccessLevels` in the format they were defined.
Dan O'Mearadd494642020-05-01 07:42:23 -0700550 x__xgafv: string, V1 error format.
551 Allowed values
552 1 - v1 error format
553 2 - v2 error format
554
555Returns:
556 An object of the form:
557
558 { # A response to `ListAccessLevelsRequest`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700559 &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of results. If the value is
Dan O'Mearadd494642020-05-01 07:42:23 -0700560 # empty, no further results remain.
Bu Sun Kim65020912020-05-20 12:08:20 -0700561 &quot;accessLevels&quot;: [ # List of the Access Level instances.
Dan O'Mearadd494642020-05-01 07:42:23 -0700562 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
563 # services, along with a list of requirements necessary for the label to be
564 # applied.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700565 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700566 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
567 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
568 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
569 # AND over its fields. So a Condition is true if: 1) the request IP is from one
570 # of the listed subnetworks AND 2) the originating device complies with the
571 # listed device policy AND 3) all listed access levels are granted AND 4) the
572 # request was sent at a time allowed by the DateTimeRestriction.
573 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
574 # Must be valid ISO 3166-1 alpha-2 codes.
575 &quot;A String&quot;,
576 ],
577 &quot;requiredAccessLevels&quot;: [ # 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 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
582 &quot;A String&quot;,
583 ],
584 &quot;devicePolicy&quot;: { # `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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700594 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
595 &quot;A String&quot;,
596 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700597 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
598 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
599 # Defaults to `false`.
600 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700601 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
602 { # A restriction on the OS type and version of devices making requests.
603 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
604 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
605 # Verifications includes requirements that the device is enterprise-managed,
606 # conformant to domain policies, and the caller has permission to call
607 # the API targeted by the request.
608 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
609 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
610 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
611 },
612 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700613 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
614 # levels.
615 &quot;A String&quot;,
616 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700617 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700618 &quot;ipSubnetworks&quot;: [ # 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, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
622 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
623 # &quot;2001:db8::1/32&quot; 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 &quot;A String&quot;,
627 ],
628 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
629 # its non-empty fields, each field must be false for the Condition overall to
630 # be satisfied. Defaults to false.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700631 &quot;members&quot;: [ # The request must be made by one of the provided user or service
632 # accounts. Groups are not supported.
633 # Syntax:
634 # `user:{emailid}`
635 # `serviceAccount:{emailid}`
636 # If not specified, a request may come from any user.
637 &quot;A String&quot;,
638 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700639 },
640 ],
641 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
642 # granted this `AccessLevel`. If AND is used, each `Condition` in
643 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
644 # is used, at least one `Condition` in `conditions` must be satisfied for the
645 # `AccessLevel` to be applied. Default behavior is AND.
646 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700647 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
648 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
649 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
650 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
651 # of the `short_name` component is 50 characters.
Bu Sun Kim65020912020-05-20 12:08:20 -0700652 &quot;custom&quot;: { # `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 &quot;expr&quot;: { # 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: &quot;Summary size limit&quot;
662 # description: &quot;Determines if a summary is less than 100 chars&quot;
663 # expression: &quot;document.summary.size() &lt; 100&quot;
664 #
665 # Example (Equality):
666 #
667 # title: &quot;Requestor is owner&quot;
668 # description: &quot;Determines if requestor is the document owner&quot;
669 # expression: &quot;document.owner == request.auth.claims.email&quot;
670 #
671 # Example (Logic):
672 #
673 # title: &quot;Public documents&quot;
674 # description: &quot;Determine whether the document should be publicly visible&quot;
675 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
676 #
677 # Example (Data Manipulation):
678 #
679 # title: &quot;Notification string&quot;
680 # description: &quot;Create a notification string with a timestamp.&quot;
681 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
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.
Bu Sun Kim65020912020-05-20 12:08:20 -0700686 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
687 # its purpose. This can be used e.g. in UIs which allow to enter the
688 # expression.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700689 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
690 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700691 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
692 # syntax.
693 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
694 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim65020912020-05-20 12:08:20 -0700695 },
696 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700697 },
698 ],
699 }</pre>
700</div>
701
702<div class="method">
703 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
704 <pre>Retrieves the next page of results.
705
706Args:
707 previous_request: The request for the previous page. (required)
708 previous_response: The response from the request for the previous page. (required)
709
710Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -0700711 A request object that you can call &#x27;execute()&#x27; on to request the next
Dan O'Mearadd494642020-05-01 07:42:23 -0700712 page. Returns None if there are no more items in the collection.
713 </pre>
714</div>
715
716<div class="method">
717 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
718 <pre>Update an Access Level. The longrunning
719operation from this RPC will have a successful status once the changes to
720the Access Level have propagated
721to long-lasting storage. Access Levels containing
722errors will result in an error response for the first error encountered.
723
724Args:
725 name: string, Required. Resource name for the Access Level. The `short_name` component
Bu Sun Kim65020912020-05-20 12:08:20 -0700726must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
Dan O'Mearadd494642020-05-01 07:42:23 -0700727`accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
728of the `short_name` component is 50 characters. (required)
729 body: object, The request body.
730 The object takes the form of:
731
732{ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
733 # services, along with a list of requirements necessary for the label to be
734 # applied.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700735 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700736 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
737 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
738 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
739 # AND over its fields. So a Condition is true if: 1) the request IP is from one
740 # of the listed subnetworks AND 2) the originating device complies with the
741 # listed device policy AND 3) all listed access levels are granted AND 4) the
742 # request was sent at a time allowed by the DateTimeRestriction.
743 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
744 # Must be valid ISO 3166-1 alpha-2 codes.
745 &quot;A String&quot;,
746 ],
747 &quot;requiredAccessLevels&quot;: [ # 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 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
752 &quot;A String&quot;,
753 ],
754 &quot;devicePolicy&quot;: { # `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.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700764 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
765 &quot;A String&quot;,
766 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700767 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
768 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
769 # Defaults to `false`.
770 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700771 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
772 { # A restriction on the OS type and version of devices making requests.
773 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
774 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
775 # Verifications includes requirements that the device is enterprise-managed,
776 # conformant to domain policies, and the caller has permission to call
777 # the API targeted by the request.
778 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
779 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
780 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
781 },
782 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700783 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
784 # levels.
785 &quot;A String&quot;,
786 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700787 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700788 &quot;ipSubnetworks&quot;: [ # 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, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
792 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
793 # &quot;2001:db8::1/32&quot; 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 &quot;A String&quot;,
797 ],
798 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
799 # its non-empty fields, each field must be false for the Condition overall to
800 # be satisfied. Defaults to false.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700801 &quot;members&quot;: [ # The request must be made by one of the provided user or service
802 # accounts. Groups are not supported.
803 # Syntax:
804 # `user:{emailid}`
805 # `serviceAccount:{emailid}`
806 # If not specified, a request may come from any user.
807 &quot;A String&quot;,
808 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700809 },
810 ],
811 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
812 # granted this `AccessLevel`. If AND is used, each `Condition` in
813 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
814 # is used, at least one `Condition` in `conditions` must be satisfied for the
815 # `AccessLevel` to be applied. Default behavior is AND.
816 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700817 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
818 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
819 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
820 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
821 # of the `short_name` component is 50 characters.
Bu Sun Kim65020912020-05-20 12:08:20 -0700822 &quot;custom&quot;: { # `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 &quot;expr&quot;: { # 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: &quot;Summary size limit&quot;
832 # description: &quot;Determines if a summary is less than 100 chars&quot;
833 # expression: &quot;document.summary.size() &lt; 100&quot;
834 #
835 # Example (Equality):
836 #
837 # title: &quot;Requestor is owner&quot;
838 # description: &quot;Determines if requestor is the document owner&quot;
839 # expression: &quot;document.owner == request.auth.claims.email&quot;
840 #
841 # Example (Logic):
842 #
843 # title: &quot;Public documents&quot;
844 # description: &quot;Determine whether the document should be publicly visible&quot;
845 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
846 #
847 # Example (Data Manipulation):
848 #
849 # title: &quot;Notification string&quot;
850 # description: &quot;Create a notification string with a timestamp.&quot;
851 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
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.
Bu Sun Kim65020912020-05-20 12:08:20 -0700856 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
857 # its purpose. This can be used e.g. in UIs which allow to enter the
858 # expression.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700859 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
860 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700861 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
862 # syntax.
863 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
864 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim65020912020-05-20 12:08:20 -0700865 },
866 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700867}
868
869 updateMask: string, Required. Mask to control which fields get updated. Must be non-empty.
870 x__xgafv: string, V1 error format.
871 Allowed values
872 1 - v1 error format
873 2 - v2 error format
874
875Returns:
876 An object of the form:
877
878 { # This resource represents a long-running operation that is the result of a
879 # network API call.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700880 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
881 # originally returns it. If you use the default HTTP mapping, the
882 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700883 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
884 # contains progress information and common metadata such as create time.
885 # Some services might not provide such metadata. Any method that returns a
886 # long-running operation should document the metadata type, if any.
887 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
888 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700889 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700890 # method returns no data on success, such as `Delete`, the response is
891 # `google.protobuf.Empty`. If the original method is standard
892 # `Get`/`Create`/`Update`, the response should be the resource. For other
893 # methods, the response should have the type `XxxResponse`, where `Xxx`
894 # is the original method name. For example, if the original method name
895 # is `TakeSnapshot()`, the inferred response type is
896 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700897 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -0700898 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700899 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
900 # If `true`, the operation is completed, and either `error` or `response` is
901 # available.
902 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
903 # different programming environments, including REST APIs and RPC APIs. It is
904 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
905 # three pieces of data: error code, error message, and error details.
906 #
907 # You can find out more about this error model and how to work with it in the
908 # [API Design Guide](https://cloud.google.com/apis/design/errors).
909 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
910 # message types for APIs to use.
911 {
912 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
913 },
914 ],
915 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
916 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
917 # user-facing error message should be localized and sent in the
918 # google.rpc.Status.details field, or localized by the client.
919 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700920 }</pre>
921</div>
922
923<div class="method">
924 <code class="details" id="replaceAll">replaceAll(parent, body=None, x__xgafv=None)</code>
925 <pre>Replace all existing Access Levels in an Access
926Policy with
927the Access Levels provided. This
928is done atomically. The longrunning operation from this RPC will have a
929successful status once all replacements have propagated to long-lasting
930storage. Replacements containing errors will result in an error response
931for the first error encountered. Replacement will be cancelled on error,
932existing Access Levels will not be
933affected. Operation.response field will contain
934ReplaceAccessLevelsResponse. Removing Access Levels contained in existing
935Service Perimeters will result in
936error.
937
938Args:
939 parent: string, Required. Resource name for the access policy which owns these
940Access Levels.
941
942Format: `accessPolicies/{policy_id}` (required)
943 body: object, The request body.
944 The object takes the form of:
945
946{ # A request to replace all existing Access Levels in an Access Policy with
947 # the Access Levels provided. This is done atomically.
Bu Sun Kim65020912020-05-20 12:08:20 -0700948 &quot;accessLevels&quot;: [ # Required. The desired Access Levels that should
Dan O'Mearadd494642020-05-01 07:42:23 -0700949 # replace all existing Access Levels in the
950 # Access Policy.
951 { # An `AccessLevel` is a label that can be applied to requests to Google Cloud
952 # services, along with a list of requirements necessary for the label to be
953 # applied.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700954 &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700955 &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
956 &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
957 { # A condition necessary for an `AccessLevel` to be granted. The Condition is an
958 # AND over its fields. So a Condition is true if: 1) the request IP is from one
959 # of the listed subnetworks AND 2) the originating device complies with the
960 # listed device policy AND 3) all listed access levels are granted AND 4) the
961 # request was sent at a time allowed by the DateTimeRestriction.
962 &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions.
963 # Must be valid ISO 3166-1 alpha-2 codes.
964 &quot;A String&quot;,
965 ],
966 &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by
967 # resource name. Referencing an `AccessLevel` which does not exist is an
968 # error. All access levels listed must be granted for the Condition
969 # to be true. Example:
970 # &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
971 &quot;A String&quot;,
972 ],
973 &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a # Device specific restrictions, all restrictions must hold for the
974 # Condition to be true. If not specified, all devices are allowed.
975 # given access level. A `DevicePolicy` specifies requirements for requests from
976 # devices to be granted access levels, it does not do any enforcement on the
977 # device. `DevicePolicy` acts as an AND over all specified fields, and each
978 # repeated field is an OR over its elements. Any unset fields are ignored. For
979 # example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
980 # DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
981 # true for requests originating from encrypted Linux desktops and encrypted
982 # Windows desktops.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700983 &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
984 &quot;A String&quot;,
985 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700986 &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
987 &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true.
988 # Defaults to `false`.
989 &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700990 &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
991 { # A restriction on the OS type and version of devices making requests.
992 &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
993 &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS.
994 # Verifications includes requirements that the device is enterprise-managed,
995 # conformant to domain policies, and the caller has permission to call
996 # the API targeted by the request.
997 &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS
998 # satisfies the constraint. Format: `&quot;major.minor.patch&quot;`.
999 # Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
1000 },
1001 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001002 &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management
1003 # levels.
1004 &quot;A String&quot;,
1005 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001006 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001007 &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
1008 # a CIDR IP address block, the specified IP address portion must be properly
1009 # truncated (i.e. all the host bits must be zero) or the input is considered
1010 # malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is
1011 # not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas
1012 # &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of
1013 # the listed subnets in order for this Condition to be true. If empty, all IP
1014 # addresses are allowed.
1015 &quot;A String&quot;,
1016 ],
1017 &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over
1018 # its non-empty fields, each field must be false for the Condition overall to
1019 # be satisfied. Defaults to false.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001020 &quot;members&quot;: [ # The request must be made by one of the provided user or service
1021 # accounts. Groups are not supported.
1022 # Syntax:
1023 # `user:{emailid}`
1024 # `serviceAccount:{emailid}`
1025 # If not specified, a request may come from any user.
1026 &quot;A String&quot;,
1027 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001028 },
1029 ],
1030 &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is
1031 # granted this `AccessLevel`. If AND is used, each `Condition` in
1032 # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
1033 # is used, at least one `Condition` in `conditions` must be satisfied for the
1034 # `AccessLevel` to be applied. Default behavior is AND.
1035 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001036 &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
1037 &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component
1038 # must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format:
1039 # `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
1040 # of the `short_name` component is 50 characters.
Bu Sun Kim65020912020-05-20 12:08:20 -07001041 &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language # A `CustomLevel` written in the Common Expression Language.
1042 # to represent the necessary conditions for the level to apply to a request.
1043 # See CEL spec at: https://github.com/google/cel-spec
1044 &quot;expr&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # Required. A Cloud CEL expression evaluating to a boolean.
1045 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1046 # are documented at https://github.com/google/cel-spec.
1047 #
1048 # Example (Comparison):
1049 #
1050 # title: &quot;Summary size limit&quot;
1051 # description: &quot;Determines if a summary is less than 100 chars&quot;
1052 # expression: &quot;document.summary.size() &lt; 100&quot;
1053 #
1054 # Example (Equality):
1055 #
1056 # title: &quot;Requestor is owner&quot;
1057 # description: &quot;Determines if requestor is the document owner&quot;
1058 # expression: &quot;document.owner == request.auth.claims.email&quot;
1059 #
1060 # Example (Logic):
1061 #
1062 # title: &quot;Public documents&quot;
1063 # description: &quot;Determine whether the document should be publicly visible&quot;
1064 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
1065 #
1066 # Example (Data Manipulation):
1067 #
1068 # title: &quot;Notification string&quot;
1069 # description: &quot;Create a notification string with a timestamp.&quot;
1070 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
1071 #
1072 # The exact variables and functions that may be referenced within an expression
1073 # are determined by the service that evaluates it. See the service
1074 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -07001075 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
1076 # its purpose. This can be used e.g. in UIs which allow to enter the
1077 # expression.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001078 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1079 # describes the expression, e.g. when hovered over it in a UI.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001080 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1081 # syntax.
1082 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1083 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim65020912020-05-20 12:08:20 -07001084 },
1085 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001086 },
1087 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001088 &quot;etag&quot;: &quot;A String&quot;, # Optional. The etag for the version of the Access Policy that this
1089 # replace operation is to be performed on. If, at the time of replace, the
1090 # etag for the Access Policy stored in Access Context Manager is different
1091 # from the specified etag, then the replace operation will not be performed
1092 # and the call will fail. This field is not required. If etag is not
1093 # provided, the operation will be performed as if a valid etag is provided.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001094 }
1095
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001096 x__xgafv: string, V1 error format.
1097 Allowed values
1098 1 - v1 error format
1099 2 - v2 error format
1100
1101Returns:
1102 An object of the form:
1103
1104 { # This resource represents a long-running operation that is the result of a
1105 # network API call.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001106 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
1107 # originally returns it. If you use the default HTTP mapping, the
1108 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001109 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
1110 # contains progress information and common metadata such as create time.
1111 # Some services might not provide such metadata. Any method that returns a
1112 # long-running operation should document the metadata type, if any.
1113 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1114 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001115 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001116 # method returns no data on success, such as `Delete`, the response is
1117 # `google.protobuf.Empty`. If the original method is standard
1118 # `Get`/`Create`/`Update`, the response should be the resource. For other
1119 # methods, the response should have the type `XxxResponse`, where `Xxx`
1120 # is the original method name. For example, if the original method name
1121 # is `TakeSnapshot()`, the inferred response type is
1122 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001123 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001124 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001125 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
1126 # If `true`, the operation is completed, and either `error` or `response` is
1127 # available.
1128 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1129 # different programming environments, including REST APIs and RPC APIs. It is
1130 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1131 # three pieces of data: error code, error message, and error details.
1132 #
1133 # You can find out more about this error model and how to work with it in the
1134 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1135 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
1136 # message types for APIs to use.
1137 {
1138 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1139 },
1140 ],
1141 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
1142 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
1143 # user-facing error message should be localized and sent in the
1144 # google.rpc.Status.details field, or localized by the client.
1145 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001146 }</pre>
1147</div>
1148
1149</body></html>