google-api-client 0.35.0 → 0.36.0

Sign up to get free protection for your applications and to get access to all the features.
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