aws-sdk-s3 1.96.2 → 1.132.0

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 (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