google-api-client 0.32.0 → 0.32.1

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/generated/google/apis/appengine_v1.rb +1 -1
  4. data/generated/google/apis/appengine_v1/service.rb +6 -1
  5. data/generated/google/apis/appengine_v1beta.rb +1 -1
  6. data/generated/google/apis/appengine_v1beta/service.rb +6 -1
  7. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  8. data/generated/google/apis/binaryauthorization_v1/classes.rb +2 -2
  9. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  10. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +2 -2
  11. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  12. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +2 -2
  13. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +21 -21
  14. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  15. data/generated/google/apis/cloudfunctions_v1/classes.rb +62 -29
  16. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  17. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +63 -30
  18. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  19. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +62 -29
  20. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  21. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +62 -29
  22. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  23. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +62 -29
  24. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  25. data/generated/google/apis/cloudtasks_v2/classes.rb +62 -29
  26. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  27. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +62 -29
  28. data/generated/google/apis/dlp_v2.rb +1 -1
  29. data/generated/google/apis/dlp_v2/classes.rb +0 -28
  30. data/generated/google/apis/dlp_v2/representations.rb +0 -14
  31. data/generated/google/apis/dlp_v2/service.rb +11 -5
  32. data/generated/google/apis/dns_v1.rb +1 -1
  33. data/generated/google/apis/dns_v1/classes.rb +8 -0
  34. data/generated/google/apis/dns_v1/representations.rb +1 -0
  35. data/generated/google/apis/dns_v2beta1.rb +1 -1
  36. data/generated/google/apis/dns_v2beta1/classes.rb +8 -0
  37. data/generated/google/apis/dns_v2beta1/representations.rb +1 -0
  38. data/generated/google/apis/drive_v2.rb +1 -1
  39. data/generated/google/apis/drive_v2/classes.rb +2 -0
  40. data/generated/google/apis/drive_v3.rb +1 -1
  41. data/generated/google/apis/drive_v3/service.rb +9 -3
  42. data/generated/google/apis/logging_v2.rb +1 -1
  43. data/generated/google/apis/logging_v2/classes.rb +11 -3
  44. data/generated/google/apis/logging_v2/representations.rb +1 -0
  45. data/generated/google/apis/monitoring_v3.rb +1 -1
  46. data/generated/google/apis/monitoring_v3/classes.rb +6 -4
  47. data/generated/google/apis/pubsub_v1.rb +1 -1
  48. data/generated/google/apis/pubsub_v1/classes.rb +62 -29
  49. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  50. data/generated/google/apis/pubsub_v1beta2/classes.rb +62 -29
  51. data/generated/google/apis/run_v1.rb +1 -1
  52. data/generated/google/apis/run_v1/classes.rb +7 -5
  53. data/generated/google/apis/run_v1alpha1.rb +1 -1
  54. data/generated/google/apis/run_v1alpha1/classes.rb +6 -6
  55. data/generated/google/apis/run_v1beta1.rb +1 -4
  56. data/generated/google/apis/run_v1beta1/classes.rb +32 -70
  57. data/generated/google/apis/run_v1beta1/representations.rb +0 -29
  58. data/generated/google/apis/run_v1beta1/service.rb +62 -0
  59. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  60. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +1 -0
  61. data/generated/google/apis/servicebroker_v1.rb +1 -1
  62. data/generated/google/apis/servicebroker_v1/service.rb +1 -0
  63. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  64. data/generated/google/apis/servicebroker_v1alpha1/service.rb +1 -0
  65. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  66. data/generated/google/apis/servicebroker_v1beta1/service.rb +1 -0
  67. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  68. data/generated/google/apis/servicecontrol_v1/classes.rb +5 -4
  69. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  70. data/generated/google/apis/servicemanagement_v1/classes.rb +13 -4
  71. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  72. data/generated/google/apis/vault_v1.rb +1 -1
  73. data/generated/google/apis/vault_v1/service.rb +33 -0
  74. data/lib/google/apis/version.rb +1 -1
  75. metadata +2 -2
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV1
28
28
  VERSION = 'V1'
29
- REVISION = '20190830'
29
+ REVISION = '20190927'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -1291,25 +1291,34 @@ module Google
1291
1291
 
