aws-sdk-s3 1.96.2 → 1.132.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +256 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +226 -76
  5. data/lib/aws-sdk-s3/bucket_acl.rb +30 -7
  6. data/lib/aws-sdk-s3/bucket_cors.rb +35 -10
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +39 -12
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +40 -10
  9. data/lib/aws-sdk-s3/bucket_logging.rb +30 -7
  10. data/lib/aws-sdk-s3/bucket_notification.rb +28 -10
  11. data/lib/aws-sdk-s3/bucket_policy.rb +35 -10
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +30 -7
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +35 -10
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +78 -17
  15. data/lib/aws-sdk-s3/bucket_website.rb +35 -10
  16. data/lib/aws-sdk-s3/client.rb +3854 -2120
  17. data/lib/aws-sdk-s3/client_api.rb +601 -208
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  19. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +130 -24
  21. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  22. data/lib/aws-sdk-s3/customizations.rb +2 -0
  23. data/lib/aws-sdk-s3/encryption/client.rb +7 -3
  24. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  26. data/lib/aws-sdk-s3/encryptionV2/client.rb +7 -3
  27. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -4
  28. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  29. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  30. data/lib/aws-sdk-s3/endpoint_parameters.rb +146 -0
  31. data/lib/aws-sdk-s3/endpoint_provider.rb +509 -0
  32. data/lib/aws-sdk-s3/endpoints.rb +2150 -0
  33. data/lib/aws-sdk-s3/file_downloader.rb +57 -27
  34. data/lib/aws-sdk-s3/file_uploader.rb +12 -5
  35. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  36. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -13
  37. data/lib/aws-sdk-s3/multipart_upload.rb +138 -16
  38. data/lib/aws-sdk-s3/multipart_upload_part.rb +144 -18
  39. data/lib/aws-sdk-s3/object.rb +364 -160
  40. data/lib/aws-sdk-s3/object_acl.rb +32 -9
  41. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  42. data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
  43. data/lib/aws-sdk-s3/object_summary.rb +291 -123
  44. data/lib/aws-sdk-s3/object_version.rb +99 -46
  45. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  46. data/lib/aws-sdk-s3/plugins/arn.rb +22 -180
  47. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  48. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  49. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  50. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  51. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  52. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  53. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  54. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -100
  55. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  56. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  57. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  58. data/lib/aws-sdk-s3/presigner.rb +24 -29
  59. data/lib/aws-sdk-s3/resource.rb +25 -3
  60. data/lib/aws-sdk-s3/types.rb +3307 -4625
  61. data/lib/aws-sdk-s3.rb +5 -1
  62. metadata +14 -11
  63. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  64. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  65. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
  66. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -55,7 +55,9 @@ module Aws::S3
55
55
  #
56
56
  # @return [self]
57
57
  def load
58
- resp = @client.get_bucket_cors(bucket: @bucket_name)
58
+ resp = Aws::Plugins::UserAgent.feature('resource') do
59
+ @client.get_bucket_cors(bucket: @bucket_name)
60
+ end
59
61
  @data = resp.data
60
62
  self
61
63
  end
@@ -170,7 +172,9 @@ module Aws::S3
170
172
  :retry
171
173
  end
172
174
  end
173
- Aws::Waiters::Waiter.new(options).wait({})
175
+ Aws::Plugins::UserAgent.feature('resource') do
176
+ Aws::Waiters::Waiter.new(options).wait({})
177
+ end
174
178
  end
175
179
 
176
180
  # @!group Actions
@@ -183,12 +187,14 @@ module Aws::S3
183
187
  # @param [Hash] options ({})
184
188
  # @option options [String] :expected_bucket_owner
185
189
  # The account ID of the expected bucket owner. If the bucket is owned by
186
- # a different account, the request will fail with an HTTP `403 (Access
187
- # Denied)` error.
190
+ # a different account, the request fails with the HTTP status code `403
191
+ # Forbidden` (access denied).
188
192
  # @return [EmptyStructure]
189
193
  def delete(options = {})
190
194
  options = options.merge(bucket: @bucket_name)
191
- resp = @client.delete_bucket_cors(options)
195
+ resp = Aws::Plugins::UserAgent.feature('resource') do
196
+ @client.delete_bucket_cors(options)
197
+ end
192
198
  resp.data
