1<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="cloudresourcemanager_v1.html">Google Cloud Resource Manager API</a> . <a href="cloudresourcemanager_v1.projects.html">projects</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="#clearOrgPolicy">clearOrgPolicy(resource, body, x__xgafv=None)</a></code></p> 79<p class="firstline">Clears a `Policy` from a resource.</p> 80<p class="toc_element"> 81 <code><a href="#create">create(body, x__xgafv=None)</a></code></p> 82<p class="firstline">Request that a new Project be created. The result is an Operation which</p> 83<p class="toc_element"> 84 <code><a href="#delete">delete(projectId, x__xgafv=None)</a></code></p> 85<p class="firstline">Marks the Project identified by the specified</p> 86<p class="toc_element"> 87 <code><a href="#get">get(projectId, x__xgafv=None)</a></code></p> 88<p class="firstline">Retrieves the Project identified by the specified</p> 89<p class="toc_element"> 90 <code><a href="#getAncestry">getAncestry(projectId, body, x__xgafv=None)</a></code></p> 91<p class="firstline">Gets a list of ancestors in the resource hierarchy for the Project</p> 92<p class="toc_element"> 93 <code><a href="#getEffectiveOrgPolicy">getEffectiveOrgPolicy(resource, body, x__xgafv=None)</a></code></p> 94<p class="firstline">Gets the effective `Policy` on a resource. This is the result of merging</p> 95<p class="toc_element"> 96 <code><a href="#getIamPolicy">getIamPolicy(resource, body, x__xgafv=None)</a></code></p> 97<p class="firstline">Returns the IAM access control policy for the specified Project.</p> 98<p class="toc_element"> 99 <code><a href="#getOrgPolicy">getOrgPolicy(resource, body, x__xgafv=None)</a></code></p> 100<p class="firstline">Gets a `Policy` on a resource.</p> 101<p class="toc_element"> 102 <code><a href="#list">list(pageSize=None, filter=None, pageToken=None, x__xgafv=None)</a></code></p> 103<p class="firstline">Lists Projects that are visible to the user and satisfy the</p> 104<p class="toc_element"> 105 <code><a href="#listAvailableOrgPolicyConstraints">listAvailableOrgPolicyConstraints(resource, body, x__xgafv=None)</a></code></p> 106<p class="firstline">Lists `Constraints` that could be applied on the specified resource.</p> 107<p class="toc_element"> 108 <code><a href="#listAvailableOrgPolicyConstraints_next">listAvailableOrgPolicyConstraints_next(previous_request, previous_response)</a></code></p> 109<p class="firstline">Retrieves the next page of results.</p> 110<p class="toc_element"> 111 <code><a href="#listOrgPolicies">listOrgPolicies(resource, body, x__xgafv=None)</a></code></p> 112<p class="firstline">Lists all the `Policies` set for a particular resource.</p> 113<p class="toc_element"> 114 <code><a href="#listOrgPolicies_next">listOrgPolicies_next(previous_request, previous_response)</a></code></p> 115<p class="firstline">Retrieves the next page of results.</p> 116<p class="toc_element"> 117 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> 118<p class="firstline">Retrieves the next page of results.</p> 119<p class="toc_element"> 120 <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p> 121<p class="firstline">Sets the IAM access control policy for the specified Project. Replaces</p> 122<p class="toc_element"> 123 <code><a href="#setOrgPolicy">setOrgPolicy(resource, body, x__xgafv=None)</a></code></p> 124<p class="firstline">Updates the specified `Policy` on the resource. Creates a new `Policy` for</p> 125<p class="toc_element"> 126 <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p> 127<p class="firstline">Returns permissions that a caller has on the specified Project.</p> 128<p class="toc_element"> 129 <code><a href="#undelete">undelete(projectId, body, x__xgafv=None)</a></code></p> 130<p class="firstline">Restores the Project identified by the specified</p> 131<p class="toc_element"> 132 <code><a href="#update">update(projectId, body, x__xgafv=None)</a></code></p> 133<p class="firstline">Updates the attributes of the Project identified by the specified</p> 134<h3>Method Details</h3> 135<div class="method"> 136 <code class="details" id="clearOrgPolicy">clearOrgPolicy(resource, body, x__xgafv=None)</code> 137 <pre>Clears a `Policy` from a resource. 138 139Args: 140 resource: string, Name of the resource for the `Policy` to clear. (required) 141 body: object, The request body. (required) 142 The object takes the form of: 143 144{ # The request sent to the ClearOrgPolicy method. 145 "etag": "A String", # The current version, for concurrency control. Not sending an `etag` 146 # will cause the `Policy` to be cleared blindly. 147 "constraint": "A String", # Name of the `Constraint` of the `Policy` to clear. 148 } 149 150 x__xgafv: string, V1 error format. 151 Allowed values 152 1 - v1 error format 153 2 - v2 error format 154 155Returns: 156 An object of the form: 157 158 { # A generic empty message that you can re-use to avoid defining duplicated 159 # empty messages in your APIs. A typical example is to use it as the request 160 # or the response type of an API method. For instance: 161 # 162 # service Foo { 163 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 164 # } 165 # 166 # The JSON representation for `Empty` is empty JSON object `{}`. 167 }</pre> 168</div> 169 170<div class="method"> 171 <code class="details" id="create">create(body, x__xgafv=None)</code> 172 <pre>Request that a new Project be created. The result is an Operation which 173can be used to track the creation process. It is automatically deleted 174after a few hours, so there is no need to call DeleteOperation. 175 176Our SLO permits Project creation to take up to 30 seconds at the 90th 177percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile 178latency. 95th percentile latency is around 11 seconds. We recommend 179polling at the 5th second with an exponential backoff. 180 181Args: 182 body: object, The request body. (required) 183 The object takes the form of: 184 185{ # A Project is a high-level Google Cloud Platform entity. It is a 186 # container for ACLs, APIs, App Engine Apps, VMs, and other 187 # Google Cloud Platform resources. 188 "name": "A String", # The user-assigned display name of the Project. 189 # It must be 4 to 30 characters. 190 # Allowed characters are: lowercase and uppercase letters, numbers, 191 # hyphen, single-quote, double-quote, space, and exclamation point. 192 # 193 # Example: <code>My Project</code> 194 # Read-write. 195 "parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource. 196 # 197 # The only supported parent type is "organization". Once set, the parent 198 # cannot be modified. The `parent` can be set on creation or using the 199 # `UpdateProject` method; the end user must have the 200 # `resourcemanager.projects.create` permission on the parent. 201 # 202 # Read-write. 203 # Cloud Platform is a generic term for something you (a developer) may want to 204 # interact with through one of our API's. Some examples are an App Engine app, 205 # a Compute Engine instance, a Cloud SQL database, and so on. 206 "type": "A String", # Required field representing the resource type this id is for. 207 # At present, the valid types are: "organization" 208 "id": "A String", # Required field for the type-specific id. This should correspond to the id 209 # used in the type-specific API's. 210 }, 211 "projectId": "A String", # The unique, user-assigned ID of the Project. 212 # It must be 6 to 30 lowercase letters, digits, or hyphens. 213 # It must start with a letter. 214 # Trailing hyphens are prohibited. 215 # 216 # Example: <code>tokyo-rain-123</code> 217 # Read-only after creation. 218 "labels": { # The labels associated with this Project. 219 # 220 # Label keys must be between 1 and 63 characters long and must conform 221 # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. 222 # 223 # Label values must be between 0 and 63 characters long and must conform 224 # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. 225 # 226 # No more than 256 labels can be associated with a given resource. 227 # 228 # Clients should store labels in a representation such as JSON that does not 229 # depend on specific characters being disallowed. 230 # 231 # Example: <code>"environment" : "dev"</code> 232 # Read-write. 233 "a_key": "A String", 234 }, 235 "createTime": "A String", # Creation time. 236 # 237 # Read-only. 238 "lifecycleState": "A String", # The Project lifecycle state. 239 # 240 # Read-only. 241 "projectNumber": "A String", # The number uniquely identifying the project. 242 # 243 # Example: <code>415104041262</code> 244 # Read-only. 245} 246 247 x__xgafv: string, V1 error format. 248 Allowed values 249 1 - v1 error format 250 2 - v2 error format 251 252Returns: 253 An object of the form: 254 255 { # This resource represents a long-running operation that is the result of a 256 # network API call. 257 "metadata": { # Service-specific metadata associated with the operation. It typically 258 # contains progress information and common metadata such as create time. 259 # Some services might not provide such metadata. Any method that returns a 260 # long-running operation should document the metadata type, if any. 261 "a_key": "", # Properties of the object. Contains field @type with type URL. 262 }, 263 "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure or cancellation. 264 # programming environments, including REST APIs and RPC APIs. It is used by 265 # [gRPC](https://github.com/grpc). The error model is designed to be: 266 # 267 # - Simple to use and understand for most users 268 # - Flexible enough to meet unexpected needs 269 # 270 # # Overview 271 # 272 # The `Status` message contains three pieces of data: error code, error message, 273 # and error details. The error code should be an enum value of 274 # google.rpc.Code, but it may accept additional error codes if needed. The 275 # error message should be a developer-facing English message that helps 276 # developers *understand* and *resolve* the error. If a localized user-facing 277 # error message is needed, put the localized message in the error details or 278 # localize it in the client. The optional error details may contain arbitrary 279 # information about the error. There is a predefined set of error detail types 280 # in the package `google.rpc` that can be used for common error conditions. 281 # 282 # # Language mapping 283 # 284 # The `Status` message is the logical representation of the error model, but it 285 # is not necessarily the actual wire format. When the `Status` message is 286 # exposed in different client libraries and different wire protocols, it can be 287 # mapped differently. For example, it will likely be mapped to some exceptions 288 # in Java, but more likely mapped to some error codes in C. 289 # 290 # # Other uses 291 # 292 # The error model and the `Status` message can be used in a variety of 293 # environments, either with or without APIs, to provide a 294 # consistent developer experience across different environments. 295 # 296 # Example uses of this error model include: 297 # 298 # - Partial errors. If a service needs to return partial errors to the client, 299 # it may embed the `Status` in the normal response to indicate the partial 300 # errors. 301 # 302 # - Workflow errors. A typical workflow has multiple steps. Each step may 303 # have a `Status` message for error reporting. 304 # 305 # - Batch operations. If a client uses batch request and batch response, the 306 # `Status` message should be used directly inside batch response, one for 307 # each error sub-response. 308 # 309 # - Asynchronous operations. If an API call embeds asynchronous operation 310 # results in its response, the status of those operations should be 311 # represented directly using the `Status` message. 312 # 313 # - Logging. If some API errors are stored in logs, the message `Status` could 314 # be used directly after any stripping needed for security/privacy reasons. 315 "message": "A String", # A developer-facing error message, which should be in English. Any 316 # user-facing error message should be localized and sent in the 317 # google.rpc.Status.details field, or localized by the client. 318 "code": 42, # The status code, which should be an enum value of google.rpc.Code. 319 "details": [ # A list of messages that carry the error details. There will be a 320 # common set of message types for APIs to use. 321 { 322 "a_key": "", # Properties of the object. Contains field @type with type URL. 323 }, 324 ], 325 }, 326 "done": True or False, # If the value is `false`, it means the operation is still in progress. 327 # If true, the operation is completed, and either `error` or `response` is 328 # available. 329 "response": { # The normal response of the operation in case of success. If the original 330 # method returns no data on success, such as `Delete`, the response is 331 # `google.protobuf.Empty`. If the original method is standard 332 # `Get`/`Create`/`Update`, the response should be the resource. For other 333 # methods, the response should have the type `XxxResponse`, where `Xxx` 334 # is the original method name. For example, if the original method name 335 # is `TakeSnapshot()`, the inferred response type is 336 # `TakeSnapshotResponse`. 337 "a_key": "", # Properties of the object. Contains field @type with type URL. 338 }, 339 "name": "A String", # The server-assigned name, which is only unique within the same service that 340 # originally returns it. If you use the default HTTP mapping, the 341 # `name` should have the format of `operations/some/unique/name`. 342 }</pre> 343</div> 344 345<div class="method"> 346 <code class="details" id="delete">delete(projectId, x__xgafv=None)</code> 347 <pre>Marks the Project identified by the specified 348`project_id` (for example, `my-project-123`) for deletion. 349This method will only affect the Project if the following criteria are met: 350 351+ The Project does not have a billing account associated with it. 352+ The Project has a lifecycle state of 353ACTIVE. 354 355This method changes the Project's lifecycle state from 356ACTIVE 357to DELETE_REQUESTED. 358The deletion starts at an unspecified time, 359at which point the Project is no longer accessible. 360 361Until the deletion completes, you can check the lifecycle state 362checked by retrieving the Project with GetProject, 363and the Project remains visible to ListProjects. 364However, you cannot update the project. 365 366After the deletion completes, the Project is not retrievable by 367the GetProject and 368ListProjects methods. 369 370The caller must have modify permissions for this Project. 371 372Args: 373 projectId: string, The Project ID (for example, `foo-bar-123`). 374 375Required. (required) 376 x__xgafv: string, V1 error format. 377 Allowed values 378 1 - v1 error format 379 2 - v2 error format 380 381Returns: 382 An object of the form: 383 384 { # A generic empty message that you can re-use to avoid defining duplicated 385 # empty messages in your APIs. A typical example is to use it as the request 386 # or the response type of an API method. For instance: 387 # 388 # service Foo { 389 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 390 # } 391 # 392 # The JSON representation for `Empty` is empty JSON object `{}`. 393 }</pre> 394</div> 395 396<div class="method"> 397 <code class="details" id="get">get(projectId, x__xgafv=None)</code> 398 <pre>Retrieves the Project identified by the specified 399`project_id` (for example, `my-project-123`). 400 401The caller must have read permissions for this Project. 402 403Args: 404 projectId: string, The Project ID (for example, `my-project-123`). 405 406Required. (required) 407 x__xgafv: string, V1 error format. 408 Allowed values 409 1 - v1 error format 410 2 - v2 error format 411 412Returns: 413 An object of the form: 414 415 { # A Project is a high-level Google Cloud Platform entity. It is a 416 # container for ACLs, APIs, App Engine Apps, VMs, and other 417 # Google Cloud Platform resources. 418 "name": "A String", # The user-assigned display name of the Project. 419 # It must be 4 to 30 characters. 420 # Allowed characters are: lowercase and uppercase letters, numbers, 421 # hyphen, single-quote, double-quote, space, and exclamation point. 422 # 423 # Example: <code>My Project</code> 424 # Read-write. 425 "parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource. 426 # 427 # The only supported parent type is "organization". Once set, the parent 428 # cannot be modified. The `parent` can be set on creation or using the 429 # `UpdateProject` method; the end user must have the 430 # `resourcemanager.projects.create` permission on the parent. 431 # 432 # Read-write. 433 # Cloud Platform is a generic term for something you (a developer) may want to 434 # interact with through one of our API's. Some examples are an App Engine app, 435 # a Compute Engine instance, a Cloud SQL database, and so on. 436 "type": "A String", # Required field representing the resource type this id is for. 437 # At present, the valid types are: "organization" 438 "id": "A String", # Required field for the type-specific id. This should correspond to the id 439 # used in the type-specific API's. 440 }, 441 "projectId": "A String", # The unique, user-assigned ID of the Project. 442 # It must be 6 to 30 lowercase letters, digits, or hyphens. 443 # It must start with a letter. 444 # Trailing hyphens are prohibited. 445 # 446 # Example: <code>tokyo-rain-123</code> 447 # Read-only after creation. 448 "labels": { # The labels associated with this Project. 449 # 450 # Label keys must be between 1 and 63 characters long and must conform 451 # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. 452 # 453 # Label values must be between 0 and 63 characters long and must conform 454 # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. 455 # 456 # No more than 256 labels can be associated with a given resource. 457 # 458 # Clients should store labels in a representation such as JSON that does not 459 # depend on specific characters being disallowed. 460 # 461 # Example: <code>"environment" : "dev"</code> 462 # Read-write. 463 "a_key": "A String", 464 }, 465 "createTime": "A String", # Creation time. 466 # 467 # Read-only. 468 "lifecycleState": "A String", # The Project lifecycle state. 469 # 470 # Read-only. 471 "projectNumber": "A String", # The number uniquely identifying the project. 472 # 473 # Example: <code>415104041262</code> 474 # Read-only. 475 }</pre> 476</div> 477 478<div class="method"> 479 <code class="details" id="getAncestry">getAncestry(projectId, body, x__xgafv=None)</code> 480 <pre>Gets a list of ancestors in the resource hierarchy for the Project 481identified by the specified `project_id` (for example, `my-project-123`). 482 483The caller must have read permissions for this Project. 484 485Args: 486 projectId: string, The Project ID (for example, `my-project-123`). 487 488Required. (required) 489 body: object, The request body. (required) 490 The object takes the form of: 491 492{ # The request sent to the 493 # GetAncestry 494 # method. 495 } 496 497 x__xgafv: string, V1 error format. 498 Allowed values 499 1 - v1 error format 500 2 - v2 error format 501 502Returns: 503 An object of the form: 504 505 { # Response from the GetAncestry method. 506 "ancestor": [ # Ancestors are ordered from bottom to top of the resource hierarchy. The 507 # first ancestor is the project itself, followed by the project's parent, 508 # etc. 509 { # Identifying information for a single ancestor of a project. 510 "resourceId": { # A container to reference an id for any resource type. A `resource` in Google # Resource id of the ancestor. 511 # Cloud Platform is a generic term for something you (a developer) may want to 512 # interact with through one of our API's. Some examples are an App Engine app, 513 # a Compute Engine instance, a Cloud SQL database, and so on. 514 "type": "A String", # Required field representing the resource type this id is for. 515 # At present, the valid types are: "organization" 516 "id": "A String", # Required field for the type-specific id. This should correspond to the id 517 # used in the type-specific API's. 518 }, 519 }, 520 ], 521 }</pre> 522</div> 523 524<div class="method"> 525 <code class="details" id="getEffectiveOrgPolicy">getEffectiveOrgPolicy(resource, body, x__xgafv=None)</code> 526 <pre>Gets the effective `Policy` on a resource. This is the result of merging 527`Policies` in the resource hierarchy. The returned `Policy` will not have 528an `etag`set because it is a computed `Policy` across multiple resources. 529 530Args: 531 resource: string, The name of the resource to start computing the effective `Policy`. (required) 532 body: object, The request body. (required) 533 The object takes the form of: 534 535{ # The request sent to the GetEffectiveOrgPolicy method. 536 "constraint": "A String", # The name of the `Constraint` to compute the effective `Policy`. 537 } 538 539 x__xgafv: string, V1 error format. 540 Allowed values 541 1 - v1 error format 542 2 - v2 error format 543 544Returns: 545 An object of the form: 546 547 { # Defines a Cloud Organization `Policy` which is used to specify `Constraints` 548 # for configurations of Cloud Platform resources. 549 "updateTime": "A String", # The time stamp the `Policy` was previously updated. This is set by the 550 # server, not specified by the caller, and represents the last time a call to 551 # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will 552 # be ignored. 553 "constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example, 554 # `constraints/serviceuser.services`. 555 # 556 # Immutable after creation. 557 "restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of 558 # `Constraint` type. 559 # `constraint_default` enforcement behavior of the specific `Constraint` at 560 # this resource. 561 # 562 # Suppose that `constraint_default` is set to `ALLOW` for the 563 # `Constraint` `constraints/serviceuser.services`. Suppose that organization 564 # foo.com sets a `Policy` at their Organization resource node that restricts 565 # the allowed service activations to deny all service activations. They 566 # could then set a `Policy` with the `policy_type` `restore_default` on 567 # several experimental projects, restoring the `constraint_default` 568 # enforcement of the `Constraint` for only those projects, allowing those 569 # projects to have all services activated. 570 }, 571 "listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed. 572 # resource. 573 # 574 # A `ListPolicy` can define specific values that are allowed or denied by 575 # setting either the `allowed_values` or `denied_values` fields. It can also 576 # be used to allow or deny all values, by setting the `all_values` field. If 577 # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values` 578 # or `denied_values` must be set (attempting to set both or neither will 579 # result in a failed request). If `all_values` is set to either `ALLOW` or 580 # `DENY`, `allowed_values` and `denied_values` must be unset. 581 "allValues": "A String", # The policy all_values state. 582 "allowedValues": [ # List of values allowed at this resource. an only be set if no values are 583 # set for `denied_values` and `all_values` is set to 584 # `ALL_VALUES_UNSPECIFIED`. 585 "A String", 586 ], 587 "inheritFromParent": True or False, # Determines the inheritance behavior for this `Policy`. 588 # 589 # By default, a `ListPolicy` set at a resource supercedes any `Policy` set 590 # anywhere up the resource hierarchy. However, if `inherit_from_parent` is 591 # set to `true`, then the values from the effective `Policy` of the parent 592 # resource are inherited, meaning the values set in this `Policy` are 593 # added to the values inherited up the hierarchy. 594 # 595 # Setting `Policy` hierarchies that inherit both allowed values and denied 596 # values isn't recommended in most circumstances to keep the configuration 597 # simple and understandable. However, it is possible to set a `Policy` with 598 # `allowed_values` set that inherits a `Policy` with `denied_values` set. 599 # In this case, the values that are allowed must be in `allowed_values` and 600 # not present in `denied_values`. 601 # 602 # For example, suppose you have a `Constraint` 603 # `constraints/serviceuser.services`, which has a `constraint_type` of 604 # `list_constraint`, and with `constraint_default` set to `ALLOW`. 605 # Suppose that at the Organization level, a `Policy` is applied that 606 # restricts the allowed API activations to {`E1`, `E2`}. Then, if a 607 # `Policy` is applied to a project below the Organization that has 608 # `inherit_from_parent` set to `false` and field all_values set to DENY, 609 # then an attempt to activate any API will be denied. 610 # 611 # The following examples demonstrate different possible layerings: 612 # 613 # Example 1 (no inherited values): 614 # `organizations/foo` has a `Policy` with values: 615 # {allowed_values: “E1” allowed_values:”E2”} 616 # ``projects/bar`` has `inherit_from_parent` `false` and values: 617 # {allowed_values: "E3" allowed_values: "E4"} 618 # The accepted values at `organizations/foo` are `E1`, `E2`. 619 # The accepted values at `projects/bar` are `E3`, and `E4`. 620 # 621 # Example 2 (inherited values): 622 # `organizations/foo` has a `Policy` with values: 623 # {allowed_values: “E1” allowed_values:”E2”} 624 # `projects/bar` has a `Policy` with values: 625 # {value: “E3” value: ”E4” inherit_from_parent: true} 626 # The accepted values at `organizations/foo` are `E1`, `E2`. 627 # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. 628 # 629 # Example 3 (inheriting both allowed and denied values): 630 # `organizations/foo` has a `Policy` with values: 631 # {allowed_values: "E1" allowed_values: "E2"} 632 # `projects/bar` has a `Policy` with: 633 # {denied_values: "E1"} 634 # The accepted values at `organizations/foo` are `E1`, `E2`. 635 # The value accepted at `projects/bar` is `E2`. 636 # 637 # Example 4 (RestoreDefault): 638 # `organizations/foo` has a `Policy` with values: 639 # {allowed_values: “E1” allowed_values:”E2”} 640 # `projects/bar` has a `Policy` with values: 641 # {RestoreDefault: {}} 642 # The accepted values at `organizations/foo` are `E1`, `E2`. 643 # The accepted values at `projects/bar` are either all or none depending on 644 # the value of `constraint_default` (if `ALLOW`, all; if 645 # `DENY`, none). 646 # 647 # Example 5 (no policy inherits parent policy): 648 # `organizations/foo` has no `Policy` set. 649 # `projects/bar` has no `Policy` set. 650 # The accepted values at both levels are either all or none depending on 651 # the value of `constraint_default` (if `ALLOW`, all; if 652 # `DENY`, none). 653 # 654 # Example 6 (ListConstraint allowing all): 655 # `organizations/foo` has a `Policy` with values: 656 # {allowed_values: “E1” allowed_values: ”E2”} 657 # `projects/bar` has a `Policy` with: 658 # {all: ALLOW} 659 # The accepted values at `organizations/foo` are `E1`, E2`. 660 # Any value is accepted at `projects/bar`. 661 # 662 # Example 7 (ListConstraint allowing none): 663 # `organizations/foo` has a `Policy` with values: 664 # {allowed_values: “E1” allowed_values: ”E2”} 665 # `projects/bar` has a `Policy` with: 666 # {all: DENY} 667 # The accepted values at `organizations/foo` are `E1`, E2`. 668 # No value is accepted at `projects/bar`. 669 "suggestedValue": "A String", # Optional. The Google Cloud Console will try to default to a configuration 670 # that matches the value specified in this `Policy`. If `suggested_value` 671 # is not set, it will inherit the value specified higher in the hierarchy, 672 # unless `inherit_from_parent` is `false`. 673 "deniedValues": [ # List of values denied at this resource. Can only be set if no values are 674 # set for `allowed_values` and `all_values` is set to 675 # `ALL_VALUES_UNSPECIFIED`. 676 "A String", 677 ], 678 }, 679 "booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not. 680 # resource. 681 "enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any 682 # configuration is acceptable. 683 # 684 # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` 685 # with `constraint_default` set to `ALLOW`. A `Policy` for that 686 # `Constraint` exhibits the following behavior: 687 # - If the `Policy` at this resource has enforced set to `false`, serial 688 # port connection attempts will be allowed. 689 # - If the `Policy` at this resource has enforced set to `true`, serial 690 # port connection attempts will be refused. 691 # - If the `Policy` at this resource is `RestoreDefault`, serial port 692 # connection attempts will be allowed. 693 # - If no `Policy` is set at this resource or anywhere higher in the 694 # resource hierarchy, serial port connection attempts will be allowed. 695 # - If no `Policy` is set at this resource, but one exists higher in the 696 # resource hierarchy, the behavior is as if the`Policy` were set at 697 # this resource. 698 # 699 # The following examples demonstrate the different possible layerings: 700 # 701 # Example 1 (nearest `Constraint` wins): 702 # `organizations/foo` has a `Policy` with: 703 # {enforced: false} 704 # `projects/bar` has no `Policy` set. 705 # The constraint at `projects/bar` and `organizations/foo` will not be 706 # enforced. 707 # 708 # Example 2 (enforcement gets replaced): 709 # `organizations/foo` has a `Policy` with: 710 # {enforced: false} 711 # `projects/bar` has a `Policy` with: 712 # {enforced: true} 713 # The constraint at `organizations/foo` is not enforced. 714 # The constraint at `projects/bar` is enforced. 715 # 716 # Example 3 (RestoreDefault): 717 # `organizations/foo` has a `Policy` with: 718 # {enforced: true} 719 # `projects/bar` has a `Policy` with: 720 # {RestoreDefault: {}} 721 # The constraint at `organizations/foo` is enforced. 722 # The constraint at `projects/bar` is not enforced, because 723 # `constraint_default` for the `Constraint` is `ALLOW`. 724 }, 725 "version": 42, # Version of the `Policy`. Default version is 0; 726 "etag": "A String", # An opaque tag indicating the current version of the `Policy`, used for 727 # concurrency control. 728 # 729 # When the `Policy` is returned from either a `GetPolicy` or a 730 # `ListOrgPolicy` request, this `etag` indicates the version of the current 731 # `Policy` to use when executing a read-modify-write loop. 732 # 733 # When the `Policy` is returned from a `GetEffectivePolicy` request, the 734 # `etag` will be unset. 735 # 736 # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value 737 # that was returned from a `GetOrgPolicy` request as part of a 738 # read-modify-write loop for concurrency control. Not setting the `etag`in a 739 # `SetOrgPolicy` request will result in an unconditional write of the 740 # `Policy`. 741 }</pre> 742</div> 743 744<div class="method"> 745 <code class="details" id="getIamPolicy">getIamPolicy(resource, body, x__xgafv=None)</code> 746 <pre>Returns the IAM access control policy for the specified Project. 747Permission is denied if the policy or the resource does not exist. 748 749Args: 750 resource: string, REQUIRED: The resource for which the policy is being requested. 751See the operation documentation for the appropriate value for this field. (required) 752 body: object, The request body. (required) 753 The object takes the form of: 754 755{ # Request message for `GetIamPolicy` method. 756 } 757 758 x__xgafv: string, V1 error format. 759 Allowed values 760 1 - v1 error format 761 2 - v2 error format 762 763Returns: 764 An object of the form: 765 766 { # Defines an Identity and Access Management (IAM) policy. It is used to 767 # specify access control policies for Cloud Platform resources. 768 # 769 # 770 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of 771 # `members` to a `role`, where the members can be user accounts, Google groups, 772 # Google domains, and service accounts. A `role` is a named list of permissions 773 # defined by IAM. 774 # 775 # **Example** 776 # 777 # { 778 # "bindings": [ 779 # { 780 # "role": "roles/owner", 781 # "members": [ 782 # "user:mike@example.com", 783 # "group:admins@example.com", 784 # "domain:google.com", 785 # "serviceAccount:my-other-app@appspot.gserviceaccount.com", 786 # ] 787 # }, 788 # { 789 # "role": "roles/viewer", 790 # "members": ["user:sean@example.com"] 791 # } 792 # ] 793 # } 794 # 795 # For a description of IAM and its features, see the 796 # [IAM developer's guide](https://cloud.google.com/iam). 797 "bindings": [ # Associates a list of `members` to a `role`. 798 # Multiple `bindings` must not be specified for the same `role`. 799 # `bindings` with no members will result in an error. 800 { # Associates `members` with a `role`. 801 "role": "A String", # Role that is assigned to `members`. 802 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. 803 # Required 804 "members": [ # Specifies the identities requesting access for a Cloud Platform resource. 805 # `members` can have the following values: 806 # 807 # * `allUsers`: A special identifier that represents anyone who is 808 # on the internet; with or without a Google account. 809 # 810 # * `allAuthenticatedUsers`: A special identifier that represents anyone 811 # who is authenticated with a Google account or a service account. 812 # 813 # * `user:{emailid}`: An email address that represents a specific Google 814 # account. For example, `alice@gmail.com` or `joe@example.com`. 815 # 816 # 817 # * `serviceAccount:{emailid}`: An email address that represents a service 818 # account. For example, `my-other-app@appspot.gserviceaccount.com`. 819 # 820 # * `group:{emailid}`: An email address that represents a Google group. 821 # For example, `admins@example.com`. 822 # 823 # 824 # * `domain:{domain}`: A Google Apps domain name that represents all the 825 # users of that domain. For example, `google.com` or `example.com`. 826 # 827 "A String", 828 ], 829 }, 830 ], 831 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. 832 { # Specifies the audit configuration for a service. 833 # The configuration determines which permission types are logged, and what 834 # identities, if any, are exempted from logging. 835 # An AuditConfig must have one or more AuditLogConfigs. 836 # 837 # If there are AuditConfigs for both `allServices` and a specific service, 838 # the union of the two AuditConfigs is used for that service: the log_types 839 # specified in each AuditConfig are enabled, and the exempted_members in each 840 # AuditConfig are exempted. 841 # 842 # Example Policy with multiple AuditConfigs: 843 # 844 # { 845 # "audit_configs": [ 846 # { 847 # "service": "allServices" 848 # "audit_log_configs": [ 849 # { 850 # "log_type": "DATA_READ", 851 # "exempted_members": [ 852 # "user:foo@gmail.com" 853 # ] 854 # }, 855 # { 856 # "log_type": "DATA_WRITE", 857 # }, 858 # { 859 # "log_type": "ADMIN_READ", 860 # } 861 # ] 862 # }, 863 # { 864 # "service": "fooservice.googleapis.com" 865 # "audit_log_configs": [ 866 # { 867 # "log_type": "DATA_READ", 868 # }, 869 # { 870 # "log_type": "DATA_WRITE", 871 # "exempted_members": [ 872 # "user:bar@gmail.com" 873 # ] 874 # } 875 # ] 876 # } 877 # ] 878 # } 879 # 880 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ 881 # logging. It also exempts foo@gmail.com from DATA_READ logging, and 882 # bar@gmail.com from DATA_WRITE logging. 883 "auditLogConfigs": [ # The configuration for logging of each type of permission. 884 # Next ID: 4 885 { # Provides the configuration for logging a type of permissions. 886 # Example: 887 # 888 # { 889 # "audit_log_configs": [ 890 # { 891 # "log_type": "DATA_READ", 892 # "exempted_members": [ 893 # "user:foo@gmail.com" 894 # ] 895 # }, 896 # { 897 # "log_type": "DATA_WRITE", 898 # } 899 # ] 900 # } 901 # 902 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting 903 # foo@gmail.com from DATA_READ logging. 904 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of 905 # permission. 906 # Follows the same format of Binding.members. 907 "A String", 908 ], 909 "logType": "A String", # The log type that this config enables. 910 }, 911 ], 912 "service": "A String", # Specifies a service that will be enabled for audit logging. 913 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. 914 # `allServices` is a special value that covers all services. 915 }, 916 ], 917 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 918 # prevent simultaneous updates of a policy from overwriting each other. 919 # It is strongly suggested that systems make use of the `etag` in the 920 # read-modify-write cycle to perform policy updates in order to avoid race 921 # conditions: An `etag` is returned in the response to `getIamPolicy`, and 922 # systems are expected to put that etag in the request to `setIamPolicy` to 923 # ensure that their change will be applied to the same version of the policy. 924 # 925 # If no `etag` is provided in the call to `setIamPolicy`, then the existing 926 # policy is overwritten blindly. 927 "version": 42, # Version of the `Policy`. The default version is 0. 928 }</pre> 929</div> 930 931<div class="method"> 932 <code class="details" id="getOrgPolicy">getOrgPolicy(resource, body, x__xgafv=None)</code> 933 <pre>Gets a `Policy` on a resource. 934 935If no `Policy` is set on the resource, a `Policy` is returned with default 936values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The 937`etag` value can be used with `SetOrgPolicy()` to create or update a 938`Policy` during read-modify-write. 939 940Args: 941 resource: string, Name of the resource the `Policy` is set on. (required) 942 body: object, The request body. (required) 943 The object takes the form of: 944 945{ # The request sent to the GetOrgPolicy method. 946 "constraint": "A String", # Name of the `Constraint` to get the `Policy`. 947 } 948 949 x__xgafv: string, V1 error format. 950 Allowed values 951 1 - v1 error format 952 2 - v2 error format 953 954Returns: 955 An object of the form: 956 957 { # Defines a Cloud Organization `Policy` which is used to specify `Constraints` 958 # for configurations of Cloud Platform resources. 959 "updateTime": "A String", # The time stamp the `Policy` was previously updated. This is set by the 960 # server, not specified by the caller, and represents the last time a call to 961 # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will 962 # be ignored. 963 "constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example, 964 # `constraints/serviceuser.services`. 965 # 966 # Immutable after creation. 967 "restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of 968 # `Constraint` type. 969 # `constraint_default` enforcement behavior of the specific `Constraint` at 970 # this resource. 971 # 972 # Suppose that `constraint_default` is set to `ALLOW` for the 973 # `Constraint` `constraints/serviceuser.services`. Suppose that organization 974 # foo.com sets a `Policy` at their Organization resource node that restricts 975 # the allowed service activations to deny all service activations. They 976 # could then set a `Policy` with the `policy_type` `restore_default` on 977 # several experimental projects, restoring the `constraint_default` 978 # enforcement of the `Constraint` for only those projects, allowing those 979 # projects to have all services activated. 980 }, 981 "listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed. 982 # resource. 983 # 984 # A `ListPolicy` can define specific values that are allowed or denied by 985 # setting either the `allowed_values` or `denied_values` fields. It can also 986 # be used to allow or deny all values, by setting the `all_values` field. If 987 # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values` 988 # or `denied_values` must be set (attempting to set both or neither will 989 # result in a failed request). If `all_values` is set to either `ALLOW` or 990 # `DENY`, `allowed_values` and `denied_values` must be unset. 991 "allValues": "A String", # The policy all_values state. 992 "allowedValues": [ # List of values allowed at this resource. an only be set if no values are 993 # set for `denied_values` and `all_values` is set to 994 # `ALL_VALUES_UNSPECIFIED`. 995 "A String", 996 ], 997 "inheritFromParent": True or False, # Determines the inheritance behavior for this `Policy`. 998 # 999 # By default, a `ListPolicy` set at a resource supercedes any `Policy` set 1000 # anywhere up the resource hierarchy. However, if `inherit_from_parent` is 1001 # set to `true`, then the values from the effective `Policy` of the parent 1002 # resource are inherited, meaning the values set in this `Policy` are 1003 # added to the values inherited up the hierarchy. 1004 # 1005 # Setting `Policy` hierarchies that inherit both allowed values and denied 1006 # values isn't recommended in most circumstances to keep the configuration 1007 # simple and understandable. However, it is possible to set a `Policy` with 1008 # `allowed_values` set that inherits a `Policy` with `denied_values` set. 1009 # In this case, the values that are allowed must be in `allowed_values` and 1010 # not present in `denied_values`. 1011 # 1012 # For example, suppose you have a `Constraint` 1013 # `constraints/serviceuser.services`, which has a `constraint_type` of 1014 # `list_constraint`, and with `constraint_default` set to `ALLOW`. 1015 # Suppose that at the Organization level, a `Policy` is applied that 1016 # restricts the allowed API activations to {`E1`, `E2`}. Then, if a 1017 # `Policy` is applied to a project below the Organization that has 1018 # `inherit_from_parent` set to `false` and field all_values set to DENY, 1019 # then an attempt to activate any API will be denied. 1020 # 1021 # The following examples demonstrate different possible layerings: 1022 # 1023 # Example 1 (no inherited values): 1024 # `organizations/foo` has a `Policy` with values: 1025 # {allowed_values: “E1” allowed_values:”E2”} 1026 # ``projects/bar`` has `inherit_from_parent` `false` and values: 1027 # {allowed_values: "E3" allowed_values: "E4"} 1028 # The accepted values at `organizations/foo` are `E1`, `E2`. 1029 # The accepted values at `projects/bar` are `E3`, and `E4`. 1030 # 1031 # Example 2 (inherited values): 1032 # `organizations/foo` has a `Policy` with values: 1033 # {allowed_values: “E1” allowed_values:”E2”} 1034 # `projects/bar` has a `Policy` with values: 1035 # {value: “E3” value: ”E4” inherit_from_parent: true} 1036 # The accepted values at `organizations/foo` are `E1`, `E2`. 1037 # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. 1038 # 1039 # Example 3 (inheriting both allowed and denied values): 1040 # `organizations/foo` has a `Policy` with values: 1041 # {allowed_values: "E1" allowed_values: "E2"} 1042 # `projects/bar` has a `Policy` with: 1043 # {denied_values: "E1"} 1044 # The accepted values at `organizations/foo` are `E1`, `E2`. 1045 # The value accepted at `projects/bar` is `E2`. 1046 # 1047 # Example 4 (RestoreDefault): 1048 # `organizations/foo` has a `Policy` with values: 1049 # {allowed_values: “E1” allowed_values:”E2”} 1050 # `projects/bar` has a `Policy` with values: 1051 # {RestoreDefault: {}} 1052 # The accepted values at `organizations/foo` are `E1`, `E2`. 1053 # The accepted values at `projects/bar` are either all or none depending on 1054 # the value of `constraint_default` (if `ALLOW`, all; if 1055 # `DENY`, none). 1056 # 1057 # Example 5 (no policy inherits parent policy): 1058 # `organizations/foo` has no `Policy` set. 1059 # `projects/bar` has no `Policy` set. 1060 # The accepted values at both levels are either all or none depending on 1061 # the value of `constraint_default` (if `ALLOW`, all; if 1062 # `DENY`, none). 1063 # 1064 # Example 6 (ListConstraint allowing all): 1065 # `organizations/foo` has a `Policy` with values: 1066 # {allowed_values: “E1” allowed_values: ”E2”} 1067 # `projects/bar` has a `Policy` with: 1068 # {all: ALLOW} 1069 # The accepted values at `organizations/foo` are `E1`, E2`. 1070 # Any value is accepted at `projects/bar`. 1071 # 1072 # Example 7 (ListConstraint allowing none): 1073 # `organizations/foo` has a `Policy` with values: 1074 # {allowed_values: “E1” allowed_values: ”E2”} 1075 # `projects/bar` has a `Policy` with: 1076 # {all: DENY} 1077 # The accepted values at `organizations/foo` are `E1`, E2`. 1078 # No value is accepted at `projects/bar`. 1079 "suggestedValue": "A String", # Optional. The Google Cloud Console will try to default to a configuration 1080 # that matches the value specified in this `Policy`. If `suggested_value` 1081 # is not set, it will inherit the value specified higher in the hierarchy, 1082 # unless `inherit_from_parent` is `false`. 1083 "deniedValues": [ # List of values denied at this resource. Can only be set if no values are 1084 # set for `allowed_values` and `all_values` is set to 1085 # `ALL_VALUES_UNSPECIFIED`. 1086 "A String", 1087 ], 1088 }, 1089 "booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not. 1090 # resource. 1091 "enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any 1092 # configuration is acceptable. 1093 # 1094 # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` 1095 # with `constraint_default` set to `ALLOW`. A `Policy` for that 1096 # `Constraint` exhibits the following behavior: 1097 # - If the `Policy` at this resource has enforced set to `false`, serial 1098 # port connection attempts will be allowed. 1099 # - If the `Policy` at this resource has enforced set to `true`, serial 1100 # port connection attempts will be refused. 1101 # - If the `Policy` at this resource is `RestoreDefault`, serial port 1102 # connection attempts will be allowed. 1103 # - If no `Policy` is set at this resource or anywhere higher in the 1104 # resource hierarchy, serial port connection attempts will be allowed. 1105 # - If no `Policy` is set at this resource, but one exists higher in the 1106 # resource hierarchy, the behavior is as if the`Policy` were set at 1107 # this resource. 1108 # 1109 # The following examples demonstrate the different possible layerings: 1110 # 1111 # Example 1 (nearest `Constraint` wins): 1112 # `organizations/foo` has a `Policy` with: 1113 # {enforced: false} 1114 # `projects/bar` has no `Policy` set. 1115 # The constraint at `projects/bar` and `organizations/foo` will not be 1116 # enforced. 1117 # 1118 # Example 2 (enforcement gets replaced): 1119 # `organizations/foo` has a `Policy` with: 1120 # {enforced: false} 1121 # `projects/bar` has a `Policy` with: 1122 # {enforced: true} 1123 # The constraint at `organizations/foo` is not enforced. 1124 # The constraint at `projects/bar` is enforced. 1125 # 1126 # Example 3 (RestoreDefault): 1127 # `organizations/foo` has a `Policy` with: 1128 # {enforced: true} 1129 # `projects/bar` has a `Policy` with: 1130 # {RestoreDefault: {}} 1131 # The constraint at `organizations/foo` is enforced. 1132 # The constraint at `projects/bar` is not enforced, because 1133 # `constraint_default` for the `Constraint` is `ALLOW`. 1134 }, 1135 "version": 42, # Version of the `Policy`. Default version is 0; 1136 "etag": "A String", # An opaque tag indicating the current version of the `Policy`, used for 1137 # concurrency control. 1138 # 1139 # When the `Policy` is returned from either a `GetPolicy` or a 1140 # `ListOrgPolicy` request, this `etag` indicates the version of the current 1141 # `Policy` to use when executing a read-modify-write loop. 1142 # 1143 # When the `Policy` is returned from a `GetEffectivePolicy` request, the 1144 # `etag` will be unset. 1145 # 1146 # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value 1147 # that was returned from a `GetOrgPolicy` request as part of a 1148 # read-modify-write loop for concurrency control. Not setting the `etag`in a 1149 # `SetOrgPolicy` request will result in an unconditional write of the 1150 # `Policy`. 1151 }</pre> 1152</div> 1153 1154<div class="method"> 1155 <code class="details" id="list">list(pageSize=None, filter=None, pageToken=None, x__xgafv=None)</code> 1156 <pre>Lists Projects that are visible to the user and satisfy the 1157specified filter. This method returns Projects in an unspecified order. 1158New Projects do not necessarily appear at the end of the list. 1159 1160Args: 1161 pageSize: integer, The maximum number of Projects to return in the response. 1162The server can return fewer Projects than requested. 1163If unspecified, server picks an appropriate default. 1164 1165Optional. 1166 filter: string, An expression for filtering the results of the request. Filter rules are 1167case insensitive. The fields eligible for filtering are: 1168 1169+ `name` 1170+ `id` 1171+ <code>labels.<em>key</em></code> where *key* is the name of a label 1172 1173Some examples of using labels as filters: 1174 1175|Filter|Description| 1176|------|-----------| 1177|name:how*|The project's name starts with "how".| 1178|name:Howl|The project's name is `Howl` or `howl`.| 1179|name:HOWL|Equivalent to above.| 1180|NAME:howl|Equivalent to above.| 1181|labels.color:*|The project has the label `color`.| 1182|labels.color:red|The project's label `color` has the value `red`.| 1183|labels.color:red labels.size:big|The project's label `color` has the 1184value `red` and its label `size` has the value `big`. 1185 1186Optional. 1187 pageToken: string, A pagination token returned from a previous call to ListProjects 1188that indicates from where listing should continue. 1189 1190Optional. 1191 x__xgafv: string, V1 error format. 1192 Allowed values 1193 1 - v1 error format 1194 2 - v2 error format 1195 1196Returns: 1197 An object of the form: 1198 1199 { # A page of the response received from the 1200 # ListProjects 1201 # method. 1202 # 1203 # A paginated response where more pages are available has 1204 # `next_page_token` set. This token can be used in a subsequent request to 1205 # retrieve the next request page. 1206 "nextPageToken": "A String", # Pagination token. 1207 # 1208 # If the result set is too large to fit in a single response, this token 1209 # is returned. It encodes the position of the current result cursor. 1210 # Feeding this value into a new list request with the `page_token` parameter 1211 # gives the next page of the results. 1212 # 1213 # When `next_page_token` is not filled in, there is no next page and 1214 # the list returned is the last page in the result set. 1215 # 1216 # Pagination tokens have a limited lifetime. 1217 "projects": [ # The list of Projects that matched the list filter. This list can 1218 # be paginated. 1219 { # A Project is a high-level Google Cloud Platform entity. It is a 1220 # container for ACLs, APIs, App Engine Apps, VMs, and other 1221 # Google Cloud Platform resources. 1222 "name": "A String", # The user-assigned display name of the Project. 1223 # It must be 4 to 30 characters. 1224 # Allowed characters are: lowercase and uppercase letters, numbers, 1225 # hyphen, single-quote, double-quote, space, and exclamation point. 1226 # 1227 # Example: <code>My Project</code> 1228 # Read-write. 1229 "parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource. 1230 # 1231 # The only supported parent type is "organization". Once set, the parent 1232 # cannot be modified. The `parent` can be set on creation or using the 1233 # `UpdateProject` method; the end user must have the 1234 # `resourcemanager.projects.create` permission on the parent. 1235 # 1236 # Read-write. 1237 # Cloud Platform is a generic term for something you (a developer) may want to 1238 # interact with through one of our API's. Some examples are an App Engine app, 1239 # a Compute Engine instance, a Cloud SQL database, and so on. 1240 "type": "A String", # Required field representing the resource type this id is for. 1241 # At present, the valid types are: "organization" 1242 "id": "A String", # Required field for the type-specific id. This should correspond to the id 1243 # used in the type-specific API's. 1244 }, 1245 "projectId": "A String", # The unique, user-assigned ID of the Project. 1246 # It must be 6 to 30 lowercase letters, digits, or hyphens. 1247 # It must start with a letter. 1248 # Trailing hyphens are prohibited. 1249 # 1250 # Example: <code>tokyo-rain-123</code> 1251 # Read-only after creation. 1252 "labels": { # The labels associated with this Project. 1253 # 1254 # Label keys must be between 1 and 63 characters long and must conform 1255 # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. 1256 # 1257 # Label values must be between 0 and 63 characters long and must conform 1258 # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. 1259 # 1260 # No more than 256 labels can be associated with a given resource. 1261 # 1262 # Clients should store labels in a representation such as JSON that does not 1263 # depend on specific characters being disallowed. 1264 # 1265 # Example: <code>"environment" : "dev"</code> 1266 # Read-write. 1267 "a_key": "A String", 1268 }, 1269 "createTime": "A String", # Creation time. 1270 # 1271 # Read-only. 1272 "lifecycleState": "A String", # The Project lifecycle state. 1273 # 1274 # Read-only. 1275 "projectNumber": "A String", # The number uniquely identifying the project. 1276 # 1277 # Example: <code>415104041262</code> 1278 # Read-only. 1279 }, 1280 ], 1281 }</pre> 1282</div> 1283 1284<div class="method"> 1285 <code class="details" id="listAvailableOrgPolicyConstraints">listAvailableOrgPolicyConstraints(resource, body, x__xgafv=None)</code> 1286 <pre>Lists `Constraints` that could be applied on the specified resource. 1287 1288Args: 1289 resource: string, Name of the resource to list `Constraints` for. (required) 1290 body: object, The request body. (required) 1291 The object takes the form of: 1292 1293{ # The request sent to the [ListAvailableOrgPolicyConstraints] 1294 # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method. 1295 "pageToken": "A String", # Page token used to retrieve the next page. This is currently unsupported 1296 # and will be ignored. The server may at any point start using this field. 1297 "pageSize": 42, # Size of the pages to be returned. This is currently unsupported and will 1298 # be ignored. The server may at any point start using this field to limit 1299 # page size. 1300 } 1301 1302 x__xgafv: string, V1 error format. 1303 Allowed values 1304 1 - v1 error format 1305 2 - v2 error format 1306 1307Returns: 1308 An object of the form: 1309 1310 { # The response returned from the ListAvailableOrgPolicyConstraints method. 1311 # Returns all `Constraints` that could be set at this level of the hierarchy 1312 # (contrast with the response from `ListPolicies`, which returns all policies 1313 # which are set). 1314 "nextPageToken": "A String", # Page token used to retrieve the next page. This is currently not used. 1315 "constraints": [ # The collection of constraints that are settable on the request resource. 1316 { # A `Constraint` describes a way in which a resource's configuration can be 1317 # restricted. For example, it controls which cloud services can be activated 1318 # across an organization, or whether a Compute Engine instance can have 1319 # serial port connections established. `Constraints` can be configured by the 1320 # organization's policy adminstrator to fit the needs of the organzation by 1321 # setting Policies for `Constraints` at different locations in the 1322 # organization's resource hierarchy. Policies are inherited down the resource 1323 # hierarchy from higher levels, but can also be overridden. For details about 1324 # the inheritance rules please read about 1325 # Policies. 1326 # 1327 # `Constraints` have a default behavior determined by the `constraint_default` 1328 # field, which is the enforcement behavior that is used in the absence of a 1329 # `Policy` being defined or inherited for the resource in question. 1330 "constraintDefault": "A String", # The evaluation behavior of this constraint in the absense of 'Policy'. 1331 "displayName": "A String", # The human readable name. 1332 # 1333 # Mutable. 1334 "description": "A String", # Detailed description of what this `Constraint` controls as well as how and 1335 # where it is enforced. 1336 # 1337 # Mutable. 1338 "booleanConstraint": { # A `Constraint` that is either enforced or not. # Defines this constraint as being a BooleanConstraint. 1339 # 1340 # For example a constraint `constraints/compute.disableSerialPortAccess`. 1341 # If it is enforced on a VM instance, serial port connections will not be 1342 # opened to that instance. 1343 }, 1344 "version": 42, # Version of the `Constraint`. Default version is 0; 1345 "listConstraint": { # A `Constraint` that allows or disallows a list of string values, which are # Defines this constraint as being a ListConstraint. 1346 # configured by an Organization's policy administrator with a `Policy`. 1347 "suggestedValue": "A String", # Optional. The Google Cloud Console will try to default to a configuration 1348 # that matches the value specified in this `Constraint`. 1349 }, 1350 "name": "A String", # Immutable value, required to globally be unique. For example, 1351 # `constraints/serviceuser.services` 1352 }, 1353 ], 1354 }</pre> 1355</div> 1356 1357<div class="method"> 1358 <code class="details" id="listAvailableOrgPolicyConstraints_next">listAvailableOrgPolicyConstraints_next(previous_request, previous_response)</code> 1359 <pre>Retrieves the next page of results. 1360 1361Args: 1362 previous_request: The request for the previous page. (required) 1363 previous_response: The response from the request for the previous page. (required) 1364 1365Returns: 1366 A request object that you can call 'execute()' on to request the next 1367 page. Returns None if there are no more items in the collection. 1368 </pre> 1369</div> 1370 1371<div class="method"> 1372 <code class="details" id="listOrgPolicies">listOrgPolicies(resource, body, x__xgafv=None)</code> 1373 <pre>Lists all the `Policies` set for a particular resource. 1374 1375Args: 1376 resource: string, Name of the resource to list Policies for. (required) 1377 body: object, The request body. (required) 1378 The object takes the form of: 1379 1380{ # The request sent to the ListOrgPolicies method. 1381 "pageToken": "A String", # Page token used to retrieve the next page. This is currently unsupported 1382 # and will be ignored. The server may at any point start using this field. 1383 "pageSize": 42, # Size of the pages to be returned. This is currently unsupported and will 1384 # be ignored. The server may at any point start using this field to limit 1385 # page size. 1386 } 1387 1388 x__xgafv: string, V1 error format. 1389 Allowed values 1390 1 - v1 error format 1391 2 - v2 error format 1392 1393Returns: 1394 An object of the form: 1395 1396 { # The response returned from the ListOrgPolicies method. It will be empty 1397 # if no `Policies` are set on the resource. 1398 "nextPageToken": "A String", # Page token used to retrieve the next page. This is currently not used, but 1399 # the server may at any point start supplying a valid token. 1400 "policies": [ # The `Policies` that are set on the resource. It will be empty if no 1401 # `Policies` are set. 1402 { # Defines a Cloud Organization `Policy` which is used to specify `Constraints` 1403 # for configurations of Cloud Platform resources. 1404 "updateTime": "A String", # The time stamp the `Policy` was previously updated. This is set by the 1405 # server, not specified by the caller, and represents the last time a call to 1406 # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will 1407 # be ignored. 1408 "constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example, 1409 # `constraints/serviceuser.services`. 1410 # 1411 # Immutable after creation. 1412 "restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of 1413 # `Constraint` type. 1414 # `constraint_default` enforcement behavior of the specific `Constraint` at 1415 # this resource. 1416 # 1417 # Suppose that `constraint_default` is set to `ALLOW` for the 1418 # `Constraint` `constraints/serviceuser.services`. Suppose that organization 1419 # foo.com sets a `Policy` at their Organization resource node that restricts 1420 # the allowed service activations to deny all service activations. They 1421 # could then set a `Policy` with the `policy_type` `restore_default` on 1422 # several experimental projects, restoring the `constraint_default` 1423 # enforcement of the `Constraint` for only those projects, allowing those 1424 # projects to have all services activated. 1425 }, 1426 "listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed. 1427 # resource. 1428 # 1429 # A `ListPolicy` can define specific values that are allowed or denied by 1430 # setting either the `allowed_values` or `denied_values` fields. It can also 1431 # be used to allow or deny all values, by setting the `all_values` field. If 1432 # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values` 1433 # or `denied_values` must be set (attempting to set both or neither will 1434 # result in a failed request). If `all_values` is set to either `ALLOW` or 1435 # `DENY`, `allowed_values` and `denied_values` must be unset. 1436 "allValues": "A String", # The policy all_values state. 1437 "allowedValues": [ # List of values allowed at this resource. an only be set if no values are 1438 # set for `denied_values` and `all_values` is set to 1439 # `ALL_VALUES_UNSPECIFIED`. 1440 "A String", 1441 ], 1442 "inheritFromParent": True or False, # Determines the inheritance behavior for this `Policy`. 1443 # 1444 # By default, a `ListPolicy` set at a resource supercedes any `Policy` set 1445 # anywhere up the resource hierarchy. However, if `inherit_from_parent` is 1446 # set to `true`, then the values from the effective `Policy` of the parent 1447 # resource are inherited, meaning the values set in this `Policy` are 1448 # added to the values inherited up the hierarchy. 1449 # 1450 # Setting `Policy` hierarchies that inherit both allowed values and denied 1451 # values isn't recommended in most circumstances to keep the configuration 1452 # simple and understandable. However, it is possible to set a `Policy` with 1453 # `allowed_values` set that inherits a `Policy` with `denied_values` set. 1454 # In this case, the values that are allowed must be in `allowed_values` and 1455 # not present in `denied_values`. 1456 # 1457 # For example, suppose you have a `Constraint` 1458 # `constraints/serviceuser.services`, which has a `constraint_type` of 1459 # `list_constraint`, and with `constraint_default` set to `ALLOW`. 1460 # Suppose that at the Organization level, a `Policy` is applied that 1461 # restricts the allowed API activations to {`E1`, `E2`}. Then, if a 1462 # `Policy` is applied to a project below the Organization that has 1463 # `inherit_from_parent` set to `false` and field all_values set to DENY, 1464 # then an attempt to activate any API will be denied. 1465 # 1466 # The following examples demonstrate different possible layerings: 1467 # 1468 # Example 1 (no inherited values): 1469 # `organizations/foo` has a `Policy` with values: 1470 # {allowed_values: “E1” allowed_values:”E2”} 1471 # ``projects/bar`` has `inherit_from_parent` `false` and values: 1472 # {allowed_values: "E3" allowed_values: "E4"} 1473 # The accepted values at `organizations/foo` are `E1`, `E2`. 1474 # The accepted values at `projects/bar` are `E3`, and `E4`. 1475 # 1476 # Example 2 (inherited values): 1477 # `organizations/foo` has a `Policy` with values: 1478 # {allowed_values: “E1” allowed_values:”E2”} 1479 # `projects/bar` has a `Policy` with values: 1480 # {value: “E3” value: ”E4” inherit_from_parent: true} 1481 # The accepted values at `organizations/foo` are `E1`, `E2`. 1482 # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. 1483 # 1484 # Example 3 (inheriting both allowed and denied values): 1485 # `organizations/foo` has a `Policy` with values: 1486 # {allowed_values: "E1" allowed_values: "E2"} 1487 # `projects/bar` has a `Policy` with: 1488 # {denied_values: "E1"} 1489 # The accepted values at `organizations/foo` are `E1`, `E2`. 1490 # The value accepted at `projects/bar` is `E2`. 1491 # 1492 # Example 4 (RestoreDefault): 1493 # `organizations/foo` has a `Policy` with values: 1494 # {allowed_values: “E1” allowed_values:”E2”} 1495 # `projects/bar` has a `Policy` with values: 1496 # {RestoreDefault: {}} 1497 # The accepted values at `organizations/foo` are `E1`, `E2`. 1498 # The accepted values at `projects/bar` are either all or none depending on 1499 # the value of `constraint_default` (if `ALLOW`, all; if 1500 # `DENY`, none). 1501 # 1502 # Example 5 (no policy inherits parent policy): 1503 # `organizations/foo` has no `Policy` set. 1504 # `projects/bar` has no `Policy` set. 1505 # The accepted values at both levels are either all or none depending on 1506 # the value of `constraint_default` (if `ALLOW`, all; if 1507 # `DENY`, none). 1508 # 1509 # Example 6 (ListConstraint allowing all): 1510 # `organizations/foo` has a `Policy` with values: 1511 # {allowed_values: “E1” allowed_values: ”E2”} 1512 # `projects/bar` has a `Policy` with: 1513 # {all: ALLOW} 1514 # The accepted values at `organizations/foo` are `E1`, E2`. 1515 # Any value is accepted at `projects/bar`. 1516 # 1517 # Example 7 (ListConstraint allowing none): 1518 # `organizations/foo` has a `Policy` with values: 1519 # {allowed_values: “E1” allowed_values: ”E2”} 1520 # `projects/bar` has a `Policy` with: 1521 # {all: DENY} 1522 # The accepted values at `organizations/foo` are `E1`, E2`. 1523 # No value is accepted at `projects/bar`. 1524 "suggestedValue": "A String", # Optional. The Google Cloud Console will try to default to a configuration 1525 # that matches the value specified in this `Policy`. If `suggested_value` 1526 # is not set, it will inherit the value specified higher in the hierarchy, 1527 # unless `inherit_from_parent` is `false`. 1528 "deniedValues": [ # List of values denied at this resource. Can only be set if no values are 1529 # set for `allowed_values` and `all_values` is set to 1530 # `ALL_VALUES_UNSPECIFIED`. 1531 "A String", 1532 ], 1533 }, 1534 "booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not. 1535 # resource. 1536 "enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any 1537 # configuration is acceptable. 1538 # 1539 # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` 1540 # with `constraint_default` set to `ALLOW`. A `Policy` for that 1541 # `Constraint` exhibits the following behavior: 1542 # - If the `Policy` at this resource has enforced set to `false`, serial 1543 # port connection attempts will be allowed. 1544 # - If the `Policy` at this resource has enforced set to `true`, serial 1545 # port connection attempts will be refused. 1546 # - If the `Policy` at this resource is `RestoreDefault`, serial port 1547 # connection attempts will be allowed. 1548 # - If no `Policy` is set at this resource or anywhere higher in the 1549 # resource hierarchy, serial port connection attempts will be allowed. 1550 # - If no `Policy` is set at this resource, but one exists higher in the 1551 # resource hierarchy, the behavior is as if the`Policy` were set at 1552 # this resource. 1553 # 1554 # The following examples demonstrate the different possible layerings: 1555 # 1556 # Example 1 (nearest `Constraint` wins): 1557 # `organizations/foo` has a `Policy` with: 1558 # {enforced: false} 1559 # `projects/bar` has no `Policy` set. 1560 # The constraint at `projects/bar` and `organizations/foo` will not be 1561 # enforced. 1562 # 1563 # Example 2 (enforcement gets replaced): 1564 # `organizations/foo` has a `Policy` with: 1565 # {enforced: false} 1566 # `projects/bar` has a `Policy` with: 1567 # {enforced: true} 1568 # The constraint at `organizations/foo` is not enforced. 1569 # The constraint at `projects/bar` is enforced. 1570 # 1571 # Example 3 (RestoreDefault): 1572 # `organizations/foo` has a `Policy` with: 1573 # {enforced: true} 1574 # `projects/bar` has a `Policy` with: 1575 # {RestoreDefault: {}} 1576 # The constraint at `organizations/foo` is enforced. 1577 # The constraint at `projects/bar` is not enforced, because 1578 # `constraint_default` for the `Constraint` is `ALLOW`. 1579 }, 1580 "version": 42, # Version of the `Policy`. Default version is 0; 1581 "etag": "A String", # An opaque tag indicating the current version of the `Policy`, used for 1582 # concurrency control. 1583 # 1584 # When the `Policy` is returned from either a `GetPolicy` or a 1585 # `ListOrgPolicy` request, this `etag` indicates the version of the current 1586 # `Policy` to use when executing a read-modify-write loop. 1587 # 1588 # When the `Policy` is returned from a `GetEffectivePolicy` request, the 1589 # `etag` will be unset. 1590 # 1591 # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value 1592 # that was returned from a `GetOrgPolicy` request as part of a 1593 # read-modify-write loop for concurrency control. Not setting the `etag`in a 1594 # `SetOrgPolicy` request will result in an unconditional write of the 1595 # `Policy`. 1596 }, 1597 ], 1598 }</pre> 1599</div> 1600 1601<div class="method"> 1602 <code class="details" id="listOrgPolicies_next">listOrgPolicies_next(previous_request, previous_response)</code> 1603 <pre>Retrieves the next page of results. 1604 1605Args: 1606 previous_request: The request for the previous page. (required) 1607 previous_response: The response from the request for the previous page. (required) 1608 1609Returns: 1610 A request object that you can call 'execute()' on to request the next 1611 page. Returns None if there are no more items in the collection. 1612 </pre> 1613</div> 1614 1615<div class="method"> 1616 <code class="details" id="list_next">list_next(previous_request, previous_response)</code> 1617 <pre>Retrieves the next page of results. 1618 1619Args: 1620 previous_request: The request for the previous page. (required) 1621 previous_response: The response from the request for the previous page. (required) 1622 1623Returns: 1624 A request object that you can call 'execute()' on to request the next 1625 page. Returns None if there are no more items in the collection. 1626 </pre> 1627</div> 1628 1629<div class="method"> 1630 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code> 1631 <pre>Sets the IAM access control policy for the specified Project. Replaces 1632any existing policy. 1633 1634The following constraints apply when using `setIamPolicy()`: 1635 1636+ Project does not support `allUsers` and `allAuthenticatedUsers` as 1637`members` in a `Binding` of a `Policy`. 1638 1639+ The owner role can be granted only to `user` and `serviceAccount`. 1640 1641+ Service accounts can be made owners of a project directly 1642without any restrictions. However, to be added as an owner, a user must be 1643invited via Cloud Platform console and must accept the invitation. 1644 1645+ A user cannot be granted the owner role using `setIamPolicy()`. The user 1646must be granted the owner role using the Cloud Platform Console and must 1647explicitly accept the invitation. 1648 1649+ Invitations to grant the owner role cannot be sent using 1650`setIamPolicy()`; 1651they must be sent only using the Cloud Platform Console. 1652 1653+ Membership changes that leave the project without any owners that have 1654accepted the Terms of Service (ToS) will be rejected. 1655 1656+ There must be at least one owner who has accepted the Terms of 1657Service (ToS) agreement in the policy. Calling `setIamPolicy()` to 1658remove the last ToS-accepted owner from the policy will fail. This 1659restriction also applies to legacy projects that no longer have owners 1660who have accepted the ToS. Edits to IAM policies will be rejected until 1661the lack of a ToS-accepting owner is rectified. 1662 1663+ Calling this method requires enabling the App Engine Admin API. 1664 1665Note: Removing service accounts from policies or changing their roles 1666can render services completely inoperable. It is important to understand 1667how the service account is being used before removing or updating its 1668roles. 1669 1670Args: 1671 resource: string, REQUIRED: The resource for which the policy is being specified. 1672See the operation documentation for the appropriate value for this field. (required) 1673 body: object, The request body. (required) 1674 The object takes the form of: 1675 1676{ # Request message for `SetIamPolicy` method. 1677 "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of 1678 # the policy is limited to a few 10s of KB. An empty policy is a 1679 # valid policy but certain Cloud Platform services (such as Projects) 1680 # might reject them. 1681 # specify access control policies for Cloud Platform resources. 1682 # 1683 # 1684 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of 1685 # `members` to a `role`, where the members can be user accounts, Google groups, 1686 # Google domains, and service accounts. A `role` is a named list of permissions 1687 # defined by IAM. 1688 # 1689 # **Example** 1690 # 1691 # { 1692 # "bindings": [ 1693 # { 1694 # "role": "roles/owner", 1695 # "members": [ 1696 # "user:mike@example.com", 1697 # "group:admins@example.com", 1698 # "domain:google.com", 1699 # "serviceAccount:my-other-app@appspot.gserviceaccount.com", 1700 # ] 1701 # }, 1702 # { 1703 # "role": "roles/viewer", 1704 # "members": ["user:sean@example.com"] 1705 # } 1706 # ] 1707 # } 1708 # 1709 # For a description of IAM and its features, see the 1710 # [IAM developer's guide](https://cloud.google.com/iam). 1711 "bindings": [ # Associates a list of `members` to a `role`. 1712 # Multiple `bindings` must not be specified for the same `role`. 1713 # `bindings` with no members will result in an error. 1714 { # Associates `members` with a `role`. 1715 "role": "A String", # Role that is assigned to `members`. 1716 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. 1717 # Required 1718 "members": [ # Specifies the identities requesting access for a Cloud Platform resource. 1719 # `members` can have the following values: 1720 # 1721 # * `allUsers`: A special identifier that represents anyone who is 1722 # on the internet; with or without a Google account. 1723 # 1724 # * `allAuthenticatedUsers`: A special identifier that represents anyone 1725 # who is authenticated with a Google account or a service account. 1726 # 1727 # * `user:{emailid}`: An email address that represents a specific Google 1728 # account. For example, `alice@gmail.com` or `joe@example.com`. 1729 # 1730 # 1731 # * `serviceAccount:{emailid}`: An email address that represents a service 1732 # account. For example, `my-other-app@appspot.gserviceaccount.com`. 1733 # 1734 # * `group:{emailid}`: An email address that represents a Google group. 1735 # For example, `admins@example.com`. 1736 # 1737 # 1738 # * `domain:{domain}`: A Google Apps domain name that represents all the 1739 # users of that domain. For example, `google.com` or `example.com`. 1740 # 1741 "A String", 1742 ], 1743 }, 1744 ], 1745 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. 1746 { # Specifies the audit configuration for a service. 1747 # The configuration determines which permission types are logged, and what 1748 # identities, if any, are exempted from logging. 1749 # An AuditConfig must have one or more AuditLogConfigs. 1750 # 1751 # If there are AuditConfigs for both `allServices` and a specific service, 1752 # the union of the two AuditConfigs is used for that service: the log_types 1753 # specified in each AuditConfig are enabled, and the exempted_members in each 1754 # AuditConfig are exempted. 1755 # 1756 # Example Policy with multiple AuditConfigs: 1757 # 1758 # { 1759 # "audit_configs": [ 1760 # { 1761 # "service": "allServices" 1762 # "audit_log_configs": [ 1763 # { 1764 # "log_type": "DATA_READ", 1765 # "exempted_members": [ 1766 # "user:foo@gmail.com" 1767 # ] 1768 # }, 1769 # { 1770 # "log_type": "DATA_WRITE", 1771 # }, 1772 # { 1773 # "log_type": "ADMIN_READ", 1774 # } 1775 # ] 1776 # }, 1777 # { 1778 # "service": "fooservice.googleapis.com" 1779 # "audit_log_configs": [ 1780 # { 1781 # "log_type": "DATA_READ", 1782 # }, 1783 # { 1784 # "log_type": "DATA_WRITE", 1785 # "exempted_members": [ 1786 # "user:bar@gmail.com" 1787 # ] 1788 # } 1789 # ] 1790 # } 1791 # ] 1792 # } 1793 # 1794 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ 1795 # logging. It also exempts foo@gmail.com from DATA_READ logging, and 1796 # bar@gmail.com from DATA_WRITE logging. 1797 "auditLogConfigs": [ # The configuration for logging of each type of permission. 1798 # Next ID: 4 1799 { # Provides the configuration for logging a type of permissions. 1800 # Example: 1801 # 1802 # { 1803 # "audit_log_configs": [ 1804 # { 1805 # "log_type": "DATA_READ", 1806 # "exempted_members": [ 1807 # "user:foo@gmail.com" 1808 # ] 1809 # }, 1810 # { 1811 # "log_type": "DATA_WRITE", 1812 # } 1813 # ] 1814 # } 1815 # 1816 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting 1817 # foo@gmail.com from DATA_READ logging. 1818 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of 1819 # permission. 1820 # Follows the same format of Binding.members. 1821 "A String", 1822 ], 1823 "logType": "A String", # The log type that this config enables. 1824 }, 1825 ], 1826 "service": "A String", # Specifies a service that will be enabled for audit logging. 1827 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. 1828 # `allServices` is a special value that covers all services. 1829 }, 1830 ], 1831 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 1832 # prevent simultaneous updates of a policy from overwriting each other. 1833 # It is strongly suggested that systems make use of the `etag` in the 1834 # read-modify-write cycle to perform policy updates in order to avoid race 1835 # conditions: An `etag` is returned in the response to `getIamPolicy`, and 1836 # systems are expected to put that etag in the request to `setIamPolicy` to 1837 # ensure that their change will be applied to the same version of the policy. 1838 # 1839 # If no `etag` is provided in the call to `setIamPolicy`, then the existing 1840 # policy is overwritten blindly. 1841 "version": 42, # Version of the `Policy`. The default version is 0. 1842 }, 1843 "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only 1844 # the fields in the mask will be modified. If no mask is provided, the 1845 # following default mask is used: 1846 # paths: "bindings, etag" 1847 # This field is only used by Cloud IAM. 1848 } 1849 1850 x__xgafv: string, V1 error format. 1851 Allowed values 1852 1 - v1 error format 1853 2 - v2 error format 1854 1855Returns: 1856 An object of the form: 1857 1858 { # Defines an Identity and Access Management (IAM) policy. It is used to 1859 # specify access control policies for Cloud Platform resources. 1860 # 1861 # 1862 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of 1863 # `members` to a `role`, where the members can be user accounts, Google groups, 1864 # Google domains, and service accounts. A `role` is a named list of permissions 1865 # defined by IAM. 1866 # 1867 # **Example** 1868 # 1869 # { 1870 # "bindings": [ 1871 # { 1872 # "role": "roles/owner", 1873 # "members": [ 1874 # "user:mike@example.com", 1875 # "group:admins@example.com", 1876 # "domain:google.com", 1877 # "serviceAccount:my-other-app@appspot.gserviceaccount.com", 1878 # ] 1879 # }, 1880 # { 1881 # "role": "roles/viewer", 1882 # "members": ["user:sean@example.com"] 1883 # } 1884 # ] 1885 # } 1886 # 1887 # For a description of IAM and its features, see the 1888 # [IAM developer's guide](https://cloud.google.com/iam). 1889 "bindings": [ # Associates a list of `members` to a `role`. 1890 # Multiple `bindings` must not be specified for the same `role`. 1891 # `bindings` with no members will result in an error. 1892 { # Associates `members` with a `role`. 1893 "role": "A String", # Role that is assigned to `members`. 1894 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. 1895 # Required 1896 "members": [ # Specifies the identities requesting access for a Cloud Platform resource. 1897 # `members` can have the following values: 1898 # 1899 # * `allUsers`: A special identifier that represents anyone who is 1900 # on the internet; with or without a Google account. 1901 # 1902 # * `allAuthenticatedUsers`: A special identifier that represents anyone 1903 # who is authenticated with a Google account or a service account. 1904 # 1905 # * `user:{emailid}`: An email address that represents a specific Google 1906 # account. For example, `alice@gmail.com` or `joe@example.com`. 1907 # 1908 # 1909 # * `serviceAccount:{emailid}`: An email address that represents a service 1910 # account. For example, `my-other-app@appspot.gserviceaccount.com`. 1911 # 1912 # * `group:{emailid}`: An email address that represents a Google group. 1913 # For example, `admins@example.com`. 1914 # 1915 # 1916 # * `domain:{domain}`: A Google Apps domain name that represents all the 1917 # users of that domain. For example, `google.com` or `example.com`. 1918 # 1919 "A String", 1920 ], 1921 }, 1922 ], 1923 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. 1924 { # Specifies the audit configuration for a service. 1925 # The configuration determines which permission types are logged, and what 1926 # identities, if any, are exempted from logging. 1927 # An AuditConfig must have one or more AuditLogConfigs. 1928 # 1929 # If there are AuditConfigs for both `allServices` and a specific service, 1930 # the union of the two AuditConfigs is used for that service: the log_types 1931 # specified in each AuditConfig are enabled, and the exempted_members in each 1932 # AuditConfig are exempted. 1933 # 1934 # Example Policy with multiple AuditConfigs: 1935 # 1936 # { 1937 # "audit_configs": [ 1938 # { 1939 # "service": "allServices" 1940 # "audit_log_configs": [ 1941 # { 1942 # "log_type": "DATA_READ", 1943 # "exempted_members": [ 1944 # "user:foo@gmail.com" 1945 # ] 1946 # }, 1947 # { 1948 # "log_type": "DATA_WRITE", 1949 # }, 1950 # { 1951 # "log_type": "ADMIN_READ", 1952 # } 1953 # ] 1954 # }, 1955 # { 1956 # "service": "fooservice.googleapis.com" 1957 # "audit_log_configs": [ 1958 # { 1959 # "log_type": "DATA_READ", 1960 # }, 1961 # { 1962 # "log_type": "DATA_WRITE", 1963 # "exempted_members": [ 1964 # "user:bar@gmail.com" 1965 # ] 1966 # } 1967 # ] 1968 # } 1969 # ] 1970 # } 1971 # 1972 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ 1973 # logging. It also exempts foo@gmail.com from DATA_READ logging, and 1974 # bar@gmail.com from DATA_WRITE logging. 1975 "auditLogConfigs": [ # The configuration for logging of each type of permission. 1976 # Next ID: 4 1977 { # Provides the configuration for logging a type of permissions. 1978 # Example: 1979 # 1980 # { 1981 # "audit_log_configs": [ 1982 # { 1983 # "log_type": "DATA_READ", 1984 # "exempted_members": [ 1985 # "user:foo@gmail.com" 1986 # ] 1987 # }, 1988 # { 1989 # "log_type": "DATA_WRITE", 1990 # } 1991 # ] 1992 # } 1993 # 1994 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting 1995 # foo@gmail.com from DATA_READ logging. 1996 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of 1997 # permission. 1998 # Follows the same format of Binding.members. 1999 "A String", 2000 ], 2001 "logType": "A String", # The log type that this config enables. 2002 }, 2003 ], 2004 "service": "A String", # Specifies a service that will be enabled for audit logging. 2005 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. 2006 # `allServices` is a special value that covers all services. 2007 }, 2008 ], 2009 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 2010 # prevent simultaneous updates of a policy from overwriting each other. 2011 # It is strongly suggested that systems make use of the `etag` in the 2012 # read-modify-write cycle to perform policy updates in order to avoid race 2013 # conditions: An `etag` is returned in the response to `getIamPolicy`, and 2014 # systems are expected to put that etag in the request to `setIamPolicy` to 2015 # ensure that their change will be applied to the same version of the policy. 2016 # 2017 # If no `etag` is provided in the call to `setIamPolicy`, then the existing 2018 # policy is overwritten blindly. 2019 "version": 42, # Version of the `Policy`. The default version is 0. 2020 }</pre> 2021</div> 2022 2023<div class="method"> 2024 <code class="details" id="setOrgPolicy">setOrgPolicy(resource, body, x__xgafv=None)</code> 2025 <pre>Updates the specified `Policy` on the resource. Creates a new `Policy` for 2026that `Constraint` on the resource if one does not exist. 2027 2028Not supplying an `etag` on the request `Policy` results in an unconditional 2029write of the `Policy`. 2030 2031Args: 2032 resource: string, Resource name of the resource to attach the `Policy`. (required) 2033 body: object, The request body. (required) 2034 The object takes the form of: 2035 2036{ # The request sent to the SetOrgPolicyRequest method. 2037 "policy": { # Defines a Cloud Organization `Policy` which is used to specify `Constraints` # `Policy` to set on the resource. 2038 # for configurations of Cloud Platform resources. 2039 "updateTime": "A String", # The time stamp the `Policy` was previously updated. This is set by the 2040 # server, not specified by the caller, and represents the last time a call to 2041 # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will 2042 # be ignored. 2043 "constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example, 2044 # `constraints/serviceuser.services`. 2045 # 2046 # Immutable after creation. 2047 "restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of 2048 # `Constraint` type. 2049 # `constraint_default` enforcement behavior of the specific `Constraint` at 2050 # this resource. 2051 # 2052 # Suppose that `constraint_default` is set to `ALLOW` for the 2053 # `Constraint` `constraints/serviceuser.services`. Suppose that organization 2054 # foo.com sets a `Policy` at their Organization resource node that restricts 2055 # the allowed service activations to deny all service activations. They 2056 # could then set a `Policy` with the `policy_type` `restore_default` on 2057 # several experimental projects, restoring the `constraint_default` 2058 # enforcement of the `Constraint` for only those projects, allowing those 2059 # projects to have all services activated. 2060 }, 2061 "listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed. 2062 # resource. 2063 # 2064 # A `ListPolicy` can define specific values that are allowed or denied by 2065 # setting either the `allowed_values` or `denied_values` fields. It can also 2066 # be used to allow or deny all values, by setting the `all_values` field. If 2067 # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values` 2068 # or `denied_values` must be set (attempting to set both or neither will 2069 # result in a failed request). If `all_values` is set to either `ALLOW` or 2070 # `DENY`, `allowed_values` and `denied_values` must be unset. 2071 "allValues": "A String", # The policy all_values state. 2072 "allowedValues": [ # List of values allowed at this resource. an only be set if no values are 2073 # set for `denied_values` and `all_values` is set to 2074 # `ALL_VALUES_UNSPECIFIED`. 2075 "A String", 2076 ], 2077 "inheritFromParent": True or False, # Determines the inheritance behavior for this `Policy`. 2078 # 2079 # By default, a `ListPolicy` set at a resource supercedes any `Policy` set 2080 # anywhere up the resource hierarchy. However, if `inherit_from_parent` is 2081 # set to `true`, then the values from the effective `Policy` of the parent 2082 # resource are inherited, meaning the values set in this `Policy` are 2083 # added to the values inherited up the hierarchy. 2084 # 2085 # Setting `Policy` hierarchies that inherit both allowed values and denied 2086 # values isn't recommended in most circumstances to keep the configuration 2087 # simple and understandable. However, it is possible to set a `Policy` with 2088 # `allowed_values` set that inherits a `Policy` with `denied_values` set. 2089 # In this case, the values that are allowed must be in `allowed_values` and 2090 # not present in `denied_values`. 2091 # 2092 # For example, suppose you have a `Constraint` 2093 # `constraints/serviceuser.services`, which has a `constraint_type` of 2094 # `list_constraint`, and with `constraint_default` set to `ALLOW`. 2095 # Suppose that at the Organization level, a `Policy` is applied that 2096 # restricts the allowed API activations to {`E1`, `E2`}. Then, if a 2097 # `Policy` is applied to a project below the Organization that has 2098 # `inherit_from_parent` set to `false` and field all_values set to DENY, 2099 # then an attempt to activate any API will be denied. 2100 # 2101 # The following examples demonstrate different possible layerings: 2102 # 2103 # Example 1 (no inherited values): 2104 # `organizations/foo` has a `Policy` with values: 2105 # {allowed_values: “E1” allowed_values:”E2”} 2106 # ``projects/bar`` has `inherit_from_parent` `false` and values: 2107 # {allowed_values: "E3" allowed_values: "E4"} 2108 # The accepted values at `organizations/foo` are `E1`, `E2`. 2109 # The accepted values at `projects/bar` are `E3`, and `E4`. 2110 # 2111 # Example 2 (inherited values): 2112 # `organizations/foo` has a `Policy` with values: 2113 # {allowed_values: “E1” allowed_values:”E2”} 2114 # `projects/bar` has a `Policy` with values: 2115 # {value: “E3” value: ”E4” inherit_from_parent: true} 2116 # The accepted values at `organizations/foo` are `E1`, `E2`. 2117 # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. 2118 # 2119 # Example 3 (inheriting both allowed and denied values): 2120 # `organizations/foo` has a `Policy` with values: 2121 # {allowed_values: "E1" allowed_values: "E2"} 2122 # `projects/bar` has a `Policy` with: 2123 # {denied_values: "E1"} 2124 # The accepted values at `organizations/foo` are `E1`, `E2`. 2125 # The value accepted at `projects/bar` is `E2`. 2126 # 2127 # Example 4 (RestoreDefault): 2128 # `organizations/foo` has a `Policy` with values: 2129 # {allowed_values: “E1” allowed_values:”E2”} 2130 # `projects/bar` has a `Policy` with values: 2131 # {RestoreDefault: {}} 2132 # The accepted values at `organizations/foo` are `E1`, `E2`. 2133 # The accepted values at `projects/bar` are either all or none depending on 2134 # the value of `constraint_default` (if `ALLOW`, all; if 2135 # `DENY`, none). 2136 # 2137 # Example 5 (no policy inherits parent policy): 2138 # `organizations/foo` has no `Policy` set. 2139 # `projects/bar` has no `Policy` set. 2140 # The accepted values at both levels are either all or none depending on 2141 # the value of `constraint_default` (if `ALLOW`, all; if 2142 # `DENY`, none). 2143 # 2144 # Example 6 (ListConstraint allowing all): 2145 # `organizations/foo` has a `Policy` with values: 2146 # {allowed_values: “E1” allowed_values: ”E2”} 2147 # `projects/bar` has a `Policy` with: 2148 # {all: ALLOW} 2149 # The accepted values at `organizations/foo` are `E1`, E2`. 2150 # Any value is accepted at `projects/bar`. 2151 # 2152 # Example 7 (ListConstraint allowing none): 2153 # `organizations/foo` has a `Policy` with values: 2154 # {allowed_values: “E1” allowed_values: ”E2”} 2155 # `projects/bar` has a `Policy` with: 2156 # {all: DENY} 2157 # The accepted values at `organizations/foo` are `E1`, E2`. 2158 # No value is accepted at `projects/bar`. 2159 "suggestedValue": "A String", # Optional. The Google Cloud Console will try to default to a configuration 2160 # that matches the value specified in this `Policy`. If `suggested_value` 2161 # is not set, it will inherit the value specified higher in the hierarchy, 2162 # unless `inherit_from_parent` is `false`. 2163 "deniedValues": [ # List of values denied at this resource. Can only be set if no values are 2164 # set for `allowed_values` and `all_values` is set to 2165 # `ALL_VALUES_UNSPECIFIED`. 2166 "A String", 2167 ], 2168 }, 2169 "booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not. 2170 # resource. 2171 "enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any 2172 # configuration is acceptable. 2173 # 2174 # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` 2175 # with `constraint_default` set to `ALLOW`. A `Policy` for that 2176 # `Constraint` exhibits the following behavior: 2177 # - If the `Policy` at this resource has enforced set to `false`, serial 2178 # port connection attempts will be allowed. 2179 # - If the `Policy` at this resource has enforced set to `true`, serial 2180 # port connection attempts will be refused. 2181 # - If the `Policy` at this resource is `RestoreDefault`, serial port 2182 # connection attempts will be allowed. 2183 # - If no `Policy` is set at this resource or anywhere higher in the 2184 # resource hierarchy, serial port connection attempts will be allowed. 2185 # - If no `Policy` is set at this resource, but one exists higher in the 2186 # resource hierarchy, the behavior is as if the`Policy` were set at 2187 # this resource. 2188 # 2189 # The following examples demonstrate the different possible layerings: 2190 # 2191 # Example 1 (nearest `Constraint` wins): 2192 # `organizations/foo` has a `Policy` with: 2193 # {enforced: false} 2194 # `projects/bar` has no `Policy` set. 2195 # The constraint at `projects/bar` and `organizations/foo` will not be 2196 # enforced. 2197 # 2198 # Example 2 (enforcement gets replaced): 2199 # `organizations/foo` has a `Policy` with: 2200 # {enforced: false} 2201 # `projects/bar` has a `Policy` with: 2202 # {enforced: true} 2203 # The constraint at `organizations/foo` is not enforced. 2204 # The constraint at `projects/bar` is enforced. 2205 # 2206 # Example 3 (RestoreDefault): 2207 # `organizations/foo` has a `Policy` with: 2208 # {enforced: true} 2209 # `projects/bar` has a `Policy` with: 2210 # {RestoreDefault: {}} 2211 # The constraint at `organizations/foo` is enforced. 2212 # The constraint at `projects/bar` is not enforced, because 2213 # `constraint_default` for the `Constraint` is `ALLOW`. 2214 }, 2215 "version": 42, # Version of the `Policy`. Default version is 0; 2216 "etag": "A String", # An opaque tag indicating the current version of the `Policy`, used for 2217 # concurrency control. 2218 # 2219 # When the `Policy` is returned from either a `GetPolicy` or a 2220 # `ListOrgPolicy` request, this `etag` indicates the version of the current 2221 # `Policy` to use when executing a read-modify-write loop. 2222 # 2223 # When the `Policy` is returned from a `GetEffectivePolicy` request, the 2224 # `etag` will be unset. 2225 # 2226 # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value 2227 # that was returned from a `GetOrgPolicy` request as part of a 2228 # read-modify-write loop for concurrency control. Not setting the `etag`in a 2229 # `SetOrgPolicy` request will result in an unconditional write of the 2230 # `Policy`. 2231 }, 2232 } 2233 2234 x__xgafv: string, V1 error format. 2235 Allowed values 2236 1 - v1 error format 2237 2 - v2 error format 2238 2239Returns: 2240 An object of the form: 2241 2242 { # Defines a Cloud Organization `Policy` which is used to specify `Constraints` 2243 # for configurations of Cloud Platform resources. 2244 "updateTime": "A String", # The time stamp the `Policy` was previously updated. This is set by the 2245 # server, not specified by the caller, and represents the last time a call to 2246 # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will 2247 # be ignored. 2248 "constraint": "A String", # The name of the `Constraint` the `Policy` is configuring, for example, 2249 # `constraints/serviceuser.services`. 2250 # 2251 # Immutable after creation. 2252 "restoreDefault": { # Ignores policies set above this resource and restores the # Restores the default behavior of the constraint; independent of 2253 # `Constraint` type. 2254 # `constraint_default` enforcement behavior of the specific `Constraint` at 2255 # this resource. 2256 # 2257 # Suppose that `constraint_default` is set to `ALLOW` for the 2258 # `Constraint` `constraints/serviceuser.services`. Suppose that organization 2259 # foo.com sets a `Policy` at their Organization resource node that restricts 2260 # the allowed service activations to deny all service activations. They 2261 # could then set a `Policy` with the `policy_type` `restore_default` on 2262 # several experimental projects, restoring the `constraint_default` 2263 # enforcement of the `Constraint` for only those projects, allowing those 2264 # projects to have all services activated. 2265 }, 2266 "listPolicy": { # Used in `policy_type` to specify how `list_policy` behaves at this # List of values either allowed or disallowed. 2267 # resource. 2268 # 2269 # A `ListPolicy` can define specific values that are allowed or denied by 2270 # setting either the `allowed_values` or `denied_values` fields. It can also 2271 # be used to allow or deny all values, by setting the `all_values` field. If 2272 # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values` 2273 # or `denied_values` must be set (attempting to set both or neither will 2274 # result in a failed request). If `all_values` is set to either `ALLOW` or 2275 # `DENY`, `allowed_values` and `denied_values` must be unset. 2276 "allValues": "A String", # The policy all_values state. 2277 "allowedValues": [ # List of values allowed at this resource. an only be set if no values are 2278 # set for `denied_values` and `all_values` is set to 2279 # `ALL_VALUES_UNSPECIFIED`. 2280 "A String", 2281 ], 2282 "inheritFromParent": True or False, # Determines the inheritance behavior for this `Policy`. 2283 # 2284 # By default, a `ListPolicy` set at a resource supercedes any `Policy` set 2285 # anywhere up the resource hierarchy. However, if `inherit_from_parent` is 2286 # set to `true`, then the values from the effective `Policy` of the parent 2287 # resource are inherited, meaning the values set in this `Policy` are 2288 # added to the values inherited up the hierarchy. 2289 # 2290 # Setting `Policy` hierarchies that inherit both allowed values and denied 2291 # values isn't recommended in most circumstances to keep the configuration 2292 # simple and understandable. However, it is possible to set a `Policy` with 2293 # `allowed_values` set that inherits a `Policy` with `denied_values` set. 2294 # In this case, the values that are allowed must be in `allowed_values` and 2295 # not present in `denied_values`. 2296 # 2297 # For example, suppose you have a `Constraint` 2298 # `constraints/serviceuser.services`, which has a `constraint_type` of 2299 # `list_constraint`, and with `constraint_default` set to `ALLOW`. 2300 # Suppose that at the Organization level, a `Policy` is applied that 2301 # restricts the allowed API activations to {`E1`, `E2`}. Then, if a 2302 # `Policy` is applied to a project below the Organization that has 2303 # `inherit_from_parent` set to `false` and field all_values set to DENY, 2304 # then an attempt to activate any API will be denied. 2305 # 2306 # The following examples demonstrate different possible layerings: 2307 # 2308 # Example 1 (no inherited values): 2309 # `organizations/foo` has a `Policy` with values: 2310 # {allowed_values: “E1” allowed_values:”E2”} 2311 # ``projects/bar`` has `inherit_from_parent` `false` and values: 2312 # {allowed_values: "E3" allowed_values: "E4"} 2313 # The accepted values at `organizations/foo` are `E1`, `E2`. 2314 # The accepted values at `projects/bar` are `E3`, and `E4`. 2315 # 2316 # Example 2 (inherited values): 2317 # `organizations/foo` has a `Policy` with values: 2318 # {allowed_values: “E1” allowed_values:”E2”} 2319 # `projects/bar` has a `Policy` with values: 2320 # {value: “E3” value: ”E4” inherit_from_parent: true} 2321 # The accepted values at `organizations/foo` are `E1`, `E2`. 2322 # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. 2323 # 2324 # Example 3 (inheriting both allowed and denied values): 2325 # `organizations/foo` has a `Policy` with values: 2326 # {allowed_values: "E1" allowed_values: "E2"} 2327 # `projects/bar` has a `Policy` with: 2328 # {denied_values: "E1"} 2329 # The accepted values at `organizations/foo` are `E1`, `E2`. 2330 # The value accepted at `projects/bar` is `E2`. 2331 # 2332 # Example 4 (RestoreDefault): 2333 # `organizations/foo` has a `Policy` with values: 2334 # {allowed_values: “E1” allowed_values:”E2”} 2335 # `projects/bar` has a `Policy` with values: 2336 # {RestoreDefault: {}} 2337 # The accepted values at `organizations/foo` are `E1`, `E2`. 2338 # The accepted values at `projects/bar` are either all or none depending on 2339 # the value of `constraint_default` (if `ALLOW`, all; if 2340 # `DENY`, none). 2341 # 2342 # Example 5 (no policy inherits parent policy): 2343 # `organizations/foo` has no `Policy` set. 2344 # `projects/bar` has no `Policy` set. 2345 # The accepted values at both levels are either all or none depending on 2346 # the value of `constraint_default` (if `ALLOW`, all; if 2347 # `DENY`, none). 2348 # 2349 # Example 6 (ListConstraint allowing all): 2350 # `organizations/foo` has a `Policy` with values: 2351 # {allowed_values: “E1” allowed_values: ”E2”} 2352 # `projects/bar` has a `Policy` with: 2353 # {all: ALLOW} 2354 # The accepted values at `organizations/foo` are `E1`, E2`. 2355 # Any value is accepted at `projects/bar`. 2356 # 2357 # Example 7 (ListConstraint allowing none): 2358 # `organizations/foo` has a `Policy` with values: 2359 # {allowed_values: “E1” allowed_values: ”E2”} 2360 # `projects/bar` has a `Policy` with: 2361 # {all: DENY} 2362 # The accepted values at `organizations/foo` are `E1`, E2`. 2363 # No value is accepted at `projects/bar`. 2364 "suggestedValue": "A String", # Optional. The Google Cloud Console will try to default to a configuration 2365 # that matches the value specified in this `Policy`. If `suggested_value` 2366 # is not set, it will inherit the value specified higher in the hierarchy, 2367 # unless `inherit_from_parent` is `false`. 2368 "deniedValues": [ # List of values denied at this resource. Can only be set if no values are 2369 # set for `allowed_values` and `all_values` is set to 2370 # `ALL_VALUES_UNSPECIFIED`. 2371 "A String", 2372 ], 2373 }, 2374 "booleanPolicy": { # Used in `policy_type` to specify how `boolean_policy` will behave at this # For boolean `Constraints`, whether to enforce the `Constraint` or not. 2375 # resource. 2376 "enforced": True or False, # If `true`, then the `Policy` is enforced. If `false`, then any 2377 # configuration is acceptable. 2378 # 2379 # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` 2380 # with `constraint_default` set to `ALLOW`. A `Policy` for that 2381 # `Constraint` exhibits the following behavior: 2382 # - If the `Policy` at this resource has enforced set to `false`, serial 2383 # port connection attempts will be allowed. 2384 # - If the `Policy` at this resource has enforced set to `true`, serial 2385 # port connection attempts will be refused. 2386 # - If the `Policy` at this resource is `RestoreDefault`, serial port 2387 # connection attempts will be allowed. 2388 # - If no `Policy` is set at this resource or anywhere higher in the 2389 # resource hierarchy, serial port connection attempts will be allowed. 2390 # - If no `Policy` is set at this resource, but one exists higher in the 2391 # resource hierarchy, the behavior is as if the`Policy` were set at 2392 # this resource. 2393 # 2394 # The following examples demonstrate the different possible layerings: 2395 # 2396 # Example 1 (nearest `Constraint` wins): 2397 # `organizations/foo` has a `Policy` with: 2398 # {enforced: false} 2399 # `projects/bar` has no `Policy` set. 2400 # The constraint at `projects/bar` and `organizations/foo` will not be 2401 # enforced. 2402 # 2403 # Example 2 (enforcement gets replaced): 2404 # `organizations/foo` has a `Policy` with: 2405 # {enforced: false} 2406 # `projects/bar` has a `Policy` with: 2407 # {enforced: true} 2408 # The constraint at `organizations/foo` is not enforced. 2409 # The constraint at `projects/bar` is enforced. 2410 # 2411 # Example 3 (RestoreDefault): 2412 # `organizations/foo` has a `Policy` with: 2413 # {enforced: true} 2414 # `projects/bar` has a `Policy` with: 2415 # {RestoreDefault: {}} 2416 # The constraint at `organizations/foo` is enforced. 2417 # The constraint at `projects/bar` is not enforced, because 2418 # `constraint_default` for the `Constraint` is `ALLOW`. 2419 }, 2420 "version": 42, # Version of the `Policy`. Default version is 0; 2421 "etag": "A String", # An opaque tag indicating the current version of the `Policy`, used for 2422 # concurrency control. 2423 # 2424 # When the `Policy` is returned from either a `GetPolicy` or a 2425 # `ListOrgPolicy` request, this `etag` indicates the version of the current 2426 # `Policy` to use when executing a read-modify-write loop. 2427 # 2428 # When the `Policy` is returned from a `GetEffectivePolicy` request, the 2429 # `etag` will be unset. 2430 # 2431 # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value 2432 # that was returned from a `GetOrgPolicy` request as part of a 2433 # read-modify-write loop for concurrency control. Not setting the `etag`in a 2434 # `SetOrgPolicy` request will result in an unconditional write of the 2435 # `Policy`. 2436 }</pre> 2437</div> 2438 2439<div class="method"> 2440 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code> 2441 <pre>Returns permissions that a caller has on the specified Project. 2442 2443Args: 2444 resource: string, REQUIRED: The resource for which the policy detail is being requested. 2445See the operation documentation for the appropriate value for this field. (required) 2446 body: object, The request body. (required) 2447 The object takes the form of: 2448 2449{ # Request message for `TestIamPermissions` method. 2450 "permissions": [ # The set of permissions to check for the `resource`. Permissions with 2451 # wildcards (such as '*' or 'storage.*') are not allowed. For more 2452 # information see 2453 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). 2454 "A String", 2455 ], 2456 } 2457 2458 x__xgafv: string, V1 error format. 2459 Allowed values 2460 1 - v1 error format 2461 2 - v2 error format 2462 2463Returns: 2464 An object of the form: 2465 2466 { # Response message for `TestIamPermissions` method. 2467 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is 2468 # allowed. 2469 "A String", 2470 ], 2471 }</pre> 2472</div> 2473 2474<div class="method"> 2475 <code class="details" id="undelete">undelete(projectId, body, x__xgafv=None)</code> 2476 <pre>Restores the Project identified by the specified 2477`project_id` (for example, `my-project-123`). 2478You can only use this method for a Project that has a lifecycle state of 2479DELETE_REQUESTED. 2480After deletion starts, the Project cannot be restored. 2481 2482The caller must have modify permissions for this Project. 2483 2484Args: 2485 projectId: string, The project ID (for example, `foo-bar-123`). 2486 2487Required. (required) 2488 body: object, The request body. (required) 2489 The object takes the form of: 2490 2491{ # The request sent to the UndeleteProject 2492 # method. 2493 } 2494 2495 x__xgafv: string, V1 error format. 2496 Allowed values 2497 1 - v1 error format 2498 2 - v2 error format 2499 2500Returns: 2501 An object of the form: 2502 2503 { # A generic empty message that you can re-use to avoid defining duplicated 2504 # empty messages in your APIs. A typical example is to use it as the request 2505 # or the response type of an API method. For instance: 2506 # 2507 # service Foo { 2508 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 2509 # } 2510 # 2511 # The JSON representation for `Empty` is empty JSON object `{}`. 2512 }</pre> 2513</div> 2514 2515<div class="method"> 2516 <code class="details" id="update">update(projectId, body, x__xgafv=None)</code> 2517 <pre>Updates the attributes of the Project identified by the specified 2518`project_id` (for example, `my-project-123`). 2519 2520The caller must have modify permissions for this Project. 2521 2522Args: 2523 projectId: string, The project ID (for example, `my-project-123`). 2524 2525Required. (required) 2526 body: object, The request body. (required) 2527 The object takes the form of: 2528 2529{ # A Project is a high-level Google Cloud Platform entity. It is a 2530 # container for ACLs, APIs, App Engine Apps, VMs, and other 2531 # Google Cloud Platform resources. 2532 "name": "A String", # The user-assigned display name of the Project. 2533 # It must be 4 to 30 characters. 2534 # Allowed characters are: lowercase and uppercase letters, numbers, 2535 # hyphen, single-quote, double-quote, space, and exclamation point. 2536 # 2537 # Example: <code>My Project</code> 2538 # Read-write. 2539 "parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource. 2540 # 2541 # The only supported parent type is "organization". Once set, the parent 2542 # cannot be modified. The `parent` can be set on creation or using the 2543 # `UpdateProject` method; the end user must have the 2544 # `resourcemanager.projects.create` permission on the parent. 2545 # 2546 # Read-write. 2547 # Cloud Platform is a generic term for something you (a developer) may want to 2548 # interact with through one of our API's. Some examples are an App Engine app, 2549 # a Compute Engine instance, a Cloud SQL database, and so on. 2550 "type": "A String", # Required field representing the resource type this id is for. 2551 # At present, the valid types are: "organization" 2552 "id": "A String", # Required field for the type-specific id. This should correspond to the id 2553 # used in the type-specific API's. 2554 }, 2555 "projectId": "A String", # The unique, user-assigned ID of the Project. 2556 # It must be 6 to 30 lowercase letters, digits, or hyphens. 2557 # It must start with a letter. 2558 # Trailing hyphens are prohibited. 2559 # 2560 # Example: <code>tokyo-rain-123</code> 2561 # Read-only after creation. 2562 "labels": { # The labels associated with this Project. 2563 # 2564 # Label keys must be between 1 and 63 characters long and must conform 2565 # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. 2566 # 2567 # Label values must be between 0 and 63 characters long and must conform 2568 # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. 2569 # 2570 # No more than 256 labels can be associated with a given resource. 2571 # 2572 # Clients should store labels in a representation such as JSON that does not 2573 # depend on specific characters being disallowed. 2574 # 2575 # Example: <code>"environment" : "dev"</code> 2576 # Read-write. 2577 "a_key": "A String", 2578 }, 2579 "createTime": "A String", # Creation time. 2580 # 2581 # Read-only. 2582 "lifecycleState": "A String", # The Project lifecycle state. 2583 # 2584 # Read-only. 2585 "projectNumber": "A String", # The number uniquely identifying the project. 2586 # 2587 # Example: <code>415104041262</code> 2588 # Read-only. 2589} 2590 2591 x__xgafv: string, V1 error format. 2592 Allowed values 2593 1 - v1 error format 2594 2 - v2 error format 2595 2596Returns: 2597 An object of the form: 2598 2599 { # A Project is a high-level Google Cloud Platform entity. It is a 2600 # container for ACLs, APIs, App Engine Apps, VMs, and other 2601 # Google Cloud Platform resources. 2602 "name": "A String", # The user-assigned display name of the Project. 2603 # It must be 4 to 30 characters. 2604 # Allowed characters are: lowercase and uppercase letters, numbers, 2605 # hyphen, single-quote, double-quote, space, and exclamation point. 2606 # 2607 # Example: <code>My Project</code> 2608 # Read-write. 2609 "parent": { # A container to reference an id for any resource type. A `resource` in Google # An optional reference to a parent Resource. 2610 # 2611 # The only supported parent type is "organization". Once set, the parent 2612 # cannot be modified. The `parent` can be set on creation or using the 2613 # `UpdateProject` method; the end user must have the 2614 # `resourcemanager.projects.create` permission on the parent. 2615 # 2616 # Read-write. 2617 # Cloud Platform is a generic term for something you (a developer) may want to 2618 # interact with through one of our API's. Some examples are an App Engine app, 2619 # a Compute Engine instance, a Cloud SQL database, and so on. 2620 "type": "A String", # Required field representing the resource type this id is for. 2621 # At present, the valid types are: "organization" 2622 "id": "A String", # Required field for the type-specific id. This should correspond to the id 2623 # used in the type-specific API's. 2624 }, 2625 "projectId": "A String", # The unique, user-assigned ID of the Project. 2626 # It must be 6 to 30 lowercase letters, digits, or hyphens. 2627 # It must start with a letter. 2628 # Trailing hyphens are prohibited. 2629 # 2630 # Example: <code>tokyo-rain-123</code> 2631 # Read-only after creation. 2632 "labels": { # The labels associated with this Project. 2633 # 2634 # Label keys must be between 1 and 63 characters long and must conform 2635 # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. 2636 # 2637 # Label values must be between 0 and 63 characters long and must conform 2638 # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. 2639 # 2640 # No more than 256 labels can be associated with a given resource. 2641 # 2642 # Clients should store labels in a representation such as JSON that does not 2643 # depend on specific characters being disallowed. 2644 # 2645 # Example: <code>"environment" : "dev"</code> 2646 # Read-write. 2647 "a_key": "A String", 2648 }, 2649 "createTime": "A String", # Creation time. 2650 # 2651 # Read-only. 2652 "lifecycleState": "A String", # The Project lifecycle state. 2653 # 2654 # Read-only. 2655 "projectNumber": "A String", # The number uniquely identifying the project. 2656 # 2657 # Example: <code>415104041262</code> 2658 # Read-only. 2659 }</pre> 2660</div> 2661 2662</body></html>