1292
1292
  # Defines an Identity and Access Management (IAM) policy. It is used to
1293
1293
  # specify access control policies for Cloud Platform resources.
1294
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1295
- # `members` to a `role`, where the members can be user accounts, Google groups,
1296
- # Google domains, and service accounts. A `role` is a named list of permissions
1297
- # defined by IAM.
1294
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1295
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1296
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1297
+ # permissions (defined by IAM or configured by users). A `binding` can
1298
+ # optionally specify a `condition`, which is a logic expression that further
1299
+ # constrains the role binding based on attributes about the request and/or
1300
+ # target resource.
1298
1301
  # **JSON Example**
1299
1302
  # `
1300
1303
  # "bindings": [
1301
1304
  # `
1302
- # "role": "roles/owner",
1305
+ # "role": "roles/resourcemanager.organizationAdmin",
1303
1306
  # "members": [
1304
1307
  # "user:mike@example.com",
1305
1308
  # "group:admins@example.com",
1306
1309
  # "domain:google.com",
1307
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1310
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1308
1311
  # ]
1309
1312
  # `,
1310
1313
  # `
1311
- # "role": "roles/viewer",
1312
- # "members": ["user:sean@example.com"]
1314
+ # "role": "roles/resourcemanager.organizationViewer",
1315
+ # "members": ["user:eve@example.com"],
1316
+ # "condition": `
1317
+ # "title": "expirable access",
1318
+ # "description": "Does not grant access after Sep 2020",
1319
+ # "expression": "request.time <
1320
+ # timestamp('2020-10-01T00:00:00.000Z')",
1321
+ # `
1313
1322
  # `
1314
1323
  # ]
1315
1324
  # `
@@ -1319,11 +1328,15 @@ module Google
1319
1328
  # - user:mike@example.com
1320
1329
  # - group:admins@example.com
1321
1330
  # - domain:google.com
1322
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1323
- # role: roles/owner
1331
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1332
+ # role: roles/resourcemanager.organizationAdmin
1324
1333
  # - members:
1325
- # - user:sean@example.com
1326
- # role: roles/viewer
1334
+ # - user:eve@example.com
1335
+ # role: roles/resourcemanager.organizationViewer
1336
+ # condition:
1337
+ # title: expirable access
1338
+ # description: Does not grant access after Sep 2020
1339
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1327
1340
  # For a description of IAM and its features, see the
1328
1341
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
1329
1342
  class Policy
@@ -1334,7 +1347,8 @@ module Google
1334
1347
  # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditConfig>]
1335
1348
  attr_accessor :audit_configs
1336
1349
 
1337
- # Associates a list of `members` to a `role`.
1350
+ # Associates a list of `members` to a `role`. Optionally may specify a
1351
+ # `condition` that determines when binding is in effect.
1338
1352
  # `bindings` with no members will result in an error.
1339
1353
  # Corresponds to the JSON property `bindings`
1340
1354
  # @return [Array<Google::Apis::CloudresourcemanagerV1::Binding>]
@@ -1348,7 +1362,9 @@ module Google
1348
1362
  # systems are expected to put that etag in the request to `setIamPolicy` to
1349
1363
  # ensure that their change will be applied to the same version of the policy.
1350
1364
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1351
- # policy is overwritten.
1365
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy,
1366
+ # 'setIamPolicy' will not fail even if either of incoming or stored policy
1367
+ # does not meet the version requirements.
1352
1368
  # Corresponds to the JSON property `etag`
1353
1369
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
1354
1370
  # @return [String]
@@ -1357,9 +1373,13 @@ module Google
1357
1373
  # Specifies the format of the policy.
1358
1374
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
1359
1375
  # rejected.
1360
- # Policies with any conditional bindings must specify version 3. Policies
1361
- # without any conditional bindings may specify any valid value or leave the
1362
- # field unset.
1376
+ # Operations affecting conditional bindings must specify version 3. This can
1377
+ # be either setting a conditional policy, modifying a conditional binding,
1378
+ # or removing a conditional binding from the stored conditional policy.
1379
+ # Operations on non-conditional policies may specify any valid value or
1380
+ # leave the field unset.
1381
+ # If no etag is provided in the call to `setIamPolicy`, any version
1382
+ # compliance checks on the incoming and/or stored policy is skipped.
1363
1383
  # Corresponds to the JSON property `version`