193
199
  end
194
200
 
@@ -208,6 +214,7 @@ module Aws::S3
208
214
  # ],
209
215
  # },
210
216
  # content_md5: "ContentMD5",
217
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
211
218
  # expected_bucket_owner: "AccountId",
212
219
  # })
213
220
  # @param [Hash] options ({})
@@ -224,20 +231,38 @@ module Aws::S3
224
231
  # used as a message integrity check to verify that the request body was
225
232
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
226
233
  #
227
- # For requests made using the AWS Command Line Interface (CLI) or AWS
228
- # SDKs, this field is calculated automatically.
234
+ # For requests made using the Amazon Web Services Command Line Interface
235
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
236
+ # automatically.
229
237
  #
230
238
  #
231
239
  #
232
240
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
241
+ # @option options [String] :checksum_algorithm
242
+ # Indicates the algorithm used to create the checksum for the object
243
+ # when using the SDK. This header will not provide any additional
244
+ # functionality if not using the SDK. When sending this header, there
245
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
246
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
247
+ # `400 Bad Request`. For more information, see [Checking object
248
+ # integrity][1] in the *Amazon S3 User Guide*.
249
+ #
250
+ # If you provide an individual checksum, Amazon S3 ignores any provided
251
+ # `ChecksumAlgorithm` parameter.
252
+ #
253
+ #
254
+ #
255
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
233
256
  # @option options [String] :expected_bucket_owner
234
257
  # The account ID of the expected bucket owner. If the bucket is owned by
235
- # a different account, the request will fail with an HTTP `403 (Access
236
- # Denied)` error.
258
+ # a different account, the request fails with the HTTP status code `403
259
+ # Forbidden` (access denied).
237
260
  # @return [EmptyStructure]
238
261
  def put(options = {})
239
262
  options = options.merge(bucket: @bucket_name)
240
- resp = @client.put_bucket_cors(options)
263
+ resp = Aws::Plugins::UserAgent.feature('resource') do
264
+ @client.put_bucket_cors(options)
265
+ end
241
266
  resp.data
242
267
  end
243
268
 
@@ -54,7 +54,9 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = @client.get_bucket_lifecycle(bucket: @bucket_name)
57
+ resp = Aws::Plugins::UserAgent.feature('resource') do
58
+ @client.get_bucket_lifecycle(bucket: @bucket_name)
59
+ end
58
60
  @data = resp.data
59
61
  self
60
62
  end
@@ -169,7 +171,9 @@ module Aws::S3
169
171
  :retry
170
172
  end
171
173
  end
172
- Aws::Waiters::Waiter.new(options).wait({})
174
+ Aws::Plugins::UserAgent.feature('resource') do
175
+ Aws::Waiters::Waiter.new(options).wait({})
176
+ end
173
177
  end
174
178
 
175
179
  # @!group Actions
@@ -182,12 +186,14 @@ module Aws::S3
182
186
  # @param [Hash] options ({})
183
187
  # @option options [String] :expected_bucket_owner
184
188
  # The account ID of the expected bucket owner. If the bucket is owned by
185
- # a different account, the request will fail with an HTTP `403 (Access
186
- # Denied)` error.
189
+ # a different account, the request fails with the HTTP status code `403
190
+ # Forbidden` (access denied).
187
191
  # @return [EmptyStructure]
188
192
  def delete(options = {})
189
193
  options = options.merge(bucket: @bucket_name)
190
- resp = @client.delete_bucket_lifecycle(options)
194
+ resp = Aws::Plugins::UserAgent.feature('resource') do
195
+ @client.delete_bucket_lifecycle(options)
196
+ end
191
197
  resp.data
192
198
  end
193
199
 
@@ -195,6 +201,7 @@ module Aws::S3
195
201
  #
196
202
  # bucket_lifecycle.put({
197
203
  # content_md5: "ContentMD5",
204
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
205
  # lifecycle_configuration: {
199
206
  # rules: [ # required
200
207
  # {
@@ -209,14 +216,16 @@ module Aws::S3
209
216
  # transition: {
210
217
  # date: Time.now,
