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
@@ -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`