aws-sdk-s3 1.176.1 → 1.178.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +38 -24
  5. data/lib/aws-sdk-s3/bucket_acl.rb +5 -4
  6. data/lib/aws-sdk-s3/bucket_cors.rb +5 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +1 -1
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +2 -2
  9. data/lib/aws-sdk-s3/bucket_logging.rb +1 -1
  10. data/lib/aws-sdk-s3/bucket_policy.rb +9 -8
  11. data/lib/aws-sdk-s3/bucket_request_payment.rb +2 -2
  12. data/lib/aws-sdk-s3/bucket_tagging.rb +2 -2
  13. data/lib/aws-sdk-s3/bucket_versioning.rb +6 -6
  14. data/lib/aws-sdk-s3/bucket_website.rb +2 -2
  15. data/lib/aws-sdk-s3/client.rb +346 -204
  16. data/lib/aws-sdk-s3/client_api.rb +34 -2
  17. data/lib/aws-sdk-s3/file_downloader.rb +4 -21
  18. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  19. data/lib/aws-sdk-s3/multipart_upload.rb +48 -6
  20. data/lib/aws-sdk-s3/multipart_upload_part.rb +52 -36
  21. data/lib/aws-sdk-s3/object.rb +108 -58
  22. data/lib/aws-sdk-s3/object_acl.rb +4 -4
  23. data/lib/aws-sdk-s3/object_summary.rb +63 -28
  24. data/lib/aws-sdk-s3/object_version.rb +21 -8
  25. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  26. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  27. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  28. data/lib/aws-sdk-s3/presigner.rb +4 -5
  29. data/lib/aws-sdk-s3/types.rb +725 -405
  30. data/lib/aws-sdk-s3.rb +1 -1
  31. data/sig/bucket.rbs +3 -2
  32. data/sig/bucket_acl.rbs +1 -1
  33. data/sig/bucket_cors.rbs +1 -1
  34. data/sig/bucket_lifecycle.rbs +1 -1
  35. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  36. data/sig/bucket_logging.rbs +1 -1
  37. data/sig/bucket_policy.rbs +1 -1
  38. data/sig/bucket_request_payment.rbs +1 -1
  39. data/sig/bucket_tagging.rbs +1 -1
  40. data/sig/bucket_versioning.rbs +3 -3
  41. data/sig/bucket_website.rbs +1 -1
  42. data/sig/client.rbs +50 -29
  43. data/sig/multipart_upload.rbs +8 -1
  44. data/sig/multipart_upload_part.rbs +5 -1
  45. data/sig/object.rbs +13 -5
  46. data/sig/object_acl.rbs +1 -1
  47. data/sig/object_summary.rbs +11 -6
  48. data/sig/object_version.rbs +5 -2
  49. data/sig/resource.rbs +2 -0
  50. data/sig/types.rbs +61 -32
  51. metadata +5 -5
  52. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -40,6 +40,7 @@ require 'aws-sdk-s3/plugins/access_grants.rb'
40
40
  require 'aws-sdk-s3/plugins/arn.rb'
41
41
  require 'aws-sdk-s3/plugins/bucket_dns.rb'
42
42
  require 'aws-sdk-s3/plugins/bucket_name_restrictions.rb'
43
+ require 'aws-sdk-s3/plugins/checksum_algorithm.rb'
43
44
  require 'aws-sdk-s3/plugins/dualstack.rb'
44
45
  require 'aws-sdk-s3/plugins/expect_100_continue.rb'
45
46
  require 'aws-sdk-s3/plugins/express_session_auth.rb'
@@ -52,7 +53,6 @@ require 'aws-sdk-s3/plugins/redirects.rb'
52
53
  require 'aws-sdk-s3/plugins/s3_host_id.rb'
53
54
  require 'aws-sdk-s3/plugins/s3_signer.rb'
54
55
  require 'aws-sdk-s3/plugins/sse_cpk.rb'
55
- require 'aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb'
56
56
  require 'aws-sdk-s3/plugins/streaming_retry.rb'
57
57
  require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
58
58
  require 'aws-sdk-core/plugins/event_stream_configuration.rb'
@@ -111,6 +111,7 @@ module Aws::S3
111
111
  add_plugin(Aws::S3::Plugins::ARN)
112
112
  add_plugin(Aws::S3::Plugins::BucketDns)
113
113
  add_plugin(Aws::S3::Plugins::BucketNameRestrictions)
114
+ add_plugin(Aws::S3::Plugins::ChecksumAlgorithm)
114
115
  add_plugin(Aws::S3::Plugins::Dualstack)
115
116
  add_plugin(Aws::S3::Plugins::Expect100Continue)
116
117
  add_plugin(Aws::S3::Plugins::ExpressSessionAuth)
@@ -123,7 +124,6 @@ module Aws::S3
123
124
  add_plugin(Aws::S3::Plugins::S3HostId)
124
125
  add_plugin(Aws::S3::Plugins::S3Signer)
125
126
  add_plugin(Aws::S3::Plugins::SseCpk)
126
- add_plugin(Aws::S3::Plugins::SkipWholeMultipartGetChecksums)
127
127
  add_plugin(Aws::S3::Plugins::StreamingRetry)
128
128
  add_plugin(Aws::S3::Plugins::UrlEncodedKeys)
129
129
  add_plugin(Aws::Plugins::EventStreamConfiguration)
@@ -240,11 +240,8 @@ module Aws::S3
240
240
  # will use the Client Side Monitoring Agent Publisher.
241
241
  #
242
242
  # @option options [Boolean] :compute_checksums (true)
243
- # When `true` a MD5 checksum will be computed and sent in the Content Md5
244
- # header for :put_object and :upload_part. When `false`, MD5 checksums
245
- # will not be computed for these operations. Checksums are still computed
246
- # for operations requiring them. Checksum errors returned by Amazon S3 are
247
- # automatically retried up to `:retry_limit` times.
243
+ # This option is deprecated. Please use `:request_checksum_calculation` instead.
244
+ # When `false`, `request_checksum_calculation` is overridden to `when_required`.
248
245
  #
249
246
  # @option options [Boolean] :convert_params (true)
250
247
  # When `true`, an attempt is made to coerce request parameters into
@@ -340,6 +337,18 @@ module Aws::S3
340
337
  # Used when loading credentials from the shared credentials file
341
338
  # at HOME/.aws/credentials. When not specified, 'default' is used.
342
339
  #
340
+ # @option options [String] :request_checksum_calculation ("when_supported")
341
+ # Determines when a checksum will be calculated for request payloads. Values are:
342
+ #
343
+ # * `when_supported` - (default) When set, a checksum will be
344
+ # calculated for all request payloads of operations modeled with the
345
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
346
+ # `requestAlgorithmMember` is modeled.
347
+ # * `when_required` - When set, a checksum will only be calculated for
348
+ # request payloads of operations modeled with the `httpChecksum` trait where
349
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
350
+ # is modeled and supplied.
351
+ #
343
352
  # @option options [Integer] :request_min_compression_size_bytes (10240)
344
353
  # The minimum size in bytes that triggers compression for request
345
354
  # bodies. The value must be non-negative integer value between 0
@@ -350,6 +359,17 @@ module Aws::S3
350
359
  # where server-side-encryption is used with customer-provided keys.
351
360
  # This should only be disabled for local testing.
352
361
  #
362
+ # @option options [String] :response_checksum_validation ("when_supported")
363
+ # Determines when checksum validation will be performed on response payloads. Values are:
364
+ #
365
+ # * `when_supported` - (default) When set, checksum validation is performed on all
366
+ # response payloads of operations modeled with the `httpChecksum` trait where
367
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
368
+ # are supported.
369
+ # * `when_required` - When set, checksum validation is not performed on
370
+ # response payloads of operations unless the checksum algorithm is supported and
371
+ # the `requestValidationModeMember` member is set to `ENABLED`.
372
+ #
353
373
  # @option options [Proc] :retry_backoff
354
374
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
355
375
  # This option is only used in the `legacy` retry mode.
@@ -969,7 +989,7 @@ module Aws::S3
969
989
  # @option params [String] :checksum_crc32
970
990
  # This header can be used as a data integrity check to verify that the
971
991
  # data received is the same data that was originally sent. This header
972
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
992
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object.
973
993
  # For more information, see [Checking object integrity][1] in the
974
994
  # *Amazon S3 User Guide*.
975
995
  #
@@ -980,7 +1000,7 @@ module Aws::S3
980
1000
  # @option params [String] :checksum_crc32c
981
1001
  # This header can be used as a data integrity check to verify that the
