google-api-client 0.35.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  4. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +5 -1
  5. data/generated/google/apis/cloudasset_v1.rb +1 -1
  6. data/generated/google/apis/cloudasset_v1/classes.rb +75 -41
  7. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  8. data/generated/google/apis/cloudasset_v1beta1/classes.rb +75 -41
  9. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  10. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +75 -41
  11. data/generated/google/apis/container_v1.rb +1 -1
  12. data/generated/google/apis/container_v1/classes.rb +203 -78
  13. data/generated/google/apis/container_v1/representations.rb +49 -0
  14. data/generated/google/apis/container_v1/service.rb +119 -119
  15. data/generated/google/apis/container_v1beta1.rb +1 -1
  16. data/generated/google/apis/container_v1beta1/classes.rb +32 -0
  17. data/generated/google/apis/container_v1beta1/representations.rb +16 -0
  18. data/generated/google/apis/dataproc_v1.rb +1 -1
  19. data/generated/google/apis/dataproc_v1/classes.rb +44 -7
  20. data/generated/google/apis/dataproc_v1/representations.rb +17 -0
  21. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  22. data/generated/google/apis/dataproc_v1beta2/classes.rb +7 -7
  23. data/generated/google/apis/dataproc_v1beta2/service.rb +12 -12
  24. data/generated/google/apis/dlp_v2.rb +1 -1
  25. data/generated/google/apis/dlp_v2/classes.rb +4 -4
  26. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  27. data/generated/google/apis/firebase_v1beta1/classes.rb +15 -0
  28. data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
  29. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  30. data/generated/google/apis/healthcare_v1beta1/service.rb +20 -23
  31. data/generated/google/apis/ml_v1.rb +1 -1
  32. data/generated/google/apis/ml_v1/classes.rb +75 -41
  33. data/generated/google/apis/monitoring_v1.rb +13 -1
  34. data/generated/google/apis/monitoring_v1/classes.rb +893 -0
  35. data/generated/google/apis/monitoring_v1/representations.rb +405 -0
  36. data/generated/google/apis/monitoring_v1/service.rb +182 -0
  37. data/generated/google/apis/monitoring_v3.rb +1 -1
  38. data/generated/google/apis/monitoring_v3/classes.rb +29 -41
  39. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  40. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +168 -92
  41. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
  42. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  43. data/generated/google/apis/remotebuildexecution_v1/classes.rb +56 -0
  44. data/generated/google/apis/remotebuildexecution_v1/representations.rb +31 -0
  45. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  46. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +56 -0
  47. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +31 -0
  48. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  49. data/generated/google/apis/remotebuildexecution_v2/classes.rb +56 -0
  50. data/generated/google/apis/remotebuildexecution_v2/representations.rb +31 -0
  51. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  52. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +75 -41
  53. data/generated/google/apis/securitycenter_v1.rb +1 -1
  54. data/generated/google/apis/securitycenter_v1/classes.rb +75 -41
  55. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  56. data/generated/google/apis/securitycenter_v1beta1/classes.rb +75 -41
  57. data/generated/google/apis/servicebroker_v1.rb +1 -1
  58. data/generated/google/apis/servicebroker_v1/classes.rb +75 -41
  59. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  60. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +75 -41
  61. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  62. data/generated/google/apis/servicebroker_v1beta1/classes.rb +75 -41
  63. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  64. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +29 -41
  65. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  66. data/generated/google/apis/servicemanagement_v1/classes.rb +104 -82
  67. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  68. data/generated/google/apis/servicenetworking_v1/classes.rb +51 -41
  69. data/generated/google/apis/servicenetworking_v1/representations.rb +13 -0
  70. data/generated/google/apis/servicenetworking_v1/service.rb +35 -0
  71. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  72. data/generated/google/apis/servicenetworking_v1beta/classes.rb +29 -41
  73. data/generated/google/apis/serviceusage_v1.rb +1 -1
  74. data/generated/google/apis/serviceusage_v1/classes.rb +29 -41
  75. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  76. data/generated/google/apis/serviceusage_v1beta1/classes.rb +29 -41
  77. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  78. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  79. data/lib/google/apis/version.rb +1 -1
  80. metadata +3 -7
  81. data/generated/google/apis/cloudbuild_v1alpha1.rb +0 -34
  82. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +0 -1174
  83. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +0 -435
  84. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -226
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcc784d3215a12ce376ba8c9915d579ad935a7c673ae86837f967fa2424d0647
4
- data.tar.gz: 449e4a3c5c79905f96b9d0fcf7912089291f6e307c2849e8148dc9d2efc4883f
3
+ metadata.gz: 9cca0108617535f9f7dc029027e25d686a250764e1334d787e1237f3da576c9d
4
+ data.tar.gz: 043ee7b66e3e5e279bc2080e9a61a436d55b909f367161c2f771ff6a87281414
5
5
  SHA512:
