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
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/dlp/docs/
28
28
  module DlpV2
29
29
  VERSION = 'V2'
30
- REVISION = '20190920'
30
+ REVISION = '20190929'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -3846,34 +3846,6 @@ module Google
3846
3846
  end
3847
3847
  end
3848
3848
 
3849
- # Request for the list of infoTypes.
3850
- class GooglePrivacyDlpV2ListInfoTypesRequest
3851
- include Google::Apis::Core::Hashable
3852
-
3853
- # Optional filter to only return infoTypes supported by certain parts of the
3854
- # API. Defaults to supported_by=INSPECT.
3855
- # Corresponds to the JSON property `filter`
3856
- # @return [String]
3857
- attr_accessor :filter
3858
-
3859
- # Optional BCP-47 language code for localized infoType friendly
3860
- # names. If omitted, or if localized strings are not available,
3861
- # en-US strings will be returned.
3862
- # Corresponds to the JSON property `languageCode`
3863
- # @return [String]
3864
- attr_accessor :language_code
3865
-
3866
- def initialize(**args)
3867
- update!(**args)
3868
- end
3869
-
3870
- # Update properties of this object
3871
- def update!(**args)
3872
- @filter = args[:filter] if args.key?(:filter)
3873
- @language_code = args[:language_code] if args.key?(:language_code)
3874
- end
3875
- end
3876
-
3877
3849
  # Response to the ListInfoTypes request.
3878
3850
  class GooglePrivacyDlpV2ListInfoTypesResponse
3879
3851
  include Google::Apis::Core::Hashable
@@ -646,12 +646,6 @@ module Google
646
646
  include Google::Apis::Core::JsonObjectSupport
647
647
  end
648
648
 
649
- class GooglePrivacyDlpV2ListInfoTypesRequest
650
- class Representation < Google::Apis::Core::JsonRepresentation; end
651
-
652
- include Google::Apis::Core::JsonObjectSupport
653
- end
654
-
655
649
  class GooglePrivacyDlpV2ListInfoTypesResponse
656
650
  class Representation < Google::Apis::Core::JsonRepresentation; end
657
651
 
@@ -2163,14 +2157,6 @@ module Google
2163
2157
  end
2164
2158
  end
2165
2159
 
2166
- class GooglePrivacyDlpV2ListInfoTypesRequest
2167
- # @private
2168
- class Representation < Google::Apis::Core::JsonRepresentation
2169
- property :filter, as: 'filter'
2170
- property :language_code, as: 'languageCode'
2171
- end
2172
- end
2173
-
2174
2160
  class GooglePrivacyDlpV2ListInfoTypesResponse
2175
2161
  # @private
2176
2162
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -97,7 +97,13 @@ module Google
97
97
  # @param [String] location
98
98
  # The geographic location to list info types. Reserved for future
99
99
  # extensions.
100
- # @param [Google::Apis::DlpV2::GooglePrivacyDlpV2ListInfoTypesRequest] google_privacy_dlp_v2_list_info_types_request_object
100
+ # @param [String] filter
101
+ # Optional filter to only return infoTypes supported by certain parts of the
102
+ # API. Defaults to supported_by=INSPECT.
103
+ # @param [String] language_code
104
+ # Optional BCP-47 language code for localized infoType friendly
105
+ # names. If omitted, or if localized strings are not available,
106
+ # en-US strings will be returned.
101
107
  # @param [String] fields
102
108
  # Selector specifying which fields to include in a partial response.
103
109
  # @param [String] quota_user
@@ -115,13 +121,13 @@ module Google
115
121
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
116
122
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
117
123
  # @raise [Google::Apis::AuthorizationError] Authorization is required
