aws-sdk-s3 1.84.1 → 1.117.2

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +930 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/bucket.rb +154 -46
  6. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  7. data/lib/aws-sdk-s3/bucket_cors.rb +29 -9
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +30 -9
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +31 -9
  10. data/lib/aws-sdk-s3/bucket_logging.rb +25 -6
  11. data/lib/aws-sdk-s3/bucket_notification.rb +21 -9
  12. data/lib/aws-sdk-s3/bucket_policy.rb +27 -7
  13. data/lib/aws-sdk-s3/bucket_request_payment.rb +27 -8
  14. data/lib/aws-sdk-s3/bucket_tagging.rb +27 -7
  15. data/lib/aws-sdk-s3/bucket_versioning.rb +70 -10
  16. data/lib/aws-sdk-s3/bucket_website.rb +27 -7
  17. data/lib/aws-sdk-s3/client.rb +3747 -1848
  18. data/lib/aws-sdk-s3/client_api.rb +677 -227
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +28 -49
  20. data/lib/aws-sdk-s3/customizations/object.rb +116 -18
  21. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  22. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  23. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  24. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +3 -3
  26. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/endpoint_parameters.rb +142 -0
  28. data/lib/aws-sdk-s3/endpoint_provider.rb +2020 -0
  29. data/lib/aws-sdk-s3/endpoints.rb +2149 -0
  30. data/lib/aws-sdk-s3/errors.rb +1 -1
  31. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  32. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  33. data/lib/aws-sdk-s3/file_uploader.rb +8 -3
  34. data/lib/aws-sdk-s3/legacy_signer.rb +15 -25
  35. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  36. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +36 -10
  37. data/lib/aws-sdk-s3/multipart_upload.rb +133 -19
  38. data/lib/aws-sdk-s3/multipart_upload_part.rb +141 -21
  39. data/lib/aws-sdk-s3/object.rb +430 -126
  40. data/lib/aws-sdk-s3/object_acl.rb +31 -9
  41. data/lib/aws-sdk-s3/object_summary.rb +265 -110
  42. data/lib/aws-sdk-s3/object_version.rb +80 -53
  43. data/lib/aws-sdk-s3/plugins/accelerate.rb +1 -39
  44. data/lib/aws-sdk-s3/plugins/arn.rb +25 -142
  45. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  46. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  47. data/lib/aws-sdk-s3/plugins/dualstack.rb +2 -49
  48. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  49. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +3 -1
  50. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  51. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +8 -31
  52. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  53. data/lib/aws-sdk-s3/plugins/s3_signer.rb +33 -102
  54. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  55. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  56. data/lib/aws-sdk-s3/presigned_post.rb +47 -35
  57. data/lib/aws-sdk-s3/presigner.rb +39 -49
  58. data/lib/aws-sdk-s3/resource.rb +24 -4
  59. data/lib/aws-sdk-s3/types.rb +3785 -4735
  60. data/lib/aws-sdk-s3/waiters.rb +1 -1
  61. data/lib/aws-sdk-s3.rb +6 -2
  62. metadata +19 -14
  63. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -62
  64. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -71
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -182,9 +182,9 @@ module Aws::S3
182
182
  # })
183
183
  # @param [Hash] options ({})
184
184
  # @option options [String] :expected_bucket_owner
185
- # 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.
185
+ # The account ID of the expected bucket owner. If the bucket is owned by
186
+ # a different account, the request fails with the HTTP status code `403
187
+ # Forbidden` (access denied).
188
188
  # @return [EmptyStructure]
189
189
  def delete(options = {})
190
190
  options = options.merge(bucket: @bucket_name)
@@ -198,6 +198,7 @@ module Aws::S3
198
198
  # cors_configuration: { # required
199
199
  # cors_rules: [ # required
200
200
  # {
201
+ # id: "ID",
201
202
  # allowed_headers: ["AllowedHeader"],