6
- metadata.gz: fc08d3a30a1336ab5b2aa685a3e56794c65d914c4a74dbbf0e6dbbc105e61818a10931cb069018676fd1c9fcc854b28d52f1ac4e804d577042823902b3bc011c
7
- data.tar.gz: a3f08c15420319a04a9e82f601012d6f393958f83015c885253c7df306a26ab3bef97ca964b61e38b84ef0df94d70a11d517c71b24988a69cf8ba9ae1c65c1b7
6
+ metadata.gz: 650c0d08058a352f82f255ea7677fd74d4b028f4a58804df164a74d90d30daba24b5e9ccdba56e8c1bf5ce5ab31f022f0e92650c74e1fa04d40cdf1652ffd218
7
+ data.tar.gz: 8dffea2f03975bc6811b96a38895f5348a18db6e36545fb7277f84c852a04534a455a74efa97aec669104f34befb2483e0147979c3fd728b26c22199da1a4b04
data/CHANGELOG.md CHANGED
@@ -1,3 +1,39 @@
1
+ # 0.36.0
2
+ * Breaking changes:
3
+ * Deleted `cloudbuild_v1alpha1`
4
+ * Backwards compatible changes:
5
+ * Updated `bigqueryreservation_v1beta1`
6
+ * Updated `cloudasset_v1`
7
+ * Updated `cloudasset_v1beta1`
8
+ * Updated `cloudprivatecatalogproducer_v1beta1`
9
+ * Updated `container_v1`
10
+ * Updated `container_v1beta1`
11
+ * Updated `dataproc_v1`
12
+ * Updated `dataproc_v1beta2`
13
+ * Updated `dlp_v2`
14
+ * Updated `firebase_v1beta1`
15
+ * Updated `healthcare_v1beta1`
16
+ * Updated `ml_v1`
17
+ * Updated `monitoring_v1`
18
+ * Updated `monitoring_v3`
19
+ * Updated `policytroubleshooter_v1beta`
20
+ * Updated `remotebuildexecution_v1`
21
+ * Updated `remotebuildexecution_v1alpha`
22
+ * Updated `remotebuildexecution_v2`
23
+ * Updated `runtimeconfig_v1beta1`
24
+ * Updated `securitycenter_v1`
25
+ * Updated `securitycenter_v1beta1`
26
+ * Updated `servicebroker_v1`
27
+ * Updated `servicebroker_v1alpha1`
28
+ * Updated `servicebroker_v1beta1`
29
+ * Updated `serviceconsumermanagement_v1`
30
+ * Updated `servicemanagement_v1`
31
+ * Updated `servicenetworking_v1`
32
+ * Updated `servicenetworking_v1beta`
33
+ * Updated `serviceusage_v1`
34
+ * Updated `serviceusage_v1beta1`
35
+ * Updated `streetviewpublish_v1`
36
+
1
37
  # 0.35.0
2
38
  * Breaking changes:
3
39
  * Deleted `storage_v1beta1`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigquery/
26
26
  module BigqueryreservationV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20191106'
28
+ REVISION = '20191203'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -254,6 +254,9 @@ module Google
254
254
  # Resource name of the parent reservation. E.g.,
255
255
  # projects/myproject/locations/US
256
256
  # @param [Google::Apis::BigqueryreservationV1beta1::CapacityCommitment] capacity_commitment_object
257
+ # @param [Boolean] enforce_single_admin_project_per_org
258
+ # If true, fail the request if another project in the organization has a
259
+ # capacity commitment.
257
260
  # @param [String] fields
258
261
  # Selector specifying which fields to include in a partial response.
259
262
  # @param [String] quota_user
@@ -271,13 +274,14 @@ module Google
271
274
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
272
275
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
273
276
  # @raise [Google::Apis::AuthorizationError] Authorization is required
274
- def create_project_location_capacity_commitment(parent, capacity_commitment_object = nil, fields: nil, quota_user: nil, options: nil, &block)
277
+ def create_project_location_capacity_commitment(parent, capacity_commitment_object = nil, enforce_single_admin_project_per_org: nil, fields: nil, quota_user: nil, options: nil, &block)
275
278
  command = make_simple_command(:post, 'v1beta1/{+parent}/capacityCommitments', options)
