aws-sdk-s3 1.92.0 → 1.114.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +167 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/arn/access_point_arn.rb +12 -9
  5. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +68 -0
  6. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +12 -9
  7. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +8 -9
  8. data/lib/aws-sdk-s3/bucket.rb +134 -36
  9. data/lib/aws-sdk-s3/bucket_acl.rb +25 -6
  10. data/lib/aws-sdk-s3/bucket_cors.rb +23 -6
  11. data/lib/aws-sdk-s3/bucket_lifecycle.rb +27 -8
  12. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  13. data/lib/aws-sdk-s3/bucket_logging.rb +22 -6
  14. data/lib/aws-sdk-s3/bucket_notification.rb +19 -7
  15. data/lib/aws-sdk-s3/bucket_policy.rb +23 -6
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +21 -4
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +23 -6
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +63 -12
  19. data/lib/aws-sdk-s3/bucket_website.rb +23 -6
  20. data/lib/aws-sdk-s3/client.rb +2902 -1449
  21. data/lib/aws-sdk-s3/client_api.rb +390 -21
  22. data/lib/aws-sdk-s3/customizations/object.rb +107 -15
  23. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  24. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  26. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  28. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  29. data/lib/aws-sdk-s3/file_uploader.rb +8 -3
  30. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  31. data/lib/aws-sdk-s3/multipart_upload.rb +129 -15
  32. data/lib/aws-sdk-s3/multipart_upload_part.rb +136 -16
  33. data/lib/aws-sdk-s3/object.rb +369 -108
  34. data/lib/aws-sdk-s3/object_acl.rb +28 -9
  35. data/lib/aws-sdk-s3/object_summary.rb +221 -93
  36. data/lib/aws-sdk-s3/object_version.rb +70 -43
  37. data/lib/aws-sdk-s3/plugins/accelerate.rb +7 -1
  38. data/lib/aws-sdk-s3/plugins/arn.rb +72 -30
  39. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  40. data/lib/aws-sdk-s3/plugins/dualstack.rb +25 -31
  41. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  42. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -0
  43. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  44. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -6
  45. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  46. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  47. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  48. data/lib/aws-sdk-s3/presigner.rb +18 -3
  49. data/lib/aws-sdk-s3/resource.rb +22 -2
  50. data/lib/aws-sdk-s3/types.rb +3041 -1015
  51. data/lib/aws-sdk-s3.rb +1 -1
  52. metadata +12 -11
@@ -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
@@ -254,8 +263,11 @@ module Aws::S3
254
263
  # bucket.
255
264
  # @option options [String] :expected_bucket_owner
256
265
  # 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.
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)
@@ -182,8 +182,8 @@ module Aws::S3
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
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.
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",
@@ -203,8 +204,24 @@ module Aws::S3
203
204
  # @option options [String] :content_md5
204
205
  # The MD5 hash of the request body.
205
206
  #
206
- # For requests made using the AWS Command Line Interface (CLI) or AWS
207
- # SDKs, this field is calculated automatically.
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
208
225
  # @option options [Boolean] :confirm_remove_self_bucket_access
209
226
  # Set this parameter to true to confirm that you want to remove your
210
227
  # permissions to change this bucket policy in the future.
@@ -212,8 +229,8 @@ module Aws::S3
212
229
  # The bucket policy as a JSON document.
213
230
  # @option options [String] :expected_bucket_owner
214
231
  # 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.
232
+ # a different account, the request fails with the HTTP status code `403
233
+ # Forbidden` (access denied).
217
234
  # @return [EmptyStructure]
218
235
  def put(options = {})
219
236
  options = options.merge(bucket: @bucket_name)
@@ -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
  # },
@@ -189,18 +190,34 @@ module Aws::S3
189
190
  # header as a message integrity check to verify that the request body
190
191
  # was not corrupted in transit. For more information, see [RFC 1864][1].
191
192
  #
192
- # For requests made using the AWS Command Line Interface (CLI) or AWS
193
- # SDKs, this field is calculated automatically.
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.
194
196
  #
195
197
  #
196
198
  #
197
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
198
215
  # @option options [required, Types::RequestPaymentConfiguration] :request_payment_configuration
199
216
  # Container for Payer.
200
217
  # @option options [String] :expected_bucket_owner
201
218
  # 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.
219
+ # a different account, the request fails with the HTTP status code `403
220
+ # Forbidden` (access denied).
204
221
  # @return [EmptyStructure]
205
222
  def put(options = {})
206
223
  options = options.merge(bucket: @bucket_name)
@@ -182,8 +182,8 @@ module Aws::S3
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
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.
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,18 +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
  #