202
203
  # allowed_methods: ["AllowedMethod"], # required
203
204
  # allowed_origins: ["AllowedOrigin"], # required
@@ -207,14 +208,14 @@ module Aws::S3
207
208
  # ],
208
209
  # },
209
210
  # content_md5: "ContentMD5",
211
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
210
212
  # expected_bucket_owner: "AccountId",
211
213
  # })
212
214
  # @param [Hash] options ({})
213
215
  # @option options [required, Types::CORSConfiguration] :cors_configuration
214
216
  # Describes the cross-origin access configuration for objects in an
215
217
  # Amazon S3 bucket. For more information, see [Enabling Cross-Origin
216
- # Resource Sharing][1] in the *Amazon Simple Storage Service Developer
217
- # Guide*.
218
+ # Resource Sharing][1] in the *Amazon S3 User Guide*.
218
219
  #
219
220
  #
220
221
  #
@@ -224,13 +225,32 @@ module Aws::S3
224
225
  # used as a message integrity check to verify that the request body was
225
226
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
226
227
  #
228
+ # For requests made using the Amazon Web Services Command Line Interface
229
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
230
+ # automatically.
231
+ #
227
232
  #
228
233
  #
229
234
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
235
+ # @option options [String] :checksum_algorithm
236
+ # Indicates the algorithm used to create the checksum for the object
237
+ # when using the SDK. This header will not provide any additional
238
+ # functionality if not using the SDK. When sending this header, there
239
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
240
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
241
+ # `400 Bad Request`. For more information, see [Checking object
242
+ # integrity][1] in the *Amazon S3 User Guide*.
243
+ #
244
+ # If you provide an individual checksum, Amazon S3 ignores any provided
245
+ # `ChecksumAlgorithm` parameter.
246
+ #
247
+ #
248
+ #
249
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
230
250
  # @option options [String] :expected_bucket_owner
231
- # The account id of the expected bucket owner. If the bucket is owned by
232
- # a different account, the request will fail with an HTTP `403 (Access
233
- # Denied)` error.
251
+ # The account ID of the expected bucket owner. If the bucket is owned by
252
+ # a different account, the request fails with the HTTP status code `403
253
+ # Forbidden` (access denied).
234
254
  # @return [EmptyStructure]
235
255
  def put(options = {})
236
256
  options = options.merge(bucket: @bucket_name)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -181,9 +181,9 @@ module Aws::S3
181
181
  # })
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
- # 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.
184
+ # The account ID of the expected bucket owner. If the bucket is owned by
185
+ # a different account, the request fails with the HTTP status code `403
186
+ # Forbidden` (access denied).
187
187
  # @return [EmptyStructure]
188
188
  def delete(options = {})
189
189
  options = options.merge(bucket: @bucket_name)
@@ -195,6 +195,7 @@ module Aws::S3
195
195
  #
196
196
  # bucket_lifecycle.put({
197
197
  # content_md5: "ContentMD5",
198
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
199
  # lifecycle_configuration: {
199
200
  # rules: [ # required
200
201
  # {
@@ -209,14 +210,16 @@ module Aws::S3
209
210
  # transition: {
210
211
  # date: Time.now,
211
212
  # days: 1,
212
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
213
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
213
214
  # },
214
215
  # noncurrent_version_transition: {
215
216
  # noncurrent_days: 1,
216
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
217
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
218
+ # newer_noncurrent_versions: 1,
217
219
  # },
218
220
  # noncurrent_version_expiration: {
219
221
  # noncurrent_days: 1,
222
+ # newer_noncurrent_versions: 1,
220
223
  # },
221
224
  # abort_incomplete_multipart_upload: {
222
225
  # days_after_initiation: 1,
@@ -228,11 +231,29 @@ module Aws::S3
228
231
  # })
229
232
  # @param [Hash] options ({})