276
279
  command.request_representation = Google::Apis::BigqueryreservationV1beta1::CapacityCommitment::Representation
277
280
  command.request_object = capacity_commitment_object
278
281
  command.response_representation = Google::Apis::BigqueryreservationV1beta1::CapacityCommitment::Representation
279
282
  command.response_class = Google::Apis::BigqueryreservationV1beta1::CapacityCommitment
280
283
  command.params['parent'] = parent unless parent.nil?
284
+ command.query['enforceSingleAdminProjectPerOrg'] = enforce_single_admin_project_per_org unless enforce_single_admin_project_per_org.nil?
281
285
  command.query['fields'] = fields unless fields.nil?
282
286
  command.query['quotaUser'] = quota_user unless quota_user.nil?
283
287
  execute_or_queue_command(command, &block)
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory
26
26
  module CloudassetV1
27
27
  VERSION = 'V1'
28
- REVISION = '20191116'
28
+ REVISION = '20191130'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -56,16 +56,18 @@ module Google
56
56
  # @return [String]
57
57
  attr_accessor :asset_type
58
58
 
59
- # Defines an Identity and Access Management (IAM) policy. It is used to
60
- # specify access control policies for Cloud Platform resources.
59
+ # An Identity and Access Management (IAM) policy, which specifies access
60
+ # controls for Google Cloud resources.
61
61
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
62
62
  # `members` to a single `role`. Members can be user accounts, service accounts,
63
63
  # Google groups, and domains (such as G Suite). A `role` is a named list of
64
- # permissions (defined by IAM or configured by users). A `binding` can
65
- # optionally specify a `condition`, which is a logic expression that further
66
- # constrains the role binding based on attributes about the request and/or
67
- # target resource.
68
- # **JSON Example**
64
+ # permissions; each `role` can be an IAM predefined role or a user-created
65
+ # custom role.
66
+ # Optionally, a `binding` can specify a `condition`, which is a logical
67
+ # expression that allows access to a resource only if the expression evaluates
68
+ # to `true`. A condition can add constraints based on attributes of the
69
+ # request, the resource, or both.
70
+ # **JSON example:**
69
71
  # `
70
72
  # "bindings": [
71
73
  # `
@@ -83,13 +85,15 @@ module Google
83
85
  # "condition": `
84
86
  # "title": "expirable access",
85
87
  # "description": "Does not grant access after Sep 2020",
86
- # "expression": "request.time <
87
- # timestamp('2020-10-01T00:00:00.000Z')",
88
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
89
+ # ",
88
90
  # `
89
91
  # `
90
- # ]
92
+ # ],
93
+ # "etag": "BwWWja0YfJA=",
94
+ # "version": 3
91
95
  # `
92
- # **YAML Example**
96
+ # **YAML example:**
93
97
  # bindings:
94
98
  # - members:
95
99
  # - user:mike@example.com
@@ -104,8 +108,10 @@ module Google
104
108
  # title: expirable access
105
109
  # description: Does not grant access after Sep 2020
106
110
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
111
+ # - etag: BwWWja0YfJA=
112
+ # - version: 3
107
113
  # For a description of IAM and its features, see the
108
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
114
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
109
115
  # Corresponds to the JSON property `iamPolicy`
110
116
  # @return [Google::Apis::CloudassetV1::Policy]
111
117
  attr_accessor :iam_policy
@@ -362,6 +368,23 @@ module Google
362
368
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
363
369
  # * `group:`emailid``: An email address that represents a Google group.
364
370
  # For example, `admins@example.com`.
371
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
372
+ # identifier) representing a user that has been recently deleted. For
373
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
374
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
375
+ # retains the role in the binding.
376
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
377
+ # unique identifier) representing a service account that has been recently
378
+ # deleted. For example,
379
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
380
+ # If the service account is undeleted, this value reverts to
381
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
382
+ # role in the binding.
383
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
384
+ # identifier) representing a Google group that has been recently
385
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
386
+ # the group is recovered, this value reverts to `group:`emailid`` and the
387
+ # recovered group retains the role in the binding.
365
388
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
366
389
  # users of that domain. For example, `google.com` or `example.com`.
367
390
  # Corresponds to the JSON property `members`
@@ -1367,16 +1390,18 @@ module Google
1367
1390
  end
1368
1391
  end
1369
1392
 