982
1002
  # data received is the same data that was originally sent. This header
983
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
1003
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object.
984
1004
  # For more information, see [Checking object integrity][1] in the
985
1005
  # *Amazon S3 User Guide*.
986
1006
  #
@@ -988,12 +1008,24 @@ module Aws::S3
988
1008
  #
989
1009
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
990
1010
  #
1011
+ # @option params [String] :checksum_crc64nvme
1012
+ # This header can be used as a data integrity check to verify that the
1013
+ # data received is the same data that was originally sent. This header
1014
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
1015
+ # object. The `CRC-64NVME` checksum is always a full object checksum.
1016
+ # For more information, see [Checking object integrity in the Amazon S3
1017
+ # User Guide][1].
1018
+ #
1019
+ #
1020
+ #
1021
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1022
+ #
991
1023
  # @option params [String] :checksum_sha1
992
1024
  # This header can be used as a data integrity check to verify that the
993
1025
  # data received is the same data that was originally sent. This header
994
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
995
- # more information, see [Checking object integrity][1] in the *Amazon S3
996
- # User Guide*.
1026
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object.
1027
+ # For more information, see [Checking object integrity][1] in the
1028
+ # *Amazon S3 User Guide*.
997
1029
  #
998
1030
  #
999
1031
  #
@@ -1002,7 +1034,7 @@ module Aws::S3
1002
1034
  # @option params [String] :checksum_sha256
1003
1035
  # This header can be used as a data integrity check to verify that the
1004
1036
  # data received is the same data that was originally sent. This header
1005
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
1037
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object.
1006
1038
  # For more information, see [Checking object integrity][1] in the
1007
1039
  # *Amazon S3 User Guide*.
1008
1040
  #
@@ -1010,6 +1042,23 @@ module Aws::S3
1010
1042
  #
1011
1043
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1012
1044
  #
1045
+ # @option params [String] :checksum_type
1046
+ # This header specifies the checksum type of the object, which
1047
+ # determines how part-level checksums are combined to create an
1048
+ # object-level checksum for multipart objects. You can use this header
1049
+ # as a data integrity check to verify that the checksum type that is
1050
+ # received is the same checksum that was specified. If the checksum type
1051
+ # doesn’t match the checksum type that was specified for the object
1052
+ # during the `CreateMultipartUpload` request, it’ll result in a
1053
+ # `BadDigest` error. For more information, see Checking object integrity
1054
+ # in the Amazon S3 User Guide.
1055
+ #
1056
+ # @option params [Integer] :mpu_object_size
1057
+ # The expected total object size of the multipart upload request. If
1058
+ # there’s a mismatch between the specified object size value and the
1059
+ # actual object size value, it results in an `HTTP 400 InvalidRequest`
1060
+ # error.
1061
+ #
1013
1062
  # @option params [String] :request_payer
1014
1063
  # Confirms that the requester knows that they will be charged for the
1015
1064
  # request. Bucket owners need not specify this parameter in their
@@ -1125,8 +1174,10 @@ module Aws::S3
1125
1174
  # * {Types::CompleteMultipartUploadOutput#etag #etag} => String
1126
1175
  # * {Types::CompleteMultipartUploadOutput#checksum_crc32 #checksum_crc32} => String
1127
1176
  # * {Types::CompleteMultipartUploadOutput#checksum_crc32c #checksum_crc32c} => String
1177
+ # * {Types::CompleteMultipartUploadOutput#checksum_crc64nvme #checksum_crc64nvme} => String
1128
1178
  # * {Types::CompleteMultipartUploadOutput#checksum_sha1 #checksum_sha1} => String
1129
1179
  # * {Types::CompleteMultipartUploadOutput#checksum_sha256 #checksum_sha256} => String
1180
+ # * {Types::CompleteMultipartUploadOutput#checksum_type #checksum_type} => String
1130
1181
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
1131
1182
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
1132
1183
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
@@ -1175,6 +1226,7 @@ module Aws::S3
1175
1226
  # etag: "ETag",
1176
1227
  # checksum_crc32: "ChecksumCRC32",
1177
1228
  # checksum_crc32c: "ChecksumCRC32C",
1229
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
1178
1230
  # checksum_sha1: "ChecksumSHA1",
1179
1231
  # checksum_sha256: "ChecksumSHA256",
1180
1232
  # part_number: 1,
@@ -1184,8 +1236,11 @@ module Aws::S3
1184
1236
  # upload_id: "MultipartUploadId", # required
1185
1237
  # checksum_crc32: "ChecksumCRC32",
1186
1238
  # checksum_crc32c: "ChecksumCRC32C",
1239
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
1187
1240
  # checksum_sha1: "ChecksumSHA1",
1188
1241
  # checksum_sha256: "ChecksumSHA256",
1242
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
1243
+ # mpu_object_size: 1,
1189
1244
  # request_payer: "requester", # accepts requester
1190
1245
  # expected_bucket_owner: "AccountId",
1191
1246
  # if_match: "IfMatch",
@@ -1204,8 +1259,10 @@ module Aws::S3
1204
1259
  # resp.etag #=> String
1205
1260
  # resp.checksum_crc32 #=> String
1206
1261
  # resp.checksum_crc32c #=> String
1262
+ # resp.checksum_crc64nvme #=> String
1207
1263
  # resp.checksum_sha1 #=> String
1208
1264
  # resp.checksum_sha256 #=> String
1265
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1209
1266
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1210
1267
  # resp.version_id #=> String
1211
1268
  # resp.ssekms_key_id #=> String
@@ -2207,7 +2264,7 @@ module Aws::S3
2207
2264
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
2208
2265
  # bucket: "BucketName", # required
2209
2266
  # cache_control: "CacheControl",
2210
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2267
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2211
2268
  # content_disposition: "ContentDisposition",
2212
2269
  # content_encoding: "ContentEncoding",
2213
2270
  # content_language: "ContentLanguage",
@@ -2253,8 +2310,10 @@ module Aws::S3
2253
2310
  #
2254
2311
  # resp.copy_object_result.etag #=> String
2255
2312
  # resp.copy_object_result.last_modified #=> Time
2313
+ # resp.copy_object_result.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
2256
2314
  # resp.copy_object_result.checksum_crc32 #=> String
2257
2315
  # resp.copy_object_result.checksum_crc32c #=> String
2316
+ # resp.copy_object_result.checksum_crc64nvme #=> String
2258
2317
  # resp.copy_object_result.checksum_sha1 #=> String
2259
2318
  # resp.copy_object_result.checksum_sha256 #=> String
2260
2319
  # resp.expiration #=> String
@@ -2666,7 +2725,7 @@ module Aws::S3
2666
2725
  # resp = client.create_bucket_metadata_table_configuration({
2667
2726
  # bucket: "BucketName", # required
2668
2727
  # content_md5: "ContentMD5",
2669
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2728
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2670
2729
  # metadata_table_configuration: { # required
2671
2730
  # s3_tables_destination: { # required
2672
2731
  # table_bucket_arn: "S3TablesBucketArn", # required
@@ -3441,7 +3500,7 @@ module Aws::S3
3441
3500
  #
3442
3501
  # @option params [String] :ssekms_encryption_context
3443
3502
  # Specifies the Amazon Web Services KMS Encryption Context to use for
3444
- # object encryption. The value of this header is a Base64-encoded string
3503
+ # object encryption. The value of this header is a Base64 encoded string
3445
3504
  # of a UTF-8 encoded JSON, which contains the encryption context as
3446
3505
  # key-value pairs.
3447
3506
  #
@@ -3539,6 +3598,15 @@ module Aws::S3
3539
3598
  #
3540
3599
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
3541
3600
  #
3601
+ # @option params [String] :checksum_type
3602
+ # Indicates the checksum type that you want Amazon S3 to use to
3603
+ # calculate the object’s checksum value. For more information, see
3604
+ # [Checking object integrity in the Amazon S3 User Guide][1].
3605
+ #
3606
+ #
3607
+ #
3608
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
3609
+ #
3542
3610
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3543
3611
  #
3544
3612
  # * {Types::CreateMultipartUploadOutput#abort_date #abort_date} => Time
@@ -3554,6 +3622,7 @@ module Aws::S3
3554
3622
  # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
3555
3623
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
3556
3624
  # * {Types::CreateMultipartUploadOutput#checksum_algorithm #checksum_algorithm} => String
3625
+ # * {Types::CreateMultipartUploadOutput#checksum_type #checksum_type} => String
3557
3626
  #
3558
3627
  #
3559
3628
  # @example Example: To initiate a multipart upload