1364
1384
  # @return [Fixnum]
1365
1385
  attr_accessor :version
@@ -1512,7 +1532,7 @@ module Google
1512
1532
  attr_accessor :id
1513
1533
 
1514
1534
  # Required field representing the resource type this id is for.
1515
- # At present, the valid types are: "organization" and "folder".
1535
+ # At present, the valid types are: "organization", "folder", and "project".
1516
1536
  # Corresponds to the JSON property `type`
1517
1537
  # @return [String]
1518
1538
  attr_accessor :type
@@ -1629,25 +1649,34 @@ module Google
1629
1649
 
1630
1650
  # Defines an Identity and Access Management (IAM) policy. It is used to
1631
1651
  # specify access control policies for Cloud Platform resources.
1632
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1633
- # `members` to a `role`, where the members can be user accounts, Google groups,
1634
- # Google domains, and service accounts. A `role` is a named list of permissions
1635
- # defined by IAM.
1652
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1653
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1654
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1655
+ # permissions (defined by IAM or configured by users). A `binding` can
1656
+ # optionally specify a `condition`, which is a logic expression that further
1657
+ # constrains the role binding based on attributes about the request and/or
1658
+ # target resource.
1636
1659
  # **JSON Example**
1637
1660
  # `
1638
1661
  # "bindings": [
1639
1662
  # `
1640
- # "role": "roles/owner",
1663
+ # "role": "roles/resourcemanager.organizationAdmin",
1641
1664
  # "members": [
1642
1665
  # "user:mike@example.com",
1643
1666
  # "group:admins@example.com",
1644
1667
  # "domain:google.com",
1645
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1668
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1646
1669
  # ]
1647
1670
  # `,
1648
1671
  # `
1649
- # "role": "roles/viewer",
1650
- # "members": ["user:sean@example.com"]
1672
+ # "role": "roles/resourcemanager.organizationViewer",
1673
+ # "members": ["user:eve@example.com"],
1674
+ # "condition": `
1675
+ # "title": "expirable access",
1676
+ # "description": "Does not grant access after Sep 2020",
1677
+ # "expression": "request.time <
1678
+ # timestamp('2020-10-01T00:00:00.000Z')",
1679
+ # `
1651
1680
  # `
1652
1681
  # ]
1653
1682
  # `
@@ -1657,11 +1686,15 @@ module Google
1657
1686
  # - user:mike@example.com
1658
1687
  # - group:admins@example.com
1659
1688
  # - domain:google.com
1660
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1661
- # role: roles/owner
1689
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1690
+ # role: roles/resourcemanager.organizationAdmin
1662
1691
  # - members:
1663
- # - user:sean@example.com
1664
- # role: roles/viewer
1692
+ # - user:eve@example.com
1693
+ # role: roles/resourcemanager.organizationViewer
1694
+ # condition:
1695
+ # title: expirable access
1696
+ # description: Does not grant access after Sep 2020
1697
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1665
1698
  # For a description of IAM and its features, see the
1666
1699
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
1667
1700
  # Corresponds to the JSON property `policy`
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20190830'
29
+ REVISION = '20190927'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -562,25 +562,34 @@ module Google
562
562
 
563
563
  # Defines an Identity and Access Management (IAM) policy. It is used to
564
564
  # specify access control policies for Cloud Platform resources.
565
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
566
- # `members` to a `role`, where the members can be user accounts, Google groups,
567
- # Google domains, and service accounts. A `role` is a named list of permissions
568
- # defined by IAM.
565
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
566
+ # `members` to a single `role`. Members can be user accounts, service accounts,
567
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
568
+ # permissions (defined by IAM or configured by users). A `binding` can
569
+ # optionally specify a `condition`, which is a logic expression that further
570
+ # constrains the role binding based on attributes about the request and/or
571
+ # target resource.
569
572
  # **JSON Example**
570
573
  # `
571
574
  # "bindings": [
572
575
  # `