211
218
  # days: 1,
212
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
219
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
213
220
  # },
214
221
  # noncurrent_version_transition: {
215
222
  # noncurrent_days: 1,
216
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
223
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
224
+ # newer_noncurrent_versions: 1,
217
225
  # },
218
226
  # noncurrent_version_expiration: {
219
227
  # noncurrent_days: 1,
228
+ # newer_noncurrent_versions: 1,
220
229
  # },
221
230
  # abort_incomplete_multipart_upload: {
222
231
  # days_after_initiation: 1,
@@ -228,17 +237,35 @@ module Aws::S3
228
237
  # })
229
238
  # @param [Hash] options ({})
230
239
  # @option options [String] :content_md5
231
- # For requests made using the AWS Command Line Interface (CLI) or AWS
232
- # SDKs, this field is calculated automatically.
240
+ # For requests made using the Amazon Web Services Command Line Interface
241
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
242
+ # automatically.
243
+ # @option options [String] :checksum_algorithm
244
+ # Indicates the algorithm used to create the checksum for the object
245
+ # when using the SDK. This header will not provide any additional
246
+ # functionality if not using the SDK. When sending this header, there
247
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
248
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
249
+ # `400 Bad Request`. For more information, see [Checking object
250
+ # integrity][1] in the *Amazon S3 User Guide*.
251
+ #
252
+ # If you provide an individual checksum, Amazon S3 ignores any provided
253
+ # `ChecksumAlgorithm` parameter.
254
+ #
255
+ #
256
+ #
257
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
233
258
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
234
259
  # @option options [String] :expected_bucket_owner
235
260
  # The account ID of the expected bucket owner. If the bucket is owned by
236
- # a different account, the request will fail with an HTTP `403 (Access
237
- # Denied)` error.
261
+ # a different account, the request fails with the HTTP status code `403
262
+ # Forbidden` (access denied).
238
263
  # @return [EmptyStructure]
239
264
  def put(options = {})
240
265
  options = options.merge(bucket: @bucket_name)
241
- resp = @client.put_bucket_lifecycle(options)
266
+ resp = Aws::Plugins::UserAgent.feature('resource') do
267
+ @client.put_bucket_lifecycle(options)
268
+ end
242
269
  resp.data
243
270
  end
244
271
 
@@ -54,7 +54,9 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = @client.get_bucket_lifecycle_configuration(bucket: @bucket_name)
57
+ resp = Aws::Plugins::UserAgent.feature('resource') do
58
+ @client.get_bucket_lifecycle_configuration(bucket: @bucket_name)
59
+ end
58
60
  @data = resp.data
59
61
  self
60
62
  end
@@ -169,7 +171,9 @@ module Aws::S3
169
171
  :retry
170
172
  end
171
173
  end
172
- Aws::Waiters::Waiter.new(options).wait({})
174
+ Aws::Plugins::UserAgent.feature('resource') do
175
+ Aws::Waiters::Waiter.new(options).wait({})
176
+ end
173
177
  end
174
178
 
175
179
  # @!group Actions
@@ -182,18 +186,21 @@ module Aws::S3
182
186
  # @param [Hash] options ({})
183
187
  # @option options [String] :expected_bucket_owner
184
188
  # The account ID of the expected bucket owner. If the bucket is owned by
185
- # a different account, the request will fail with an HTTP `403 (Access
186
- # Denied)` error.
189
+ # a different account, the request fails with the HTTP status code `403
190
+ # Forbidden` (access denied).
187
191
  # @return [EmptyStructure]
188
192
  def delete(options = {})
189
193
  options = options.merge(bucket: @bucket_name)
190
- resp = @client.delete_bucket_lifecycle(options)
194
+ resp = Aws::Plugins::UserAgent.feature('resource') do
195
+ @client.delete_bucket_lifecycle(options)
196
+ end
191
197
  resp.data
192
198
  end
193
199
 
194
200
  # @example Request syntax with placeholder values
195
201
  #
196
202
  # bucket_lifecycle_configuration.put({
203
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
197
204
  # lifecycle_configuration: {
198
205
  # rules: [ # required
199
206
  # {
@@ -210,6 +217,8 @@ module Aws::S3
210
217
  # key: "ObjectKey", # required