@@ -3606,7 +3675,8 @@ module Aws::S3
3606
3675
  # object_lock_retain_until_date: Time.now,
3607
3676
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
3608
3677
  # expected_bucket_owner: "AccountId",
3609
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3678
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
3679
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
3610
3680
  # })
3611
3681
  #
3612
3682
  # @example Response structure
@@ -3623,7 +3693,8 @@ module Aws::S3
3623
3693
  # resp.ssekms_encryption_context #=> String
3624
3694
  # resp.bucket_key_enabled #=> Boolean
3625
3695
  # resp.request_charged #=> String, one of "requester"
3626
- # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
3696
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
3697
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
3627
3698
  #
3628
3699
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
3629
3700
  #
@@ -3848,7 +3919,7 @@ module Aws::S3
3848
3919
  # @option params [String] :ssekms_encryption_context
3849
3920
  # Specifies the Amazon Web Services KMS Encryption Context as an
3850
3921
  # additional encryption context to use for object encryption. The value
3851
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
3922
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
3852
3923
  # which contains the encryption context as key-value pairs. This value
3853
3924
  # is stored as object metadata and automatically gets passed on to
3854
3925
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -5677,22 +5748,23 @@ module Aws::S3
5677
5748
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
5678
5749
  # the supported algorithm from the following list:
5679
5750
  #
5680
- # * `CRC32`
5751
+ # * `CRC-32`
5752
+ #
5753
+ # * `CRC-32C`
5681
5754
  #
5682
- # * `CRC32C`
5755
+ # * `CRC-64NVME`
5683
5756
  #
5684
- # * `SHA1`
5757
+ # * `SHA-1`
5685
5758
  #
5686
- # * `SHA256`
5759
+ # * `SHA-256`
5687
5760
  #
5688
5761
  # For more information, see [Checking object integrity][1] in the
5689
5762
  # *Amazon S3 User Guide*.
5690
5763
  #
5691
5764
  # If the individual checksum value you provide through
5692
5765
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
5693
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
5694
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
5695
- # that matches the provided value in `x-amz-checksum-algorithm `.
5766
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
5767
+ # request with a `BadDigest` error.
5696
5768
  #
5697
5769
  # If you provide an individual checksum, Amazon S3 ignores any provided
5698
5770
  # `ChecksumAlgorithm` parameter.
@@ -5708,20 +5780,22 @@ module Aws::S3
5708
5780
  # * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
5709
5781
  #
5710
5782
  #
5711
- # @example Example: To delete multiple objects from a versioned bucket
5783
+ # @example Example: To delete multiple object versions from a versioned bucket
5712
5784
  #
5713
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5714
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5785
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5786
+ # # versions and returns the key and versions of deleted objects in the response.
5715
5787
  #
5716
5788
  # resp = client.delete_objects({
5717
5789
  # bucket: "examplebucket",
5718
5790
  # delete: {
5719
5791
  # objects: [
5720
5792
  # {
5721
- # key: "objectkey1",
5793
+ # key: "HappyFace.jpg",
5794
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5722
5795
  # },
5723
5796
  # {
5724
- # key: "objectkey2",
5797
+ # key: "HappyFace.jpg",
5798
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5725
5799
  # },
5726
5800
  # ],
5727
5801
  # quiet: false,
@@ -5732,34 +5806,30 @@ module Aws::S3
5732
5806
  # {
5733
5807
  # deleted: [
5734
5808
  # {
5735
- # delete_marker: true,
5736
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5737
- # key: "objectkey1",
5809
+ # key: "HappyFace.jpg",
5810
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5738
5811
  # },
5739
5812
  # {
5740
- # delete_marker: true,
5741
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5742
- # key: "objectkey2",
5813
+ # key: "HappyFace.jpg",
5814
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5743
5815
  # },
5744
5816
  # ],
5745
5817
  # }
5746
5818
  #
5747
- # @example Example: To delete multiple object versions from a versioned bucket
5819
+ # @example Example: To delete multiple objects from a versioned bucket
5748
5820
  #
5749
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5750
- # # versions and returns the key and versions of deleted objects in the response.
5821
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5822
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5751
5823
  #
5752
5824
  # resp = client.delete_objects({
5753
5825
  # bucket: "examplebucket",
5754
5826
  # delete: {
5755
5827
  # objects: [
5756
5828
  # {
5757
- # key: "HappyFace.jpg",
5758
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5829
+ # key: "objectkey1",
5759
5830
  # },
5760
5831
  # {
5761
- # key: "HappyFace.jpg",
5762
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5832
+ # key: "objectkey2",
5763
5833
  # },
5764
5834
  # ],
5765
5835
  # quiet: false,
@@ -5770,12 +5840,14 @@ module Aws::S3
5770
5840
  # {
5771
5841
  # deleted: [
5772
5842
  # {
5773
- # key: "HappyFace.jpg",
5774
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5843
+ # delete_marker: true,
5844
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5845
+ # key: "objectkey1",
5775
5846
  # },
5776
5847
  # {
5777
- # key: "HappyFace.jpg",
5778
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5848
+ # delete_marker: true,
5849
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5850
+ # key: "objectkey2",
5779
5851
  # },
5780
5852
  # ],
5781
5853
  # }
@@ -5800,7 +5872,7 @@ module Aws::S3
5800
5872
  # request_payer: "requester", # accepts requester
5801
5873
  # bypass_governance_retention: false,
5802
5874
  # expected_bucket_owner: "AccountId",
5803
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
5875
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
5804
5876
  # })
5805
5877
  #
5806
5878
  # @example Response structure
@@ -8639,8 +8711,10 @@ module Aws::S3
8639
8711
  # * {Types::GetObjectOutput#etag #etag} => String
8640
8712
  # * {Types::GetObjectOutput#checksum_crc32 #checksum_crc32} => String
8641
8713
  # * {Types::GetObjectOutput#checksum_crc32c #checksum_crc32c} => String
8714
+ # * {Types::GetObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
8642
8715
  # * {Types::GetObjectOutput#checksum_sha1 #checksum_sha1} => String
8643
8716
  # * {Types::GetObjectOutput#checksum_sha256 #checksum_sha256} => String
8717
+ # * {Types::GetObjectOutput#checksum_type #checksum_type} => String
8644
8718
  # * {Types::GetObjectOutput#missing_meta #missing_meta} => Integer
8645
8719
  # * {Types::GetObjectOutput#version_id #version_id} => String
8646
8720
  # * {Types::GetObjectOutput#cache_control #cache_control} => String
@@ -8781,8 +8855,10 @@ module Aws::S3
8781
8855
  # resp.etag #=> String
8782
8856
  # resp.checksum_crc32 #=> String
8783
8857
  # resp.checksum_crc32c #=> String
8858
+ # resp.checksum_crc64nvme #=> String
8784
8859
  # resp.checksum_sha1 #=> String
8785
8860
  # resp.checksum_sha256 #=> String
8861
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
8786
8862
  # resp.missing_meta #=> Integer
8787
8863
  # resp.version_id #=> String
8788
8864
  # resp.cache_control #=> String
@@ -9341,8 +9417,10 @@ module Aws::S3
9341
9417
  # resp.etag #=> String
9342
9418
  # resp.checksum.checksum_crc32 #=> String
9343
9419
  # resp.checksum.checksum_crc32c #=> String
9420
+ # resp.checksum.checksum_crc64nvme #=> String
9344
9421
  # resp.checksum.checksum_sha1 #=> String
9345
9422
  # resp.checksum.checksum_sha256 #=> String
9423
+ # resp.checksum.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
9346
9424
  # resp.object_parts.total_parts_count #=> Integer
9347
9425
  # resp.object_parts.part_number_marker #=> Integer
9348
9426
  # resp.object_parts.next_part_number_marker #=> Integer
@@ -9353,6 +9431,7 @@ module Aws::S3
9353
9431
  # resp.object_parts.parts[0].size #=> Integer
9354
9432
  # resp.object_parts.parts[0].checksum_crc32 #=> String
9355
9433
  # resp.object_parts.parts[0].checksum_crc32c #=> String
9434
+ # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9356
9435
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9357
9436
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9358
9437
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
@@ -10554,8 +10633,10 @@ module Aws::S3
10554
10633
  # * {Types::HeadObjectOutput#content_length #content_length} => Integer
10555
10634
  # * {Types::HeadObjectOutput#checksum_crc32 #checksum_crc32} => String
10556
10635
  # * {Types::HeadObjectOutput#checksum_crc32c #checksum_crc32c} => String