214
- # For requests made using the AWS Command Line Interface (CLI) or AWS
215
- # SDKs, this field is calculated automatically.
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.
216
218
  #
217
219
  #
218
220
  #
219
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
220
237
  # @option options [required, Types::Tagging] :tagging
221
238
  # Container for the `TagSet` and `Tag` elements.
222
239
  # @option options [String] :expected_bucket_owner
223
240
  # The account ID of the expected bucket owner. If the bucket is owned by
224
- # a different account, the request will fail with an HTTP `403 (Access
225
- # Denied)` error.
241
+ # a different account, the request fails with the HTTP status code `403
242
+ # Forbidden` (access denied).
226
243
  # @return [EmptyStructure]
227
244
  def put(options = {})
228
245
  options = options.merge(bucket: @bucket_name)
@@ -187,6 +187,7 @@ module Aws::S3
187
187
  #
188
188
  # bucket_versioning.enable({
189
189
  # content_md5: "ContentMD5",
190
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
190
191
  # mfa: "MFA",
191
192
  # expected_bucket_owner: "AccountId",
192
193
  # })
@@ -197,19 +198,35 @@ module Aws::S3
197
198
  # body was not corrupted in transit. For more information, see [RFC
198
199
  # 1864][1].
199
200
  #
200
- # For requests made using the AWS Command Line Interface (CLI) or AWS
201
- # SDKs, this field is calculated automatically.
201
+ # For requests made using the Amazon Web Services Command Line Interface
202
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
203
+ # automatically.
202
204
  #
203
205
  #
204
206
  #
205
207
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
208
+ # @option options [String] :checksum_algorithm
209
+ # Indicates the algorithm used to create the checksum for the object
210
+ # when using the SDK. This header will not provide any additional
211
+ # functionality if not using the SDK. When sending this header, there
212
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
213
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
214
+ # `400 Bad Request`. For more information, see [Checking object
215
+ # integrity][1] in the *Amazon S3 User Guide*.
216
+ #
217
+ # If you provide an individual checksum, Amazon S3 ignores any provided
218
+ # `ChecksumAlgorithm` parameter.
219
+ #
220
+ #
221
+ #
222
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
206
223
  # @option options [String] :mfa
207
224
  # The concatenation of the authentication device's serial number, a
208
225
  # space, and the value that is displayed on your authentication device.
209
226
  # @option options [String] :expected_bucket_owner
210
227
  # The account ID of the expected bucket owner. If the bucket is owned by
211
- # a different account, the request will fail with an HTTP `403 (Access
212
- # Denied)` error.
228
+ # a different account, the request fails with the HTTP status code `403
229
+ # Forbidden` (access denied).
213
230
  # @return [EmptyStructure]
214
231
  def enable(options = {})