573
- # "role": "roles/owner",
576
+ # "role": "roles/resourcemanager.organizationAdmin",
574
577
  # "members": [
575
578
  # "user:mike@example.com",
576
579
  # "group:admins@example.com",
577
580
  # "domain:google.com",
578
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
581
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
579
582
  # ]
580
583
  # `,
581
584
  # `
582
- # "role": "roles/viewer",
583
- # "members": ["user:sean@example.com"]
585
+ # "role": "roles/resourcemanager.organizationViewer",
586
+ # "members": ["user:eve@example.com"],
587
+ # "condition": `
588
+ # "title": "expirable access",
589
+ # "description": "Does not grant access after Sep 2020",
590
+ # "expression": "request.time <
591
+ # timestamp('2020-10-01T00:00:00.000Z')",
592
+ # `
584
593
  # `
585
594
  # ]
586
595
  # `
@@ -590,11 +599,15 @@ module Google
590
599
  # - user:mike@example.com
591
600
  # - group:admins@example.com
592
601
  # - domain:google.com
593
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
594
- # role: roles/owner
602
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
603
+ # role: roles/resourcemanager.organizationAdmin
595
604
  # - members:
596
- # - user:sean@example.com
597
- # role: roles/viewer
605
+ # - user:eve@example.com
606
+ # role: roles/resourcemanager.organizationViewer
607
+ # condition:
608
+ # title: expirable access
609
+ # description: Does not grant access after Sep 2020
610
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
598
611
  # For a description of IAM and its features, see the
599
612
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
600
613
  class Policy
@@ -605,7 +618,8 @@ module Google
605
618
  # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::AuditConfig>]
606
619
  attr_accessor :audit_configs
607
620
 
608
- # Associates a list of `members` to a `role`.
621
+ # Associates a list of `members` to a `role`. Optionally may specify a
622
+ # `condition` that determines when binding is in effect.
609
623
  # `bindings` with no members will result in an error.
610
624
  # Corresponds to the JSON property `bindings`
611
625
  # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Binding>]
@@ -619,7 +633,9 @@ module Google
619
633
  # systems are expected to put that etag in the request to `setIamPolicy` to
620
634
  # ensure that their change will be applied to the same version of the policy.
621
635
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
622
- # policy is overwritten.
636
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy,
637
+ # 'setIamPolicy' will not fail even if either of incoming or stored policy
638
+ # does not meet the version requirements.
623
639
  # Corresponds to the JSON property `etag`
624
640
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
625
641
  # @return [String]
@@ -628,9 +644,13 @@ module Google
628
644
  # Specifies the format of the policy.
629
645
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
630
646
  # rejected.
631
- # Policies with any conditional bindings must specify version 3. Policies
632
- # without any conditional bindings may specify any valid value or leave the
633
- # field unset.
647
+ # Operations affecting conditional bindings must specify version 3. This can
648
+ # be either setting a conditional policy, modifying a conditional binding,
649
+ # or removing a conditional binding from the stored conditional policy.
650
+ # Operations on non-conditional policies may specify any valid value or
651
+ # leave the field unset.
652
+ # If no etag is provided in the call to `setIamPolicy`, any version
653
+ # compliance checks on the incoming and/or stored policy is skipped.
634
654
  # Corresponds to the JSON property `version`
635
655
  # @return [Fixnum]
636
656
  attr_accessor :version
@@ -805,25 +825,34 @@ module Google
805
825
 
806
826
  # Defines an Identity and Access Management (IAM) policy. It is used to
807
827
  # specify access control policies for Cloud Platform resources.
808
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
809
- # `members` to a `role`, where the members can be user accounts, Google groups,
810
- # Google domains, and service accounts. A `role` is a named list of permissions
811
- # defined by IAM.
828
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
829
+ # `members` to a single `role`. Members can be user accounts, service accounts,
830
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
831
+ # permissions (defined by IAM or configured by users). A `binding` can
832
+ # optionally specify a `condition`, which is a logic expression that further
833
+ # constrains the role binding based on attributes about the request and/or
834
+ # target resource.
812
835
  # **JSON Example**
813
836
  # `
814
837
  # "bindings": [
815
838
  # `