10636
+ # * {Types::HeadObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
10557
10637
  # * {Types::HeadObjectOutput#checksum_sha1 #checksum_sha1} => String
10558
10638
  # * {Types::HeadObjectOutput#checksum_sha256 #checksum_sha256} => String
10639
+ # * {Types::HeadObjectOutput#checksum_type #checksum_type} => String
10559
10640
  # * {Types::HeadObjectOutput#etag #etag} => String
10560
10641
  # * {Types::HeadObjectOutput#missing_meta #missing_meta} => Integer
10561
10642
  # * {Types::HeadObjectOutput#version_id #version_id} => String
@@ -10640,8 +10721,10 @@ module Aws::S3
10640
10721
  # resp.content_length #=> Integer
10641
10722
  # resp.checksum_crc32 #=> String
10642
10723
  # resp.checksum_crc32c #=> String
10724
+ # resp.checksum_crc64nvme #=> String
10643
10725
  # resp.checksum_sha1 #=> String
10644
10726
  # resp.checksum_sha256 #=> String
10727
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
10645
10728
  # resp.etag #=> String
10646
10729
  # resp.missing_meta #=> Integer
10647
10730
  # resp.version_id #=> String
@@ -11606,97 +11689,97 @@ module Aws::S3
11606
11689
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11607
11690
  #
11608
11691
  #
11609
- # @example Example: To list in-progress multipart uploads on a bucket
11692
+ # @example Example: List next set of multipart uploads when previous result is truncated
11610
11693
  #
11611
- # # The following example lists in-progress multipart uploads on a specific bucket.
11694
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11695
+ # # setup of multipart uploads.
11612
11696
  #
11613
11697
  # resp = client.list_multipart_uploads({
11614
11698
  # bucket: "examplebucket",
11699
+ # key_marker: "nextkeyfrompreviousresponse",
11700
+ # max_uploads: 2,
11701
+ # upload_id_marker: "valuefrompreviousresponse",
11615
11702
  # })
11616
11703
  #
11617
11704
  # resp.to_h outputs the following:
11618
11705
  # {
11706
+ # bucket: "acl1",
11707
+ # is_truncated: true,
11708
+ # key_marker: "",
11709
+ # max_uploads: 2,
11710
+ # next_key_marker: "someobjectkey",
11711
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11712
+ # upload_id_marker: "",
11619
11713
  # uploads: [
11620
11714
  # {
11621
11715
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11622
11716
  # initiator: {
11623
- # display_name: "display-name",
11717
+ # display_name: "ownder-display-name",
11624
11718
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11625
11719
  # },
11626
11720
  # key: "JavaFile",
11627
11721
  # owner: {
11628
- # display_name: "display-name",
11629
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11722
+ # display_name: "mohanataws",
11723
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11630
11724
  # },
11631
11725
  # storage_class: "STANDARD",
11632
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11726
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11633
11727
  # },
11634
11728
  # {
11635
11729
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11636
11730
  # initiator: {
11637
- # display_name: "display-name",
11731
+ # display_name: "ownder-display-name",
11638
11732
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11639
11733
  # },
11640
11734
  # key: "JavaFile",
11641
11735
  # owner: {
11642
- # display_name: "display-name",
11736
+ # display_name: "ownder-display-name",
11643
11737
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11644
11738
  # },
11645
11739
  # storage_class: "STANDARD",
11646
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11740
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11647
11741
  # },
11648
11742
  # ],
11649
11743
  # }
11650
11744
  #
11651
- # @example Example: List next set of multipart uploads when previous result is truncated
11745
+ # @example Example: To list in-progress multipart uploads on a bucket
11652
11746
  #
11653
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11654
- # # setup of multipart uploads.
11747
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11655
11748
  #
11656
11749
  # resp = client.list_multipart_uploads({
11657
11750
  # bucket: "examplebucket",
11658
- # key_marker: "nextkeyfrompreviousresponse",
11659
- # max_uploads: 2,
11660
- # upload_id_marker: "valuefrompreviousresponse",
11661
11751
  # })
11662
11752
  #
11663
11753
  # resp.to_h outputs the following:
11664
11754
  # {
11665
- # bucket: "acl1",
11666
- # is_truncated: true,
11667
- # key_marker: "",
11668
- # max_uploads: 2,
11669
- # next_key_marker: "someobjectkey",
11670
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11671
- # upload_id_marker: "",
11672
11755
  # uploads: [
11673
11756
  # {
11674
11757
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11675
11758
  # initiator: {
11676
- # display_name: "ownder-display-name",
11759
+ # display_name: "display-name",
11677
11760
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11678
11761
  # },
11679
11762
  # key: "JavaFile",
11680
11763
  # owner: {
11681
- # display_name: "mohanataws",
11682
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11764
+ # display_name: "display-name",
11765
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11683
11766
  # },
11684
11767
  # storage_class: "STANDARD",
11685
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11768
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11686
11769
  # },
11687
11770
  # {
11688
11771
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11689
11772
  # initiator: {
11690
- # display_name: "ownder-display-name",
11773
+ # display_name: "display-name",
11691
11774
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11692
11775
  # },
11693
11776
  # key: "JavaFile",
11694
11777
  # owner: {
11695
- # display_name: "ownder-display-name",
11778
+ # display_name: "display-name",
11696
11779
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11697
11780
  # },
11698
11781
  # storage_class: "STANDARD",
11699
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11782
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11700
11783
  # },
11701
11784
  # ],
11702
11785
  # }
@@ -11735,7 +11818,8 @@ module Aws::S3
11735
11818
  # resp.uploads[0].owner.id #=> String
11736
11819
  # resp.uploads[0].initiator.id #=> String
11737
11820
  # resp.uploads[0].initiator.display_name #=> String
11738
- # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
11821
+ # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
11822
+ # resp.uploads[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
11739
11823
  # resp.common_prefixes #=> Array
11740
11824
  # resp.common_prefixes[0].prefix #=> String
11741
11825
  # resp.encoding_type #=> String, one of "url"
@@ -11953,7 +12037,8 @@ module Aws::S3
11953
12037
  # resp.versions #=> Array
11954
12038
  # resp.versions[0].etag #=> String
11955
12039
  # resp.versions[0].checksum_algorithm #=> Array
11956
- # resp.versions[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12040
+ # resp.versions[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12041
+ # resp.versions[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
11957
12042
  # resp.versions[0].size #=> Integer
11958
12043
  # resp.versions[0].storage_class #=> String, one of "STANDARD"
11959
12044
  # resp.versions[0].key #=> String
@@ -12198,7 +12283,8 @@ module Aws::S3
12198
12283
  # resp.contents[0].last_modified #=> Time
12199
12284
  # resp.contents[0].etag #=> String
12200
12285
  # resp.contents[0].checksum_algorithm #=> Array
12201
- # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12286
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12287
+ # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12202
12288
  # resp.contents[0].size #=> Integer
12203
12289
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12204
12290
  # resp.contents[0].owner.display_name #=> String
@@ -12539,7 +12625,8 @@ module Aws::S3
12539
12625
  # resp.contents[0].last_modified #=> Time
12540
12626
  # resp.contents[0].etag #=> String
12541
12627
  # resp.contents[0].checksum_algorithm #=> Array
12542
- # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12628
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12629
+ # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12543
12630
  # resp.contents[0].size #=> Integer
12544
12631
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12545
12632
  # resp.contents[0].owner.display_name #=> String
@@ -12800,6 +12887,7 @@ module Aws::S3
12800
12887
  # * {Types::ListPartsOutput#storage_class #storage_class} => String
12801
12888
  # * {Types::ListPartsOutput#request_charged #request_charged} => String
12802
12889
  # * {Types::ListPartsOutput#checksum_algorithm #checksum_algorithm} => String
12890
+ # * {Types::ListPartsOutput#checksum_type #checksum_type} => String
12803
12891
  #
12804
12892
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
12805
12893
  #
@@ -12874,6 +12962,7 @@ module Aws::S3
12874
12962
  # resp.parts[0].size #=> Integer
12875
12963
  # resp.parts[0].checksum_crc32 #=> String
12876
12964
  # resp.parts[0].checksum_crc32c #=> String
12965
+ # resp.parts[0].checksum_crc64nvme #=> String
12877
12966
  # resp.parts[0].checksum_sha1 #=> String
12878
12967
  # resp.parts[0].checksum_sha256 #=> String
12879
12968
  # resp.initiator.id #=> String
@@ -12882,7 +12971,8 @@ module Aws::S3
12882
12971
  # resp.owner.id #=> String