211
218
  # value: "Value", # required
212
219
  # },
220
+ # object_size_greater_than: 1,
221
+ # object_size_less_than: 1,
213
222
  # and: {
214
223
  # prefix: "Prefix",
215
224
  # tags: [
@@ -218,6 +227,8 @@ module Aws::S3
218
227
  # value: "Value", # required
219
228
  # },
220
229
  # ],
230
+ # object_size_greater_than: 1,
231
+ # object_size_less_than: 1,
221
232
  # },
222
233
  # },
223
234
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -225,17 +236,19 @@ module Aws::S3
225
236
  # {
226
237
  # date: Time.now,
227
238
  # days: 1,
228
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
239
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
229
240
  # },
230
241
  # ],
231
242
  # noncurrent_version_transitions: [
232
243
  # {
233
244
  # noncurrent_days: 1,
234
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
245
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
246
+ # newer_noncurrent_versions: 1,
235
247
  # },
236
248
  # ],
237
249
  # noncurrent_version_expiration: {
238
250
  # noncurrent_days: 1,
251
+ # newer_noncurrent_versions: 1,
239
252
  # },
240
253
  # abort_incomplete_multipart_upload: {
241
254
  # days_after_initiation: 1,
@@ -246,16 +259,33 @@ module Aws::S3
246
259
  # expected_bucket_owner: "AccountId",
247
260
  # })
248
261
  # @param [Hash] options ({})
262
+ # @option options [String] :checksum_algorithm
263
+ # Indicates the algorithm used to create the checksum for the object
264
+ # when using the SDK. This header will not provide any additional
265
+ # functionality if not using the SDK. When sending this header, there
266
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
267
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
268
+ # `400 Bad Request`. For more information, see [Checking object
269
+ # integrity][1] in the *Amazon S3 User Guide*.
270
+ #
271
+ # If you provide an individual checksum, Amazon S3 ignores any provided
272
+ # `ChecksumAlgorithm` parameter.
273
+ #
274
+ #
275
+ #
276
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
249
277
  # @option options [Types::BucketLifecycleConfiguration] :lifecycle_configuration
250
278
  # Container for lifecycle rules. You can add as many as 1,000 rules.
251
279
  # @option options [String] :expected_bucket_owner
252
280
  # The account ID of the expected bucket owner. If the bucket is owned by
253
- # a different account, the request will fail with an HTTP `403 (Access
254
- # Denied)` error.
281
+ # a different account, the request fails with the HTTP status code `403
282
+ # Forbidden` (access denied).
255
283
  # @return [EmptyStructure]
256
284
  def put(options = {})
257
285
  options = options.merge(bucket: @bucket_name)
258
- resp = @client.put_bucket_lifecycle_configuration(options)
286
+ resp = Aws::Plugins::UserAgent.feature('resource') do
287
+ @client.put_bucket_lifecycle_configuration(options)
288
+ end
259
289
  resp.data
260
290
  end
261
291
 
@@ -60,7 +60,9 @@ module Aws::S3
60
60
  #
61
61
  # @return [self]
62
62
  def load
63
- resp = @client.get_bucket_logging(bucket: @bucket_name)
63
+ resp = Aws::Plugins::UserAgent.feature('resource') do
64
+ @client.get_bucket_logging(bucket: @bucket_name)
65
+ end
64
66
  @data = resp.data
65
67
  self
66
68
  end
@@ -175,7 +177,9 @@ module Aws::S3
175
177
  :retry
176
178
  end
177
179
  end
178
- Aws::Waiters::Waiter.new(options).wait({})
180
+ Aws::Plugins::UserAgent.feature('resource') do
181
+ Aws::Waiters::Waiter.new(options).wait({})
182
+ end
179
183
  end
180
184
 
181
185
  # @!group Actions
@@ -202,6 +206,7 @@ module Aws::S3
202
206
  # },
203
207
  # },
204
208
  # content_md5: "ContentMD5",
209
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
205
210
  # expected_bucket_owner: "AccountId",
206
211
  # })
207
212
  # @param [Hash] options ({})
@@ -210,16 +215,34 @@ module Aws::S3
210
215
  # @option options [String] :content_md5