816
- # "role": "roles/owner",
839
+ # "role": "roles/resourcemanager.organizationAdmin",
817
840
  # "members": [
818
841
  # "user:mike@example.com",
819
842
  # "group:admins@example.com",
820
843
  # "domain:google.com",
821
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
844
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
822
845
  # ]
823
846
  # `,
824
847
  # `
825
- # "role": "roles/viewer",
826
- # "members": ["user:sean@example.com"]
848
+ # "role": "roles/resourcemanager.organizationViewer",
849
+ # "members": ["user:eve@example.com"],
850
+ # "condition": `
851
+ # "title": "expirable access",
852
+ # "description": "Does not grant access after Sep 2020",
853
+ # "expression": "request.time <
854
+ # timestamp('2020-10-01T00:00:00.000Z')",
855
+ # `
827
856
  # `
828
857
  # ]
829
858
  # `
@@ -833,11 +862,15 @@ module Google
833
862
  # - user:mike@example.com
834
863
  # - group:admins@example.com
835
864
  # - domain:google.com
836
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
837
- # role: roles/owner
865
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
866
+ # role: roles/resourcemanager.organizationAdmin
838
867
  # - members:
839
- # - user:sean@example.com
840
- # role: roles/viewer
868
+ # - user:eve@example.com
869
+ # role: roles/resourcemanager.organizationViewer
870
+ # condition:
871
+ # title: expirable access
872
+ # description: Does not grant access after Sep 2020
873
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
841
874
  # For a description of IAM and its features, see the
842
875
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
843
876
  # Corresponds to the JSON property `policy`
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV2
28
28
  VERSION = 'V2'
29
- REVISION = '20190830'
29
+ REVISION = '20190927'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -505,25 +505,34 @@ module Google
505
505
 
506
506
  # Defines an Identity and Access Management (IAM) policy. It is used to
507
507
  # specify access control policies for Cloud Platform resources.
508
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
509
- # `members` to a `role`, where the members can be user accounts, Google groups,
510
- # Google domains, and service accounts. A `role` is a named list of permissions
511
- # defined by IAM.
508
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
509
+ # `members` to a single `role`. Members can be user accounts, service accounts,
510
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
511
+ # permissions (defined by IAM or configured by users). A `binding` can
512
+ # optionally specify a `condition`, which is a logic expression that further
513
+ # constrains the role binding based on attributes about the request and/or
514
+ # target resource.
512
515
  # **JSON Example**
513
516
  # `
514
517
  # "bindings": [
515
518
  # `
516
- # "role": "roles/owner",
519
+ # "role": "roles/resourcemanager.organizationAdmin",
517
520
  # "members": [
518
521
  # "user:mike@example.com",
519
522
  # "group:admins@example.com",
520
523
  # "domain:google.com",
521
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
524
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
522
525
  # ]
523
526
  # `,
524
527
  # `
525
- # "role": "roles/viewer",
526
- # "members": ["user:sean@example.com"]
528
+ # "role": "roles/resourcemanager.organizationViewer",
529
+ # "members": ["user:eve@example.com"],
530
+ # "condition": `
531
+ # "title": "expirable access",
532
+ # "description": "Does not grant access after Sep 2020",
533
+ # "expression": "request.time <
534
+ # timestamp('2020-10-01T00:00:00.000Z')",
535
+ # `
527
536
  # `
528
537
  # ]
529
538
  # `
@@ -533,11 +542,15 @@ module Google
533
542
  # - user:mike@example.com
534
543
  # - group:admins@example.com
535
544
  # - domain:google.com
536
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
537
- # role: roles/owner
545
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
546
+ # role: roles/resourcemanager.organizationAdmin
538
547
  # - members:
539
- # - user:sean@example.com
540
- # role: roles/viewer
548
+ # - user:eve@example.com
549
+ # role: roles/resourcemanager.organizationViewer
550
+ # condition:
551
+ # title: expirable access
552
+ # description: Does not grant access after Sep 2020
553
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
541
554
  # For a description of IAM and its features, see the
542
555
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
543
556
  class Policy
@@ -548,7 +561,8 @@ module Google
548
561
  # @return [Array<Google::Apis::CloudresourcemanagerV2::AuditConfig>]