12883
12972
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12884
12973
  # resp.request_charged #=> String, one of "requester"
12885
- # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12974
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12975
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12886
12976
  #
12887
12977
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
12888
12978
  #
@@ -12980,7 +13070,7 @@ module Aws::S3
12980
13070
  # status: "Enabled", # accepts Enabled, Suspended
12981
13071
  # },
12982
13072
  # expected_bucket_owner: "AccountId",
12983
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13073
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
12984
13074
  # })
12985
13075
  #
12986
13076
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -13176,9 +13266,10 @@ module Aws::S3
13176
13266
  # The bucket to which to apply the ACL.
13177
13267
  #
13178
13268
  # @option params [String] :content_md5
13179
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
13180
- # used as a message integrity check to verify that the request body was
13181
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
13269
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
13270
+ # be used as a message integrity check to verify that the request body
13271
+ # was not corrupted in transit. For more information, go to [RFC
13272
+ # 1864.][1]
13182
13273
  #
13183
13274
  # For requests made using the Amazon Web Services Command Line Interface
13184
13275
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -13267,7 +13358,7 @@ module Aws::S3
13267
13358
  # },
13268
13359
  # bucket: "BucketName", # required
13269
13360
  # content_md5: "ContentMD5",
13270
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13361
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13271
13362
  # grant_full_control: "GrantFullControl",
13272
13363
  # grant_read: "GrantRead",
13273
13364
  # grant_read_acp: "GrantReadACP",
@@ -13491,9 +13582,10 @@ module Aws::S3
13491
13582
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
13492
13583
  #
13493
13584
  # @option params [String] :content_md5
13494
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
13495
- # used as a message integrity check to verify that the request body was
13496
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
13585
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
13586
+ # be used as a message integrity check to verify that the request body
13587
+ # was not corrupted in transit. For more information, go to [RFC
13588
+ # 1864.][1]
13497
13589
  #
13498
13590
  # For requests made using the Amazon Web Services Command Line Interface
13499
13591
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -13587,7 +13679,7 @@ module Aws::S3
13587
13679
  # ],
13588
13680
  # },
13589
13681
  # content_md5: "ContentMD5",
13590
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13682
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13591
13683
  # expected_bucket_owner: "AccountId",
13592
13684
  # })
13593
13685
  #
@@ -13757,7 +13849,7 @@ module Aws::S3
13757
13849
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
13758
13850
  #
13759
13851
  # @option params [String] :content_md5
13760
- # The base64-encoded 128-bit MD5 digest of the server-side encryption
13852
+ # The Base64 encoded 128-bit `MD5` digest of the server-side encryption
13761
13853
  # configuration.
13762
13854
  #
13763
13855
  # For requests made using the Amazon Web Services Command Line Interface
@@ -13810,7 +13902,7 @@ module Aws::S3
13810
13902
  # resp = client.put_bucket_encryption({
13811
13903
  # bucket: "BucketName", # required
13812
13904
  # content_md5: "ContentMD5",
13813
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13905
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13814
13906
  # server_side_encryption_configuration: { # required
13815
13907
  # rules: [ # required
13816
13908
  # {
@@ -14111,6 +14203,10 @@ module Aws::S3
14111
14203
  req.send_request(options)
14112
14204
  end
14113
14205
 
14206
+ # <note markdown="1"> This operation is not supported for directory buckets.
14207
+ #
14208
+ # </note>
14209
+ #
14114
14210
  # For an updated version of this API, see
14115
14211
  # [PutBucketLifecycleConfiguration][1]. This version has been
14116
14212
  # deprecated. Existing lifecycle configurations will work. For new
@@ -14218,7 +14314,7 @@ module Aws::S3
14218
14314
  # resp = client.put_bucket_lifecycle({
14219
14315
  # bucket: "BucketName", # required
14220
14316
  # content_md5: "ContentMD5",
14221
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14317
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14222
14318
  # lifecycle_configuration: {
14223
14319
  # rules: [ # required
14224
14320
  # {
@@ -14483,7 +14579,7 @@ module Aws::S3
14483
14579
  #
14484
14580
  # resp = client.put_bucket_lifecycle_configuration({
14485
14581
  # bucket: "BucketName", # required
14486
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14582
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14487
14583
  # lifecycle_configuration: {
14488
14584
  # rules: [ # required
14489
14585
  # {
@@ -14726,7 +14822,7 @@ module Aws::S3
14726
14822
  # },
14727
14823
  # },
14728
14824
  # content_md5: "ContentMD5",
14729
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14825
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14730
14826
  # expected_bucket_owner: "AccountId",
14731
14827
  # })
14732
14828
  #
@@ -14895,7 +14991,7 @@ module Aws::S3
14895
14991
  # resp = client.put_bucket_notification({
14896
14992
  # bucket: "BucketName", # required
14897
14993
  # content_md5: "ContentMD5",
14898
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14994
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14899
14995
  # notification_configuration: { # required
14900
14996
  # topic_configuration: {
14901
14997
  # id: "NotificationId",
@@ -15305,22 +15401,23 @@ module Aws::S3
15305
15401
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
15306
15402
  # the supported algorithm from the following list:
15307
15403
  #
15308
- # * `CRC32`
15404
+ # * `CRC-32`
15405
+ #
15406
+ # * `CRC-32C`
15309
15407
  #
15310
- # * `CRC32C`
15408
+ # * `CRC-64NVME`
15311
15409
  #
15312
- # * `SHA1`
15410
+ # * `SHA-1`
15313
15411
  #
15314
- # * `SHA256`
15412
+ # * `SHA-256`
15315
15413
  #
15316
15414
  # For more information, see [Checking object integrity][1] in the
15317
15415
  # *Amazon S3 User Guide*.
15318
15416
  #
15319
15417
  # If the individual checksum value you provide through
15320
15418
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
15321
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
15322
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
15323
- # that matches the provided value in `x-amz-checksum-algorithm `.
15419
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
15420
+ # request with a `BadDigest` error.
15324
15421
  #
15325
15422
  # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
15326
15423
  # is the default checksum algorithm that's used for performance.
@@ -15373,7 +15470,7 @@ module Aws::S3
15373
15470
  # resp = client.put_bucket_policy({
15374
15471
  # bucket: "BucketName", # required
15375
15472
  # content_md5: "ContentMD5",
15376
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15473
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15377
15474
  # confirm_remove_self_bucket_access: false,
15378
15475
  # policy: "Policy", # required
15379
15476
  # expected_bucket_owner: "AccountId",
@@ -15479,7 +15576,7 @@ module Aws::S3
15479
15576
  # The name of the bucket
15480
15577
  #
15481
15578
  # @option params [String] :content_md5
15482
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15579
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15483
15580
  # header as a message integrity check to verify that the request body
15484
15581
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15485
15582
  #
@@ -15548,7 +15645,7 @@ module Aws::S3
15548
15645
  # resp = client.put_bucket_replication({
15549
15646
  # bucket: "BucketName", # required
15550
15647
  # content_md5: "ContentMD5",
15551
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15648
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15552
15649
  # replication_configuration: { # required
15553
15650
  # role: "Role", # required
15554
15651
  # rules: [ # required
@@ -15652,7 +15749,7 @@ module Aws::S3
15652
15749
  # The bucket name.
15653
15750
  #
15654
15751
  # @option params [String] :content_md5
15655
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15752
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15656
15753
  # header as a message integrity check to verify that the request body
15657
15754
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15658
15755
  #
@@ -15707,7 +15804,7 @@ module Aws::S3
15707
15804
  # resp = client.put_bucket_request_payment({
15708
15805
  # bucket: "BucketName", # required
15709
15806
  # content_md5: "ContentMD5",
15710
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15807
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15711
15808
  # request_payment_configuration: { # required
15712
15809
  # payer: "Requester", # required, accepts Requester, BucketOwner
15713
15810
  # },
@@ -15789,7 +15886,7 @@ module Aws::S3
15789
15886
  # The bucket name.
15790
15887
  #
15791
15888
  # @option params [String] :content_md5
15792
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15889
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15793
15890
  # header as a message integrity check to verify that the request body
15794
15891
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15795
15892
  #
@@ -15853,7 +15950,7 @@ module Aws::S3
15853
15950
  # resp = client.put_bucket_tagging({
15854
15951
  # bucket: "BucketName", # required
15855
15952
  # content_md5: "ContentMD5",
15856
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15953
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15857
15954
  # tagging: { # required
15858
15955
  # tag_set: [ # required
15859
15956
  # {
@@ -15880,10 +15977,10 @@ module Aws::S3
15880
15977
  #