211
216
  # The MD5 hash of the `PutBucketLogging` request body.
212
217
  #
213
- # For requests made using the AWS Command Line Interface (CLI) or AWS
214
- # SDKs, this field is calculated automatically.
218
+ # For requests made using the Amazon Web Services Command Line Interface
219
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
220
+ # automatically.
221
+ # @option options [String] :checksum_algorithm
222
+ # Indicates the algorithm used to create the checksum for the object
223
+ # when using the SDK. This header will not provide any additional
224
+ # functionality if not using the SDK. When sending this header, there
225
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
226
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
227
+ # `400 Bad Request`. For more information, see [Checking object
228
+ # integrity][1] in the *Amazon S3 User Guide*.
229
+ #
230
+ # If you provide an individual checksum, Amazon S3 ignores any provided
231
+ # `ChecksumAlgorithm` parameter.
232
+ #
233
+ #
234
+ #
235
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
215
236
  # @option options [String] :expected_bucket_owner
216
237
  # The account ID of the expected bucket owner. If the bucket is owned by
217
- # a different account, the request will fail with an HTTP `403 (Access
218
- # Denied)` error.
238
+ # a different account, the request fails with the HTTP status code `403
239
+ # Forbidden` (access denied).
219
240
  # @return [EmptyStructure]
220
241
  def put(options = {})
221
242
  options = options.merge(bucket: @bucket_name)
222
- resp = @client.put_bucket_logging(options)
243
+ resp = Aws::Plugins::UserAgent.feature('resource') do
244
+ @client.put_bucket_logging(options)
245
+ end
223
246
  resp.data
224
247
  end
225
248
 
@@ -48,13 +48,19 @@ module Aws::S3
48
48
  data[:queue_configurations]
49
49
  end
50
50
 
51
- # Describes the AWS Lambda functions to invoke and the events for which
52
- # to invoke them.
51
+ # Describes the Lambda functions to invoke and the events for which to
52
+ # invoke them.
53
53
  # @return [Array<Types::LambdaFunctionConfiguration>]
54
54
  def lambda_function_configurations
55
55
  data[:lambda_function_configurations]
56
56
  end
57
57
 
58
+ # Enables delivery of events to Amazon EventBridge.
59
+ # @return [Types::EventBridgeConfiguration]
60
+ def event_bridge_configuration
61
+ data[:event_bridge_configuration]
62
+ end
63
+
58
64
  # @!endgroup
59
65
 
60
66
  # @return [Client]
@@ -69,7 +75,9 @@ module Aws::S3
69
75
  #
70
76
  # @return [self]
71
77
  def load
72
- resp = @client.get_bucket_notification_configuration(bucket: @bucket_name)
78
+ resp = Aws::Plugins::UserAgent.feature('resource') do
79
+ @client.get_bucket_notification_configuration(bucket: @bucket_name)
80
+ end
73
81
  @data = resp.data
74
82
  self
75
83
  end
@@ -184,7 +192,9 @@ module Aws::S3
184
192
  :retry
185
193
  end
186
194
  end
187
- Aws::Waiters::Waiter.new(options).wait({})
195
+ Aws::Plugins::UserAgent.feature('resource') do
196
+ Aws::Waiters::Waiter.new(options).wait({})
197
+ end
188
198
  end
189
199
 
190
200
  # @!group Actions
@@ -197,7 +207,7 @@ module Aws::S3
197
207
  # {
198
208
  # id: "NotificationId",
199
209
  # topic_arn: "TopicArn", # required
200
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
210
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
201
211
  # filter: {
202
212
  # key: {
203
213
  # filter_rules: [
@@ -214,7 +224,7 @@ module Aws::S3
214
224
  # {
215
225
  # id: "NotificationId",
216
226
  # queue_arn: "QueueArn", # required
217
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
227
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
218
228
  # filter: {
219
229
  # key: {
220
230
  # filter_rules: [
@@ -231,7 +241,7 @@ module Aws::S3
231
241
  # {
232
242
  # id: "NotificationId",
233
243
  # lambda_function_arn: "LambdaFunctionArn", # required
234
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
244
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
235
245
  # filter: {
236
246
  # key: {