1370
- # Defines an Identity and Access Management (IAM) policy. It is used to
1371
- # specify access control policies for Cloud Platform resources.
1393
+ # An Identity and Access Management (IAM) policy, which specifies access
1394
+ # controls for Google Cloud resources.
1372
1395
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1373
1396
  # `members` to a single `role`. Members can be user accounts, service accounts,
1374
1397
  # Google groups, and domains (such as G Suite). A `role` is a named list of
1375
- # permissions (defined by IAM or configured by users). A `binding` can
1376
- # optionally specify a `condition`, which is a logic expression that further
1377
- # constrains the role binding based on attributes about the request and/or
1378
- # target resource.
1379
- # **JSON Example**
1398
+ # permissions; each `role` can be an IAM predefined role or a user-created
1399
+ # custom role.
1400
+ # Optionally, a `binding` can specify a `condition`, which is a logical
1401
+ # expression that allows access to a resource only if the expression evaluates
1402
+ # to `true`. A condition can add constraints based on attributes of the
1403
+ # request, the resource, or both.
1404
+ # **JSON example:**
1380
1405
  # `
1381
1406
  # "bindings": [
1382
1407
  # `
@@ -1394,13 +1419,15 @@ module Google
1394
1419
  # "condition": `
1395
1420
  # "title": "expirable access",
1396
1421
  # "description": "Does not grant access after Sep 2020",
1397
- # "expression": "request.time <
1398
- # timestamp('2020-10-01T00:00:00.000Z')",
1422
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1423
+ # ",
1399
1424
  # `
1400
1425
  # `
1401
- # ]
1426
+ # ],
1427
+ # "etag": "BwWWja0YfJA=",
1428
+ # "version": 3
1402
1429
  # `
1403
- # **YAML Example**
1430
+ # **YAML example:**
1404
1431
  # bindings:
1405
1432
  # - members:
1406
1433
  # - user:mike@example.com
@@ -1415,8 +1442,10 @@ module Google
1415
1442
  # title: expirable access
1416
1443
  # description: Does not grant access after Sep 2020
1417
1444
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1445
+ # - etag: BwWWja0YfJA=
1446
+ # - version: 3
1418
1447
  # For a description of IAM and its features, see the
1419
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
1448
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1420
1449
  class Policy
1421
1450
  include Google::Apis::Core::Hashable
1422
1451
 
@@ -1425,9 +1454,9 @@ module Google
1425
1454
  # @return [Array<Google::Apis::CloudassetV1::AuditConfig>]
1426
1455
  attr_accessor :audit_configs
1427
1456
 
1428
- # Associates a list of `members` to a `role`. Optionally may specify a
1429
- # `condition` that determines when binding is in effect.
1430
- # `bindings` with no members will result in an error.
1457
+ # Associates a list of `members` to a `role`. Optionally, may specify a
1458
+ # `condition` that determines how and when the `bindings` are applied. Each
1459
+ # of the `bindings` must contain at least one member.
1431
1460
  # Corresponds to the JSON property `bindings`
1432
1461
  # @return [Array<Google::Apis::CloudassetV1::Binding>]
1433
1462
  attr_accessor :bindings
@@ -1439,26 +1468,31 @@ module Google
1439
1468
  # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1440
1469
  # systems are expected to put that etag in the request to `setIamPolicy` to
1441
1470
  # ensure that their change will be applied to the same version of the policy.
1442
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1443
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
1444
- # 'setIamPolicy' will not fail even if the incoming policy version does not
1445
- # meet the requirements for modifying the stored policy.
1471
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1472
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1473
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1474
+ # the conditions in the version `3` policy are lost.
1446
1475
  # Corresponds to the JSON property `etag`
1447
1476
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
1448
1477
  # @return [String]
1449
1478
  attr_accessor :etag
1450
1479
 
1451
1480
  # Specifies the format of the policy.
1452
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
1453
- # rejected.
1454
- # Operations affecting conditional bindings must specify version 3. This can
1455
- # be either setting a conditional policy, modifying a conditional binding,
1456
- # or removing a binding (conditional or unconditional) from the stored
1457
- # conditional policy.
1458
- # Operations on non-conditional policies may specify any valid value or
1459
- # leave the field unset.
1460
- # If no etag is provided in the call to `setIamPolicy`, version compliance
1461
- # checks against the stored policy is skipped.
1481
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1482
+ # are rejected.
1483
+ # Any operation that affects conditional role bindings must specify version
1484
+ # `3`. This requirement applies to the following operations:
1485
+ # * Getting a policy that includes a conditional role binding
1486
+ # * Adding a conditional role binding to a policy
1487
+ # * Changing a conditional role binding in a policy
1488
+ # * Removing any role binding, with or without a condition, from a policy
1489
+ # that includes conditions
1490
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1491
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1492
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1493
+ # the conditions in the version `3` policy are lost.
1494
+ # If a policy does not include any conditions, operations on that policy may
1495
+ # specify any valid version or leave the field unset.
1462
1496
  # Corresponds to the JSON property `version`