15881
15978
  # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
15882
15979
  # take a short amount of time for the change to be fully propagated.
15883
- # While this change is propagating, you may encounter intermittent `HTTP
15884
- # 404 NoSuchKey` errors for requests to objects created or updated after
15885
- # enabling versioning. We recommend that you wait for 15 minutes after
15886
- # enabling versioning before issuing write operations (`PUT` or
15980
+ # While this change is propagating, you might encounter intermittent
15981
+ # `HTTP 404 NoSuchKey` errors for requests to objects created or updated
15982
+ # after enabling versioning. We recommend that you wait for 15 minutes
15983
+ # after enabling versioning before issuing write operations (`PUT` or
15887
15984
  # `DELETE`) on objects in the bucket.
15888
15985
  #
15889
15986
  # </note>
@@ -15936,7 +16033,7 @@ module Aws::S3
15936
16033
  # The bucket name.
15937
16034
  #
15938
16035
  # @option params [String] :content_md5
15939
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
16036
+ # &gt;The Base64 encoded 128-bit `MD5` digest of the data. You must use
15940
16037
  # this header as a message integrity check to verify that the request
15941
16038
  # body was not corrupted in transit. For more information, see [RFC
15942
16039
  # 1864][1].
@@ -15997,7 +16094,7 @@ module Aws::S3
15997
16094
  # resp = client.put_bucket_versioning({
15998
16095
  # bucket: "BucketName", # required
15999
16096
  # content_md5: "ContentMD5",
16000
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
16097
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
16001
16098
  # mfa: "MFA",
16002
16099
  # versioning_configuration: { # required
16003
16100
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -16098,7 +16195,7 @@ module Aws::S3
16098
16195
  # The bucket name.
16099
16196
  #
16100
16197
  # @option params [String] :content_md5
16101
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
16198
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
16102
16199
  # header as a message integrity check to verify that the request body
16103
16200
  # was not corrupted in transit. For more information, see [RFC 1864][1].
16104
16201
  #
@@ -16159,7 +16256,7 @@ module Aws::S3
16159
16256
  # resp = client.put_bucket_website({
16160
16257
  # bucket: "BucketName", # required
16161
16258
  # content_md5: "ContentMD5",
16162
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
16259
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
16163
16260
  # website_configuration: { # required
16164
16261
  # error_document: {
16165
16262
  # key: "ObjectKey", # required
@@ -16448,7 +16545,7 @@ module Aws::S3
16448
16545
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
16449
16546
  #
16450
16547
  # @option params [String] :content_md5
16451
- # The base64-encoded 128-bit MD5 digest of the message (without the
16548
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
16452
16549
  # headers) according to RFC 1864. This header can be used as a message
16453
16550
  # integrity check to verify that the data is the same data that was
16454
16551
  # originally sent. Although it is optional, we recommend using the
@@ -16493,22 +16590,23 @@ module Aws::S3
16493
16590
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
16494
16591
  # the supported algorithm from the following list:
16495
16592
  #
16496
- # * `CRC32`
16593
+ # * `CRC-32`
16497
16594
  #
16498
- # * `CRC32C`
16595
+ # * `CRC-32C`
16499
16596
  #
16500
- # * `SHA1`
16597
+ # * `CRC-64NVME`
16501
16598
  #
16502
- # * `SHA256`
16599
+ # * `SHA-1`
16600
+ #
16601
+ # * `SHA-256`
16503
16602
  #
16504
16603
  # For more information, see [Checking object integrity][1] in the
16505
16604
  # *Amazon S3 User Guide*.
16506
16605
  #
16507
16606
  # If the individual checksum value you provide through
16508
16607
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
16509
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
16510
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
16511
- # that matches the provided value in `x-amz-checksum-algorithm `.
16608
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
16609
+ # request with a `BadDigest` error.
16512
16610
  #
16513
16611
  # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
16514
16612
  # for any request to upload an object with a retention period configured
@@ -16529,7 +16627,7 @@ module Aws::S3
16529
16627
  # @option params [String] :checksum_crc32
16530
16628
  # This header can be used as a data integrity check to verify that the
16531
16629
  # data received is the same data that was originally sent. This header
16532
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
16630
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object.
16533
16631
  # For more information, see [Checking object integrity][1] in the
16534
16632
  # *Amazon S3 User Guide*.
16535
16633
  #
@@ -16540,7 +16638,7 @@ module Aws::S3
16540
16638
  # @option params [String] :checksum_crc32c
16541
16639
  # This header can be used as a data integrity check to verify that the
16542
16640
  # data received is the same data that was originally sent. This header
16543
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
16641
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object.
16544
16642
  # For more information, see [Checking object integrity][1] in the
16545
16643
  # *Amazon S3 User Guide*.
16546
16644
  #
@@ -16548,12 +16646,24 @@ module Aws::S3
16548
16646
  #
16549
16647
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
16550
16648
  #
16649
+ # @option params [String] :checksum_crc64nvme
16650
+ # This header can be used as a data integrity check to verify that the
16651
+ # data received is the same data that was originally sent. This header
16652
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
16653
+ # object. The `CRC-64NVME` checksum is always a full object checksum.
16654
+ # For more information, see [Checking object integrity in the Amazon S3
16655
+ # User Guide][1].
16656
+ #
16657
+ #
16658
+ #
16659
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
16660
+ #
16551
16661
  # @option params [String] :checksum_sha1
16552
16662
  # This header can be used as a data integrity check to verify that the
16553
16663
  # data received is the same data that was originally sent. This header
16554
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
16555
- # more information, see [Checking object integrity][1] in the *Amazon S3
16556
- # User Guide*.
16664
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object.
16665
+ # For more information, see [Checking object integrity][1] in the
16666
+ # *Amazon S3 User Guide*.
16557
16667
  #
16558
16668
  #
16559
16669
  #
@@ -16562,7 +16672,7 @@ module Aws::S3
16562
16672
  # @option params [String] :checksum_sha256
16563
16673
  # This header can be used as a data integrity check to verify that the
16564
16674
  # data received is the same data that was originally sent. This header
16565
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
16675
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object.
16566
16676
  # For more information, see [Checking object integrity][1] in the
16567
16677
  # *Amazon S3 User Guide*.
16568
16678
  #
@@ -16851,7 +16961,7 @@ module Aws::S3
16851
16961
  # @option params [String] :ssekms_encryption_context
16852
16962
  # Specifies the Amazon Web Services KMS Encryption Context as an
16853
16963
  # additional encryption context to use for object encryption. The value
16854
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
16964
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
16855
16965
  # which contains the encryption context as key-value pairs. This value
16856
16966
  # is stored as object metadata and automatically gets passed on to
16857
16967
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -16962,8 +17072,10 @@ module Aws::S3
16962
17072
  # * {Types::PutObjectOutput#etag #etag} => String
16963
17073
  # * {Types::PutObjectOutput#checksum_crc32 #checksum_crc32} => String
16964
17074
  # * {Types::PutObjectOutput#checksum_crc32c #checksum_crc32c} => String
17075
+ # * {Types::PutObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
16965
17076
  # * {Types::PutObjectOutput#checksum_sha1 #checksum_sha1} => String
16966
17077
  # * {Types::PutObjectOutput#checksum_sha256 #checksum_sha256} => String
17078
+ # * {Types::PutObjectOutput#checksum_type #checksum_type} => String
16967
17079
  # * {Types::PutObjectOutput#server_side_encryption #server_side_encryption} => String
16968
17080
  # * {Types::PutObjectOutput#version_id #version_id} => String
16969
17081
  # * {Types::PutObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -16975,24 +17087,37 @@ module Aws::S3
16975
17087
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16976
17088
  #
16977
17089
  #
16978
- # @example Example: To upload an object (specify optional headers)
17090
+ # @example Example: To create an object.
16979
17091
  #
16980
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
16981
- # # storage class and use server-side encryption.
17092
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17093
+ #
17094
+ # resp = client.put_object({
17095
+ # body: "filetoupload",
17096
+ # bucket: "examplebucket",
17097
+ # key: "objectkey",
17098
+ # })
17099
+ #
17100
+ # resp.to_h outputs the following:
17101
+ # {
17102
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17103
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17104
+ # }
17105
+ #
17106
+ # @example Example: To upload an object
17107
+ #
17108
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
17109
+ # # syntax. S3 returns VersionId of the newly created object.
16982
17110
  #
16983
17111
  # resp = client.put_object({
16984
17112
  # body: "HappyFace.jpg",
16985
17113
  # bucket: "examplebucket",