118
- def info_location_types(location, google_privacy_dlp_v2_list_info_types_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
119
- command = make_simple_command(:post, 'v2/locations/{location}/infoTypes', options)
120
- command.request_representation = Google::Apis::DlpV2::GooglePrivacyDlpV2ListInfoTypesRequest::Representation
121
- command.request_object = google_privacy_dlp_v2_list_info_types_request_object
124
+ def list_location_info_types(location, filter: nil, language_code: nil, fields: nil, quota_user: nil, options: nil, &block)
125
+ command = make_simple_command(:get, 'v2/locations/{location}/infoTypes', options)
122
126
  command.response_representation = Google::Apis::DlpV2::GooglePrivacyDlpV2ListInfoTypesResponse::Representation
123
127
  command.response_class = Google::Apis::DlpV2::GooglePrivacyDlpV2ListInfoTypesResponse
124
128
  command.params['location'] = location unless location.nil?
129
+ command.query['filter'] = filter unless filter.nil?
130
+ command.query['languageCode'] = language_code unless language_code.nil?
125
131
  command.query['fields'] = fields unless fields.nil?
126
132
  command.query['quotaUser'] = quota_user unless quota_user.nil?
127
133
  execute_or_queue_command(command, &block)
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/cloud-dns
26
26
  module DnsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190903'
28
+ REVISION = '20190923'
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'
@@ -933,6 +933,13 @@ module Google
933
933
  attr_accessor :enable_inbound_forwarding
934
934
  alias_method :enable_inbound_forwarding?, :enable_inbound_forwarding
935
935
 
936
+ # Controls whether logging is enabled for the networks bound to this policy.
937
+ # Defaults to no logging if not set.
938
+ # Corresponds to the JSON property `enableLogging`
939
+ # @return [Boolean]
940
+ attr_accessor :enable_logging
941
+ alias_method :enable_logging?, :enable_logging
942
+
936
943
  # Unique identifier for the resource; defined by the server (output only).
937
944
  # Corresponds to the JSON property `id`
938
945
  # @return [Fixnum]
@@ -962,6 +969,7 @@ module Google
962
969
  @alternative_name_server_config = args[:alternative_name_server_config] if args.key?(:alternative_name_server_config)
963
970
  @description = args[:description] if args.key?(:description)
964
971
  @enable_inbound_forwarding = args[:enable_inbound_forwarding] if args.key?(:enable_inbound_forwarding)
972
+ @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
965
973
  @id = args[:id] if args.key?(:id)
966
974
  @kind = args[:kind] if args.key?(:kind)
967
975
  @name = args[:name] if args.key?(:name)
@@ -437,6 +437,7 @@ module Google
437
437
 
438
438
  property :description, as: 'description'
439
439
  property :enable_inbound_forwarding, as: 'enableInboundForwarding'
440
+ property :enable_logging, as: 'enableLogging'
440
441
  property :id, :numeric_string => true, as: 'id'
441
442
  property :kind, as: 'kind'
442
443
  property :name, as: 'name'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/cloud-dns
26
26
  module DnsV2beta1
27
27
  VERSION = 'V2beta1'
28
- REVISION = '20190903'
28
+ REVISION = '20190923'
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'
@@ -933,6 +933,13 @@ module Google
933
933
  attr_accessor :enable_inbound_forwarding
934
934
  alias_method :enable_inbound_forwarding?, :enable_inbound_forwarding
935
935
 
936
+ # Controls whether logging is enabled for the networks bound to this policy.
937
+ # Defaults to no logging if not set.
938
+ # Corresponds to the JSON property `enableLogging`
939
+ # @return [Boolean]
940
+ attr_accessor :enable_logging
941
+ alias_method :enable_logging?, :enable_logging
942
+
936
943
  # Unique identifier for the resource; defined by the server (output only).
937
944
  # Corresponds to the JSON property `id`
938
945
  # @return [Fixnum]
@@ -962,6 +969,7 @@ module Google
962
969
  @alternative_name_server_config = args[:alternative_name_server_config] if args.key?(:alternative_name_server_config)
963
970
  @description = args[:description] if args.key?(:description)
964
971
  @enable_inbound_forwarding = args[:enable_inbound_forwarding] if args.key?(:enable_inbound_forwarding)
972
+ @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
965
973
  @id = args[:id] if args.key?(:id)
966
974
  @kind = args[:kind] if args.key?(:kind)
967
975
  @name = args[:name] if args.key?(:name)
@@ -437,6 +437,7 @@ module Google
437
437
 
438
438
  property :description, as: 'description'
439
439
  property :enable_inbound_forwarding, as: 'enableInboundForwarding'
440
+ property :enable_logging, as: 'enableLogging'
440
441
  property :id, :numeric_string => true, as: 'id'
441
442
  property :kind, as: 'kind'
442
443
  property :name, as: 'name'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/drive/
27
27
  module DriveV2
28
28
  VERSION = 'V2'
29
- REVISION = '20190919'
29
+ REVISION = '20190926'
30
30
 
31
31
  # See, edit, create, and delete all of your Google Drive files
32
32
  AUTH_DRIVE = 'https://www.googleapis.com/auth/drive'
@@ -3416,6 +3416,8 @@ module Google
3416
3416
  # be populated and can only be modified on files with content stored in Drive
3417
3417
  # which are not Google Docs. Revisions can also be pinned when they are created
3418
3418
  # through the drive.files.insert/update/copy by using the pinned query parameter.
3419
+ # Pinned revisions are stored indefinitely using additional storage quota, up
3420
+ # to a maximum of 200 revisions.
3419
3421
  # Corresponds to the JSON property `pinned`
3420
3422
  # @return [Boolean]
3421
3423
  attr_accessor :pinned
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/drive/
27
27
  module DriveV3
28
28
  VERSION = 'V3'
29
- REVISION = '20190919'
29
+ REVISION = '20190926'
30
30
 
31
31
  # See, edit, create, and delete all of your Google Drive files
32
32
  AUTH_DRIVE = 'https://www.googleapis.com/auth/drive'
@@ -792,7 +792,9 @@ module Google
792
792
  # Permissions are still inherited from parent folders.
793
793
  # @param [Boolean] keep_revision_forever
794
794
  # Whether to set the 'keepForever' field in the new head revision. This is only
795
- # applicable to files with binary content in Google Drive.
795
+ # applicable to files with binary content in Google Drive. Only 200 revisions
796
+ # for the file can be kept forever. If the limit is reached, try deleting pinned
797
+ # revisions.
796
798
  # @param [String] ocr_language
797
799
  # A language hint for OCR processing during image import (ISO 639-1 code).
798
800
  # @param [Boolean] supports_all_drives
@@ -847,7 +849,9 @@ module Google
847
849
  # Permissions are still inherited from parent folders.
848
850
  # @param [Boolean] keep_revision_forever
849
851
  # Whether to set the 'keepForever' field in the new head revision. This is only
850
- # applicable to files with binary content in Google Drive.
852
+ # applicable to files with binary content in Google Drive. Only 200 revisions
853
+ # for the file can be kept forever. If the limit is reached, try deleting pinned
854
+ # revisions.
851
855
  # @param [String] ocr_language
852
856
  # A language hint for OCR processing during image import (ISO 639-1 code).
853
857
  # @param [Boolean] supports_all_drives
@@ -1199,7 +1203,9 @@ module Google
1199
1203
  # A comma-separated list of parent IDs to add.
1200
1204
  # @param [Boolean] keep_revision_forever
1201
1205
  # Whether to set the 'keepForever' field in the new head revision. This is only
1202
- # applicable to files with binary content in Google Drive.
1206
+ # applicable to files with binary content in Google Drive. Only 200 revisions
1207
+ # for the file can be kept forever. If the limit is reached, try deleting pinned
1208
+ # revisions.
1203
1209
  # @param [String] ocr_language
1204
1210
  # A language hint for OCR processing during image import (ISO 639-1 code).
1205
1211
  # @param [String] remove_parents
@@ -28,7 +28,7 @@ module Google
28
28
  # @see https://cloud.google.com/logging/docs/
29
29
  module LoggingV2
30
30
  VERSION = 'V2'
31
- REVISION = '20190907'
31
+ REVISION = '20190927'
32
32
 
33
33
  # View and manage your data across Google Cloud Platform services
34
34
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -401,7 +401,7 @@ module Google
401
401
  include Google::Apis::Core::Hashable
402
402
 
403
403
  # Optional. A filter that chooses which log entries to return. See Advanced Logs
404
- # Filters. Only log entries that match the filter are returned. An empty filter
404
+ # Queries. Only log entries that match the filter are returned. An empty filter
405
405
  # matches all log entries in the resources listed in resource_names. Referencing
406
406
  # a parent resource that is not listed in resource_names will cause the filter
407
407
  # to return no results. The maximum length of the filter is 20000 characters.
@@ -1250,6 +1250,14 @@ module Google
1250
1250
  # @return [String]
1251
1251
  attr_accessor :metric_kind
1252
1252
 
1253
+ # Read-only. If present, then a time series, which is identified partially by a
1254
+ # metric type and a MonitoredResourceDescriptor, that is associated with this
1255
+ # metric type can only be associated with one of the monitored resource types
1256
+ # listed here.
1257
+ # Corresponds to the JSON property `monitoredResourceTypes`
1258
+ # @return [Array<String>]
1259
+ attr_accessor :monitored_resource_types
1260
+
1253
1261
  # The resource name of the metric descriptor.
1254
1262
  # Corresponds to the JSON property `name`
1255
1263
  # @return [String]
@@ -1336,6 +1344,7 @@ module Google
1336
1344
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
1337
1345
  @metadata = args[:metadata] if args.key?(:metadata)
1338
1346
  @metric_kind = args[:metric_kind] if args.key?(:metric_kind)
1347
+ @monitored_resource_types = args[:monitored_resource_types] if args.key?(:monitored_resource_types)
1339
1348
  @name = args[:name] if args.key?(:name)
1340
1349
  @type = args[:type] if args.key?(:type)
1341
1350
  @unit = args[:unit] if args.key?(:unit)
@@ -1354,8 +1363,7 @@ module Google
1354
1363
  # @return [String]
1355
1364
  attr_accessor :ingest_delay
1356
1365
 
1357
- # Deprecated. Please use the MetricDescriptor.launch_stage instead. The launch
1358
- # stage of the metric definition.
1366
+ # Deprecated. Must use the MetricDescriptor.launch_stage instead.
1359
1367
  # Corresponds to the JSON property `launchStage`
1360
1368
  # @return [String]
1361
1369
  attr_accessor :launch_stage
@@ -474,6 +474,7 @@ module Google
474
474
  property :metadata, as: 'metadata', class: Google::Apis::LoggingV2::MetricDescriptorMetadata, decorator: Google::Apis::LoggingV2::MetricDescriptorMetadata::Representation
475
475
 
476
476
  property :metric_kind, as: 'metricKind'
477
+ collection :monitored_resource_types, as: 'monitoredResourceTypes'
477
478
  property :name, as: 'name'
478
479
  property :type, as: 'type'
479
480
  property :unit, as: 'unit'
@@ -30,7 +30,7 @@ module Google
30
30
  # @see https://cloud.google.com/monitoring/api/
31
31
  module MonitoringV3
32
32
  VERSION = 'V3'
33
- REVISION = '20190923'
33
+ REVISION = '20190929'
34
34
 
35
35
  # View and manage your data across Google Cloud Platform services
36
36
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -2324,8 +2324,9 @@ module Google
2324
2324
  # the start time.
2325
2325
  # For a GAUGE metric, the startTime value is technically optional; if no value
2326
2326
  # is specified, the start time defaults to the value of the end time, and the
2327
- # interval represents a single point in time. Such an interval is valid only
2328
- # for GAUGE metrics, which are point-in-time measurements.
2327
+ # interval represents a single point in time. If both start and end times are
2328
+ # specified, they must be identical. Such an interval is valid only for GAUGE
2329
+ # metrics, which are point-in-time measurements.
2329
2330
  # For DELTA and CUMULATIVE metrics, the start time must be earlier than the end
2330
2331
  # time.
2331
2332
  # In all cases, the start time of the next interval must be at least a
@@ -2531,8 +2532,9 @@ module Google
2531
2532
  # the start time.
2532
2533
  # For a GAUGE metric, the startTime value is technically optional; if no value
2533
2534
  # is specified, the start time defaults to the value of the end time, and the
2534
- # interval represents a single point in time. Such an interval is valid only
2535
- # for GAUGE metrics, which are point-in-time measurements.
2535
+ # interval represents a single point in time. If both start and end times are
2536
+ # specified, they must be identical. Such an interval is valid only for GAUGE
2537
+ # metrics, which are point-in-time measurements.
2536
2538
  # For DELTA and CUMULATIVE metrics, the start time must be earlier than the end
2537
2539
  # time.
2538
2540
  # In all cases, the start time of the next interval must be at least a
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/pubsub/docs
26
26
  module PubsubV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190826'
28
+ REVISION = '20190923'
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'
@@ -460,25 +460,34 @@ module Google
460
460
 
461
461
  # Defines an Identity and Access Management (IAM) policy. It is used to
462
462
  # specify access control policies for Cloud Platform resources.
463
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
464
- # `members` to a `role`, where the members can be user accounts, Google groups,
465
- # Google domains, and service accounts. A `role` is a named list of permissions
466
- # defined by IAM.
463
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
464
+ # `members` to a single `role`. Members can be user accounts, service accounts,
465
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
466
+ # permissions (defined by IAM or configured by users). A `binding` can
467
+ # optionally specify a `condition`, which is a logic expression that further
468
+ # constrains the role binding based on attributes about the request and/or
469
+ # target resource.
467
470
  # **JSON Example**
468
471
  # `
469
472
  # "bindings": [
470
473
  # `
471
- # "role": "roles/owner",
474
+ # "role": "roles/resourcemanager.organizationAdmin",
472
475
  # "members": [
473
476
  # "user:mike@example.com",
474
477
  # "group:admins@example.com",
475
478
  # "domain:google.com",
476
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
479
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
477
480
  # ]
478
481
  # `,
479
482
  # `
480
- # "role": "roles/viewer",
481
- # "members": ["user:sean@example.com"]
483
+ # "role": "roles/resourcemanager.organizationViewer",
484
+ # "members": ["user:eve@example.com"],
485
+ # "condition": `
486
+ # "title": "expirable access",
487
+ # "description": "Does not grant access after Sep 2020",
488
+ # "expression": "request.time <
489
+ # timestamp('2020-10-01T00:00:00.000Z')",
490
+ # `
482
491
  # `
483
492
  # ]
484
493
  # `
@@ -488,17 +497,22 @@ module Google
488
497
  # - user:mike@example.com
489
498
  # - group:admins@example.com
490
499
  # - domain:google.com
491
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
492
- # role: roles/owner
500
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
501
+ # role: roles/resourcemanager.organizationAdmin
493
502
  # - members:
494
- # - user:sean@example.com
495
- # role: roles/viewer
503
+ # - user:eve@example.com
504
+ # role: roles/resourcemanager.organizationViewer
505
+ # condition:
506
+ # title: expirable access
507
+ # description: Does not grant access after Sep 2020
508
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
496
509
  # For a description of IAM and its features, see the
497
510
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
498
511
  class Policy
499
512
  include Google::Apis::Core::Hashable
500
513
 
501
- # Associates a list of `members` to a `role`.
514
+ # Associates a list of `members` to a `role`. Optionally may specify a
515
+ # `condition` that determines when binding is in effect.
502
516
  # `bindings` with no members will result in an error.
503
517
  # Corresponds to the JSON property `bindings`
504
518
  # @return [Array<Google::Apis::PubsubV1::Binding>]
@@ -512,7 +526,9 @@ module Google
512
526
  # systems are expected to put that etag in the request to `setIamPolicy` to
513
527
  # ensure that their change will be applied to the same version of the policy.
514
528
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
515
- # policy is overwritten.
529
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy,
530
+ # 'setIamPolicy' will not fail even if either of incoming or stored policy
531
+ # does not meet the version requirements.
516
532
  # Corresponds to the JSON property `etag`
517
533
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
518
534
  # @return [String]
@@ -521,9 +537,13 @@ module Google
521
537
  # Specifies the format of the policy.
522
538
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
523
539
  # rejected.
524
- # Policies with any conditional bindings must specify version 3. Policies
525
- # without any conditional bindings may specify any valid value or leave the
526
- # field unset.
540
+ # Operations affecting conditional bindings must specify version 3. This can
541
+ # be either setting a conditional policy, modifying a conditional binding,
542
+ # or removing a conditional binding from the stored conditional policy.
543
+ # Operations on non-conditional policies may specify any valid value or
544
+ # leave the field unset.
545
+ # If no etag is provided in the call to `setIamPolicy`, any version
546
+ # compliance checks on the incoming and/or stored policy is skipped.
527
547
  # Corresponds to the JSON property `version`
528
548
  # @return [Fixnum]
529
549
  attr_accessor :version
@@ -821,25 +841,34 @@ module Google
821
841
 
822
842
  # Defines an Identity and Access Management (IAM) policy. It is used to
823
843
  # specify access control policies for Cloud Platform resources.
824
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
825
- # `members` to a `role`, where the members can be user accounts, Google groups,
826
- # Google domains, and service accounts. A `role` is a named list of permissions
827
- # defined by IAM.
844
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
845
+ # `members` to a single `role`. Members can be user accounts, service accounts,
846
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
847
+ # permissions (defined by IAM or configured by users). A `binding` can
848
+ # optionally specify a `condition`, which is a logic expression that further
849
+ # constrains the role binding based on attributes about the request and/or
850
+ # target resource.
828
851
  # **JSON Example**
829
852
  # `
830
853
  # "bindings": [
831
854
  # `
832
- # "role": "roles/owner",
855
+ # "role": "roles/resourcemanager.organizationAdmin",
833
856
  # "members": [
834
857
  # "user:mike@example.com",
835
858
  # "group:admins@example.com",
836
859
  # "domain:google.com",
837
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
860
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
838
861
  # ]
839
862
  # `,
840
863
  # `
841
- # "role": "roles/viewer",
842
- # "members": ["user:sean@example.com"]
864
+ # "role": "roles/resourcemanager.organizationViewer",
865
+ # "members": ["user:eve@example.com"],
866
+ # "condition": `
867
+ # "title": "expirable access",
868
+ # "description": "Does not grant access after Sep 2020",
869
+ # "expression": "request.time <
870
+ # timestamp('2020-10-01T00:00:00.000Z')",
871
+ # `
843
872
  # `
844
873
  # ]
845
874
  # `
@@ -849,11 +878,15 @@ module Google
849
878
  # - user:mike@example.com
850
879
  # - group:admins@example.com
851
880
  # - domain:google.com
852
- # - serviceAccount:my-other-app@appspot.gserviceaccount.com
853
- # role: roles/owner
881
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
882
+ # role: roles/resourcemanager.organizationAdmin
854
883
  # - members:
855
- # - user:sean@example.com
856
- # role: roles/viewer
884
+ # - user:eve@example.com
885
+ # role: roles/resourcemanager.organizationViewer
886
+ # condition:
887
+ # title: expirable access
888
+ # description: Does not grant access after Sep 2020
889
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
857
890
  # For a description of IAM and its features, see the
858
891
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
859
892
  # Corresponds to the JSON property `policy`