230
233
  # @option options [String] :content_md5
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.
237
+ # @option options [String] :checksum_algorithm
238
+ # Indicates the algorithm used to create the checksum for the object
239
+ # when using the SDK. This header will not provide any additional
240
+ # functionality if not using the SDK. When sending this header, there
241
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
242
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
243
+ # `400 Bad Request`. For more information, see [Checking object
244
+ # integrity][1] in the *Amazon S3 User Guide*.
245
+ #
246
+ # If you provide an individual checksum, Amazon S3 ignores any provided
247
+ # `ChecksumAlgorithm` parameter.
248
+ #
249
+ #
250
+ #
251
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
231
252
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
232
253
  # @option options [String] :expected_bucket_owner
233
- # The account id of the expected bucket owner. If the bucket is owned by
234
- # a different account, the request will fail with an HTTP `403 (Access
235
- # Denied)` error.
254
+ # The account ID of the expected bucket owner. If the bucket is owned by
255
+ # a different account, the request fails with the HTTP status code `403
256
+ # Forbidden` (access denied).
236
257
  # @return [EmptyStructure]
237
258
  def put(options = {})
238
259
  options = options.merge(bucket: @bucket_name)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -181,9 +181,9 @@ module Aws::S3
181
181
  # })
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
- # 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.
184
+ # The account ID of the expected bucket owner. If the bucket is owned by
185
+ # a different account, the request fails with the HTTP status code `403
186
+ # Forbidden` (access denied).
187
187
  # @return [EmptyStructure]
188
188
  def delete(options = {})
189
189
  options = options.merge(bucket: @bucket_name)
@@ -194,6 +194,7 @@ module Aws::S3
194
194
  # @example Request syntax with placeholder values
195
195
  #
196
196
  # bucket_lifecycle_configuration.put({
197
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
197
198
  # lifecycle_configuration: {
198
199
  # rules: [ # required
199
200
  # {
@@ -210,6 +211,8 @@ module Aws::S3
210
211
  # key: "ObjectKey", # required
211
212
  # value: "Value", # required
212
213
  # },
214
+ # object_size_greater_than: 1,
215
+ # object_size_less_than: 1,
213
216
  # and: {
214
217
  # prefix: "Prefix",
215
218
  # tags: [
@@ -218,6 +221,8 @@ module Aws::S3
218
221
  # value: "Value", # required
219
222
  # },
220
223
  # ],
224
+ # object_size_greater_than: 1,
225
+ # object_size_less_than: 1,
221
226
  # },
222
227
  # },
223
228
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -225,17 +230,19 @@ module Aws::S3
225
230
  # {
226
231
  # date: Time.now,
227
232
  # days: 1,
228
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
233
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
229
234
  # },
230
235
  # ],
231
236
  # noncurrent_version_transitions: [
232
237
  # {
233
238
  # noncurrent_days: 1,
234
- # 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
240
+ # newer_noncurrent_versions: 1,
235
241
  # },
236
242
  # ],
237
243
  # noncurrent_version_expiration: {
238
244
  # noncurrent_days: 1,
245
+ # newer_noncurrent_versions: 1,
239
246
  # },
240
247
  # abort_incomplete_multipart_upload: {
241
248
  # days_after_initiation: 1,
@@ -246,12 +253,27 @@ module Aws::S3
246
253
  # expected_bucket_owner: "AccountId",
247
254
  # })
248
255
  # @param [Hash] options ({})
256
+ # @option options [String] :checksum_algorithm
257
+ # Indicates the algorithm used to create the checksum for the object
258
+ # when using the SDK. This header will not provide any additional
259
+ # functionality if not using the SDK. When sending this header, there
260
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
261
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
262
+ # `400 Bad Request`. For more information, see [Checking object
263
+ # integrity][1] in the *Amazon S3 User Guide*.
264
+ #
265
+ # If you provide an individual checksum, Amazon S3 ignores any provided
266
+ # `ChecksumAlgorithm` parameter.
267
+ #
268
+ #
269
+ #
270
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
249
271
  # @option options [Types::BucketLifecycleConfiguration] :lifecycle_configuration