1463
1497
  # @return [Fixnum]
1464
1498
  attr_accessor :version
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory
26
26
  module CloudassetV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20191116'
28
+ REVISION = '20191130'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -32,16 +32,18 @@ module Google
32
32
  # @return [String]
33
33
  attr_accessor :asset_type
34
34
 
35
- # Defines an Identity and Access Management (IAM) policy. It is used to
36
- # specify access control policies for Cloud Platform resources.
35
+ # An Identity and Access Management (IAM) policy, which specifies access
36
+ # controls for Google Cloud resources.
37
37
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
38
38
  # `members` to a single `role`. Members can be user accounts, service accounts,
39
39
  # Google groups, and domains (such as G Suite). A `role` is a named list of
40
- # permissions (defined by IAM or configured by users). A `binding` can
41
- # optionally specify a `condition`, which is a logic expression that further
42
- # constrains the role binding based on attributes about the request and/or
43
- # target resource.
44
- # **JSON Example**
40
+ # permissions; each `role` can be an IAM predefined role or a user-created
41
+ # custom role.
42
+ # Optionally, a `binding` can specify a `condition`, which is a logical
43
+ # expression that allows access to a resource only if the expression evaluates
44
+ # to `true`. A condition can add constraints based on attributes of the
45
+ # request, the resource, or both.
46
+ # **JSON example:**
45
47
  # `
46
48
  # "bindings": [
47
49
  # `
@@ -59,13 +61,15 @@ module Google
59
61
  # "condition": `
60
62
  # "title": "expirable access",
61
63
  # "description": "Does not grant access after Sep 2020",
62
- # "expression": "request.time <
63
- # timestamp('2020-10-01T00:00:00.000Z')",
64
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
65
+ # ",
64
66
  # `
65
67
  # `
66
- # ]
68
+ # ],
69
+ # "etag": "BwWWja0YfJA=",
70
+ # "version": 3
67
71
  # `
68
- # **YAML Example**
72
+ # **YAML example:**
69
73
  # bindings:
70
74
  # - members:
71
75
  # - user:mike@example.com
@@ -80,8 +84,10 @@ module Google
80
84
  # title: expirable access
81
85
  # description: Does not grant access after Sep 2020
82
86
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
87
+ # - etag: BwWWja0YfJA=
88
+ # - version: 3
83
89
  # For a description of IAM and its features, see the
84
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
90
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
85
91
  # Corresponds to the JSON property `iamPolicy`
86
92
  # @return [Google::Apis::CloudassetV1beta1::Policy]
87
93
  attr_accessor :iam_policy
@@ -273,6 +279,23 @@ module Google
273
279
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
274
280
  # * `group:`emailid``: An email address that represents a Google group.
275
281
  # For example, `admins@example.com`.
282
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
283
+ # identifier) representing a user that has been recently deleted. For
284
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
285
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
286
+ # retains the role in the binding.
287
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
288
+ # unique identifier) representing a service account that has been recently
289
+ # deleted. For example,
290
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
291
+ # If the service account is undeleted, this value reverts to
292
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
293
+ # role in the binding.
294
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
295
+ # identifier) representing a Google group that has been recently
296
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
297
+ # the group is recovered, this value reverts to `group:`emailid`` and the
298
+ # recovered group retains the role in the binding.
276
299
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
277
300
  # users of that domain. For example, `google.com` or `example.com`.
278
301
  # Corresponds to the JSON property `members`
@@ -510,16 +533,18 @@ module Google
510
533
  end
511
534
  end
512
535
 
513
- # Defines an Identity and Access Management (IAM) policy. It is used to
514
- # specify access control policies for Cloud Platform resources.
536
+ # An Identity and Access Management (IAM) policy, which specifies access
537
+ # controls for Google Cloud resources.
515
538
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
516
539
  # `members` to a single `role`. Members can be user accounts, service accounts,
517
540
  # Google groups, and domains (such as G Suite). A `role` is a named list of