237
247
  # filter_rules: [
@@ -244,8 +254,11 @@ module Aws::S3
244
254
  # },
245
255
  # },
246
256
  # ],
257
+ # event_bridge_configuration: {
258
+ # },
247
259
  # },
248
260
  # expected_bucket_owner: "AccountId",
261
+ # skip_destination_validation: false,
249
262
  # })
250
263
  # @param [Hash] options ({})
251
264
  # @option options [required, Types::NotificationConfiguration] :notification_configuration
@@ -254,12 +267,17 @@ module Aws::S3
254
267
  # bucket.
255
268
  # @option options [String] :expected_bucket_owner
256
269
  # The account ID of the expected bucket owner. If the bucket is owned by
257
- # a different account, the request will fail with an HTTP `403 (Access
258
- # Denied)` error.
270
+ # a different account, the request fails with the HTTP status code `403
271
+ # Forbidden` (access denied).
272
+ # @option options [Boolean] :skip_destination_validation
273
+ # Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
274
+ # True or false value.
259
275
  # @return [EmptyStructure]
260
276
  def put(options = {})
261
277
  options = options.merge(bucket: @bucket_name)
262
- resp = @client.put_bucket_notification_configuration(options)
278
+ resp = Aws::Plugins::UserAgent.feature('resource') do
279
+ @client.put_bucket_notification_configuration(options)
280
+ end
263
281
  resp.data
264
282
  end
265
283
 
@@ -54,7 +54,9 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = @client.get_bucket_policy(bucket: @bucket_name)
57
+ resp = Aws::Plugins::UserAgent.feature('resource') do
58
+ @client.get_bucket_policy(bucket: @bucket_name)
59
+ end
58
60
  @data = resp.data
59
61
  self
60
62
  end
@@ -169,7 +171,9 @@ module Aws::S3
169
171
  :retry
170
172
  end
171
173
  end
172
- Aws::Waiters::Waiter.new(options).wait({})
174
+ Aws::Plugins::UserAgent.feature('resource') do
175
+ Aws::Waiters::Waiter.new(options).wait({})
176
+ end
173
177
  end
174
178
 
175
179
  # @!group Actions
@@ -182,12 +186,14 @@ module Aws::S3
182
186
  # @param [Hash] options ({})
183
187
  # @option options [String] :expected_bucket_owner
184
188
  # The account ID of the expected bucket owner. If the bucket is owned by
185
- # a different account, the request will fail with an HTTP `403 (Access
186
- # Denied)` error.
189
+ # a different account, the request fails with the HTTP status code `403
190
+ # Forbidden` (access denied).
187
191
  # @return [EmptyStructure]
188
192
  def delete(options = {})
189
193
  options = options.merge(bucket: @bucket_name)
190
- resp = @client.delete_bucket_policy(options)
194
+ resp = Aws::Plugins::UserAgent.feature('resource') do
195
+ @client.delete_bucket_policy(options)
196
+ end
191
197
  resp.data
192
198
  end
193
199
 
@@ -195,6 +201,7 @@ module Aws::S3
195
201
  #
196
202
  # bucket_policy.put({
197
203
  # content_md5: "ContentMD5",
204
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
205
  # confirm_remove_self_bucket_access: false,
199
206
  # policy: "Policy", # required
200
207
  # expected_bucket_owner: "AccountId",
@@ -203,8 +210,24 @@ module Aws::S3
203
210
  # @option options [String] :content_md5
204
211
  # The MD5 hash of the request body.
205
212
  #
206
- # For requests made using the AWS Command Line Interface (CLI) or AWS
207
- # SDKs, this field is calculated automatically.
213
+ # For requests made using the Amazon Web Services Command Line Interface
214
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
215
+ # automatically.
216
+ # @option options [String] :checksum_algorithm
217
+ # Indicates the algorithm used to create the checksum for the object
218
+ # when using the SDK. This header will not provide any additional
219
+ # functionality if not using the SDK. When sending this header, there
220
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
221
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
222
+ # `400 Bad Request`. For more information, see [Checking object
223
+ # integrity][1] in the *Amazon S3 User Guide*.
224
+ #
225
+ # If you provide an individual checksum, Amazon S3 ignores any provided
226
+ # `ChecksumAlgorithm` parameter.
227
+ #
228
+ #
229
+ #
230
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
208
231
  # @option options [Boolean] :confirm_remove_self_bucket_access