215
232
  options = Aws::Util.deep_merge(options,
@@ -226,6 +243,7 @@ module Aws::S3
226
243
  #
227
244
  # bucket_versioning.put({
228
245
  # content_md5: "ContentMD5",
246
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
229
247
  # mfa: "MFA",
230
248
  # versioning_configuration: { # required
231
249
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -240,12 +258,28 @@ module Aws::S3
240
258
  # body was not corrupted in transit. For more information, see [RFC
241
259
  # 1864][1].
242
260
  #
243
- # For requests made using the AWS Command Line Interface (CLI) or AWS
244
- # SDKs, this field is calculated automatically.
261
+ # For requests made using the Amazon Web Services Command Line Interface
262
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
263
+ # automatically.
245
264
  #
246
265
  #
247
266
  #
248
267
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
268
+ # @option options [String] :checksum_algorithm
269
+ # Indicates the algorithm used to create the checksum for the object
270
+ # when using the SDK. This header will not provide any additional
271
+ # functionality if not using the SDK. When sending this header, there
272
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
273
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
274
+ # `400 Bad Request`. For more information, see [Checking object
275
+ # integrity][1] in the *Amazon S3 User Guide*.
276
+ #
277
+ # If you provide an individual checksum, Amazon S3 ignores any provided
278
+ # `ChecksumAlgorithm` parameter.
279
+ #
280
+ #
281
+ #
282
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
249
283
  # @option options [String] :mfa
250
284
  # The concatenation of the authentication device's serial number, a
251
285
  # space, and the value that is displayed on your authentication device.
@@ -253,8 +287,8 @@ module Aws::S3
253
287
  # Container for setting the versioning state.
254
288
  # @option options [String] :expected_bucket_owner
255
289
  # The account ID of the expected bucket owner. If the bucket is owned by
256
- # a different account, the request will fail with an HTTP `403 (Access
257
- # Denied)` error.
290
+ # a different account, the request fails with the HTTP status code `403
291
+ # Forbidden` (access denied).
258
292
  # @return [EmptyStructure]
259
293
  def put(options = {})
260
294
  options = options.merge(bucket: @bucket_name)
@@ -266,6 +300,7 @@ module Aws::S3
266
300
  #
267
301
  # bucket_versioning.suspend({
268
302
  # content_md5: "ContentMD5",
303
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
269
304
  # mfa: "MFA",
270
305
  # expected_bucket_owner: "AccountId",
271
306
  # })
@@ -276,19 +311,35 @@ module Aws::S3
276
311
  # body was not corrupted in transit. For more information, see [RFC
277
312
  # 1864][1].
278
313
  #
279
- # For requests made using the AWS Command Line Interface (CLI) or AWS
280
- # SDKs, this field is calculated automatically.
314
+ # For requests made using the Amazon Web Services Command Line Interface
315
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
316
+ # automatically.
281
317
  #
282
318
  #
283
319
  #
284
320
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
321
+ # @option options [String] :checksum_algorithm
322
+ # Indicates the algorithm used to create the checksum for the object
323
+ # when using the SDK. This header will not provide any additional
324
+ # functionality if not using the SDK. When sending this header, there
325
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
326
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
327
+ # `400 Bad Request`. For more information, see [Checking object
328
+ # integrity][1] in the *Amazon S3 User Guide*.
329
+ #
330
+ # If you provide an individual checksum, Amazon S3 ignores any provided
331
+ # `ChecksumAlgorithm` parameter.
332
+ #
333
+ #
334
+ #
335
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
285
336
  # @option options [String] :mfa
286
337
  # The concatenation of the authentication device's serial number, a
287
338
  # space, and the value that is displayed on your authentication device.
288
339
  # @option options [String] :expected_bucket_owner
289
340
  # The account ID of the expected bucket owner. If the bucket is owned by
290
- # a different account, the request will fail with an HTTP `403 (Access
291
- # Denied)` error.
341
+ # a different account, the request fails with the HTTP status code `403
342
+ # Forbidden` (access denied).
292
343
  # @return [EmptyStructure]
293
344
  def suspend(options = {})
294
345
  options = Aws::Util.deep_merge(options,
@@ -204,8 +204,8 @@ module Aws::S3
204
204
  # @param [Hash] options ({})
205
205
  # @option options [String] :expected_bucket_owner
206
206
  # The account ID of the expected bucket owner. If the bucket is owned by
207
- # a different account, the request will fail with an HTTP `403 (Access
208
- # Denied)` error.
207
+ # a different account, the request fails with the HTTP status code `403
208
+ # Forbidden` (access denied).
209
209
  # @return [EmptyStructure]
210
210
  def delete(options = {})
211
211
  options = options.merge(bucket: @bucket_name)
@@ -217,6 +217,7 @@ module Aws::S3
217
217
  #
218
218
  # bucket_website.put({
219
219
  # content_md5: "ContentMD5",
220
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
220
221
  # website_configuration: { # required
221
222
  # error_document: {
222
223
  # key: "ObjectKey", # required
@@ -252,18 +253,34 @@ module Aws::S3
252
253
  # header as a message integrity check to verify that the request body
253
254
  # was not corrupted in transit. For more information, see [RFC 1864][1].
254
255
  #
255
- # For requests made using the AWS Command Line Interface (CLI) or AWS
256
- # SDKs, this field is calculated automatically.
256
+ # For requests made using the Amazon Web Services Command Line Interface
257
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
258
+ # automatically.
257
259
  #
258
260
  #
259
261
  #
260
262
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
263
+ # @option options [String] :checksum_algorithm
264
+ # Indicates the algorithm used to create the checksum for the object
265
+ # when using the SDK. This header will not provide any additional
266
+ # functionality if not using the SDK. When sending this header, there
267
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
268
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
269
+ # `400 Bad Request`. For more information, see [Checking object
270
+ # integrity][1] in the *Amazon S3 User Guide*.
271
+ #
272
+ # If you provide an individual checksum, Amazon S3 ignores any provided
273
+ # `ChecksumAlgorithm` parameter.
274
+ #
275
+ #
276
+ #
277
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
261
278
  # @option options [required, Types::WebsiteConfiguration] :website_configuration
262
279
  # Container for the request.
263
280
  # @option options [String] :expected_bucket_owner
264
281
  # The account ID of the expected bucket owner. If the bucket is owned by
265
- # a different account, the request will fail with an HTTP `403 (Access
266
- # Denied)` error.
282
+ # a different account, the request fails with the HTTP status code `403
283
+ # Forbidden` (access denied).
267
284
  # @return [EmptyStructure]
268
285
  def put(options = {})
269
286
  options = options.merge(bucket: @bucket_name)