250
272
  # Container for lifecycle rules. You can add as many as 1,000 rules.
251
273
  # @option options [String] :expected_bucket_owner
252
- # 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.
274
+ # The account ID of the expected bucket owner. If the bucket is owned by
275
+ # a different account, the request fails with the HTTP status code `403
276
+ # Forbidden` (access denied).
255
277
  # @return [EmptyStructure]
256
278
  def put(options = {})
257
279
  options = options.merge(bucket: @bucket_name)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -36,8 +36,7 @@ module Aws::S3
36
36
 
37
37
  # Describes where logs are stored and the prefix that Amazon S3 assigns
38
38
  # to all log object keys for a bucket. For more information, see [PUT
39
- # Bucket logging][1] in the *Amazon Simple Storage Service API
40
- # Reference*.
39
+ # Bucket logging][1] in the *Amazon S3 API Reference*.
41
40
  #
42
41
  #
43
42
  #
@@ -203,6 +202,7 @@ module Aws::S3
203
202
  # },
204
203
  # },
205
204
  # content_md5: "ContentMD5",
205
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
206
206
  # expected_bucket_owner: "AccountId",
207
207
  # })
208
208
  # @param [Hash] options ({})
@@ -210,10 +210,29 @@ module Aws::S3
210
210
  # Container for logging status information.
211
211
  # @option options [String] :content_md5
212
212
  # The MD5 hash of the `PutBucketLogging` request body.
213
+ #
214
+ # For requests made using the Amazon Web Services Command Line Interface
215
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
216
+ # automatically.
217
+ # @option options [String] :checksum_algorithm
218
+ # Indicates the algorithm used to create the checksum for the object
219
+ # when using the SDK. This header will not provide any additional
220
+ # functionality if not using the SDK. When sending this header, there
221
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
222
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
223
+ # `400 Bad Request`. For more information, see [Checking object
224
+ # integrity][1] in the *Amazon S3 User Guide*.
225
+ #
226
+ # If you provide an individual checksum, Amazon S3 ignores any provided
227
+ # `ChecksumAlgorithm` parameter.
228
+ #
229
+ #
230
+ #
231
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
213
232
  # @option options [String] :expected_bucket_owner
214
- # 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.
233
+ # The account ID of the expected bucket owner. If the bucket is owned by
234
+ # a different account, the request fails with the HTTP status code `403
235
+ # Forbidden` (access denied).
217
236
  # @return [EmptyStructure]
218
237
  def put(options = {})
219
238
  options = options.merge(bucket: @bucket_name)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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]
@@ -197,7 +203,7 @@ module Aws::S3
197
203
  # {
198
204
  # id: "NotificationId",
199
205
  # 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
206
+ # 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
207
  # filter: {
202
208
  # key: {
203
209
  # filter_rules: [
@@ -214,7 +220,7 @@ module Aws::S3
214
220
  # {
215
221
  # id: "NotificationId",
216
222
  # 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
223
+ # 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
224
  # filter: {
219
225
  # key: {
220
226
  # filter_rules: [
@@ -231,7 +237,7 @@ module Aws::S3
231
237
  # {
232
238
  # id: "NotificationId",
233
239
  # 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
240
+ # 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
241
  # filter: {
236
242
  # key: {
237
243
  # filter_rules: [
@@ -244,8 +250,11 @@ module Aws::S3
244
250
  # },
245
251
  # },
246
252
  # ],
253
+ # event_bridge_configuration: {
254
+ # },
247
255
  # },
248
256
  # expected_bucket_owner: "AccountId",
257
+ # skip_destination_validation: false,
249
258
  # })
250
259
  # @param [Hash] options ({})
251
260
  # @option options [required, Types::NotificationConfiguration] :notification_configuration