209
232
  # Set this parameter to true to confirm that you want to remove your
210
233
  # permissions to change this bucket policy in the future.
@@ -212,12 +235,14 @@ module Aws::S3
212
235
  # The bucket policy as a JSON document.
213
236
  # @option options [String] :expected_bucket_owner
214
237
  # The account ID of the expected bucket owner. If the bucket is owned by
215
- # a different account, the request will fail with an HTTP `403 (Access
216
- # Denied)` error.
238
+ # a different account, the request fails with the HTTP status code `403
239
+ # Forbidden` (access denied).
217
240
  # @return [EmptyStructure]
218
241
  def put(options = {})
219
242
  options = options.merge(bucket: @bucket_name)
220
- resp = @client.put_bucket_policy(options)
243
+ resp = Aws::Plugins::UserAgent.feature('resource') do
244
+ @client.put_bucket_policy(options)
245
+ end
221
246
  resp.data
222
247
  end
223
248
 
@@ -54,7 +54,9 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = @client.get_bucket_request_payment(bucket: @bucket_name)
57
+ resp = Aws::Plugins::UserAgent.feature('resource') do
58
+ @client.get_bucket_request_payment(bucket: @bucket_name)
59
+ end
58
60
  @data = resp.data
59
61
  self
60
62
  end
@@ -169,7 +171,9 @@ module Aws::S3
169
171
  :retry
170
172
  end
171
173
  end
172
- Aws::Waiters::Waiter.new(options).wait({})
174
+ Aws::Plugins::UserAgent.feature('resource') do
175
+ Aws::Waiters::Waiter.new(options).wait({})
176
+ end
173
177
  end
174
178
 
175
179
  # @!group Actions
@@ -178,6 +182,7 @@ module Aws::S3
178
182
  #
179
183
  # bucket_request_payment.put({
180
184
  # content_md5: "ContentMD5",
185
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
181
186
  # request_payment_configuration: { # required
182
187
  # payer: "Requester", # required, accepts Requester, BucketOwner
183
188
  # },
@@ -189,22 +194,40 @@ module Aws::S3
189
194
  # header as a message integrity check to verify that the request body
190
195
  # was not corrupted in transit. For more information, see [RFC 1864][1].
191
196
  #
192
- # For requests made using the AWS Command Line Interface (CLI) or AWS
193
- # SDKs, this field is calculated automatically.
197
+ # For requests made using the Amazon Web Services Command Line Interface
198
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
199
+ # automatically.
194
200
  #
195
201
  #
196
202
  #
197
203
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
204
+ # @option options [String] :checksum_algorithm
205
+ # Indicates the algorithm used to create the checksum for the object
206
+ # when using the SDK. This header will not provide any additional
207
+ # functionality if not using the SDK. When sending this header, there
208
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
209
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
210
+ # `400 Bad Request`. For more information, see [Checking object
211
+ # integrity][1] in the *Amazon S3 User Guide*.
212
+ #
213
+ # If you provide an individual checksum, Amazon S3 ignores any provided
214
+ # `ChecksumAlgorithm` parameter.
215
+ #
216
+ #
217
+ #
218
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
198
219
  # @option options [required, Types::RequestPaymentConfiguration] :request_payment_configuration
199
220
  # Container for Payer.
200
221
  # @option options [String] :expected_bucket_owner
201
222
  # The account ID of the expected bucket owner. If the bucket is owned by
202
- # a different account, the request will fail with an HTTP `403 (Access
203
- # Denied)` error.
223
+ # a different account, the request fails with the HTTP status code `403
224
+ # Forbidden` (access denied).
204
225
  # @return [EmptyStructure]
205
226
  def put(options = {})
206
227
  options = options.merge(bucket: @bucket_name)
207
- resp = @client.put_bucket_request_payment(options)
228
+ resp = Aws::Plugins::UserAgent.feature('resource') do
229
+ @client.put_bucket_request_payment(options)
230
+ end
208
231
  resp.data
209
232
  end
210
233