16986
17114
  # key: "HappyFace.jpg",
16987
- # server_side_encryption: "AES256",
16988
- # storage_class: "STANDARD_IA",
16989
17115
  # })
16990
17116
  #
16991
17117
  # resp.to_h outputs the following:
16992
17118
  # {
16993
17119
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16994
- # server_side_encryption: "AES256",
16995
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17120
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16996
17121
  # }
16997
17122
  #
16998
17123
  # @example Example: To upload an object and specify server-side encryption and object tags
@@ -17036,24 +17161,6 @@ module Aws::S3
17036
17161
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
17037
17162
  # }
17038
17163
  #
17039
- # @example Example: To upload an object and specify canned ACL.
17040
- #
17041
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17042
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
17043
- #
17044
- # resp = client.put_object({
17045
- # acl: "authenticated-read",
17046
- # body: "filetoupload",
17047
- # bucket: "examplebucket",
17048
- # key: "exampleobject",
17049
- # })
17050
- #
17051
- # resp.to_h outputs the following:
17052
- # {
17053
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17054
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17055
- # }
17056
- #
17057
17164
  # @example Example: To upload an object and specify optional tags
17058
17165
  #
17059
17166
  # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
@@ -17072,37 +17179,42 @@ module Aws::S3
17072
17179
  # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
17073
17180
  # }
17074
17181
  #
17075
- # @example Example: To upload an object
17182
+ # @example Example: To upload an object (specify optional headers)
17076
17183
  #
17077
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
17078
- # # syntax. S3 returns VersionId of the newly created object.
17184
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
17185
+ # # storage class and use server-side encryption.
17079
17186
  #
17080
17187
  # resp = client.put_object({
17081
17188
  # body: "HappyFace.jpg",
17082
17189
  # bucket: "examplebucket",
17083
17190
  # key: "HappyFace.jpg",
17191
+ # server_side_encryption: "AES256",
17192
+ # storage_class: "STANDARD_IA",
17084
17193
  # })
17085
17194
  #
17086
17195
  # resp.to_h outputs the following:
17087
17196
  # {
17088
17197
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17089
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17198
+ # server_side_encryption: "AES256",
17199
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17090
17200
  # }
17091
17201
  #
17092
- # @example Example: To create an object.
17202
+ # @example Example: To upload an object and specify canned ACL.
17093
17203
  #
17094
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17204
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17205
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
17095
17206
  #
17096
17207
  # resp = client.put_object({
17208
+ # acl: "authenticated-read",
17097
17209
  # body: "filetoupload",
17098
17210
  # bucket: "examplebucket",
17099
- # key: "objectkey",
17211
+ # key: "exampleobject",
17100
17212
  # })
17101
17213
  #
17102
17214
  # resp.to_h outputs the following:
17103
17215
  # {
17104
17216
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17105
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17217
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17106
17218
  # }
17107
17219
  #
17108
17220
  # @example Streaming a file from disk
@@ -17124,9 +17236,10 @@ module Aws::S3
17124
17236
  # content_length: 1,
17125
17237
  # content_md5: "ContentMD5",
17126
17238
  # content_type: "ContentType",
17127
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17239
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17128
17240
  # checksum_crc32: "ChecksumCRC32",
17129
17241
  # checksum_crc32c: "ChecksumCRC32C",
17242
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
17130
17243
  # checksum_sha1: "ChecksumSHA1",
17131
17244
  # checksum_sha256: "ChecksumSHA256",
17132
17245
  # expires: Time.now,
@@ -17164,8 +17277,10 @@ module Aws::S3
17164
17277
  # resp.etag #=> String
17165
17278
  # resp.checksum_crc32 #=> String
17166
17279
  # resp.checksum_crc32c #=> String
17280
+ # resp.checksum_crc64nvme #=> String
17167
17281
  # resp.checksum_sha1 #=> String
17168
17282
  # resp.checksum_sha256 #=> String
17283
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
17169
17284
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
17170
17285
  # resp.version_id #=> String
17171
17286
  # resp.sse_customer_algorithm #=> String
@@ -17394,9 +17509,9 @@ module Aws::S3
17394
17509
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
17395
17510
  #
17396
17511
  # @option params [String] :content_md5
17397
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
17398
- # used as a message integrity check to verify that the request body was
17399
- # not corrupted in transit. For more information, go to [RFC
17512
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
17513
+ # be used as a message integrity check to verify that the request body
17514
+ # was not corrupted in transit. For more information, go to [RFC
17400
17515
  # 1864.&gt;][1]
17401
17516
  #
17402
17517
  # For requests made using the Amazon Web Services Command Line Interface
@@ -17529,7 +17644,7 @@ module Aws::S3
17529
17644
  # },
17530
17645
  # bucket: "BucketName", # required
17531
17646
  # content_md5: "ContentMD5",
17532
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17647
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17533
17648
  # grant_full_control: "GrantFullControl",
17534
17649
  # grant_read: "GrantRead",
17535
17650
  # grant_read_acp: "GrantReadACP",
@@ -17656,7 +17771,7 @@ module Aws::S3
17656
17771
  # request_payer: "requester", # accepts requester
17657
17772
  # version_id: "ObjectVersionId",
17658
17773
  # content_md5: "ContentMD5",
17659
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17774
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17660
17775
  # expected_bucket_owner: "AccountId",
17661
17776
  # })
17662
17777
  #
@@ -17775,7 +17890,7 @@ module Aws::S3
17775
17890
  # request_payer: "requester", # accepts requester
17776
17891
  # token: "ObjectLockToken",
17777
17892
  # content_md5: "ContentMD5",
17778
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17893
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17779
17894
  # expected_bucket_owner: "AccountId",
17780
17895
  # })
17781
17896
  #
@@ -17904,7 +18019,7 @@ module Aws::S3
17904
18019
  # version_id: "ObjectVersionId",
17905
18020
  # bypass_governance_retention: false,
17906
18021
  # content_md5: "ContentMD5",
17907
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18022
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17908
18023
  # expected_bucket_owner: "AccountId",
17909
18024
  # })
17910
18025
  #
@@ -18094,7 +18209,7 @@ module Aws::S3
18094
18209
  # key: "ObjectKey", # required
18095
18210
  # version_id: "ObjectVersionId",
18096
18211
  # content_md5: "ContentMD5",
18097
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18212
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
18098
18213
  # tagging: { # required
18099
18214
  # tag_set: [ # required
18100
18215
  # {
@@ -18209,7 +18324,7 @@ module Aws::S3
18209
18324
  # resp = client.put_public_access_block({
18210
18325
  # bucket: "BucketName", # required
18211
18326
  # content_md5: "ContentMD5",
18212
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18327
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
18213
18328
  # public_access_block_configuration: { # required
18214
18329
  # block_public_acls: false,
18215
18330
  # ignore_public_acls: false,
@@ -18594,7 +18709,7 @@ module Aws::S3
18594
18709
  # },
18595
18710
  # },
18596
18711
  # request_payer: "requester", # accepts requester
18597
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18712
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
18598
18713
  # expected_bucket_owner: "AccountId",
18599
18714
  # })
18600
18715
  #
@@ -19271,7 +19386,7 @@ module Aws::S3
19271
19386
  # the body cannot be determined automatically.
19272
19387
  #
19273
19388
  # @option params [String] :content_md5
19274
- # The base64-encoded 128-bit MD5 digest of the part data. This parameter
19389
+ # The Base64 encoded 128-bit MD5 digest of the part data. This parameter
19275
19390
  # is auto-populated when using the command from the CLI. This parameter
19276
19391
  # is required if object lock parameters are specified.
19277
19392
  #
@@ -19301,7 +19416,7 @@ module Aws::S3
19301
19416
  # @option params [String] :checksum_crc32
19302
19417
  # This header can be used as a data integrity check to verify that the
19303
19418
  # data received is the same data that was originally sent. This header
19304
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
19419
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object.
19305
19420
  # For more information, see [Checking object integrity][1] in the
19306
19421
  # *Amazon S3 User Guide*.
19307
19422
  #
@@ -19312,7 +19427,7 @@ module Aws::S3
19312
19427
  # @option params [String] :checksum_crc32c
19313
19428
  # This header can be used as a data integrity check to verify that the
19314
19429
  # data received is the same data that was originally sent. This header
19315
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
19430
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object.
19316
19431
  # For more information, see [Checking object integrity][1] in the
19317
19432
  # *Amazon S3 User Guide*.
19318
19433
  #
@@ -19320,12 +19435,23 @@ module Aws::S3
19320
19435
  #
