google-api-client 0.32.0 → 0.32.1

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