aws-sdk-s3 1.84.1 → 1.117.2

Sign up to get free protection for your applications and to get access to all the features.
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)