549
562
  attr_accessor :audit_configs
550
563
 
551
- # Associates a list of `members` to a `role`.
564
+ # Associates a list of `members` to a `role`. Optionally may specify a
565
+ # `condition` that determines when binding is in effect.
552
566
  # `bindings` with no members will result in an error.
553
567
  # Corresponds to the JSON property `bindings`
554
568
  # @return [Array<Google::Apis::CloudresourcemanagerV2::Binding>]
@@ -562,7 +576,9 @@ module Google
562
576
  # systems are expected to put that etag in the request to `setIamPolicy` to
563
577
  # ensure that their change will be applied to the same version of the policy.
564
578
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
565
- # policy is overwritten.
579
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy,
580
+ # 'setIamPolicy' will not fail even if either of incoming or stored policy
581
+ # does not meet the version requirements.
566
582
  # Corresponds to the JSON property `etag`
567
583
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
568
584
  # @return [String]
@@ -571,9 +587,13 @@ module Google
571
587
  # Specifies the format of the policy.
572
588
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
573
589
  # rejected.
574
- # Policies with any conditional bindings must specify version 3. Policies
575
- # without any conditional bindings may specify any valid value or leave the
576
- # field unset.
590
+ # Operations affecting conditional bindings must specify version 3. This can
591
+ # be either setting a conditional policy, modifying a conditional binding,
592
+ # or removing a conditional binding from the stored conditional policy.
593
+ # Operations on non-conditional policies may specify any valid value or
594
+ # leave the field unset.
595
+ # If no etag is provided in the call to `setIamPolicy`, any version
596
+ # compliance checks on the incoming and/or stored policy is skipped.
577
597
  # Corresponds to the JSON property `version`
578
598
  # @return [Fixnum]
579
599
  attr_accessor :version
@@ -714,25 +734,34 @@ module Google
714
734
 
715
735
  # Defines an Identity and Access Management (IAM) policy. It is used to
716
736
  # specify access control policies for Cloud Platform resources.
717
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
718
- # `members` to a `role`, where the members can be user accounts, Google groups,
719
- # Google domains, and service accounts. A `role` is a named list of permissions
720
- # defined by IAM.
737
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
738
+ # `members` to a single `role`. Members can be user accounts, service accounts,
739
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
740
+ # permissions (defined by IAM or configured by users). A `binding` can
741
+ # optionally specify a `condition`, which is a logic expression that further
742
+ # constrains the role binding based on attributes about the request and/or
743
+ # target resource.
721
744
  # **JSON Example**
722
745
  # `
723
746
  # "bindings": [
724
747
  # `
725
- # "role": "roles/owner",
748
+ # "role": "roles/resourcemanager.organizationAdmin",
726
749
  # "members": [
727
750
  # "user:mike@example.com",
728
751
  # "group:admins@example.com",
729
752
  # "domain:google.com",
730
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
753
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
731
754
  # ]
732
755
  # `,
733
756
  # `
734
- # "role": "roles/viewer",
735
- # "members": ["user:sean@example.com"]
757
+ # "role": "roles/resourcemanager.organizationViewer",
758
+ # "members": ["user:eve@example.com"],
759
+ # "condition": `
760
+ # "title": "expirable access",
761
+ # "description": "Does not grant access after Sep 2020",
762
+ # "expression": "request.time <
763
+ # timestamp('2020-10-01T00:00:00.000Z')",
764
+ # `
736
765
  # `
737
766
  # ]
738
767
  # `
@@ -742,11 +771,15 @@ module Google
742
771
  # - user:mike@example.com
743
772
  # - group:admins@example.com
744
773
  # - domain:google.com
745
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
746
- # role: roles/owner
774
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
775
+ # role: roles/resourcemanager.organizationAdmin
747
776
  # - members:
748
- # - user:sean@example.com
749
- # role: roles/viewer
777
+ # - user:eve@example.com
778
+ # role: roles/resourcemanager.organizationViewer
779
+ # condition:
780
+ # title: expirable access
781
+ # description: Does not grant access after Sep 2020
782
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
750
783
  # For a description of IAM and its features, see the
751
784
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
752
785
  # Corresponds to the JSON property `policy`