19321
19436
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
19322
19437
  #
19438
+ # @option params [String] :checksum_crc64nvme
19439
+ # This header can be used as a data integrity check to verify that the
19440
+ # data received is the same data that was originally sent. This header
19441
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
19442
+ # part. For more information, see [Checking object integrity][1] in the
19443
+ # *Amazon S3 User Guide*.
19444
+ #
19445
+ #
19446
+ #
19447
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
19448
+ #
19323
19449
  # @option params [String] :checksum_sha1
19324
19450
  # This header can be used as a data integrity check to verify that the
19325
19451
  # data received is the same data that was originally sent. This header
19326
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
19327
- # more information, see [Checking object integrity][1] in the *Amazon S3
19328
- # User Guide*.
19452
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object.
19453
+ # For more information, see [Checking object integrity][1] in the
19454
+ # *Amazon S3 User Guide*.
19329
19455
  #
19330
19456
  #
19331
19457
  #
@@ -19334,7 +19460,7 @@ module Aws::S3
19334
19460
  # @option params [String] :checksum_sha256
19335
19461
  # This header can be used as a data integrity check to verify that the
19336
19462
  # data received is the same data that was originally sent. This header
19337
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
19463
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object.
19338
19464
  # For more information, see [Checking object integrity][1] in the
19339
19465
  # *Amazon S3 User Guide*.
19340
19466
  #
@@ -19411,6 +19537,7 @@ module Aws::S3
19411
19537
  # * {Types::UploadPartOutput#etag #etag} => String
19412
19538
  # * {Types::UploadPartOutput#checksum_crc32 #checksum_crc32} => String
19413
19539
  # * {Types::UploadPartOutput#checksum_crc32c #checksum_crc32c} => String
19540
+ # * {Types::UploadPartOutput#checksum_crc64nvme #checksum_crc64nvme} => String
19414
19541
  # * {Types::UploadPartOutput#checksum_sha1 #checksum_sha1} => String
19415
19542
  # * {Types::UploadPartOutput#checksum_sha256 #checksum_sha256} => String
19416
19543
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -19445,9 +19572,10 @@ module Aws::S3
19445
19572
  # bucket: "BucketName", # required
19446
19573
  # content_length: 1,
19447
19574
  # content_md5: "ContentMD5",
19448
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
19575
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
19449
19576
  # checksum_crc32: "ChecksumCRC32",
19450
19577
  # checksum_crc32c: "ChecksumCRC32C",
19578
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
19451
19579
  # checksum_sha1: "ChecksumSHA1",
19452
19580
  # checksum_sha256: "ChecksumSHA256",
19453
19581
  # key: "ObjectKey", # required
@@ -19466,6 +19594,7 @@ module Aws::S3
19466
19594
  # resp.etag #=> String
19467
19595
  # resp.checksum_crc32 #=> String
19468
19596
  # resp.checksum_crc32c #=> String
19597
+ # resp.checksum_crc64nvme #=> String
19469
19598
  # resp.checksum_sha1 #=> String
19470
19599
  # resp.checksum_sha256 #=> String
19471
19600
  # resp.sse_customer_algorithm #=> String
@@ -19971,45 +20100,45 @@ module Aws::S3
19971
20100
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
19972
20101
  #
19973
20102
  #
19974
- # @example Example: To upload a part by copying byte range from an existing object as data source
20103
+ # @example Example: To upload a part by copying data from an existing object as data source
19975
20104
  #
19976
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
19977
- # # data source.
20105
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
19978
20106
  #
19979
20107
  # resp = client.upload_part_copy({
19980
20108
  # bucket: "examplebucket",
19981
20109
  # copy_source: "/bucketname/sourceobjectkey",
19982
- # copy_source_range: "bytes=1-100000",
19983
20110
  # key: "examplelargeobject",
19984
- # part_number: 2,
20111
+ # part_number: 1,
19985
20112
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
19986
20113
  # })
19987
20114
  #
19988
20115
  # resp.to_h outputs the following:
19989
20116
  # {
19990
20117
  # copy_part_result: {
19991
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
19992
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20118
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20119
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
19993
20120
  # },
19994
20121
  # }
19995
20122
  #
19996
- # @example Example: To upload a part by copying data from an existing object as data source
20123
+ # @example Example: To upload a part by copying byte range from an existing object as data source
19997
20124
  #
19998
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
20125
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
20126
+ # # data source.
19999
20127
  #
20000
20128
  # resp = client.upload_part_copy({
20001
20129
  # bucket: "examplebucket",
20002
20130
  # copy_source: "/bucketname/sourceobjectkey",
20131
+ # copy_source_range: "bytes=1-100000",
20003
20132
  # key: "examplelargeobject",
20004
- # part_number: 1,
20133
+ # part_number: 2,
20005
20134
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
20006
20135
  # })
20007
20136
  #
20008
20137
  # resp.to_h outputs the following:
20009
20138
  # {
20010
20139
  # copy_part_result: {
20011
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20012
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
20140
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
20141
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20013
20142
  # },
20014
20143
  # }
20015
20144
  #
@@ -20044,6 +20173,7 @@ module Aws::S3
20044
20173
  # resp.copy_part_result.last_modified #=> Time
20045
20174
  # resp.copy_part_result.checksum_crc32 #=> String
20046
20175
  # resp.copy_part_result.checksum_crc32c #=> String
20176
+ # resp.copy_part_result.checksum_crc64nvme #=> String
20047
20177
  # resp.copy_part_result.checksum_sha1 #=> String
20048
20178
  # resp.copy_part_result.checksum_sha256 #=> String
20049
20179
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
@@ -20208,7 +20338,7 @@ module Aws::S3
20208
20338
  # @option params [String] :checksum_crc32
20209
20339
  # This header can be used as a data integrity check to verify that the
20210
20340
  # data received is the same data that was originally sent. This
20211
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object
20341
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object
20212
20342
  # returned by the Object Lambda function. This may not match the
20213
20343
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20214
20344
  # validation of the checksum values only when the original `GetObject`
@@ -20228,7 +20358,7 @@ module Aws::S3
20228
20358
  # @option params [String] :checksum_crc32c
20229
20359
  # This header can be used as a data integrity check to verify that the
20230
20360
  # data received is the same data that was originally sent. This
20231
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object
20361
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object
20232
20362
  # returned by the Object Lambda function. This may not match the
20233
20363
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20234
20364
  # validation of the checksum values only when the original `GetObject`
@@ -20243,10 +20373,21 @@ module Aws::S3
20243
20373
  #
20244
20374
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
20245
20375
  #
20376
+ # @option params [String] :checksum_crc64nvme
20377
+ # This header can be used as a data integrity check to verify that the
20378
+ # data received is the same data that was originally sent. This header
20379
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
20380
+ # part. For more information, see [Checking object integrity][1] in the
20381
+ # *Amazon S3 User Guide*.
20382
+ #
20383
+ #
20384
+ #
20385
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
20386
+ #
20246
20387
  # @option params [String] :checksum_sha1
20247
20388
  # This header can be used as a data integrity check to verify that the
20248
20389
  # data received is the same data that was originally sent. This
20249
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object
20390
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object
20250
20391
  # returned by the Object Lambda function. This may not match the
20251
20392
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20252
20393
  # validation of the checksum values only when the original `GetObject`
@@ -20264,7 +20405,7 @@ module Aws::S3
20264
20405
  # @option params [String] :checksum_sha256
20265
20406
  # This header can be used as a data integrity check to verify that the
20266
20407
  # data received is the same data that was originally sent. This
20267
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object
20408
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object
20268
20409
  # returned by the Object Lambda function. This may not match the
20269
20410
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20270
20411
  # validation of the checksum values only when the original `GetObject`
@@ -20416,6 +20557,7 @@ module Aws::S3
20416
20557
  # content_type: "ContentType",
20417
20558
  # checksum_crc32: "ChecksumCRC32",
20418
20559
  # checksum_crc32c: "ChecksumCRC32C",
20560
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
20419
20561
  # checksum_sha1: "ChecksumSHA1",
20420
20562
  # checksum_sha256: "ChecksumSHA256",
20421
20563
  # delete_marker: false,
@@ -20471,7 +20613,7 @@ module Aws::S3
20471
20613
  tracer: tracer
20472
20614
  )
20473
20615
  context[:gem_name] = 'aws-sdk-s3'
20474
- context[:gem_version] = '1.176.1'
20616
+ context[:gem_version] = '1.178.0'
20475
20617
  Seahorse::Client::Request.new(handlers, context)
20476
20618
  end
20477
20619