@@ -253,9 +262,12 @@ module Aws::S3
253
262
  # bucket. If this element is empty, notifications are turned off for the
254
263
  # bucket.
255
264
  # @option options [String] :expected_bucket_owner
256
- # 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.
265
+ # The account ID of the expected bucket owner. If the bucket is owned by
266
+ # a different account, the request fails with the HTTP status code `403
267
+ # Forbidden` (access denied).
268
+ # @option options [Boolean] :skip_destination_validation
269
+ # Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
270
+ # True or false value.
259
271
  # @return [EmptyStructure]
260
272
  def put(options = {})
261
273
  options = options.merge(bucket: @bucket_name)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -181,9 +181,9 @@ module Aws::S3
181
181
  # })
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
- # 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.
184
+ # The account ID of the expected bucket owner. If the bucket is owned by
185
+ # a different account, the request fails with the HTTP status code `403
186
+ # Forbidden` (access denied).
187
187
  # @return [EmptyStructure]
188
188
  def delete(options = {})
189
189
  options = options.merge(bucket: @bucket_name)
@@ -195,6 +195,7 @@ module Aws::S3
195
195
  #
196
196
  # bucket_policy.put({
197
197
  # content_md5: "ContentMD5",
198
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
199
  # confirm_remove_self_bucket_access: false,
199
200
  # policy: "Policy", # required
200
201
  # expected_bucket_owner: "AccountId",
@@ -202,15 +203,34 @@ module Aws::S3
202
203
  # @param [Hash] options ({})
203
204
  # @option options [String] :content_md5
204
205
  # The MD5 hash of the request body.
206
+ #
207
+ # For requests made using the Amazon Web Services Command Line Interface
208
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
209
+ # automatically.
210
+ # @option options [String] :checksum_algorithm
211
+ # Indicates the algorithm used to create the checksum for the object
212
+ # when using the SDK. This header will not provide any additional
213
+ # functionality if not using the SDK. When sending this header, there
214
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
215
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
216
+ # `400 Bad Request`. For more information, see [Checking object
217
+ # integrity][1] in the *Amazon S3 User Guide*.
218
+ #
219
+ # If you provide an individual checksum, Amazon S3 ignores any provided
220
+ # `ChecksumAlgorithm` parameter.
221
+ #
222
+ #
223
+ #
224
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
205
225
  # @option options [Boolean] :confirm_remove_self_bucket_access
206
226
  # Set this parameter to true to confirm that you want to remove your
207
227
  # permissions to change this bucket policy in the future.
208
228
  # @option options [required, String] :policy
209
229
  # The bucket policy as a JSON document.
210
230
  # @option options [String] :expected_bucket_owner
211
- # The account id of the expected bucket owner. If the bucket is owned by
212
- # a different account, the request will fail with an HTTP `403 (Access
213
- # Denied)` error.
231
+ # The account ID of the expected bucket owner. If the bucket is owned by
232
+ # a different account, the request fails with the HTTP status code `403
233
+ # Forbidden` (access denied).
214
234
  # @return [EmptyStructure]
215
235
  def put(options = {})
216
236
  options = options.merge(bucket: @bucket_name)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -178,6 +178,7 @@ module Aws::S3
178
178
  #
179
179
  # bucket_request_payment.put({
180
180
  # content_md5: "ContentMD5",
181
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
181
182
  # request_payment_configuration: { # required
182
183
  # payer: "Requester", # required, accepts Requester, BucketOwner
183
184
  # },
@@ -185,20 +186,38 @@ module Aws::S3
185
186
  # })
186
187
  # @param [Hash] options ({})
187
188
  # @option options [String] :content_md5