518
- # permissions (defined by IAM or configured by users). A `binding` can
519
- # optionally specify a `condition`, which is a logic expression that further
520
- # constrains the role binding based on attributes about the request and/or
521
- # target resource.
522
- # **JSON Example**
541
+ # permissions; each `role` can be an IAM predefined role or a user-created
542
+ # custom role.
543
+ # Optionally, a `binding` can specify a `condition`, which is a logical
544
+ # expression that allows access to a resource only if the expression evaluates
545
+ # to `true`. A condition can add constraints based on attributes of the
546
+ # request, the resource, or both.
547
+ # **JSON example:**
523
548
  # `
524
549
  # "bindings": [
525
550
  # `
@@ -537,13 +562,15 @@ module Google
537
562
  # "condition": `
538
563
  # "title": "expirable access",
539
564
  # "description": "Does not grant access after Sep 2020",
540
- # "expression": "request.time <
541
- # timestamp('2020-10-01T00:00:00.000Z')",
565
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
566
+ # ",
542
567
  # `
543
568
  # `
544
- # ]
569
+ # ],
570
+ # "etag": "BwWWja0YfJA=",
571
+ # "version": 3
545
572
  # `
546
- # **YAML Example**
573
+ # **YAML example:**
547
574
  # bindings:
548
575
  # - members:
549
576
  # - user:mike@example.com
@@ -558,8 +585,10 @@ module Google
558
585
  # title: expirable access
559
586
  # description: Does not grant access after Sep 2020
560
587
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
588
+ # - etag: BwWWja0YfJA=
589
+ # - version: 3
561
590
  # For a description of IAM and its features, see the
562
- # [IAM developer's guide](https://cloud.google.com/iam/docs).
591
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
563
592
  class Policy
564
593
  include Google::Apis::Core::Hashable
565
594
 
@@ -568,9 +597,9 @@ module Google
568
597
  # @return [Array<Google::Apis::CloudassetV1beta1::AuditConfig>]
569
598
  attr_accessor :audit_configs
570
599
 
571
- # Associates a list of `members` to a `role`. Optionally may specify a
572
- # `condition` that determines when binding is in effect.
573
- # `bindings` with no members will result in an error.
600
+ # Associates a list of `members` to a `role`. Optionally, may specify a
601
+ # `condition` that determines how and when the `bindings` are applied. Each
602
+ # of the `bindings` must contain at least one member.
574
603
  # Corresponds to the JSON property `bindings`
575
604
  # @return [Array<Google::Apis::CloudassetV1beta1::Binding>]
576
605
  attr_accessor :bindings
@@ -582,26 +611,31 @@ module Google
582
611
  # conditions: An `etag` is returned in the response to `getIamPolicy`, and
583
612
  # systems are expected to put that etag in the request to `setIamPolicy` to
584
613
  # ensure that their change will be applied to the same version of the policy.
585
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
586
- # policy is overwritten. Due to blind-set semantics of an etag-less policy,
587
- # 'setIamPolicy' will not fail even if the incoming policy version does not
588
- # meet the requirements for modifying the stored policy.
614
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
615
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
616
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
617
+ # the conditions in the version `3` policy are lost.
589
618
  # Corresponds to the JSON property `etag`
590
619
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
591
620
  # @return [String]
592
621
  attr_accessor :etag
593
622
 
594
623
  # Specifies the format of the policy.
595
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
596
- # rejected.
597
- # Operations affecting conditional bindings must specify version 3. This can
598
- # be either setting a conditional policy, modifying a conditional binding,
599
- # or removing a binding (conditional or unconditional) from the stored
600
- # conditional policy.
601
- # Operations on non-conditional policies may specify any valid value or
602
- # leave the field unset.
603
- # If no etag is provided in the call to `setIamPolicy`, version compliance
604
- # checks against the stored policy is skipped.
624
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
625
+ # are rejected.
626
+ # Any operation that affects conditional role bindings must specify version
627
+ # `3`. This requirement applies to the following operations:
628
+ # * Getting a policy that includes a conditional role binding
629
+ # * Adding a conditional role binding to a policy
630
+ # * Changing a conditional role binding in a policy
631
+ # * Removing any role binding, with or without a condition, from a policy
632
+ # that includes conditions
633
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
634
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
635
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
636
+ # the conditions in the version `3` policy are lost.
637
+ # If a policy does not include any conditions, operations on that policy may
638
+ # specify any valid version or leave the field unset.
605
639
  # Corresponds to the JSON property `version`
606
640
  # @return [Fixnum]
607
641
  attr_accessor :version