188
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
189
- # this header as a message integrity check to verify that the request
190
- # body was not corrupted in transit. For more information, see [RFC
191
- # 1864][1].
189
+ # The base64-encoded 128-bit MD5 digest of the data. You must use this
190
+ # header as a message integrity check to verify that the request body
191
+ # was not corrupted in transit. For more information, see [RFC 1864][1].
192
+ #
193
+ # For requests made using the Amazon Web Services Command Line Interface
194
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
195
+ # automatically.
192
196
  #
193
197
  #
194
198
  #
195
199
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
200
+ # @option options [String] :checksum_algorithm
201
+ # Indicates the algorithm used to create the checksum for the object
202
+ # when using the SDK. This header will not provide any additional
203
+ # functionality if not using the SDK. When sending this header, there
204
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
205
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
206
+ # `400 Bad Request`. For more information, see [Checking object
207
+ # integrity][1] in the *Amazon S3 User Guide*.
208
+ #
209
+ # If you provide an individual checksum, Amazon S3 ignores any provided
210
+ # `ChecksumAlgorithm` parameter.
211
+ #
212
+ #
213
+ #
214
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
196
215
  # @option options [required, Types::RequestPaymentConfiguration] :request_payment_configuration
197
216
  # Container for Payer.
198
217
  # @option options [String] :expected_bucket_owner
199
- # The account id of the expected bucket owner. If the bucket is owned by
200
- # a different account, the request will fail with an HTTP `403 (Access
201
- # Denied)` error.
218
+ # The account ID of the expected bucket owner. If the bucket is owned by
219
+ # a different account, the request fails with the HTTP status code `403
220
+ # Forbidden` (access denied).
202
221
  # @return [EmptyStructure]
203
222
  def put(options = {})
204
223
  options = options.merge(bucket: @bucket_name)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -181,9 +181,9 @@ module Aws::S3
181
181
  # })
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
- # 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.
184
+ # The account ID of the expected bucket owner. If the bucket is owned by
185
+ # a different account, the request fails with the HTTP status code `403
186
+ # Forbidden` (access denied).
187
187
  # @return [EmptyStructure]
188
188
  def delete(options = {})
189
189
  options = options.merge(bucket: @bucket_name)
@@ -195,6 +195,7 @@ module Aws::S3
195
195
  #
196
196
  # bucket_tagging.put({
197
197
  # content_md5: "ContentMD5",
198
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
199
  # tagging: { # required
199
200
  # tag_set: [ # required
200
201
  # {
@@ -211,15 +212,34 @@ module Aws::S3
211
212
  # header as a message integrity check to verify that the request body
212
213
  # was not corrupted in transit. For more information, see [RFC 1864][1].
213
214
  #
215
+ # For requests made using the Amazon Web Services Command Line Interface
216
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
217
+ # automatically.
218
+ #
214
219
  #
215
220
  #
216
221
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
222
+ # @option options [String] :checksum_algorithm
223
+ # Indicates the algorithm used to create the checksum for the object
224
+ # when using the SDK. This header will not provide any additional
225
+ # functionality if not using the SDK. When sending this header, there
226
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
227
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
228
+ # `400 Bad Request`. For more information, see [Checking object
229
+ # integrity][1] in the *Amazon S3 User Guide*.
230
+ #
231
+ # If you provide an individual checksum, Amazon S3 ignores any provided
232
+ # `ChecksumAlgorithm` parameter.
233
+ #
234
+ #
235
+ #
236
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
217
237
  # @option options [required, Types::Tagging] :tagging
218
238
  # Container for the `TagSet` and `Tag` elements.
219
239
  # @option options [String] :expected_bucket_owner
220
- # The account id of the expected bucket owner. If the bucket is owned by
221
- # a different account, the request will fail with an HTTP `403 (Access
222
- # Denied)` error.
240
+ # The account ID of the expected bucket owner. If the bucket is owned by
241
+ # a different account, the request fails with the HTTP status code `403
242
+ # Forbidden` (access denied).
223
243
  # @return [EmptyStructure]
224
244
  def put(options = {})
225
245
  options = options.merge(bucket: @bucket_name)