aws-sdk-s3 1.176.1 → 1.183.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +43 -31
  5. data/lib/aws-sdk-s3/bucket_acl.rb +6 -5
  6. data/lib/aws-sdk-s3/bucket_cors.rb +6 -5
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +2 -2
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +3 -3
  9. data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
  10. data/lib/aws-sdk-s3/bucket_policy.rb +6 -5
  11. data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
  12. data/lib/aws-sdk-s3/bucket_tagging.rb +3 -3
  13. data/lib/aws-sdk-s3/bucket_versioning.rb +9 -9
  14. data/lib/aws-sdk-s3/bucket_website.rb +3 -3
  15. data/lib/aws-sdk-s3/client.rb +1066 -862
  16. data/lib/aws-sdk-s3/client_api.rb +35 -2
  17. data/lib/aws-sdk-s3/endpoint_provider.rb +369 -281
  18. data/lib/aws-sdk-s3/file_downloader.rb +4 -21
  19. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  20. data/lib/aws-sdk-s3/multipart_upload.rb +50 -6
  21. data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
  22. data/lib/aws-sdk-s3/object.rb +159 -113
  23. data/lib/aws-sdk-s3/object_acl.rb +4 -4
  24. data/lib/aws-sdk-s3/object_summary.rb +107 -83
  25. data/lib/aws-sdk-s3/object_version.rb +18 -14
  26. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  27. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  28. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  29. data/lib/aws-sdk-s3/presigner.rb +4 -5
  30. data/lib/aws-sdk-s3/resource.rb +1 -1
  31. data/lib/aws-sdk-s3/types.rb +1259 -820
  32. data/lib/aws-sdk-s3.rb +1 -1
  33. data/sig/bucket.rbs +4 -3
  34. data/sig/bucket_acl.rbs +1 -1
  35. data/sig/bucket_cors.rbs +1 -1
  36. data/sig/bucket_lifecycle.rbs +1 -1
  37. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  38. data/sig/bucket_logging.rbs +1 -1
  39. data/sig/bucket_policy.rbs +1 -1
  40. data/sig/bucket_request_payment.rbs +1 -1
  41. data/sig/bucket_tagging.rbs +1 -1
  42. data/sig/bucket_versioning.rbs +3 -3
  43. data/sig/bucket_website.rbs +1 -1
  44. data/sig/client.rbs +53 -31
  45. data/sig/multipart_upload.rbs +8 -1
  46. data/sig/multipart_upload_part.rbs +5 -1
  47. data/sig/object.rbs +16 -5
  48. data/sig/object_acl.rbs +1 -1
  49. data/sig/object_summary.rbs +11 -6
  50. data/sig/object_version.rbs +5 -2
  51. data/sig/resource.rbs +3 -1
  52. data/sig/types.rbs +64 -34
  53. metadata +5 -5
  54. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -7,55 +7,55 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/invocation_id.rb'
26
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
- require 'aws-sdk-core/plugins/http_checksum.rb'
31
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
- require 'aws-sdk-core/plugins/request_compression.rb'
33
- require 'aws-sdk-core/plugins/defaults_mode.rb'
34
- require 'aws-sdk-core/plugins/recursion_detection.rb'
35
- require 'aws-sdk-core/plugins/telemetry.rb'
36
- require 'aws-sdk-core/plugins/sign.rb'
37
- require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
38
- require 'aws-sdk-s3/plugins/accelerate.rb'
39
- require 'aws-sdk-s3/plugins/access_grants.rb'
40
- require 'aws-sdk-s3/plugins/arn.rb'
41
- require 'aws-sdk-s3/plugins/bucket_dns.rb'
42
- require 'aws-sdk-s3/plugins/bucket_name_restrictions.rb'
43
- require 'aws-sdk-s3/plugins/dualstack.rb'
44
- require 'aws-sdk-s3/plugins/expect_100_continue.rb'
45
- require 'aws-sdk-s3/plugins/express_session_auth.rb'
46
- require 'aws-sdk-s3/plugins/get_bucket_location_fix.rb'
47
- require 'aws-sdk-s3/plugins/http_200_errors.rb'
48
- require 'aws-sdk-s3/plugins/iad_regional_endpoint.rb'
49
- require 'aws-sdk-s3/plugins/location_constraint.rb'
50
- require 'aws-sdk-s3/plugins/md5s.rb'
51
- require 'aws-sdk-s3/plugins/redirects.rb'
52
- require 'aws-sdk-s3/plugins/s3_host_id.rb'
53
- require 'aws-sdk-s3/plugins/s3_signer.rb'
54
- require 'aws-sdk-s3/plugins/sse_cpk.rb'
55
- require 'aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb'
56
- require 'aws-sdk-s3/plugins/streaming_retry.rb'
57
- require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
58
- require 'aws-sdk-core/plugins/event_stream_configuration.rb'
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/rest_xml'
38
+ require 'aws-sdk-s3/plugins/accelerate'
39
+ require 'aws-sdk-s3/plugins/access_grants'
40
+ require 'aws-sdk-s3/plugins/arn'
41
+ require 'aws-sdk-s3/plugins/bucket_dns'
42
+ require 'aws-sdk-s3/plugins/bucket_name_restrictions'
43
+ require 'aws-sdk-s3/plugins/checksum_algorithm'
44
+ require 'aws-sdk-s3/plugins/dualstack'
45
+ require 'aws-sdk-s3/plugins/expect_100_continue'
46
+ require 'aws-sdk-s3/plugins/express_session_auth'
47
+ require 'aws-sdk-s3/plugins/get_bucket_location_fix'
48
+ require 'aws-sdk-s3/plugins/http_200_errors'
49
+ require 'aws-sdk-s3/plugins/iad_regional_endpoint'
50
+ require 'aws-sdk-s3/plugins/location_constraint'
51
+ require 'aws-sdk-s3/plugins/md5s'
52
+ require 'aws-sdk-s3/plugins/redirects'
53
+ require 'aws-sdk-s3/plugins/s3_host_id'
54
+ require 'aws-sdk-s3/plugins/s3_signer'
55
+ require 'aws-sdk-s3/plugins/sse_cpk'
56
+ require 'aws-sdk-s3/plugins/streaming_retry'
57
+ require 'aws-sdk-s3/plugins/url_encoded_keys'
58
+ require 'aws-sdk-core/plugins/event_stream_configuration'
59
59
 
60
60
  module Aws::S3
61
61
  # An API client for S3. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -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.
@@ -577,13 +597,13 @@ module Aws::S3
577
597
  # * **Directory buckets** - For directory buckets, you must make
578
598
  # requests for this API operation to the Zonal endpoint. These
579
599
  # endpoints support virtual-hosted-style requests in the format
580
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
600
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
581
601
  # `. Path-style requests are not supported. For more information about
582
602
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
583
603
  # for directory buckets in Availability Zones][2] in the *Amazon S3
584
604
  # User Guide*. For more information about endpoints in Local Zones,
585
- # see [Available Local Zone for directory buckets][3] in the *Amazon
586
- # S3 User Guide*.
605
+ # see [Concepts for directory buckets in Local Zones][3] in the
606
+ # *Amazon S3 User Guide*.
587
607
  #
588
608
  # </note>
589
609
  #
@@ -627,7 +647,7 @@ module Aws::S3
627
647
  #
628
648
  #
629
649
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
630
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
650
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
631
651
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
632
652
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
633
653
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
@@ -645,34 +665,35 @@ module Aws::S3
645
665
  # requests are not supported. Directory bucket names must be unique in
646
666
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
647
667
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
648
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
668
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
649
669
  # naming restrictions, see [Directory bucket naming rules][1] in the
650
670
  # *Amazon S3 User Guide*.
651
671
  #
652
- # **Access points** - When you use this action with an access point, you
653
- # must provide the alias of the access point in place of the bucket name
654
- # or specify the access point ARN. When using the access point ARN, you
655
- # must direct requests to the access point hostname. The access point
656
- # hostname takes the form
672
+ # **Access points** - When you use this action with an access point for
673
+ # general purpose buckets, you must provide the alias of the access
674
+ # point in place of the bucket name or specify the access point ARN.
675
+ # When you use this action with an access point for directory buckets,
676
+ # you must provide the access point name in place of the bucket name.
677
+ # When using the access point ARN, you must direct requests to the
678
+ # access point hostname. The access point hostname takes the form
657
679
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
658
680
  # When using this action with an access point through the Amazon Web
659
681
  # Services SDKs, you provide the access point ARN in place of the bucket
660
682
  # name. For more information about access point ARNs, see [Using access
661
683
  # points][2] in the *Amazon S3 User Guide*.
662
684
  #
663
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
664
- # directory buckets.
685
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
665
686
  #
666
687
  # </note>
667
688
  #
668
- # **S3 on Outposts** - When you use this action with Amazon S3 on
669
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
670
- # S3 on Outposts hostname takes the form `
689
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
690
+ # must direct requests to the S3 on Outposts hostname. The S3 on
691
+ # Outposts hostname takes the form `
671
692
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
672
- # When you use this action with S3 on Outposts through the Amazon Web
673
- # Services SDKs, you provide the Outposts access point ARN in place of
674
- # the bucket name. For more information about S3 on Outposts ARNs, see
675
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
693
+ # When you use this action with S3 on Outposts, the destination bucket
694
+ # must be the Outposts access point ARN or the access point alias. For
695
+ # more information about S3 on Outposts, see [What is S3 on
696
+ # Outposts?][3] in the *Amazon S3 User Guide*.
676
697
  #
677
698
  #
678
699
  #
@@ -810,13 +831,13 @@ module Aws::S3
810
831
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
811
832
  # for this API operation to the Zonal endpoint. These endpoints support
812
833
  # virtual-hosted-style requests in the format
813
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
834
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
814
835
  # `. Path-style requests are not supported. For more information about
815
836
  # endpoints in Availability Zones, see [Regional and Zonal endpoints for
816
837
  # directory buckets in Availability Zones][5] in the *Amazon S3 User
817
838
  # Guide*. For more information about endpoints in Local Zones, see
818
- # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
819
- # Guide*.
839
+ # [Concepts for directory buckets in Local Zones][6] in the *Amazon S3
840
+ # User Guide*.
820
841
  #
821
842
  # </note>
822
843
  #
@@ -903,7 +924,7 @@ module Aws::S3
903
924
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
904
925
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html
905
926
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
906
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
927
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
907
928
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
908
929
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
909
930
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
@@ -922,34 +943,35 @@ module Aws::S3
922
943
  # requests are not supported. Directory bucket names must be unique in
923
944
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
924
945
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
925
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
946
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
926
947
  # naming restrictions, see [Directory bucket naming rules][1] in the
927
948
  # *Amazon S3 User Guide*.
928
949
  #
929
- # **Access points** - When you use this action with an access point, you
930
- # must provide the alias of the access point in place of the bucket name
931
- # or specify the access point ARN. When using the access point ARN, you
932
- # must direct requests to the access point hostname. The access point
933
- # hostname takes the form
950
+ # **Access points** - When you use this action with an access point for
951
+ # general purpose buckets, you must provide the alias of the access
952
+ # point in place of the bucket name or specify the access point ARN.
953
+ # When you use this action with an access point for directory buckets,
954
+ # you must provide the access point name in place of the bucket name.
955
+ # When using the access point ARN, you must direct requests to the
956
+ # access point hostname. The access point hostname takes the form
934
957
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
935
958
  # When using this action with an access point through the Amazon Web
936
959
  # Services SDKs, you provide the access point ARN in place of the bucket
937
960
  # name. For more information about access point ARNs, see [Using access
938
961
  # points][2] in the *Amazon S3 User Guide*.
939
962
  #
940
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
941
- # directory buckets.
963
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
942
964
  #
943
965
  # </note>
944
966
  #
945
- # **S3 on Outposts** - When you use this action with Amazon S3 on
946
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
947
- # S3 on Outposts hostname takes the form `
967
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
968
+ # must direct requests to the S3 on Outposts hostname. The S3 on
969
+ # Outposts hostname takes the form `
948
970
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
949
- # When you use this action with S3 on Outposts through the Amazon Web
950
- # Services SDKs, you provide the Outposts access point ARN in place of
951
- # the bucket name. For more information about S3 on Outposts ARNs, see
952
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
971
+ # When you use this action with S3 on Outposts, the destination bucket
972
+ # must be the Outposts access point ARN or the access point alias. For
973
+ # more information about S3 on Outposts, see [What is S3 on
974
+ # Outposts?][3] in the *Amazon S3 User Guide*.
953
975
  #
954
976
  #
955
977
  #
@@ -969,7 +991,7 @@ module Aws::S3
969
991
  # @option params [String] :checksum_crc32
970
992
  # This header can be used as a data integrity check to verify that the
971
993
  # 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.
994
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
973
995
  # For more information, see [Checking object integrity][1] in the
974
996
  # *Amazon S3 User Guide*.
975
997
  #
@@ -980,7 +1002,7 @@ module Aws::S3
980
1002
  # @option params [String] :checksum_crc32c
981
1003
  # This header can be used as a data integrity check to verify that the
982
1004
  # 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.
1005
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
984
1006
  # For more information, see [Checking object integrity][1] in the
985
1007
  # *Amazon S3 User Guide*.
986
1008
  #
@@ -988,10 +1010,22 @@ module Aws::S3
988
1010
  #
989
1011
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
990
1012
  #
1013
+ # @option params [String] :checksum_crc64nvme
1014
+ # This header can be used as a data integrity check to verify that the
1015
+ # data received is the same data that was originally sent. This header
1016
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
1017
+ # object. The `CRC64NVME` checksum is always a full object checksum. For
1018
+ # more information, see [Checking object integrity in the Amazon S3 User
1019
+ # Guide][1].
1020
+ #
1021
+ #
1022
+ #
1023
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1024
+ #
991
1025
  # @option params [String] :checksum_sha1
992
1026
  # This header can be used as a data integrity check to verify that the
993
1027
  # 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
1028
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
995
1029
  # more information, see [Checking object integrity][1] in the *Amazon S3
996
1030
  # User Guide*.
997
1031
  #
@@ -1002,7 +1036,7 @@ module Aws::S3
1002
1036
  # @option params [String] :checksum_sha256
1003
1037
  # This header can be used as a data integrity check to verify that the
1004
1038
  # 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.
1039
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
1006
1040
  # For more information, see [Checking object integrity][1] in the
1007
1041
  # *Amazon S3 User Guide*.
1008
1042
  #
@@ -1010,6 +1044,23 @@ module Aws::S3
1010
1044
  #
1011
1045
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1012
1046
  #
1047
+ # @option params [String] :checksum_type
1048
+ # This header specifies the checksum type of the object, which
1049
+ # determines how part-level checksums are combined to create an
1050
+ # object-level checksum for multipart objects. You can use this header
1051
+ # as a data integrity check to verify that the checksum type that is
1052
+ # received is the same checksum that was specified. If the checksum type
1053
+ # doesn’t match the checksum type that was specified for the object
1054
+ # during the `CreateMultipartUpload` request, it’ll result in a
1055
+ # `BadDigest` error. For more information, see Checking object integrity
1056
+ # in the Amazon S3 User Guide.
1057
+ #
1058
+ # @option params [Integer] :mpu_object_size
1059
+ # The expected total object size of the multipart upload request. If
1060
+ # there’s a mismatch between the specified object size value and the
1061
+ # actual object size value, it results in an `HTTP 400 InvalidRequest`
1062
+ # error.
1063
+ #
1013
1064
  # @option params [String] :request_payer
1014
1065
  # Confirms that the requester knows that they will be charged for the
1015
1066
  # request. Bucket owners need not specify this parameter in their
@@ -1125,8 +1176,10 @@ module Aws::S3
1125
1176
  # * {Types::CompleteMultipartUploadOutput#etag #etag} => String
1126
1177
  # * {Types::CompleteMultipartUploadOutput#checksum_crc32 #checksum_crc32} => String
1127
1178
  # * {Types::CompleteMultipartUploadOutput#checksum_crc32c #checksum_crc32c} => String
1179
+ # * {Types::CompleteMultipartUploadOutput#checksum_crc64nvme #checksum_crc64nvme} => String
1128
1180
  # * {Types::CompleteMultipartUploadOutput#checksum_sha1 #checksum_sha1} => String
1129
1181
  # * {Types::CompleteMultipartUploadOutput#checksum_sha256 #checksum_sha256} => String
1182
+ # * {Types::CompleteMultipartUploadOutput#checksum_type #checksum_type} => String
1130
1183
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
1131
1184
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
1132
1185
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
@@ -1175,6 +1228,7 @@ module Aws::S3
1175
1228
  # etag: "ETag",
1176
1229
  # checksum_crc32: "ChecksumCRC32",
1177
1230
  # checksum_crc32c: "ChecksumCRC32C",
1231
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
1178
1232
  # checksum_sha1: "ChecksumSHA1",
1179
1233
  # checksum_sha256: "ChecksumSHA256",
1180
1234
  # part_number: 1,
@@ -1184,8 +1238,11 @@ module Aws::S3
1184
1238
  # upload_id: "MultipartUploadId", # required
1185
1239
  # checksum_crc32: "ChecksumCRC32",
1186
1240
  # checksum_crc32c: "ChecksumCRC32C",
1241
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
1187
1242
  # checksum_sha1: "ChecksumSHA1",
1188
1243
  # checksum_sha256: "ChecksumSHA256",
1244
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
1245
+ # mpu_object_size: 1,
1189
1246
  # request_payer: "requester", # accepts requester
1190
1247
  # expected_bucket_owner: "AccountId",
1191
1248
  # if_match: "IfMatch",
@@ -1204,8 +1261,10 @@ module Aws::S3
1204
1261
  # resp.etag #=> String
1205
1262
  # resp.checksum_crc32 #=> String
1206
1263
  # resp.checksum_crc32c #=> String
1264
+ # resp.checksum_crc64nvme #=> String
1207
1265
  # resp.checksum_sha1 #=> String
1208
1266
  # resp.checksum_sha256 #=> String
1267
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1209
1268
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1210
1269
  # resp.version_id #=> String
1211
1270
  # resp.ssekms_key_id #=> String
@@ -1242,13 +1301,13 @@ module Aws::S3
1242
1301
  # * <b>Directory buckets </b> - For directory buckets, you must make
1243
1302
  # requests for this API operation to the Zonal endpoint. These
1244
1303
  # endpoints support virtual-hosted-style requests in the format
1245
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
1304
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
1246
1305
  # `. Path-style requests are not supported. For more information about
1247
1306
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
1248
1307
  # for directory buckets in Availability Zones][2] in the *Amazon S3
1249
1308
  # User Guide*. For more information about endpoints in Local Zones,
1250
- # see [Available Local Zone for directory buckets][3] in the *Amazon
1251
- # S3 User Guide*.
1309
+ # see [Concepts for directory buckets in Local Zones][3] in the
1310
+ # *Amazon S3 User Guide*.
1252
1311
  #
1253
1312
  # * VPC endpoints don't support cross-Region requests (including
1254
1313
  # copies). If you're using VPC endpoints, your source and destination
@@ -1374,9 +1433,15 @@ module Aws::S3
1374
1433
  # account. For pricing information, see [Amazon S3 pricing][10].
1375
1434
  #
1376
1435
  # HTTP Host header syntax
1436
+ # : * <b>Directory buckets </b> - The HTTP Host header syntax is `
1437
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
1377
1438
  #
1378
- # : <b>Directory buckets </b> - The HTTP Host header syntax is `
1379
- # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
1439
+ # * **Amazon S3 on Outposts** - When you use this action with S3 on
1440
+ # Outposts through the REST API, you must direct requests to the S3
1441
+ # on Outposts hostname. The S3 on Outposts hostname takes the form `
1442
+ # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
1443
+ # The hostname isn't required when you use the Amazon Web Services
1444
+ # CLI or SDKs.
1380
1445
  #
1381
1446
  # The following operations are related to `CopyObject`:
1382
1447
  #
@@ -1387,7 +1452,7 @@ module Aws::S3
1387
1452
  #
1388
1453
  #
1389
1454
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html
1390
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
1455
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
1391
1456
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
1392
1457
  # [4]: https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone
1393
1458
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
@@ -1441,7 +1506,7 @@ module Aws::S3
1441
1506
  # requests are not supported. Directory bucket names must be unique in
1442
1507
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
1443
1508
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
1444
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
1509
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
1445
1510
  # naming restrictions, see [Directory bucket naming rules][1] in the
1446
1511
  # *Amazon S3 User Guide*.
1447
1512
  #
@@ -1453,30 +1518,36 @@ module Aws::S3
1453
1518
  #
1454
1519
  # </note>
1455
1520
  #
1456
- # **Access points** - When you use this action with an access point, you
1457
- # must provide the alias of the access point in place of the bucket name
1458
- # or specify the access point ARN. When using the access point ARN, you
1459
- # must direct requests to the access point hostname. The access point
1460
- # hostname takes the form
1521
+ # **Access points** - When you use this action with an access point for
1522
+ # general purpose buckets, you must provide the alias of the access
1523
+ # point in place of the bucket name or specify the access point ARN.
1524
+ # When you use this action with an access point for directory buckets,
1525
+ # you must provide the access point name in place of the bucket name.
1526
+ # When using the access point ARN, you must direct requests to the
1527
+ # access point hostname. The access point hostname takes the form
1461
1528
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1462
1529
  # When using this action with an access point through the Amazon Web
1463
1530
  # Services SDKs, you provide the access point ARN in place of the bucket
1464
1531
  # name. For more information about access point ARNs, see [Using access
1465
1532
  # points][2] in the *Amazon S3 User Guide*.
1466
1533
  #
1467
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
1468
- # directory buckets.
1534
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
1469
1535
  #
1470
1536
  # </note>
1471
1537
  #
1472
- # **S3 on Outposts** - When you use this action with Amazon S3 on
1473
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
1474
- # S3 on Outposts hostname takes the form `
1538
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
1539
+ # must use the Outpost bucket access point ARN or the access point alias
1540
+ # for the destination bucket. You can only copy objects within the same
1541
+ # Outpost bucket. It's not supported to copy objects across different
1542
+ # Amazon Web Services Outposts, between buckets on the same Outposts, or
1543
+ # between Outposts buckets and any other bucket types. For more
1544
+ # information about S3 on Outposts, see [What is S3 on Outposts?][3] in
1545
+ # the *S3 on Outposts guide*. When you use this action with S3 on
1546
+ # Outposts through the REST API, you must direct requests to the S3 on
1547
+ # Outposts hostname, in the format `
1475
1548
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
1476
- # When you use this action with S3 on Outposts through the Amazon Web
1477
- # Services SDKs, you provide the Outposts access point ARN in place of
1478
- # the bucket name. For more information about S3 on Outposts ARNs, see
1479
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
1549
+ # The hostname isn't required when you use the Amazon Web Services CLI
1550
+ # or SDKs.
1480
1551
  #
1481
1552
  #
1482
1553
  #
@@ -1859,10 +1930,12 @@ module Aws::S3
1859
1930
  # availability. Depending on performance needs, you can specify a
1860
1931
  # different Storage Class.
1861
1932
  #
1862
- # <note markdown="1"> * <b>Directory buckets </b> - For directory buckets, only the S3
1863
- # Express One Zone storage class is supported to store newly created
1864
- # objects. Unsupported storage class values won't write a destination
1865
- # object and will respond with the HTTP status code `400 Bad Request`.
1933
+ # <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
1934
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
1935
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
1936
+ # Access storage class) in Dedicated Local Zones. Unsupported storage
1937
+ # class values won't write a destination object and will respond with
1938
+ # the HTTP status code `400 Bad Request`.
1866
1939
  #
1867
1940
  # * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
1868
1941
  # `OUTPOSTS` Storage Class.
@@ -1955,20 +2028,17 @@ module Aws::S3
1955
2028
  # Signature Version in Request Authentication][1] in the *Amazon S3 User
1956
2029
  # Guide*.
1957
2030
  #
1958
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
1959
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
1960
- # header is implicitly assigned the ID of the KMS symmetric encryption
1961
- # customer managed key that's configured for your directory bucket's
1962
- # default encryption setting. If you want to specify the `
1963
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
1964
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
1965
- # customer managed key that's configured for your directory bucket's
1966
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
1967
- # Request` error. Only use the key ID or key ARN. The key alias format
1968
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
1969
- # support 1 [customer managed key][2] per directory bucket for the
1970
- # lifetime of the bucket. The [Amazon Web Services managed key][3]
1971
- # (`aws/s3`) isn't supported.
2031
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
2032
+ # recommended to specify the `x-amz-server-side-encryption` header to
2033
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
2034
+ # header implicitly uses the bucket's default KMS customer managed key
2035
+ # ID. If you want to explicitly set the `
2036
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
2037
+ # bucket's default customer managed key (using key ID or ARN, not
2038
+ # alias). Your SSE-KMS configuration can only support 1 [customer
2039
+ # managed key][2] per directory bucket's lifetime. The [Amazon Web
2040
+ # Services managed key][3] (`aws/s3`) isn't supported. Incorrect key
2041
+ # specification results in an HTTP `400 Bad Request` error.
1972
2042
  #
1973
2043
  #
1974
2044
  #
@@ -2207,7 +2277,7 @@ module Aws::S3
2207
2277
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
2208
2278
  # bucket: "BucketName", # required
2209
2279
  # cache_control: "CacheControl",
2210
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2280
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2211
2281
  # content_disposition: "ContentDisposition",
2212
2282
  # content_encoding: "ContentEncoding",
2213
2283
  # content_language: "ContentLanguage",
@@ -2253,8 +2323,10 @@ module Aws::S3
2253
2323
  #
2254
2324
  # resp.copy_object_result.etag #=> String
2255
2325
  # resp.copy_object_result.last_modified #=> Time
2326
+ # resp.copy_object_result.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
2256
2327
  # resp.copy_object_result.checksum_crc32 #=> String
2257
2328
  # resp.copy_object_result.checksum_crc32c #=> String
2329
+ # resp.copy_object_result.checksum_crc64nvme #=> String
2258
2330
  # resp.copy_object_result.checksum_sha1 #=> String
2259
2331
  # resp.copy_object_result.checksum_sha256 #=> String
2260
2332
  # resp.expiration #=> String
@@ -2310,8 +2382,8 @@ module Aws::S3
2310
2382
  # information about endpoints in Availability Zones, see [Regional and
2311
2383
  # Zonal endpoints for directory buckets in Availability Zones][4] in
2312
2384
  # the *Amazon S3 User Guide*. For more information about endpoints in
2313
- # Local Zones, see [Available Local Zone for directory buckets][5] in
2314
- # the *Amazon S3 User Guide*.
2385
+ # Local Zones, see [Concepts for directory buckets in Local Zones][5]
2386
+ # in the *Amazon S3 User Guide*.
2315
2387
  #
2316
2388
  # </note>
2317
2389
  #
@@ -2403,7 +2475,7 @@ module Aws::S3
2403
2475
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
2404
2476
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
2405
2477
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
2406
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
2478
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
2407
2479
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
2408
2480
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
2409
2481
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
@@ -2534,33 +2606,33 @@ module Aws::S3
2534
2606
  # * {Types::CreateBucketOutput#location #location} => String
2535
2607
  #
2536
2608
  #
2537
- # @example Example: To create a bucket in a specific region
2609
+ # @example Example: To create a bucket
2538
2610
  #
2539
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2611
+ # # The following example creates a bucket.
2540
2612
  #
2541
2613
  # resp = client.create_bucket({
2542
2614
  # bucket: "examplebucket",
2543
- # create_bucket_configuration: {
2544
- # location_constraint: "eu-west-1",
2545
- # },
2546
2615
  # })
2547
2616
  #
2548
2617
  # resp.to_h outputs the following:
2549
2618
  # {
2550
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2619
+ # location: "/examplebucket",
2551
2620
  # }
2552
2621
  #
2553
- # @example Example: To create a bucket
2622
+ # @example Example: To create a bucket in a specific region
2554
2623
  #
2555
- # # The following example creates a bucket.
2624
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2556
2625
  #
2557
2626
  # resp = client.create_bucket({
2558
2627
  # bucket: "examplebucket",
2628
+ # create_bucket_configuration: {
2629
+ # location_constraint: "eu-west-1",
2630
+ # },
2559
2631
  # })
2560
2632
  #
2561
2633
  # resp.to_h outputs the following:
2562
2634
  # {
2563
- # location: "/examplebucket",
2635
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2564
2636
  # }
2565
2637
  #
2566
2638
  # @example Request syntax with placeholder values
@@ -2569,7 +2641,7 @@ module Aws::S3
2569
2641
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
2570
2642
  # bucket: "BucketName", # required
2571
2643
  # create_bucket_configuration: {
2572
- # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
2644
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
2573
2645
  # location: {
2574
2646
  # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
2575
2647
  # name: "LocationNameAsString",
@@ -2666,7 +2738,7 @@ module Aws::S3
2666
2738
  # resp = client.create_bucket_metadata_table_configuration({
2667
2739
  # bucket: "BucketName", # required
2668
2740
  # content_md5: "ContentMD5",
2669
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2741
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2670
2742
  # metadata_table_configuration: { # required
2671
2743
  # s3_tables_destination: { # required
2672
2744
  # table_bucket_arn: "S3TablesBucketArn", # required
@@ -2716,13 +2788,13 @@ module Aws::S3
2716
2788
  # * <b>Directory buckets </b> - For directory buckets, you must make
2717
2789
  # requests for this API operation to the Zonal endpoint. These
2718
2790
  # endpoints support virtual-hosted-style requests in the format
2719
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
2791
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
2720
2792
  # `. Path-style requests are not supported. For more information about
2721
2793
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
2722
2794
  # for directory buckets in Availability Zones][4] in the *Amazon S3
2723
2795
  # User Guide*. For more information about endpoints in Local Zones,
2724
- # see [Available Local Zone for directory buckets][5] in the *Amazon
2725
- # S3 User Guide*.
2796
+ # see [Concepts for directory buckets in Local Zones][5] in the
2797
+ # *Amazon S3 User Guide*.
2726
2798
  #
2727
2799
  # </note>
2728
2800
  #
@@ -2924,7 +2996,7 @@ module Aws::S3
2924
2996
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
2925
2997
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
2926
2998
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
2927
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
2999
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
2928
3000
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
2929
3001
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
2930
3002
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
@@ -2976,34 +3048,35 @@ module Aws::S3
2976
3048
  # requests are not supported. Directory bucket names must be unique in
2977
3049
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
2978
3050
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
2979
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
3051
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
2980
3052
  # naming restrictions, see [Directory bucket naming rules][1] in the
2981
3053
  # *Amazon S3 User Guide*.
2982
3054
  #
2983
- # **Access points** - When you use this action with an access point, you
2984
- # must provide the alias of the access point in place of the bucket name
2985
- # or specify the access point ARN. When using the access point ARN, you
2986
- # must direct requests to the access point hostname. The access point
2987
- # hostname takes the form
3055
+ # **Access points** - When you use this action with an access point for
3056
+ # general purpose buckets, you must provide the alias of the access
3057
+ # point in place of the bucket name or specify the access point ARN.
3058
+ # When you use this action with an access point for directory buckets,
3059
+ # you must provide the access point name in place of the bucket name.
3060
+ # When using the access point ARN, you must direct requests to the
3061
+ # access point hostname. The access point hostname takes the form
2988
3062
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2989
3063
  # When using this action with an access point through the Amazon Web
2990
3064
  # Services SDKs, you provide the access point ARN in place of the bucket
2991
3065
  # name. For more information about access point ARNs, see [Using access
2992
3066
  # points][2] in the *Amazon S3 User Guide*.
2993
3067
  #
2994
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
2995
- # directory buckets.
3068
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
2996
3069
  #
2997
3070
  # </note>
2998
3071
  #
2999
- # **S3 on Outposts** - When you use this action with Amazon S3 on
3000
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
3001
- # S3 on Outposts hostname takes the form `
3072
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
3073
+ # must direct requests to the S3 on Outposts hostname. The S3 on
3074
+ # Outposts hostname takes the form `
3002
3075
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3003
- # When you use this action with S3 on Outposts through the Amazon Web
3004
- # Services SDKs, you provide the Outposts access point ARN in place of
3005
- # the bucket name. For more information about S3 on Outposts ARNs, see
3006
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
3076
+ # When you use this action with S3 on Outposts, the destination bucket
3077
+ # must be the Outposts access point ARN or the access point alias. For
3078
+ # more information about S3 on Outposts, see [What is S3 on
3079
+ # Outposts?][3] in the *Amazon S3 User Guide*.
3007
3080
  #
3008
3081
  #
3009
3082
  #
@@ -3356,8 +3429,9 @@ module Aws::S3
3356
3429
  # a different Storage Class. For more information, see [Storage
3357
3430
  # Classes][1] in the *Amazon S3 User Guide*.
3358
3431
  #
3359
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
3360
- # supported to store newly created objects.
3432
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
3433
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
3434
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
3361
3435
  #
3362
3436
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
3363
3437
  #
@@ -3419,20 +3493,17 @@ module Aws::S3
3419
3493
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
3420
3494
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
3421
3495
  #
3422
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
3423
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
3424
- # header is implicitly assigned the ID of the KMS symmetric encryption
3425
- # customer managed key that's configured for your directory bucket's
3426
- # default encryption setting. If you want to specify the `
3427
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
3428
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
3429
- # customer managed key that's configured for your directory bucket's
3430
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
3431
- # Request` error. Only use the key ID or key ARN. The key alias format
3432
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
3433
- # support 1 [customer managed key][1] per directory bucket for the
3434
- # lifetime of the bucket. The [Amazon Web Services managed key][2]
3435
- # (`aws/s3`) isn't supported.
3496
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
3497
+ # recommended to specify the `x-amz-server-side-encryption` header to
3498
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
3499
+ # header implicitly uses the bucket's default KMS customer managed key
3500
+ # ID. If you want to explicitly set the `
3501
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
3502
+ # bucket's default customer managed key (using key ID or ARN, not
3503
+ # alias). Your SSE-KMS configuration can only support 1 [customer
3504
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
3505
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
3506
+ # specification results in an HTTP `400 Bad Request` error.
3436
3507
  #
3437
3508
  #
3438
3509
  #
@@ -3441,7 +3512,7 @@ module Aws::S3
3441
3512
  #
3442
3513
  # @option params [String] :ssekms_encryption_context
3443
3514
  # Specifies the Amazon Web Services KMS Encryption Context to use for
3444
- # object encryption. The value of this header is a Base64-encoded string
3515
+ # object encryption. The value of this header is a Base64 encoded string
3445
3516
  # of a UTF-8 encoded JSON, which contains the encryption context as
3446
3517
  # key-value pairs.
3447
3518
  #
@@ -3539,6 +3610,15 @@ module Aws::S3
3539
3610
  #
3540
3611
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
3541
3612
  #
3613
+ # @option params [String] :checksum_type
3614
+ # Indicates the checksum type that you want Amazon S3 to use to
3615
+ # calculate the object’s checksum value. For more information, see
3616
+ # [Checking object integrity in the Amazon S3 User Guide][1].
3617
+ #
3618
+ #
3619
+ #
3620
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
3621
+ #
3542
3622
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3543
3623
  #
3544
3624
  # * {Types::CreateMultipartUploadOutput#abort_date #abort_date} => Time
@@ -3554,6 +3634,7 @@ module Aws::S3
3554
3634
  # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
3555
3635
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
3556
3636
  # * {Types::CreateMultipartUploadOutput#checksum_algorithm #checksum_algorithm} => String
3637
+ # * {Types::CreateMultipartUploadOutput#checksum_type #checksum_type} => String
3557
3638
  #
3558
3639
  #
3559
3640
  # @example Example: To initiate a multipart upload
@@ -3606,7 +3687,8 @@ module Aws::S3
3606
3687
  # object_lock_retain_until_date: Time.now,
3607
3688
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
3608
3689
  # expected_bucket_owner: "AccountId",
3609
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3690
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
3691
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
3610
3692
  # })
3611
3693
  #
3612
3694
  # @example Response structure
@@ -3623,7 +3705,8 @@ module Aws::S3
3623
3705
  # resp.ssekms_encryption_context #=> String
3624
3706
  # resp.bucket_key_enabled #=> Boolean
3625
3707
  # resp.request_charged #=> String, one of "requester"
3626
- # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
3708
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
3709
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
3627
3710
  #
3628
3711
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
3629
3712
  #
@@ -3677,8 +3760,8 @@ module Aws::S3
3677
3760
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
3678
3761
  # for directory buckets in Availability Zones][3] in the *Amazon S3
3679
3762
  # User Guide*. For more information about endpoints in Local Zones,
3680
- # see [Available Local Zone for directory buckets][4] in the *Amazon
3681
- # S3 User Guide*.
3763
+ # see [Concepts for directory buckets in Local Zones][4] in the
3764
+ # *Amazon S3 User Guide*.
3682
3765
  #
3683
3766
  # * <b> <code>CopyObject</code> API operation</b> - Unlike other Zonal
3684
3767
  # endpoint API operations, the `CopyObject` API operation doesn't use
@@ -3784,7 +3867,7 @@ module Aws::S3
3784
3867
  #
3785
3868
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html
3786
3869
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-optimizing-performance-guidelines-design-patterns.html#s3-express-optimizing-performance-session-authentication
3787
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
3870
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
3788
3871
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
3789
3872
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
3790
3873
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
@@ -3824,7 +3907,7 @@ module Aws::S3
3824
3907
  #
3825
3908
  #
3826
3909
  #
3827
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
3910
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
3828
3911
  #
3829
3912
  # @option params [String] :ssekms_key_id
3830
3913
  # If you specify `x-amz-server-side-encryption` with `aws:kms`, you must
@@ -3837,8 +3920,8 @@ module Aws::S3
3837
3920
  # the Key ID.
3838
3921
  #
3839
3922
  # Your SSE-KMS configuration can only support 1 [customer managed
3840
- # key][1] per directory bucket for the lifetime of the bucket. The
3841
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
3923
+ # key][1] per directory bucket's lifetime. The [Amazon Web Services
3924
+ # managed key][2] (`aws/s3`) isn't supported.
3842
3925
  #
3843
3926
  #
3844
3927
  #
@@ -3848,7 +3931,7 @@ module Aws::S3
3848
3931
  # @option params [String] :ssekms_encryption_context
3849
3932
  # Specifies the Amazon Web Services KMS Encryption Context as an
3850
3933
  # 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,
3934
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
3852
3935
  # which contains the encryption context as key-value pairs. This value
3853
3936
  # is stored as object metadata and automatically gets passed on to
3854
3937
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -3944,8 +4027,8 @@ module Aws::S3
3944
4027
  # information about endpoints in Availability Zones, see [Regional and
3945
4028
  # Zonal endpoints for directory buckets in Availability Zones][1] in
3946
4029
  # the *Amazon S3 User Guide*. For more information about endpoints in
3947
- # Local Zones, see [Available Local Zone for directory buckets][2] in
3948
- # the *Amazon S3 User Guide*.
4030
+ # Local Zones, see [Concepts for directory buckets in Local Zones][2]
4031
+ # in the *Amazon S3 User Guide*.
3949
4032
  #
3950
4033
  # </note>
3951
4034
  #
@@ -3976,7 +4059,7 @@ module Aws::S3
3976
4059
  #
3977
4060
  #
3978
4061
  #
3979
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4062
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
3980
4063
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
3981
4064
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
3982
4065
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
@@ -4441,8 +4524,8 @@ module Aws::S3
4441
4524
  # information about endpoints in Availability Zones, see [Regional
4442
4525
  # and Zonal endpoints for directory buckets in Availability
4443
4526
  # Zones][3] in the *Amazon S3 User Guide*. For more information
4444
- # about endpoints in Local Zones, see [Available Local Zone for
4445
- # directory buckets][4] in the *Amazon S3 User Guide*.
4527
+ # about endpoints in Local Zones, see [Concepts for directory
4528
+ # buckets in Local Zones][4] in the *Amazon S3 User Guide*.
4446
4529
  #
4447
4530
  # </note>
4448
4531
  # ^
@@ -4465,7 +4548,7 @@ module Aws::S3
4465
4548
  #
4466
4549
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
4467
4550
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4468
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4551
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
4469
4552
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
4470
4553
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4471
4554
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
@@ -4692,7 +4775,7 @@ module Aws::S3
4692
4775
  # about endpoints in Availability Zones, see [Regional and Zonal
4693
4776
  # endpoints for directory buckets in Availability Zones][1] in the
4694
4777
  # *Amazon S3 User Guide*. For more information about endpoints in Local
4695
- # Zones, see [Available Local Zone for directory buckets][2] in the
4778
+ # Zones, see [Concepts for directory buckets in Local Zones][2] in the
4696
4779
  # *Amazon S3 User Guide*.
4697
4780
  #
4698
4781
  # </note>
@@ -4749,7 +4832,7 @@ module Aws::S3
4749
4832
  #
4750
4833
  #
4751
4834
  #
4752
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4835
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
4753
4836
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
4754
4837
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4755
4838
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
@@ -5037,13 +5120,13 @@ module Aws::S3
5037
5120
  # * **Directory buckets** - For directory buckets, you must make
5038
5121
  # requests for this API operation to the Zonal endpoint. These
5039
5122
  # endpoints support virtual-hosted-style requests in the format
5040
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
5123
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
5041
5124
  # `. Path-style requests are not supported. For more information about
5042
5125
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
5043
5126
  # for directory buckets in Availability Zones][3] in the *Amazon S3
5044
5127
  # User Guide*. For more information about endpoints in Local Zones,
5045
- # see [Available Local Zone for directory buckets][4] in the *Amazon
5046
- # S3 User Guide*.
5128
+ # see [Concepts for directory buckets in Local Zones][4] in the
5129
+ # *Amazon S3 User Guide*.
5047
5130
  #
5048
5131
  # </note>
5049
5132
  #
@@ -5116,7 +5199,7 @@ module Aws::S3
5116
5199
  #
5117
5200
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html
5118
5201
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectsfromVersioningSuspendedBuckets.html
5119
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
5202
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
5120
5203
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
5121
5204
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
5122
5205
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
@@ -5133,34 +5216,35 @@ module Aws::S3
5133
5216
  # requests are not supported. Directory bucket names must be unique in
5134
5217
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
5135
5218
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
5136
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
5219
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
5137
5220
  # naming restrictions, see [Directory bucket naming rules][1] in the
5138
5221
  # *Amazon S3 User Guide*.
5139
5222
  #
5140
- # **Access points** - When you use this action with an access point, you
5141
- # must provide the alias of the access point in place of the bucket name
5142
- # or specify the access point ARN. When using the access point ARN, you
5143
- # must direct requests to the access point hostname. The access point
5144
- # hostname takes the form
5223
+ # **Access points** - When you use this action with an access point for
5224
+ # general purpose buckets, you must provide the alias of the access
5225
+ # point in place of the bucket name or specify the access point ARN.
5226
+ # When you use this action with an access point for directory buckets,
5227
+ # you must provide the access point name in place of the bucket name.
5228
+ # When using the access point ARN, you must direct requests to the
5229
+ # access point hostname. The access point hostname takes the form
5145
5230
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5146
5231
  # When using this action with an access point through the Amazon Web
5147
5232
  # Services SDKs, you provide the access point ARN in place of the bucket
5148
5233
  # name. For more information about access point ARNs, see [Using access
5149
5234
  # points][2] in the *Amazon S3 User Guide*.
5150
5235
  #
5151
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
5152
- # directory buckets.
5236
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
5153
5237
  #
5154
5238
  # </note>
5155
5239
  #
5156
- # **S3 on Outposts** - When you use this action with Amazon S3 on
5157
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
5158
- # S3 on Outposts hostname takes the form `
5240
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
5241
+ # must direct requests to the S3 on Outposts hostname. The S3 on
5242
+ # Outposts hostname takes the form `
5159
5243
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
5160
- # When you use this action with S3 on Outposts through the Amazon Web
5161
- # Services SDKs, you provide the Outposts access point ARN in place of
5162
- # the bucket name. For more information about S3 on Outposts ARNs, see
5163
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
5244
+ # When you use this action with S3 on Outposts, the destination bucket
5245
+ # must be the Outposts access point ARN or the access point alias. For
5246
+ # more information about S3 on Outposts, see [What is S3 on
5247
+ # Outposts?][3] in the *Amazon S3 User Guide*.
5164
5248
  #
5165
5249
  #
5166
5250
  #
@@ -5235,7 +5319,7 @@ module Aws::S3
5235
5319
  #
5236
5320
  #
5237
5321
  #
5238
- # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
5322
+ # [1]: https://tools.ietf.org/html/rfc7232
5239
5323
  #
5240
5324
  # @option params [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
5241
5325
  # If present, the object is deleted only if its modification times
@@ -5270,6 +5354,15 @@ module Aws::S3
5270
5354
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
5271
5355
  #
5272
5356
  #
5357
+ # @example Example: To delete an object (from a non-versioned bucket)
5358
+ #
5359
+ # # The following example deletes an object from a non-versioned bucket.
5360
+ #
5361
+ # resp = client.delete_object({
5362
+ # bucket: "ExampleBucket",
5363
+ # key: "HappyFace.jpg",
5364
+ # })
5365
+ #
5273
5366
  # @example Example: To delete an object
5274
5367
  #
5275
5368
  # # The following example deletes an object from an S3 bucket.
@@ -5283,15 +5376,6 @@ module Aws::S3
5283
5376
  # {
5284
5377
  # }
5285
5378
  #
5286
- # @example Example: To delete an object (from a non-versioned bucket)
5287
- #
5288
- # # The following example deletes an object from a non-versioned bucket.
5289
- #
5290
- # resp = client.delete_object({
5291
- # bucket: "ExampleBucket",
5292
- # key: "HappyFace.jpg",
5293
- # })
5294
- #
5295
5379
  # @example Request syntax with placeholder values
5296
5380
  #
5297
5381
  # resp = client.delete_object({
@@ -5351,25 +5435,27 @@ module Aws::S3
5351
5435
  # @option params [required, String] :bucket
5352
5436
  # The bucket name containing the objects from which to remove the tags.
5353
5437
  #
5354
- # **Access points** - When you use this action with an access point, you
5355
- # must provide the alias of the access point in place of the bucket name
5356
- # or specify the access point ARN. When using the access point ARN, you
5357
- # must direct requests to the access point hostname. The access point
5358
- # hostname takes the form
5438
+ # **Access points** - When you use this action with an access point for
5439
+ # general purpose buckets, you must provide the alias of the access
5440
+ # point in place of the bucket name or specify the access point ARN.
5441
+ # When you use this action with an access point for directory buckets,
5442
+ # you must provide the access point name in place of the bucket name.
5443
+ # When using the access point ARN, you must direct requests to the
5444
+ # access point hostname. The access point hostname takes the form
5359
5445
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5360
5446
  # When using this action with an access point through the Amazon Web
5361
5447
  # Services SDKs, you provide the access point ARN in place of the bucket
5362
5448
  # name. For more information about access point ARNs, see [Using access
5363
5449
  # points][1] in the *Amazon S3 User Guide*.
5364
5450
  #
5365
- # **S3 on Outposts** - When you use this action with Amazon S3 on
5366
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
5367
- # S3 on Outposts hostname takes the form `
5451
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
5452
+ # must direct requests to the S3 on Outposts hostname. The S3 on
5453
+ # Outposts hostname takes the form `
5368
5454
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
5369
- # When you use this action with S3 on Outposts through the Amazon Web
5370
- # Services SDKs, you provide the Outposts access point ARN in place of
5371
- # the bucket name. For more information about S3 on Outposts ARNs, see
5372
- # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
5455
+ # When you use this action with S3 on Outposts, the destination bucket
5456
+ # must be the Outposts access point ARN or the access point alias. For
5457
+ # more information about S3 on Outposts, see [What is S3 on
5458
+ # Outposts?][2] in the *Amazon S3 User Guide*.
5373
5459
  #
5374
5460
  #
5375
5461
  #
@@ -5451,13 +5537,14 @@ module Aws::S3
5451
5537
  # to delete, then this operation provides a suitable alternative to
5452
5538
  # sending individual delete requests, reducing per-request overhead.
5453
5539
  #
5454
- # The request can contain a list of up to 1000 keys that you want to
5540
+ # The request can contain a list of up to 1,000 keys that you want to
5455
5541
  # delete. In the XML, you provide the object key names, and optionally,
5456
5542
  # version IDs if you want to delete a specific version of the object
5457
5543
  # from a versioning-enabled bucket. For each key, Amazon S3 performs a
5458
5544
  # delete operation and returns the result of that delete, success or
5459
- # failure, in the response. Note that if the object specified in the
5460
- # request is not found, Amazon S3 returns the result as deleted.
5545
+ # failure, in the response. If the object specified in the request
5546
+ # isn't found, Amazon S3 confirms the deletion by returning the result
5547
+ # as deleted.
5461
5548
  #
5462
5549
  # <note markdown="1"> * **Directory buckets** - S3 Versioning isn't enabled and supported
5463
5550
  # for directory buckets.
@@ -5465,13 +5552,13 @@ module Aws::S3
5465
5552
  # * **Directory buckets** - For directory buckets, you must make
5466
5553
  # requests for this API operation to the Zonal endpoint. These
5467
5554
  # endpoints support virtual-hosted-style requests in the format
5468
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
5555
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
5469
5556
  # `. Path-style requests are not supported. For more information about
5470
5557
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
5471
5558
  # for directory buckets in Availability Zones][1] in the *Amazon S3
5472
5559
  # User Guide*. For more information about endpoints in Local Zones,
5473
- # see [Available Local Zone for directory buckets][2] in the *Amazon
5474
- # S3 User Guide*.
5560
+ # see [Concepts for directory buckets in Local Zones][2] in the
5561
+ # *Amazon S3 User Guide*.
5475
5562
  #
5476
5563
  # </note>
5477
5564
  #
@@ -5555,7 +5642,7 @@ module Aws::S3
5555
5642
  #
5556
5643
  #
5557
5644
  #
5558
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
5645
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
5559
5646
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
5560
5647
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
5561
5648
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
@@ -5574,34 +5661,35 @@ module Aws::S3
5574
5661
  # requests are not supported. Directory bucket names must be unique in
5575
5662
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
5576
5663
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
5577
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
5664
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
5578
5665
  # naming restrictions, see [Directory bucket naming rules][1] in the
5579
5666
  # *Amazon S3 User Guide*.
5580
5667
  #
5581
- # **Access points** - When you use this action with an access point, you
5582
- # must provide the alias of the access point in place of the bucket name
5583
- # or specify the access point ARN. When using the access point ARN, you
5584
- # must direct requests to the access point hostname. The access point
5585
- # hostname takes the form
5668
+ # **Access points** - When you use this action with an access point for
5669
+ # general purpose buckets, you must provide the alias of the access
5670
+ # point in place of the bucket name or specify the access point ARN.
5671
+ # When you use this action with an access point for directory buckets,
5672
+ # you must provide the access point name in place of the bucket name.
5673
+ # When using the access point ARN, you must direct requests to the
5674
+ # access point hostname. The access point hostname takes the form
5586
5675
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5587
5676
  # When using this action with an access point through the Amazon Web
5588
5677
  # Services SDKs, you provide the access point ARN in place of the bucket
5589
5678
  # name. For more information about access point ARNs, see [Using access
5590
5679
  # points][2] in the *Amazon S3 User Guide*.
5591
5680
  #
5592
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
5593
- # directory buckets.
5681
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
5594
5682
  #
5595
5683
  # </note>
5596
5684
  #
5597
- # **S3 on Outposts** - When you use this action with Amazon S3 on
5598
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
5599
- # S3 on Outposts hostname takes the form `
5685
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
5686
+ # must direct requests to the S3 on Outposts hostname. The S3 on
5687
+ # Outposts hostname takes the form `
5600
5688
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
5601
- # When you use this action with S3 on Outposts through the Amazon Web
5602
- # Services SDKs, you provide the Outposts access point ARN in place of
5603
- # the bucket name. For more information about S3 on Outposts ARNs, see
5604
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
5689
+ # When you use this action with S3 on Outposts, the destination bucket
5690
+ # must be the Outposts access point ARN or the access point alias. For
5691
+ # more information about S3 on Outposts, see [What is S3 on
5692
+ # Outposts?][3] in the *Amazon S3 User Guide*.
5605
5693
  #
5606
5694
  #
5607
5695
  #
@@ -5681,6 +5769,8 @@ module Aws::S3
5681
5769
  #
5682
5770
  # * `CRC32C`
5683
5771
  #
5772
+ # * `CRC64NVME`
5773
+ #
5684
5774
  # * `SHA1`
5685
5775
  #
5686
5776
  # * `SHA256`
@@ -5690,9 +5780,8 @@ module Aws::S3
5690
5780
  #
5691
5781
  # If the individual checksum value you provide through
5692
5782
  # `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 `.
5783
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
5784
+ # request with a `BadDigest` error.
5696
5785
  #
5697
5786
  # If you provide an individual checksum, Amazon S3 ignores any provided
5698
5787
  # `ChecksumAlgorithm` parameter.
@@ -5708,20 +5797,22 @@ module Aws::S3
5708
5797
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5709
5798
  #
5710
5799
  #
5711
- # @example Example: To delete multiple objects from a versioned bucket
5800
+ # @example Example: To delete multiple object versions from a versioned bucket
5712
5801
  #
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.
5802
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5803
+ # # versions and returns the key and versions of deleted objects in the response.
5715
5804
  #
5716
5805
  # resp = client.delete_objects({
5717
5806
  # bucket: "examplebucket",
5718
5807
  # delete: {
5719
5808
  # objects: [
5720
5809
  # {
5721
- # key: "objectkey1",
5810
+ # key: "HappyFace.jpg",
5811
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5722
5812
  # },
5723
5813
  # {
5724
- # key: "objectkey2",
5814
+ # key: "HappyFace.jpg",
5815
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5725
5816
  # },
5726
5817
  # ],
5727
5818
  # quiet: false,
@@ -5732,34 +5823,30 @@ module Aws::S3
5732
5823
  # {
5733
5824
  # deleted: [
5734
5825
  # {
5735
- # delete_marker: true,
5736
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5737
- # key: "objectkey1",
5826
+ # key: "HappyFace.jpg",
5827
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5738
5828
  # },
5739
5829
  # {
5740
- # delete_marker: true,
5741
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5742
- # key: "objectkey2",
5830
+ # key: "HappyFace.jpg",
5831
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5743
5832
  # },
5744
5833
  # ],
5745
5834
  # }
5746
5835
  #
5747
- # @example Example: To delete multiple object versions from a versioned bucket
5836
+ # @example Example: To delete multiple objects from a versioned bucket
5748
5837
  #
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.
5838
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5839
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5751
5840
  #
5752
5841
  # resp = client.delete_objects({
5753
5842
  # bucket: "examplebucket",
5754
5843
  # delete: {
5755
5844
  # objects: [
5756
5845
  # {
5757
- # key: "HappyFace.jpg",
5758
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5846
+ # key: "objectkey1",
5759
5847
  # },
5760
5848
  # {
5761
- # key: "HappyFace.jpg",
5762
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5849
+ # key: "objectkey2",
5763
5850
  # },
5764
5851
  # ],
5765
5852
  # quiet: false,
@@ -5770,12 +5857,14 @@ module Aws::S3
5770
5857
  # {
5771
5858
  # deleted: [
5772
5859
  # {
5773
- # key: "HappyFace.jpg",
5774
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5860
+ # delete_marker: true,
5861
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5862
+ # key: "objectkey1",
5775
5863
  # },
5776
5864
  # {
5777
- # key: "HappyFace.jpg",
5778
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5865
+ # delete_marker: true,
5866
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5867
+ # key: "objectkey2",
5779
5868
  # },
5780
5869
  # ],
5781
5870
  # }
@@ -5800,7 +5889,7 @@ module Aws::S3
5800
5889
  # request_payer: "requester", # accepts requester
5801
5890
  # bypass_governance_retention: false,
5802
5891
  # expected_bucket_owner: "AccountId",
5803
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
5892
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
5804
5893
  # })
5805
5894
  #
5806
5895
  # @example Response structure
@@ -6733,8 +6822,8 @@ module Aws::S3
6733
6822
  # information about endpoints in Availability Zones, see [Regional
6734
6823
  # and Zonal endpoints for directory buckets in Availability
6735
6824
  # Zones][5] in the *Amazon S3 User Guide*. For more information
6736
- # about endpoints in Local Zones, see [Available Local Zone for
6737
- # directory buckets][6] in the *Amazon S3 User Guide*.
6825
+ # about endpoints in Local Zones, see [Concepts for directory
6826
+ # buckets in Local Zones][6] in the *Amazon S3 User Guide*.
6738
6827
  #
6739
6828
  # </note>
6740
6829
  #
@@ -6768,7 +6857,7 @@ module Aws::S3
6768
6857
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6769
6858
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6770
6859
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6771
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
6860
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
6772
6861
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
6773
6862
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6774
6863
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
@@ -6952,7 +7041,7 @@ module Aws::S3
6952
7041
  #
6953
7042
  # @example Response structure
6954
7043
  #
6955
- # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2"
7044
+ # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2"
6956
7045
  #
6957
7046
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation AWS API Documentation
6958
7047
  #
@@ -7484,7 +7573,7 @@ module Aws::S3
7484
7573
  # about endpoints in Availability Zones, see [Regional and Zonal
7485
7574
  # endpoints for directory buckets in Availability Zones][1] in the
7486
7575
  # *Amazon S3 User Guide*. For more information about endpoints in Local
7487
- # Zones, see [Available Local Zone for directory buckets][2] in the
7576
+ # Zones, see [Concepts for directory buckets in Local Zones][2] in the
7488
7577
  # *Amazon S3 User Guide*.
7489
7578
  #
7490
7579
  # </note>
@@ -7548,7 +7637,7 @@ module Aws::S3
7548
7637
  #
7549
7638
  #
7550
7639
  #
7551
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
7640
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
7552
7641
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
7553
7642
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
7554
7643
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
@@ -7581,8 +7670,7 @@ module Aws::S3
7581
7670
  # `InvalidAccessPointAliasError` is returned. For more information about
7582
7671
  # `InvalidAccessPointAliasError`, see [List of Error Codes][2].
7583
7672
  #
7584
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
7585
- # directory buckets.
7673
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
7586
7674
  #
7587
7675
  # </note>
7588
7676
  #
@@ -8167,7 +8255,7 @@ module Aws::S3
8167
8255
  # **Directory buckets** - Only virtual-hosted-style requests are
8168
8256
  # supported. For a virtual hosted-style request example, if you have the
8169
8257
  # object `photos/2006/February/sample.jpg` in the bucket named
8170
- # `examplebucket--use1-az5--x-s3`, specify the object key name as
8258
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`, specify the object key name as
8171
8259
  # `/photos/2006/February/sample.jpg`. Also, when you make requests to
8172
8260
  # this API operation, your requests are sent to the Zonal endpoint.
8173
8261
  # These endpoints support virtual-hosted-style requests in the format
@@ -8176,8 +8264,8 @@ module Aws::S3
8176
8264
  # endpoints in Availability Zones, see [Regional and Zonal endpoints for
8177
8265
  # directory buckets in Availability Zones][2] in the *Amazon S3 User
8178
8266
  # Guide*. For more information about endpoints in Local Zones, see
8179
- # [Available Local Zone for directory buckets][3] in the *Amazon S3 User
8180
- # Guide*.
8267
+ # [Concepts for directory buckets in Local Zones][3] in the *Amazon S3
8268
+ # User Guide*.
8181
8269
  #
8182
8270
  # Permissions
8183
8271
  # : * **General purpose bucket permissions** - You must have the
@@ -8238,10 +8326,12 @@ module Aws::S3
8238
8326
  # objects, see [Restoring Archived Objects][7] in the *Amazon S3 User
8239
8327
  # Guide*.
8240
8328
  #
8241
- # <b>Directory buckets </b> - For directory buckets, only the S3
8242
- # Express One Zone storage class is supported to store newly created
8243
- # objects. Unsupported storage class values won't write a destination
8244
- # object and will respond with the HTTP status code `400 Bad Request`.
8329
+ # <b>Directory buckets </b> - Directory buckets only support
8330
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
8331
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
8332
+ # Access storage class) in Dedicated Local Zones. Unsupported storage
8333
+ # class values won't write a destination object and will respond with
8334
+ # the HTTP status code `400 Bad Request`.
8245
8335
  #
8246
8336
  # Encryption
8247
8337
  #
@@ -8313,7 +8403,7 @@ module Aws::S3
8313
8403
  #
8314
8404
  #
8315
8405
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
8316
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
8406
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
8317
8407
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
8318
8408
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8319
8409
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
@@ -8335,15 +8425,17 @@ module Aws::S3
8335
8425
  # requests are not supported. Directory bucket names must be unique in
8336
8426
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
8337
8427
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
8338
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
8428
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
8339
8429
  # naming restrictions, see [Directory bucket naming rules][1] in the
8340
8430
  # *Amazon S3 User Guide*.
8341
8431
  #
8342
- # **Access points** - When you use this action with an access point, you
8343
- # must provide the alias of the access point in place of the bucket name
8344
- # or specify the access point ARN. When using the access point ARN, you
8345
- # must direct requests to the access point hostname. The access point
8346
- # hostname takes the form
8432
+ # **Access points** - When you use this action with an access point for
8433
+ # general purpose buckets, you must provide the alias of the access
8434
+ # point in place of the bucket name or specify the access point ARN.
8435
+ # When you use this action with an access point for directory buckets,
8436
+ # you must provide the access point name in place of the bucket name.
8437
+ # When using the access point ARN, you must direct requests to the
8438
+ # access point hostname. The access point hostname takes the form
8347
8439
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8348
8440
  # When using this action with an access point through the Amazon Web
8349
8441
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -8356,19 +8448,18 @@ module Aws::S3
8356
8448
  # takes the form
8357
8449
  # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
8358
8450
  #
8359
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
8360
- # directory buckets.
8451
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
8361
8452
  #
8362
8453
  # </note>
8363
8454
  #
8364
- # **S3 on Outposts** - When you use this action with Amazon S3 on
8365
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
8366
- # S3 on Outposts hostname takes the form `
8455
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
8456
+ # must direct requests to the S3 on Outposts hostname. The S3 on
8457
+ # Outposts hostname takes the form `
8367
8458
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8368
- # When you use this action with S3 on Outposts through the Amazon Web
8369
- # Services SDKs, you provide the Outposts access point ARN in place of
8370
- # the bucket name. For more information about S3 on Outposts ARNs, see
8371
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
8459
+ # When you use this action with S3 on Outposts, the destination bucket
8460
+ # must be the Outposts access point ARN or the access point alias. For
8461
+ # more information about S3 on Outposts, see [What is S3 on
8462
+ # Outposts?][3] in the *Amazon S3 User Guide*.
8372
8463
  #
8373
8464
  #
8374
8465
  #
@@ -8618,15 +8709,6 @@ module Aws::S3
8618
8709
  # @option params [String] :checksum_mode
8619
8710
  # To retrieve the checksum, this mode must be enabled.
8620
8711
  #
8621
- # **General purpose buckets** - In addition, if you enable checksum mode
8622
- # and the object is uploaded with a [checksum][1] and encrypted with an
8623
- # Key Management Service (KMS) key, you must have permission to use the
8624
- # `kms:Decrypt` action to retrieve the checksum.
8625
- #
8626
- #
8627
- #
8628
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
8629
- #
8630
8712
  # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8631
8713
  #
8632
8714
  # * {Types::GetObjectOutput#body #body} => IO
@@ -8639,8 +8721,10 @@ module Aws::S3
8639
8721
  # * {Types::GetObjectOutput#etag #etag} => String
8640
8722
  # * {Types::GetObjectOutput#checksum_crc32 #checksum_crc32} => String
8641
8723
  # * {Types::GetObjectOutput#checksum_crc32c #checksum_crc32c} => String
8724
+ # * {Types::GetObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
8642
8725
  # * {Types::GetObjectOutput#checksum_sha1 #checksum_sha1} => String
8643
8726
  # * {Types::GetObjectOutput#checksum_sha256 #checksum_sha256} => String
8727
+ # * {Types::GetObjectOutput#checksum_type #checksum_type} => String
8644
8728
  # * {Types::GetObjectOutput#missing_meta #missing_meta} => Integer
8645
8729
  # * {Types::GetObjectOutput#version_id #version_id} => String
8646
8730
  # * {Types::GetObjectOutput#cache_control #cache_control} => String
@@ -8668,49 +8752,49 @@ module Aws::S3
8668
8752
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8669
8753
  #
8670
8754
  #
8671
- # @example Example: To retrieve a byte range of an object
8755
+ # @example Example: To retrieve an object
8672
8756
  #
8673
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8674
- # # specific byte range.
8757
+ # # The following example retrieves an object for an S3 bucket.
8675
8758
  #
8676
8759
  # resp = client.get_object({
8677
8760
  # bucket: "examplebucket",
8678
- # key: "SampleFile.txt",
8679
- # range: "bytes=0-9",
8761
+ # key: "HappyFace.jpg",
8680
8762
  # })
8681
8763
  #
8682
8764
  # resp.to_h outputs the following:
8683
8765
  # {
8684
8766
  # accept_ranges: "bytes",
8685
- # content_length: 10,
8686
- # content_range: "bytes 0-9/43",
8687
- # content_type: "text/plain",
8688
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8689
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8767
+ # content_length: 3191,
8768
+ # content_type: "image/jpeg",
8769
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8770
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8690
8771
  # metadata: {
8691
8772
  # },
8773
+ # tag_count: 2,
8692
8774
  # version_id: "null",
8693
8775
  # }
8694
8776
  #
8695
- # @example Example: To retrieve an object
8777
+ # @example Example: To retrieve a byte range of an object
8696
8778
  #
8697
- # # The following example retrieves an object for an S3 bucket.
8779
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8780
+ # # specific byte range.
8698
8781
  #
8699
8782
  # resp = client.get_object({
8700
8783
  # bucket: "examplebucket",
8701
- # key: "HappyFace.jpg",
8784
+ # key: "SampleFile.txt",
8785
+ # range: "bytes=0-9",
8702
8786
  # })
8703
8787
  #
8704
8788
  # resp.to_h outputs the following:
8705
8789
  # {
8706
8790
  # accept_ranges: "bytes",
8707
- # content_length: 3191,
8708
- # content_type: "image/jpeg",
8709
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8710
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8791
+ # content_length: 10,
8792
+ # content_range: "bytes 0-9/43",
8793
+ # content_type: "text/plain",
8794
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8795
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8711
8796
  # metadata: {
8712
8797
  # },
8713
- # tag_count: 2,
8714
8798
  # version_id: "null",
8715
8799
  # }
8716
8800
  #
@@ -8781,8 +8865,10 @@ module Aws::S3
8781
8865
  # resp.etag #=> String
8782
8866
  # resp.checksum_crc32 #=> String
8783
8867
  # resp.checksum_crc32c #=> String
8868
+ # resp.checksum_crc64nvme #=> String
8784
8869
  # resp.checksum_sha1 #=> String
8785
8870
  # resp.checksum_sha256 #=> String
8871
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
8786
8872
  # resp.missing_meta #=> Integer
8787
8873
  # resp.version_id #=> String
8788
8874
  # resp.cache_control #=> String
@@ -8866,11 +8952,13 @@ module Aws::S3
8866
8952
  # The bucket name that contains the object for which to get the ACL
8867
8953
  # information.
8868
8954
  #
8869
- # **Access points** - When you use this action with an access point, you
8870
- # must provide the alias of the access point in place of the bucket name
8871
- # or specify the access point ARN. When using the access point ARN, you
8872
- # must direct requests to the access point hostname. The access point
8873
- # hostname takes the form
8955
+ # **Access points** - When you use this action with an access point for
8956
+ # general purpose buckets, you must provide the alias of the access
8957
+ # point in place of the bucket name or specify the access point ARN.
8958
+ # When you use this action with an access point for directory buckets,
8959
+ # you must provide the access point name in place of the bucket name.
8960
+ # When using the access point ARN, you must direct requests to the
8961
+ # access point hostname. The access point hostname takes the form
8874
8962
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8875
8963
  # When using this action with an access point through the Amazon Web
8876
8964
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9014,13 +9102,13 @@ module Aws::S3
9014
9102
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
9015
9103
  # for this API operation to the Zonal endpoint. These endpoints support
9016
9104
  # virtual-hosted-style requests in the format
9017
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
9105
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
9018
9106
  # `. Path-style requests are not supported. For more information about
9019
9107
  # endpoints in Availability Zones, see [Regional and Zonal endpoints for
9020
9108
  # directory buckets in Availability Zones][1] in the *Amazon S3 User
9021
9109
  # Guide*. For more information about endpoints in Local Zones, see
9022
- # [Available Local Zone for directory buckets][2] in the *Amazon S3 User
9023
- # Guide*.
9110
+ # [Concepts for directory buckets in Local Zones][2] in the *Amazon S3
9111
+ # User Guide*.
9024
9112
  #
9025
9113
  # </note>
9026
9114
  #
@@ -9169,7 +9257,7 @@ module Aws::S3
9169
9257
  #
9170
9258
  #
9171
9259
  #
9172
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
9260
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
9173
9261
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
9174
9262
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
9175
9263
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
@@ -9195,34 +9283,35 @@ module Aws::S3
9195
9283
  # requests are not supported. Directory bucket names must be unique in
9196
9284
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
9197
9285
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
9198
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
9286
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
9199
9287
  # naming restrictions, see [Directory bucket naming rules][1] in the
9200
9288
  # *Amazon S3 User Guide*.
9201
9289
  #
9202
- # **Access points** - When you use this action with an access point, you
9203
- # must provide the alias of the access point in place of the bucket name
9204
- # or specify the access point ARN. When using the access point ARN, you
9205
- # must direct requests to the access point hostname. The access point
9206
- # hostname takes the form
9290
+ # **Access points** - When you use this action with an access point for
9291
+ # general purpose buckets, you must provide the alias of the access
9292
+ # point in place of the bucket name or specify the access point ARN.
9293
+ # When you use this action with an access point for directory buckets,
9294
+ # you must provide the access point name in place of the bucket name.
9295
+ # When using the access point ARN, you must direct requests to the
9296
+ # access point hostname. The access point hostname takes the form
9207
9297
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9208
9298
  # When using this action with an access point through the Amazon Web
9209
9299
  # Services SDKs, you provide the access point ARN in place of the bucket
9210
9300
  # name. For more information about access point ARNs, see [Using access
9211
9301
  # points][2] in the *Amazon S3 User Guide*.
9212
9302
  #
9213
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
9214
- # directory buckets.
9303
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
9215
9304
  #
9216
9305
  # </note>
9217
9306
  #
9218
- # **S3 on Outposts** - When you use this action with Amazon S3 on
9219
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
9220
- # S3 on Outposts hostname takes the form `
9307
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
9308
+ # must direct requests to the S3 on Outposts hostname. The S3 on
9309
+ # Outposts hostname takes the form `
9221
9310
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
9222
- # When you use this action with S3 on Outposts through the Amazon Web
9223
- # Services SDKs, you provide the Outposts access point ARN in place of
9224
- # the bucket name. For more information about S3 on Outposts ARNs, see
9225
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
9311
+ # When you use this action with S3 on Outposts, the destination bucket
9312
+ # must be the Outposts access point ARN or the access point alias. For
9313
+ # more information about S3 on Outposts, see [What is S3 on
9314
+ # Outposts?][3] in the *Amazon S3 User Guide*.
9226
9315
  #
9227
9316
  #
9228
9317
  #
@@ -9341,8 +9430,10 @@ module Aws::S3
9341
9430
  # resp.etag #=> String
9342
9431
  # resp.checksum.checksum_crc32 #=> String
9343
9432
  # resp.checksum.checksum_crc32c #=> String
9433
+ # resp.checksum.checksum_crc64nvme #=> String
9344
9434
  # resp.checksum.checksum_sha1 #=> String
9345
9435
  # resp.checksum.checksum_sha256 #=> String
9436
+ # resp.checksum.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
9346
9437
  # resp.object_parts.total_parts_count #=> Integer
9347
9438
  # resp.object_parts.part_number_marker #=> Integer
9348
9439
  # resp.object_parts.next_part_number_marker #=> Integer
@@ -9353,6 +9444,7 @@ module Aws::S3
9353
9444
  # resp.object_parts.parts[0].size #=> Integer
9354
9445
  # resp.object_parts.parts[0].checksum_crc32 #=> String
9355
9446
  # resp.object_parts.parts[0].checksum_crc32c #=> String
9447
+ # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9356
9448
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9357
9449
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9358
9450
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
@@ -9391,11 +9483,13 @@ module Aws::S3
9391
9483
  # The bucket name containing the object whose legal hold status you want
9392
9484
  # to retrieve.
9393
9485
  #
9394
- # **Access points** - When you use this action with an access point, you
9395
- # must provide the alias of the access point in place of the bucket name
9396
- # or specify the access point ARN. When using the access point ARN, you
9397
- # must direct requests to the access point hostname. The access point
9398
- # hostname takes the form
9486
+ # **Access points** - When you use this action with an access point for
9487
+ # general purpose buckets, you must provide the alias of the access
9488
+ # point in place of the bucket name or specify the access point ARN.
9489
+ # When you use this action with an access point for directory buckets,
9490
+ # you must provide the access point name in place of the bucket name.
9491
+ # When using the access point ARN, you must direct requests to the
9492
+ # access point hostname. The access point hostname takes the form
9399
9493
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9400
9494
  # When using this action with an access point through the Amazon Web
9401
9495
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9486,11 +9580,13 @@ module Aws::S3
9486
9580
  # @option params [required, String] :bucket
9487
9581
  # The bucket whose Object Lock configuration you want to retrieve.
9488
9582
  #
9489
- # **Access points** - When you use this action with an access point, you
9490
- # must provide the alias of the access point in place of the bucket name
9491
- # or specify the access point ARN. When using the access point ARN, you
9492
- # must direct requests to the access point hostname. The access point
9493
- # hostname takes the form
9583
+ # **Access points** - When you use this action with an access point for
9584
+ # general purpose buckets, you must provide the alias of the access
9585
+ # point in place of the bucket name or specify the access point ARN.
9586
+ # When you use this action with an access point for directory buckets,
9587
+ # you must provide the access point name in place of the bucket name.
9588
+ # When using the access point ARN, you must direct requests to the
9589
+ # access point hostname. The access point hostname takes the form
9494
9590
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9495
9591
  # When using this action with an access point through the Amazon Web
9496
9592
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9557,11 +9653,13 @@ module Aws::S3
9557
9653
  # The bucket name containing the object whose retention settings you
9558
9654
  # want to retrieve.
9559
9655
  #
9560
- # **Access points** - When you use this action with an access point, you
9561
- # must provide the alias of the access point in place of the bucket name
9562
- # or specify the access point ARN. When using the access point ARN, you
9563
- # must direct requests to the access point hostname. The access point
9564
- # hostname takes the form
9656
+ # **Access points** - When you use this action with an access point for
9657
+ # general purpose buckets, you must provide the alias of the access
9658
+ # point in place of the bucket name or specify the access point ARN.
9659
+ # When you use this action with an access point for directory buckets,
9660
+ # you must provide the access point name in place of the bucket name.
9661
+ # When using the access point ARN, you must direct requests to the
9662
+ # access point hostname. The access point hostname takes the form
9565
9663
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9566
9664
  # When using this action with an access point through the Amazon Web
9567
9665
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9669,25 +9767,27 @@ module Aws::S3
9669
9767
  # The bucket name containing the object for which to get the tagging
9670
9768
  # information.
9671
9769
  #
9672
- # **Access points** - When you use this action with an access point, you
9673
- # must provide the alias of the access point in place of the bucket name
9674
- # or specify the access point ARN. When using the access point ARN, you
9675
- # must direct requests to the access point hostname. The access point
9676
- # hostname takes the form
9770
+ # **Access points** - When you use this action with an access point for
9771
+ # general purpose buckets, you must provide the alias of the access
9772
+ # point in place of the bucket name or specify the access point ARN.
9773
+ # When you use this action with an access point for directory buckets,
9774
+ # you must provide the access point name in place of the bucket name.
9775
+ # When using the access point ARN, you must direct requests to the
9776
+ # access point hostname. The access point hostname takes the form
9677
9777
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9678
9778
  # When using this action with an access point through the Amazon Web
9679
9779
  # Services SDKs, you provide the access point ARN in place of the bucket
9680
9780
  # name. For more information about access point ARNs, see [Using access
9681
9781
  # points][1] in the *Amazon S3 User Guide*.
9682
9782
  #
9683
- # **S3 on Outposts** - When you use this action with Amazon S3 on
9684
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
9685
- # S3 on Outposts hostname takes the form `
9783
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
9784
+ # must direct requests to the S3 on Outposts hostname. The S3 on
9785
+ # Outposts hostname takes the form `
9686
9786
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
9687
- # When you use this action with S3 on Outposts through the Amazon Web
9688
- # Services SDKs, you provide the Outposts access point ARN in place of
9689
- # the bucket name. For more information about S3 on Outposts ARNs, see
9690
- # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
9787
+ # When you use this action with S3 on Outposts, the destination bucket
9788
+ # must be the Outposts access point ARN or the access point alias. For
9789
+ # more information about S3 on Outposts, see [What is S3 on
9790
+ # Outposts?][2] in the *Amazon S3 User Guide*.
9691
9791
  #
9692
9792
  #
9693
9793
  #
@@ -9728,49 +9828,49 @@ module Aws::S3
9728
9828
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
9729
9829
  #
9730
9830
  #
9731
- # @example Example: To retrieve tag set of an object
9831
+ # @example Example: To retrieve tag set of a specific object version
9732
9832
  #
9733
- # # The following example retrieves tag set of an object.
9833
+ # # The following example retrieves tag set of an object. The request specifies object version.
9734
9834
  #
9735
9835
  # resp = client.get_object_tagging({
9736
9836
  # bucket: "examplebucket",
9737
- # key: "HappyFace.jpg",
9837
+ # key: "exampleobject",
9838
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9738
9839
  # })
9739
9840
  #
9740
9841
  # resp.to_h outputs the following:
9741
9842
  # {
9742
9843
  # tag_set: [
9743
9844
  # {
9744
- # key: "Key4",
9745
- # value: "Value4",
9746
- # },
9747
- # {
9748
- # key: "Key3",
9749
- # value: "Value3",
9845
+ # key: "Key1",
9846
+ # value: "Value1",
9750
9847
  # },
9751
9848
  # ],
9752
- # version_id: "null",
9849
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9753
9850
  # }
9754
9851
  #
9755
- # @example Example: To retrieve tag set of a specific object version
9852
+ # @example Example: To retrieve tag set of an object
9756
9853
  #
9757
- # # The following example retrieves tag set of an object. The request specifies object version.
9854
+ # # The following example retrieves tag set of an object.
9758
9855
  #
9759
9856
  # resp = client.get_object_tagging({
9760
9857
  # bucket: "examplebucket",
9761
- # key: "exampleobject",
9762
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9858
+ # key: "HappyFace.jpg",
9763
9859
  # })
9764
9860
  #
9765
9861
  # resp.to_h outputs the following:
9766
9862
  # {
9767
9863
  # tag_set: [
9768
9864
  # {
9769
- # key: "Key1",
9770
- # value: "Value1",
9865
+ # key: "Key4",
9866
+ # value: "Value4",
9867
+ # },
9868
+ # {
9869
+ # key: "Key3",
9870
+ # value: "Value3",
9771
9871
  # },
9772
9872
  # ],
9773
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9873
+ # version_id: "null",
9774
9874
  # }
9775
9875
  #
9776
9876
  # @example Request syntax with placeholder values
@@ -10040,8 +10140,8 @@ module Aws::S3
10040
10140
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
10041
10141
  # for directory buckets in Availability Zones][5] in the *Amazon S3
10042
10142
  # User Guide*. For more information about endpoints in Local Zones,
10043
- # see [Available Local Zone for directory buckets][6] in the *Amazon
10044
- # S3 User Guide*.
10143
+ # see [Concepts for directory buckets in Local Zones][6] in the
10144
+ # *Amazon S3 User Guide*.
10045
10145
  #
10046
10146
  # </note>
10047
10147
  #
@@ -10051,7 +10151,7 @@ module Aws::S3
10051
10151
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
10052
10152
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
10053
10153
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
10054
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
10154
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
10055
10155
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
10056
10156
  #
10057
10157
  # @option params [required, String] :bucket
@@ -10063,15 +10163,17 @@ module Aws::S3
10063
10163
  # requests are not supported. Directory bucket names must be unique in
10064
10164
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
10065
10165
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
10066
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
10166
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
10067
10167
  # naming restrictions, see [Directory bucket naming rules][1] in the
10068
10168
  # *Amazon S3 User Guide*.
10069
10169
  #
10070
- # **Access points** - When you use this action with an access point, you
10071
- # must provide the alias of the access point in place of the bucket name
10072
- # or specify the access point ARN. When using the access point ARN, you
10073
- # must direct requests to the access point hostname. The access point
10074
- # hostname takes the form
10170
+ # **Access points** - When you use this action with an access point for
10171
+ # general purpose buckets, you must provide the alias of the access
10172
+ # point in place of the bucket name or specify the access point ARN.
10173
+ # When you use this action with an access point for directory buckets,
10174
+ # you must provide the access point name in place of the bucket name.
10175
+ # When using the access point ARN, you must direct requests to the
10176
+ # access point hostname. The access point hostname takes the form
10075
10177
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10076
10178
  # When using this action with an access point through the Amazon Web
10077
10179
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -10085,19 +10187,18 @@ module Aws::S3
10085
10187
  # `InvalidAccessPointAliasError` is returned. For more information about
10086
10188
  # `InvalidAccessPointAliasError`, see [List of Error Codes][3].
10087
10189
  #
10088
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
10089
- # directory buckets.
10190
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
10090
10191
  #
10091
10192
  # </note>
10092
10193
  #
10093
- # **S3 on Outposts** - When you use this action with Amazon S3 on
10094
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
10095
- # S3 on Outposts hostname takes the form `
10194
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
10195
+ # must direct requests to the S3 on Outposts hostname. The S3 on
10196
+ # Outposts hostname takes the form `
10096
10197
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
10097
- # When you use this action with S3 on Outposts through the Amazon Web
10098
- # Services SDKs, you provide the Outposts access point ARN in place of
10099
- # the bucket name. For more information about S3 on Outposts ARNs, see
10100
- # [What is S3 on Outposts?][4] in the *Amazon S3 User Guide*.
10198
+ # When you use this action with S3 on Outposts, the destination bucket
10199
+ # must be the Outposts access point ARN or the access point alias. For
10200
+ # more information about S3 on Outposts, see [What is S3 on
10201
+ # Outposts?][4] in the *Amazon S3 User Guide*.
10101
10202
  #
10102
10203
  #
10103
10204
  #
@@ -10286,13 +10387,13 @@ module Aws::S3
10286
10387
  # <note markdown="1"> For directory buckets, you must make requests for this API operation
10287
10388
  # to the Zonal endpoint. These endpoints support virtual-hosted-style
10288
10389
  # requests in the format
10289
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
10390
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
10290
10391
  # `. Path-style requests are not supported. For more information about
10291
10392
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
10292
10393
  # for directory buckets in Availability Zones][6] in the *Amazon S3
10293
10394
  # User Guide*. For more information about endpoints in Local Zones,
10294
- # see [Available Local Zone for directory buckets][7] in the *Amazon
10295
- # S3 User Guide*.
10395
+ # see [Concepts for directory buckets in Local Zones][7] in the
10396
+ # *Amazon S3 User Guide*.
10296
10397
  #
10297
10398
  # </note>
10298
10399
  #
@@ -10309,7 +10410,7 @@ module Aws::S3
10309
10410
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
10310
10411
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
10311
10412
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
10312
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
10413
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
10313
10414
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
10314
10415
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
10315
10416
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
@@ -10323,34 +10424,35 @@ module Aws::S3
10323
10424
  # requests are not supported. Directory bucket names must be unique in
10324
10425
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
10325
10426
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
10326
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
10427
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
10327
10428
  # naming restrictions, see [Directory bucket naming rules][1] in the
10328
10429
  # *Amazon S3 User Guide*.
10329
10430
  #
10330
- # **Access points** - When you use this action with an access point, you
10331
- # must provide the alias of the access point in place of the bucket name
10332
- # or specify the access point ARN. When using the access point ARN, you
10333
- # must direct requests to the access point hostname. The access point
10334
- # hostname takes the form
10431
+ # **Access points** - When you use this action with an access point for
10432
+ # general purpose buckets, you must provide the alias of the access
10433
+ # point in place of the bucket name or specify the access point ARN.
10434
+ # When you use this action with an access point for directory buckets,
10435
+ # you must provide the access point name in place of the bucket name.
10436
+ # When using the access point ARN, you must direct requests to the
10437
+ # access point hostname. The access point hostname takes the form
10335
10438
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10336
10439
  # When using this action with an access point through the Amazon Web
10337
10440
  # Services SDKs, you provide the access point ARN in place of the bucket
10338
10441
  # name. For more information about access point ARNs, see [Using access
10339
10442
  # points][2] in the *Amazon S3 User Guide*.
10340
10443
  #
10341
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
10342
- # directory buckets.
10444
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
10343
10445
  #
10344
10446
  # </note>
10345
10447
  #
10346
- # **S3 on Outposts** - When you use this action with Amazon S3 on
10347
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
10348
- # S3 on Outposts hostname takes the form `
10448
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
10449
+ # must direct requests to the S3 on Outposts hostname. The S3 on
10450
+ # Outposts hostname takes the form `
10349
10451
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
10350
- # When you use this action with S3 on Outposts through the Amazon Web
10351
- # Services SDKs, you provide the Outposts access point ARN in place of
10352
- # the bucket name. For more information about S3 on Outposts ARNs, see
10353
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
10452
+ # When you use this action with S3 on Outposts, the destination bucket
10453
+ # must be the Outposts access point ARN or the access point alias. For
10454
+ # more information about S3 on Outposts, see [What is S3 on
10455
+ # Outposts?][3] in the *Amazon S3 User Guide*.
10354
10456
  #
10355
10457
  #
10356
10458
  #
@@ -10554,8 +10656,10 @@ module Aws::S3
10554
10656
  # * {Types::HeadObjectOutput#content_length #content_length} => Integer
10555
10657
  # * {Types::HeadObjectOutput#checksum_crc32 #checksum_crc32} => String
10556
10658
  # * {Types::HeadObjectOutput#checksum_crc32c #checksum_crc32c} => String
10659
+ # * {Types::HeadObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
10557
10660
  # * {Types::HeadObjectOutput#checksum_sha1 #checksum_sha1} => String
10558
10661
  # * {Types::HeadObjectOutput#checksum_sha256 #checksum_sha256} => String
10662
+ # * {Types::HeadObjectOutput#checksum_type #checksum_type} => String
10559
10663
  # * {Types::HeadObjectOutput#etag #etag} => String
10560
10664
  # * {Types::HeadObjectOutput#missing_meta #missing_meta} => Integer
10561
10665
  # * {Types::HeadObjectOutput#version_id #version_id} => String
@@ -10564,6 +10668,7 @@ module Aws::S3
10564
10668
  # * {Types::HeadObjectOutput#content_encoding #content_encoding} => String
10565
10669
  # * {Types::HeadObjectOutput#content_language #content_language} => String
10566
10670
  # * {Types::HeadObjectOutput#content_type #content_type} => String
10671
+ # * {Types::HeadObjectOutput#content_range #content_range} => String
10567
10672
  # * {Types::HeadObjectOutput#expires #expires} => Time
10568
10673
  # * {Types::HeadObjectOutput#expires_string #expires_string} => String
10569
10674
  # * {Types::HeadObjectOutput#website_redirect_location #website_redirect_location} => String
@@ -10640,8 +10745,10 @@ module Aws::S3
10640
10745
  # resp.content_length #=> Integer
10641
10746
  # resp.checksum_crc32 #=> String
10642
10747
  # resp.checksum_crc32c #=> String
10748
+ # resp.checksum_crc64nvme #=> String
10643
10749
  # resp.checksum_sha1 #=> String
10644
10750
  # resp.checksum_sha256 #=> String
10751
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
10645
10752
  # resp.etag #=> String
10646
10753
  # resp.missing_meta #=> Integer
10647
10754
  # resp.version_id #=> String
@@ -10650,6 +10757,7 @@ module Aws::S3
10650
10757
  # resp.content_encoding #=> String
10651
10758
  # resp.content_language #=> String
10652
10759
  # resp.content_type #=> String
10760
+ # resp.content_range #=> String
10653
10761
  # resp.expires #=> Time
10654
10762
  # resp.expires_string #=> String
10655
10763
  # resp.website_redirect_location #=> String
@@ -11231,7 +11339,7 @@ module Aws::S3
11231
11339
  # about endpoints in Availability Zones, see [Regional and Zonal
11232
11340
  # endpoints for directory buckets in Availability Zones][2] in the
11233
11341
  # *Amazon S3 User Guide*. For more information about endpoints in Local
11234
- # Zones, see [Available Local Zone for directory buckets][3] in the
11342
+ # Zones, see [Concepts for directory buckets in Local Zones][3] in the
11235
11343
  # *Amazon S3 User Guide*.
11236
11344
  #
11237
11345
  # </note>
@@ -11260,7 +11368,7 @@ module Aws::S3
11260
11368
  #
11261
11369
  #
11262
11370
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
11263
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
11371
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
11264
11372
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
11265
11373
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
11266
11374
  #
@@ -11350,13 +11458,13 @@ module Aws::S3
11350
11458
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
11351
11459
  # for this API operation to the Zonal endpoint. These endpoints support
11352
11460
  # virtual-hosted-style requests in the format
11353
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
11461
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
11354
11462
  # `. Path-style requests are not supported. For more information about
11355
11463
  # endpoints in Availability Zones, see [Regional and Zonal endpoints for
11356
11464
  # directory buckets in Availability Zones][2] in the *Amazon S3 User
11357
11465
  # Guide*. For more information about endpoints in Local Zones, see
11358
- # [Available Local Zone for directory buckets][3] in the *Amazon S3 User
11359
- # Guide*.
11466
+ # [Concepts for directory buckets in Local Zones][3] in the *Amazon S3
11467
+ # User Guide*.
11360
11468
  #
11361
11469
  # </note>
11362
11470
  #
@@ -11417,7 +11525,7 @@ module Aws::S3
11417
11525
  #
11418
11526
  #
11419
11527
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
11420
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
11528
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
11421
11529
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
11422
11530
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11423
11531
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
@@ -11436,34 +11544,35 @@ module Aws::S3
11436
11544
  # requests are not supported. Directory bucket names must be unique in
11437
11545
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
11438
11546
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
11439
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
11547
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
11440
11548
  # naming restrictions, see [Directory bucket naming rules][1] in the
11441
11549
  # *Amazon S3 User Guide*.
11442
11550
  #
11443
- # **Access points** - When you use this action with an access point, you
11444
- # must provide the alias of the access point in place of the bucket name
11445
- # or specify the access point ARN. When using the access point ARN, you
11446
- # must direct requests to the access point hostname. The access point
11447
- # hostname takes the form
11551
+ # **Access points** - When you use this action with an access point for
11552
+ # general purpose buckets, you must provide the alias of the access
11553
+ # point in place of the bucket name or specify the access point ARN.
11554
+ # When you use this action with an access point for directory buckets,
11555
+ # you must provide the access point name in place of the bucket name.
11556
+ # When using the access point ARN, you must direct requests to the
11557
+ # access point hostname. The access point hostname takes the form
11448
11558
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11449
11559
  # When using this action with an access point through the Amazon Web
11450
11560
  # Services SDKs, you provide the access point ARN in place of the bucket
11451
11561
  # name. For more information about access point ARNs, see [Using access
11452
11562
  # points][2] in the *Amazon S3 User Guide*.
11453
11563
  #
11454
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
11455
- # directory buckets.
11564
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
11456
11565
  #
11457
11566
  # </note>
11458
11567
  #
11459
- # **S3 on Outposts** - When you use this action with Amazon S3 on
11460
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
11461
- # S3 on Outposts hostname takes the form `
11568
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
11569
+ # must direct requests to the S3 on Outposts hostname. The S3 on
11570
+ # Outposts hostname takes the form `
11462
11571
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
11463
- # When you use this action with S3 on Outposts through the Amazon Web
11464
- # Services SDKs, you provide the Outposts access point ARN in place of
11465
- # the bucket name. For more information about S3 on Outposts ARNs, see
11466
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
11572
+ # When you use this action with S3 on Outposts, the destination bucket
11573
+ # must be the Outposts access point ARN or the access point alias. For
11574
+ # more information about S3 on Outposts, see [What is S3 on
11575
+ # Outposts?][3] in the *Amazon S3 User Guide*.
11467
11576
  #
11468
11577
  #
11469
11578
  #
@@ -11606,97 +11715,97 @@ module Aws::S3
11606
11715
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11607
11716
  #
11608
11717
  #
11609
- # @example Example: To list in-progress multipart uploads on a bucket
11718
+ # @example Example: List next set of multipart uploads when previous result is truncated
11610
11719
  #
11611
- # # The following example lists in-progress multipart uploads on a specific bucket.
11720
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11721
+ # # setup of multipart uploads.
11612
11722
  #
11613
11723
  # resp = client.list_multipart_uploads({
11614
11724
  # bucket: "examplebucket",
11725
+ # key_marker: "nextkeyfrompreviousresponse",
11726
+ # max_uploads: 2,
11727
+ # upload_id_marker: "valuefrompreviousresponse",
11615
11728
  # })
11616
11729
  #
11617
11730
  # resp.to_h outputs the following:
11618
11731
  # {
11732
+ # bucket: "acl1",
11733
+ # is_truncated: true,
11734
+ # key_marker: "",
11735
+ # max_uploads: 2,
11736
+ # next_key_marker: "someobjectkey",
11737
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11738
+ # upload_id_marker: "",
11619
11739
  # uploads: [
11620
11740
  # {
11621
11741
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11622
11742
  # initiator: {
11623
- # display_name: "display-name",
11743
+ # display_name: "ownder-display-name",
11624
11744
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11625
11745
  # },
11626
11746
  # key: "JavaFile",
11627
11747
  # owner: {
11628
- # display_name: "display-name",
11629
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11748
+ # display_name: "mohanataws",
11749
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11630
11750
  # },
11631
11751
  # storage_class: "STANDARD",
11632
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11752
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11633
11753
  # },
11634
11754
  # {
11635
11755
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11636
11756
  # initiator: {
11637
- # display_name: "display-name",
11757
+ # display_name: "ownder-display-name",
11638
11758
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11639
11759
  # },
11640
11760
  # key: "JavaFile",
11641
11761
  # owner: {
11642
- # display_name: "display-name",
11762
+ # display_name: "ownder-display-name",
11643
11763
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11644
11764
  # },
11645
11765
  # storage_class: "STANDARD",
11646
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11766
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11647
11767
  # },
11648
11768
  # ],
11649
11769
  # }
11650
11770
  #
11651
- # @example Example: List next set of multipart uploads when previous result is truncated
11771
+ # @example Example: To list in-progress multipart uploads on a bucket
11652
11772
  #
11653
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11654
- # # setup of multipart uploads.
11773
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11655
11774
  #
11656
11775
  # resp = client.list_multipart_uploads({
11657
11776
  # bucket: "examplebucket",
11658
- # key_marker: "nextkeyfrompreviousresponse",
11659
- # max_uploads: 2,
11660
- # upload_id_marker: "valuefrompreviousresponse",
11661
11777
  # })
11662
11778
  #
11663
11779
  # resp.to_h outputs the following:
11664
11780
  # {
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
11781
  # uploads: [
11673
11782
  # {
11674
11783
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11675
11784
  # initiator: {
11676
- # display_name: "ownder-display-name",
11785
+ # display_name: "display-name",
11677
11786
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11678
11787
  # },
11679
11788
  # key: "JavaFile",
11680
11789
  # owner: {
11681
- # display_name: "mohanataws",
11682
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11790
+ # display_name: "display-name",
11791
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11683
11792
  # },
11684
11793
  # storage_class: "STANDARD",
11685
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11794
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11686
11795
  # },
11687
11796
  # {
11688
11797
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11689
11798
  # initiator: {
11690
- # display_name: "ownder-display-name",
11799
+ # display_name: "display-name",
11691
11800
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11692
11801
  # },
11693
11802
  # key: "JavaFile",
11694
11803
  # owner: {
11695
- # display_name: "ownder-display-name",
11804
+ # display_name: "display-name",
11696
11805
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11697
11806
  # },
11698
11807
  # storage_class: "STANDARD",
11699
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11808
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11700
11809
  # },
11701
11810
  # ],
11702
11811
  # }
@@ -11735,7 +11844,8 @@ module Aws::S3
11735
11844
  # resp.uploads[0].owner.id #=> String
11736
11845
  # resp.uploads[0].initiator.id #=> String
11737
11846
  # resp.uploads[0].initiator.display_name #=> String
11738
- # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
11847
+ # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
11848
+ # resp.uploads[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
11739
11849
  # resp.common_prefixes #=> Array
11740
11850
  # resp.common_prefixes[0].prefix #=> String
11741
11851
  # resp.encoding_type #=> String, one of "url"
@@ -11953,7 +12063,8 @@ module Aws::S3
11953
12063
  # resp.versions #=> Array
11954
12064
  # resp.versions[0].etag #=> String
11955
12065
  # resp.versions[0].checksum_algorithm #=> Array
11956
- # resp.versions[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12066
+ # resp.versions[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12067
+ # resp.versions[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
11957
12068
  # resp.versions[0].size #=> Integer
11958
12069
  # resp.versions[0].storage_class #=> String, one of "STANDARD"
11959
12070
  # resp.versions[0].key #=> String
@@ -12032,34 +12143,35 @@ module Aws::S3
12032
12143
  # requests are not supported. Directory bucket names must be unique in
12033
12144
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12034
12145
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
12035
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
12146
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
12036
12147
  # naming restrictions, see [Directory bucket naming rules][1] in the
12037
12148
  # *Amazon S3 User Guide*.
12038
12149
  #
12039
- # **Access points** - When you use this action with an access point, you
12040
- # must provide the alias of the access point in place of the bucket name
12041
- # or specify the access point ARN. When using the access point ARN, you
12042
- # must direct requests to the access point hostname. The access point
12043
- # hostname takes the form
12150
+ # **Access points** - When you use this action with an access point for
12151
+ # general purpose buckets, you must provide the alias of the access
12152
+ # point in place of the bucket name or specify the access point ARN.
12153
+ # When you use this action with an access point for directory buckets,
12154
+ # you must provide the access point name in place of the bucket name.
12155
+ # When using the access point ARN, you must direct requests to the
12156
+ # access point hostname. The access point hostname takes the form
12044
12157
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12045
12158
  # When using this action with an access point through the Amazon Web
12046
12159
  # Services SDKs, you provide the access point ARN in place of the bucket
12047
12160
  # name. For more information about access point ARNs, see [Using access
12048
12161
  # points][2] in the *Amazon S3 User Guide*.
12049
12162
  #
12050
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
12051
- # directory buckets.
12163
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
12052
12164
  #
12053
12165
  # </note>
12054
12166
  #
12055
- # **S3 on Outposts** - When you use this action with Amazon S3 on
12056
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
12057
- # S3 on Outposts hostname takes the form `
12167
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
12168
+ # must direct requests to the S3 on Outposts hostname. The S3 on
12169
+ # Outposts hostname takes the form `
12058
12170
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
12059
- # When you use this action with S3 on Outposts through the Amazon Web
12060
- # Services SDKs, you provide the Outposts access point ARN in place of
12061
- # the bucket name. For more information about S3 on Outposts ARNs, see
12062
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
12171
+ # When you use this action with S3 on Outposts, the destination bucket
12172
+ # must be the Outposts access point ARN or the access point alias. For
12173
+ # more information about S3 on Outposts, see [What is S3 on
12174
+ # Outposts?][3] in the *Amazon S3 User Guide*.
12063
12175
  #
12064
12176
  #
12065
12177
  #
@@ -12198,7 +12310,8 @@ module Aws::S3
12198
12310
  # resp.contents[0].last_modified #=> Time
12199
12311
  # resp.contents[0].etag #=> String
12200
12312
  # resp.contents[0].checksum_algorithm #=> Array
12201
- # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12313
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12314
+ # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12202
12315
  # resp.contents[0].size #=> Integer
12203
12316
  # 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
12317
  # resp.contents[0].owner.display_name #=> String
@@ -12243,13 +12356,13 @@ module Aws::S3
12243
12356
  # * **Directory buckets** - For directory buckets, you must make
12244
12357
  # requests for this API operation to the Zonal endpoint. These
12245
12358
  # endpoints support virtual-hosted-style requests in the format
12246
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
12359
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
12247
12360
  # `. Path-style requests are not supported. For more information about
12248
12361
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
12249
12362
  # for directory buckets in Availability Zones][3] in the *Amazon S3
12250
12363
  # User Guide*. For more information about endpoints in Local Zones,
12251
- # see [Available Local Zone for directory buckets][4] in the *Amazon
12252
- # S3 User Guide*.
12364
+ # see [Concepts for directory buckets in Local Zones][4] in the
12365
+ # *Amazon S3 User Guide*.
12253
12366
  #
12254
12367
  # </note>
12255
12368
  #
@@ -12307,7 +12420,7 @@ module Aws::S3
12307
12420
  #
12308
12421
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html
12309
12422
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
12310
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
12423
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
12311
12424
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
12312
12425
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
12313
12426
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
@@ -12324,34 +12437,35 @@ module Aws::S3
12324
12437
  # requests are not supported. Directory bucket names must be unique in
12325
12438
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12326
12439
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
12327
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
12440
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
12328
12441
  # naming restrictions, see [Directory bucket naming rules][1] in the
12329
12442
  # *Amazon S3 User Guide*.
12330
12443
  #
12331
- # **Access points** - When you use this action with an access point, you
12332
- # must provide the alias of the access point in place of the bucket name
12333
- # or specify the access point ARN. When using the access point ARN, you
12334
- # must direct requests to the access point hostname. The access point
12335
- # hostname takes the form
12444
+ # **Access points** - When you use this action with an access point for
12445
+ # general purpose buckets, you must provide the alias of the access
12446
+ # point in place of the bucket name or specify the access point ARN.
12447
+ # When you use this action with an access point for directory buckets,
12448
+ # you must provide the access point name in place of the bucket name.
12449
+ # When using the access point ARN, you must direct requests to the
12450
+ # access point hostname. The access point hostname takes the form
12336
12451
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12337
12452
  # When using this action with an access point through the Amazon Web
12338
12453
  # Services SDKs, you provide the access point ARN in place of the bucket
12339
12454
  # name. For more information about access point ARNs, see [Using access
12340
12455
  # points][2] in the *Amazon S3 User Guide*.
12341
12456
  #
12342
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
12343
- # directory buckets.
12457
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
12344
12458
  #
12345
12459
  # </note>
12346
12460
  #
12347
- # **S3 on Outposts** - When you use this action with Amazon S3 on
12348
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
12349
- # S3 on Outposts hostname takes the form `
12461
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
12462
+ # must direct requests to the S3 on Outposts hostname. The S3 on
12463
+ # Outposts hostname takes the form `
12350
12464
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
12351
- # When you use this action with S3 on Outposts through the Amazon Web
12352
- # Services SDKs, you provide the Outposts access point ARN in place of
12353
- # the bucket name. For more information about S3 on Outposts ARNs, see
12354
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
12465
+ # When you use this action with S3 on Outposts, the destination bucket
12466
+ # must be the Outposts access point ARN or the access point alias. For
12467
+ # more information about S3 on Outposts, see [What is S3 on
12468
+ # Outposts?][3] in the *Amazon S3 User Guide*.
12355
12469
  #
12356
12470
  #
12357
12471
  #
@@ -12539,7 +12653,8 @@ module Aws::S3
12539
12653
  # resp.contents[0].last_modified #=> Time
12540
12654
  # resp.contents[0].etag #=> String
12541
12655
  # resp.contents[0].checksum_algorithm #=> Array
12542
- # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12656
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12657
+ # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12543
12658
  # resp.contents[0].size #=> Integer
12544
12659
  # 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
12660
  # resp.contents[0].owner.display_name #=> String
@@ -12591,13 +12706,13 @@ module Aws::S3
12591
12706
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
12592
12707
  # for this API operation to the Zonal endpoint. These endpoints support
12593
12708
  # virtual-hosted-style requests in the format
12594
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
12709
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
12595
12710
  # `. Path-style requests are not supported. For more information about
12596
12711
  # endpoints in Availability Zones, see [Regional and Zonal endpoints for
12597
12712
  # directory buckets in Availability Zones][3] in the *Amazon S3 User
12598
12713
  # Guide*. For more information about endpoints in Local Zones, see
12599
- # [Available Local Zone for directory buckets][4] in the *Amazon S3 User
12600
- # Guide*.
12714
+ # [Concepts for directory buckets in Local Zones][4] in the *Amazon S3
12715
+ # User Guide*.
12601
12716
  #
12602
12717
  # </note>
12603
12718
  #
@@ -12651,7 +12766,7 @@ module Aws::S3
12651
12766
  #
12652
12767
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
12653
12768
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
12654
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
12769
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
12655
12770
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
12656
12771
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12657
12772
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
@@ -12670,34 +12785,35 @@ module Aws::S3
12670
12785
  # requests are not supported. Directory bucket names must be unique in
12671
12786
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12672
12787
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
12673
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
12788
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
12674
12789
  # naming restrictions, see [Directory bucket naming rules][1] in the
12675
12790
  # *Amazon S3 User Guide*.
12676
12791
  #
12677
- # **Access points** - When you use this action with an access point, you
12678
- # must provide the alias of the access point in place of the bucket name
12679
- # or specify the access point ARN. When using the access point ARN, you
12680
- # must direct requests to the access point hostname. The access point
12681
- # hostname takes the form
12792
+ # **Access points** - When you use this action with an access point for
12793
+ # general purpose buckets, you must provide the alias of the access
12794
+ # point in place of the bucket name or specify the access point ARN.
12795
+ # When you use this action with an access point for directory buckets,
12796
+ # you must provide the access point name in place of the bucket name.
12797
+ # When using the access point ARN, you must direct requests to the
12798
+ # access point hostname. The access point hostname takes the form
12682
12799
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12683
12800
  # When using this action with an access point through the Amazon Web
12684
12801
  # Services SDKs, you provide the access point ARN in place of the bucket
12685
12802
  # name. For more information about access point ARNs, see [Using access
12686
12803
  # points][2] in the *Amazon S3 User Guide*.
12687
12804
  #
12688
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
12689
- # directory buckets.
12805
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
12690
12806
  #
12691
12807
  # </note>
12692
12808
  #
12693
- # **S3 on Outposts** - When you use this action with Amazon S3 on
12694
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
12695
- # S3 on Outposts hostname takes the form `
12809
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
12810
+ # must direct requests to the S3 on Outposts hostname. The S3 on
12811
+ # Outposts hostname takes the form `
12696
12812
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
12697
- # When you use this action with S3 on Outposts through the Amazon Web
12698
- # Services SDKs, you provide the Outposts access point ARN in place of
12699
- # the bucket name. For more information about S3 on Outposts ARNs, see
12700
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
12813
+ # When you use this action with S3 on Outposts, the destination bucket
12814
+ # must be the Outposts access point ARN or the access point alias. For
12815
+ # more information about S3 on Outposts, see [What is S3 on
12816
+ # Outposts?][3] in the *Amazon S3 User Guide*.
12701
12817
  #
12702
12818
  #
12703
12819
  #
@@ -12800,6 +12916,7 @@ module Aws::S3
12800
12916
  # * {Types::ListPartsOutput#storage_class #storage_class} => String
12801
12917
  # * {Types::ListPartsOutput#request_charged #request_charged} => String
12802
12918
  # * {Types::ListPartsOutput#checksum_algorithm #checksum_algorithm} => String
12919
+ # * {Types::ListPartsOutput#checksum_type #checksum_type} => String
12803
12920
  #
12804
12921
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
12805
12922
  #
@@ -12874,6 +12991,7 @@ module Aws::S3
12874
12991
  # resp.parts[0].size #=> Integer
12875
12992
  # resp.parts[0].checksum_crc32 #=> String
12876
12993
  # resp.parts[0].checksum_crc32c #=> String
12994
+ # resp.parts[0].checksum_crc64nvme #=> String
12877
12995
  # resp.parts[0].checksum_sha1 #=> String
12878
12996
  # resp.parts[0].checksum_sha256 #=> String
12879
12997
  # resp.initiator.id #=> String
@@ -12882,7 +13000,8 @@ module Aws::S3
12882
13000
  # resp.owner.id #=> String
12883
13001
  # 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
13002
  # resp.request_charged #=> String, one of "requester"
12885
- # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
13003
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
13004
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12886
13005
  #
12887
13006
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
12888
13007
  #
@@ -12955,7 +13074,7 @@ module Aws::S3
12955
13074
  # fails with the HTTP status code `403 Forbidden` (access denied).
12956
13075
  #
12957
13076
  # @option params [String] :checksum_algorithm
12958
- # Indicates the algorithm used to create the checksum for the object
13077
+ # Indicates the algorithm used to create the checksum for the request
12959
13078
  # when you use the SDK. This header will not provide any additional
12960
13079
  # functionality if you don't use the SDK. When you send this header,
12961
13080
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -12980,7 +13099,7 @@ module Aws::S3
12980
13099
  # status: "Enabled", # accepts Enabled, Suspended
12981
13100
  # },
12982
13101
  # expected_bucket_owner: "AccountId",
12983
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13102
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
12984
13103
  # })
12985
13104
  #
12986
13105
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -13176,9 +13295,10 @@ module Aws::S3
13176
13295
  # The bucket to which to apply the ACL.
13177
13296
  #
13178
13297
  # @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]
13298
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
13299
+ # be used as a message integrity check to verify that the request body
13300
+ # was not corrupted in transit. For more information, go to [RFC
13301
+ # 1864.][1]
13182
13302
  #
13183
13303
  # For requests made using the Amazon Web Services Command Line Interface
13184
13304
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -13189,7 +13309,7 @@ module Aws::S3
13189
13309
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
13190
13310
  #
13191
13311
  # @option params [String] :checksum_algorithm
13192
- # Indicates the algorithm used to create the checksum for the object
13312
+ # Indicates the algorithm used to create the checksum for the request
13193
13313
  # when you use the SDK. This header will not provide any additional
13194
13314
  # functionality if you don't use the SDK. When you send this header,
13195
13315
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -13267,7 +13387,7 @@ module Aws::S3
13267
13387
  # },
13268
13388
  # bucket: "BucketName", # required
13269
13389
  # content_md5: "ContentMD5",
13270
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13390
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13271
13391
  # grant_full_control: "GrantFullControl",
13272
13392
  # grant_read: "GrantRead",
13273
13393
  # grant_read_acp: "GrantReadACP",
@@ -13491,9 +13611,10 @@ module Aws::S3
13491
13611
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
13492
13612
  #
13493
13613
  # @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]
13614
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
13615
+ # be used as a message integrity check to verify that the request body
13616
+ # was not corrupted in transit. For more information, go to [RFC
13617
+ # 1864.][1]
13497
13618
  #
13498
13619
  # For requests made using the Amazon Web Services Command Line Interface
13499
13620
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -13504,7 +13625,7 @@ module Aws::S3
13504
13625
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
13505
13626
  #
13506
13627
  # @option params [String] :checksum_algorithm
13507
- # Indicates the algorithm used to create the checksum for the object
13628
+ # Indicates the algorithm used to create the checksum for the request
13508
13629
  # when you use the SDK. This header will not provide any additional
13509
13630
  # functionality if you don't use the SDK. When you send this header,
13510
13631
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -13587,7 +13708,7 @@ module Aws::S3
13587
13708
  # ],
13588
13709
  # },
13589
13710
  # content_md5: "ContentMD5",
13590
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13711
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13591
13712
  # expected_bucket_owner: "AccountId",
13592
13713
  # })
13593
13714
  #
@@ -13611,7 +13732,7 @@ module Aws::S3
13611
13732
  # about endpoints in Availability Zones, see [Regional and Zonal
13612
13733
  # endpoints for directory buckets in Availability Zones][1] in the
13613
13734
  # *Amazon S3 User Guide*. For more information about endpoints in Local
13614
- # Zones, see [Available Local Zone for directory buckets][2] in the
13735
+ # Zones, see [Concepts for directory buckets in Local Zones][2] in the
13615
13736
  # *Amazon S3 User Guide*.
13616
13737
  #
13617
13738
  # </note>
@@ -13648,8 +13769,8 @@ module Aws::S3
13648
13769
  # object uploads][5].
13649
13770
  #
13650
13771
  # * Your SSE-KMS configuration can only support 1 [customer managed
13651
- # key][6] per directory bucket for the lifetime of the bucket. The
13652
- # [Amazon Web Services managed key][7] (`aws/s3`) isn't supported.
13772
+ # key][6] per directory bucket's lifetime. The [Amazon Web Services
13773
+ # managed key][7] (`aws/s3`) isn't supported.
13653
13774
  #
13654
13775
  # * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
13655
13776
  # in a directory bucket and can’t be disabled. S3 Bucket Keys
@@ -13719,7 +13840,7 @@ module Aws::S3
13719
13840
  #
13720
13841
  #
13721
13842
  #
13722
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
13843
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
13723
13844
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
13724
13845
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
13725
13846
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
@@ -13757,7 +13878,7 @@ module Aws::S3
13757
13878
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
13758
13879
  #
13759
13880
  # @option params [String] :content_md5
13760
- # The base64-encoded 128-bit MD5 digest of the server-side encryption
13881
+ # The Base64 encoded 128-bit `MD5` digest of the server-side encryption
13761
13882
  # configuration.
13762
13883
  #
13763
13884
  # For requests made using the Amazon Web Services Command Line Interface
@@ -13769,7 +13890,7 @@ module Aws::S3
13769
13890
  # </note>
13770
13891
  #
13771
13892
  # @option params [String] :checksum_algorithm
13772
- # Indicates the algorithm used to create the checksum for the object
13893
+ # Indicates the algorithm used to create the checksum for the request
13773
13894
  # when you use the SDK. This header will not provide any additional
13774
13895
  # functionality if you don't use the SDK. When you send this header,
13775
13896
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -13810,7 +13931,7 @@ module Aws::S3
13810
13931
  # resp = client.put_bucket_encryption({
13811
13932
  # bucket: "BucketName", # required
13812
13933
  # content_md5: "ContentMD5",
13813
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13934
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13814
13935
  # server_side_encryption_configuration: { # required
13815
13936
  # rules: [ # required
13816
13937
  # {
@@ -14111,6 +14232,10 @@ module Aws::S3
14111
14232
  req.send_request(options)
14112
14233
  end
14113
14234
 
14235
+ # <note markdown="1"> This operation is not supported for directory buckets.
14236
+ #
14237
+ # </note>
14238
+ #
14114
14239
  # For an updated version of this API, see
14115
14240
  # [PutBucketLifecycleConfiguration][1]. This version has been
14116
14241
  # deprecated. Existing lifecycle configurations will work. For new
@@ -14189,7 +14314,7 @@ module Aws::S3
14189
14314
  # automatically.
14190
14315
  #
14191
14316
  # @option params [String] :checksum_algorithm
14192
- # Indicates the algorithm used to create the checksum for the object
14317
+ # Indicates the algorithm used to create the checksum for the request
14193
14318
  # when you use the SDK. This header will not provide any additional
14194
14319
  # functionality if you don't use the SDK. When you send this header,
14195
14320
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -14218,7 +14343,7 @@ module Aws::S3
14218
14343
  # resp = client.put_bucket_lifecycle({
14219
14344
  # bucket: "BucketName", # required
14220
14345
  # content_md5: "ContentMD5",
14221
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14346
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14222
14347
  # lifecycle_configuration: {
14223
14348
  # rules: [ # required
14224
14349
  # {
@@ -14364,8 +14489,8 @@ module Aws::S3
14364
14489
  # information about endpoints in Availability Zones, see [Regional
14365
14490
  # and Zonal endpoints for directory buckets in Availability
14366
14491
  # Zones][7] in the *Amazon S3 User Guide*. For more information
14367
- # about endpoints in Local Zones, see [Available Local Zone for
14368
- # directory buckets][8] in the *Amazon S3 User Guide*.
14492
+ # about endpoints in Local Zones, see [Concepts for directory
14493
+ # buckets in Local Zones][8] in the *Amazon S3 User Guide*.
14369
14494
  #
14370
14495
  # </note>
14371
14496
  #
@@ -14387,7 +14512,7 @@ module Aws::S3
14387
14512
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
14388
14513
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
14389
14514
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14390
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
14515
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
14391
14516
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14392
14517
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14393
14518
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
@@ -14396,7 +14521,7 @@ module Aws::S3
14396
14521
  # The name of the bucket for which to set the configuration.
14397
14522
  #
14398
14523
  # @option params [String] :checksum_algorithm
14399
- # Indicates the algorithm used to create the checksum for the object
14524
+ # Indicates the algorithm used to create the checksum for the request
14400
14525
  # when you use the SDK. This header will not provide any additional
14401
14526
  # functionality if you don't use the SDK. When you send this header,
14402
14527
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -14483,7 +14608,7 @@ module Aws::S3
14483
14608
  #
14484
14609
  # resp = client.put_bucket_lifecycle_configuration({
14485
14610
  # bucket: "BucketName", # required
14486
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14611
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14487
14612
  # lifecycle_configuration: {
14488
14613
  # rules: [ # required
14489
14614
  # {
@@ -14649,7 +14774,7 @@ module Aws::S3
14649
14774
  # automatically.
14650
14775
  #
14651
14776
  # @option params [String] :checksum_algorithm
14652
- # Indicates the algorithm used to create the checksum for the object
14777
+ # Indicates the algorithm used to create the checksum for the request
14653
14778
  # when you use the SDK. This header will not provide any additional
14654
14779
  # functionality if you don't use the SDK. When you send this header,
14655
14780
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -14726,7 +14851,7 @@ module Aws::S3
14726
14851
  # },
14727
14852
  # },
14728
14853
  # content_md5: "ContentMD5",
14729
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14854
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14730
14855
  # expected_bucket_owner: "AccountId",
14731
14856
  # })
14732
14857
  #
@@ -14865,7 +14990,7 @@ module Aws::S3
14865
14990
  # automatically.
14866
14991
  #
14867
14992
  # @option params [String] :checksum_algorithm
14868
- # Indicates the algorithm used to create the checksum for the object
14993
+ # Indicates the algorithm used to create the checksum for the request
14869
14994
  # when you use the SDK. This header will not provide any additional
14870
14995
  # functionality if you don't use the SDK. When you send this header,
14871
14996
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -14895,7 +15020,7 @@ module Aws::S3
14895
15020
  # resp = client.put_bucket_notification({
14896
15021
  # bucket: "BucketName", # required
14897
15022
  # content_md5: "ContentMD5",
14898
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15023
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14899
15024
  # notification_configuration: { # required
14900
15025
  # topic_configuration: {
14901
15026
  # id: "NotificationId",
@@ -15192,7 +15317,7 @@ module Aws::S3
15192
15317
  # about endpoints in Availability Zones, see [Regional and Zonal
15193
15318
  # endpoints for directory buckets in Availability Zones][1] in the
15194
15319
  # *Amazon S3 User Guide*. For more information about endpoints in Local
15195
- # Zones, see [Available Local Zone for directory buckets][2] in the
15320
+ # Zones, see [Concepts for directory buckets in Local Zones][2] in the
15196
15321
  # *Amazon S3 User Guide*.
15197
15322
  #
15198
15323
  # </note>
@@ -15256,7 +15381,7 @@ module Aws::S3
15256
15381
  #
15257
15382
  #
15258
15383
  #
15259
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
15384
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
15260
15385
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
15261
15386
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
15262
15387
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
@@ -15295,7 +15420,7 @@ module Aws::S3
15295
15420
  # </note>
15296
15421
  #
15297
15422
  # @option params [String] :checksum_algorithm
15298
- # Indicates the algorithm used to create the checksum for the object
15423
+ # Indicates the algorithm used to create the checksum for the request
15299
15424
  # when you use the SDK. This header will not provide any additional
15300
15425
  # functionality if you don't use the SDK. When you send this header,
15301
15426
  # there must be a corresponding `x-amz-checksum-algorithm ` or
@@ -15309,6 +15434,8 @@ module Aws::S3
15309
15434
  #
15310
15435
  # * `CRC32C`
15311
15436
  #
15437
+ # * `CRC64NVME`
15438
+ #
15312
15439
  # * `SHA1`
15313
15440
  #
15314
15441
  # * `SHA256`
@@ -15318,9 +15445,8 @@ module Aws::S3
15318
15445
  #
15319
15446
  # If the individual checksum value you provide through
15320
15447
  # `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 `.
15448
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
15449
+ # request with a `BadDigest` error.
15324
15450
  #
15325
15451
  # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
15326
15452
  # is the default checksum algorithm that's used for performance.
@@ -15373,7 +15499,7 @@ module Aws::S3
15373
15499
  # resp = client.put_bucket_policy({
15374
15500
  # bucket: "BucketName", # required
15375
15501
  # content_md5: "ContentMD5",
15376
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15502
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15377
15503
  # confirm_remove_self_bucket_access: false,
15378
15504
  # policy: "Policy", # required
15379
15505
  # expected_bucket_owner: "AccountId",
@@ -15479,7 +15605,7 @@ module Aws::S3
15479
15605
  # The name of the bucket
15480
15606
  #
15481
15607
  # @option params [String] :content_md5
15482
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15608
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15483
15609
  # header as a message integrity check to verify that the request body
15484
15610
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15485
15611
  #
@@ -15492,7 +15618,7 @@ module Aws::S3
15492
15618
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
15493
15619
  #
15494
15620
  # @option params [String] :checksum_algorithm
15495
- # Indicates the algorithm used to create the checksum for the object
15621
+ # Indicates the algorithm used to create the checksum for the request
15496
15622
  # when you use the SDK. This header will not provide any additional
15497
15623
  # functionality if you don't use the SDK. When you send this header,
15498
15624
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -15548,7 +15674,7 @@ module Aws::S3
15548
15674
  # resp = client.put_bucket_replication({
15549
15675
  # bucket: "BucketName", # required
15550
15676
  # content_md5: "ContentMD5",
15551
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15677
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15552
15678
  # replication_configuration: { # required
15553
15679
  # role: "Role", # required
15554
15680
  # rules: [ # required
@@ -15652,7 +15778,7 @@ module Aws::S3
15652
15778
  # The bucket name.
15653
15779
  #
15654
15780
  # @option params [String] :content_md5
15655
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15781
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15656
15782
  # header as a message integrity check to verify that the request body
15657
15783
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15658
15784
  #
@@ -15665,7 +15791,7 @@ module Aws::S3
15665
15791
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
15666
15792
  #
15667
15793
  # @option params [String] :checksum_algorithm
15668
- # Indicates the algorithm used to create the checksum for the object
15794
+ # Indicates the algorithm used to create the checksum for the request
15669
15795
  # when you use the SDK. This header will not provide any additional
15670
15796
  # functionality if you don't use the SDK. When you send this header,
15671
15797
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -15707,7 +15833,7 @@ module Aws::S3
15707
15833
  # resp = client.put_bucket_request_payment({
15708
15834
  # bucket: "BucketName", # required
15709
15835
  # content_md5: "ContentMD5",
15710
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15836
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15711
15837
  # request_payment_configuration: { # required
15712
15838
  # payer: "Requester", # required, accepts Requester, BucketOwner
15713
15839
  # },
@@ -15789,7 +15915,7 @@ module Aws::S3
15789
15915
  # The bucket name.
15790
15916
  #
15791
15917
  # @option params [String] :content_md5
15792
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15918
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15793
15919
  # header as a message integrity check to verify that the request body
15794
15920
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15795
15921
  #
@@ -15802,7 +15928,7 @@ module Aws::S3
15802
15928
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
15803
15929
  #
15804
15930
  # @option params [String] :checksum_algorithm
15805
- # Indicates the algorithm used to create the checksum for the object
15931
+ # Indicates the algorithm used to create the checksum for the request
15806
15932
  # when you use the SDK. This header will not provide any additional
15807
15933
  # functionality if you don't use the SDK. When you send this header,
15808
15934
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -15853,7 +15979,7 @@ module Aws::S3
15853
15979
  # resp = client.put_bucket_tagging({
15854
15980
  # bucket: "BucketName", # required
15855
15981
  # content_md5: "ContentMD5",
15856
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15982
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15857
15983
  # tagging: { # required
15858
15984
  # tag_set: [ # required
15859
15985
  # {
@@ -15880,10 +16006,10 @@ module Aws::S3
15880
16006
  #
15881
16007
  # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
15882
16008
  # 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
16009
+ # While this change is propagating, you might encounter intermittent
16010
+ # `HTTP 404 NoSuchKey` errors for requests to objects created or updated
16011
+ # after enabling versioning. We recommend that you wait for 15 minutes
16012
+ # after enabling versioning before issuing write operations (`PUT` or
15887
16013
  # `DELETE`) on objects in the bucket.
15888
16014
  #
15889
16015
  # </note>
@@ -15936,7 +16062,7 @@ module Aws::S3
15936
16062
  # The bucket name.
15937
16063
  #
15938
16064
  # @option params [String] :content_md5
15939
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
16065
+ # &gt;The Base64 encoded 128-bit `MD5` digest of the data. You must use
15940
16066
  # this header as a message integrity check to verify that the request
15941
16067
  # body was not corrupted in transit. For more information, see [RFC
15942
16068
  # 1864][1].
@@ -15950,7 +16076,7 @@ module Aws::S3
15950
16076
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
15951
16077
  #
15952
16078
  # @option params [String] :checksum_algorithm
15953
- # Indicates the algorithm used to create the checksum for the object
16079
+ # Indicates the algorithm used to create the checksum for the request
15954
16080
  # when you use the SDK. This header will not provide any additional
15955
16081
  # functionality if you don't use the SDK. When you send this header,
15956
16082
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -15997,7 +16123,7 @@ module Aws::S3
15997
16123
  # resp = client.put_bucket_versioning({
15998
16124
  # bucket: "BucketName", # required
15999
16125
  # content_md5: "ContentMD5",
16000
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
16126
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
16001
16127
  # mfa: "MFA",
16002
16128
  # versioning_configuration: { # required
16003
16129
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -16098,7 +16224,7 @@ module Aws::S3
16098
16224
  # The bucket name.
16099
16225
  #
16100
16226
  # @option params [String] :content_md5
16101
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
16227
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
16102
16228
  # header as a message integrity check to verify that the request body
16103
16229
  # was not corrupted in transit. For more information, see [RFC 1864][1].
16104
16230
  #
@@ -16111,7 +16237,7 @@ module Aws::S3
16111
16237
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
16112
16238
  #
16113
16239
  # @option params [String] :checksum_algorithm
16114
- # Indicates the algorithm used to create the checksum for the object
16240
+ # Indicates the algorithm used to create the checksum for the request
16115
16241
  # when you use the SDK. This header will not provide any additional
16116
16242
  # functionality if you don't use the SDK. When you send this header,
16117
16243
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -16159,7 +16285,7 @@ module Aws::S3
16159
16285
  # resp = client.put_bucket_website({
16160
16286
  # bucket: "BucketName", # required
16161
16287
  # content_md5: "ContentMD5",
16162
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
16288
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
16163
16289
  # website_configuration: { # required
16164
16290
  # error_document: {
16165
16291
  # key: "ObjectKey", # required
@@ -16215,13 +16341,13 @@ module Aws::S3
16215
16341
  # * **Directory buckets** - For directory buckets, you must make
16216
16342
  # requests for this API operation to the Zonal endpoint. These
16217
16343
  # endpoints support virtual-hosted-style requests in the format
16218
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
16344
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
16219
16345
  # `. Path-style requests are not supported. For more information about
16220
16346
  # endpoints in Availability Zones, see [Regional and Zonal endpoints
16221
16347
  # for directory buckets in Availability Zones][1] in the *Amazon S3
16222
16348
  # User Guide*. For more information about endpoints in Local Zones,
16223
- # see [Available Local Zone for directory buckets][2] in the *Amazon
16224
- # S3 User Guide*.
16349
+ # see [Concepts for directory buckets in Local Zones][2] in the
16350
+ # *Amazon S3 User Guide*.
16225
16351
  #
16226
16352
  # </note>
16227
16353
  #
@@ -16238,6 +16364,23 @@ module Aws::S3
16238
16364
  #
16239
16365
  # </note>
16240
16366
  #
16367
+ # * **If-None-Match** - Uploads the object only if the object key name
16368
+ # does not already exist in the specified bucket. Otherwise, Amazon S3
16369
+ # returns a `412 Precondition Failed` error. If a conflicting
16370
+ # operation occurs during the upload, S3 returns a `409
16371
+ # ConditionalRequestConflict` response. On a 409 failure, retry the
16372
+ # upload.
16373
+ #
16374
+ # Expects the * character (asterisk).
16375
+ #
16376
+ # For more information, see [Add preconditions to S3 operations with
16377
+ # conditional requests][4] in the *Amazon S3 User Guide* or [RFC
16378
+ # 7232][5].
16379
+ #
16380
+ # <note markdown="1"> This functionality is not supported for S3 on Outposts.
16381
+ #
16382
+ # </note>
16383
+ #
16241
16384
  # * **S3 Versioning** - When you enable versioning for a bucket, if
16242
16385
  # Amazon S3 receives multiple write requests for the same object
16243
16386
  # simultaneously, it stores all versions of the objects. For each
@@ -16245,9 +16388,9 @@ module Aws::S3
16245
16388
  # automatically generates a unique version ID of that object being
16246
16389
  # stored in Amazon S3. You can retrieve, replace, or delete any
16247
16390
  # version of the object. For more information about versioning, see
16248
- # [Adding Objects to Versioning-Enabled Buckets][4] in the *Amazon S3
16391
+ # [Adding Objects to Versioning-Enabled Buckets][6] in the *Amazon S3
16249
16392
  # User Guide*. For information about returning the versioning state of
16250
- # a bucket, see [GetBucketVersioning][5].
16393
+ # a bucket, see [GetBucketVersioning][7].
16251
16394
  #
16252
16395
  # <note markdown="1"> This functionality is not supported for directory buckets.
16253
16396
  #
@@ -16271,7 +16414,7 @@ module Aws::S3
16271
16414
  # `s3:PutObjectTagging`.
16272
16415
  # * **Directory bucket permissions** - To grant access to this API
16273
16416
  # operation on a directory bucket, we recommend that you use the [
16274
- # `CreateSession` ][6] API operation for session-based
16417
+ # `CreateSession` ][8] API operation for session-based
16275
16418
  # authorization. Specifically, you grant the
16276
16419
  # `s3express:CreateSession` permission to the directory bucket in a
16277
16420
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -16282,7 +16425,7 @@ module Aws::S3
16282
16425
  # token for use. Amazon Web Services CLI or SDKs create session and
16283
16426
  # refresh the session token automatically to avoid service
16284
16427
  # interruptions when a session expires. For more information about
16285
- # authorization, see [ `CreateSession` ][6].
16428
+ # authorization, see [ `CreateSession` ][8].
16286
16429
  #
16287
16430
  # If the object is encrypted with SSE-KMS, you must also have the
16288
16431
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -16307,20 +16450,22 @@ module Aws::S3
16307
16450
  #
16308
16451
  # For more information about related Amazon S3 APIs, see the following:
16309
16452
  #
16310
- # * [CopyObject][7]
16453
+ # * [CopyObject][9]
16311
16454
  #
16312
- # * [DeleteObject][8]
16455
+ # * [DeleteObject][10]
16313
16456
  #
16314
16457
  #
16315
16458
  #
16316
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
16459
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
16317
16460
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
16318
16461
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
16319
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
16320
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
16321
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
16322
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
16323
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
16462
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
16463
+ # [5]: https://datatracker.ietf.org/doc/rfc7232/
16464
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
16465
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
16466
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
16467
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
16468
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
16324
16469
  #
16325
16470
  # @option params [String] :acl
16326
16471
  # The canned ACL to apply to the object. For more information, see
@@ -16372,34 +16517,35 @@ module Aws::S3
16372
16517
  # requests are not supported. Directory bucket names must be unique in
16373
16518
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
16374
16519
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
16375
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
16520
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
16376
16521
  # naming restrictions, see [Directory bucket naming rules][1] in the
16377
16522
  # *Amazon S3 User Guide*.
16378
16523
  #
16379
- # **Access points** - When you use this action with an access point, you
16380
- # must provide the alias of the access point in place of the bucket name
16381
- # or specify the access point ARN. When using the access point ARN, you
16382
- # must direct requests to the access point hostname. The access point
16383
- # hostname takes the form
16524
+ # **Access points** - When you use this action with an access point for
16525
+ # general purpose buckets, you must provide the alias of the access
16526
+ # point in place of the bucket name or specify the access point ARN.
16527
+ # When you use this action with an access point for directory buckets,
16528
+ # you must provide the access point name in place of the bucket name.
16529
+ # When using the access point ARN, you must direct requests to the
16530
+ # access point hostname. The access point hostname takes the form
16384
16531
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
16385
16532
  # When using this action with an access point through the Amazon Web
16386
16533
  # Services SDKs, you provide the access point ARN in place of the bucket
16387
16534
  # name. For more information about access point ARNs, see [Using access
16388
16535
  # points][2] in the *Amazon S3 User Guide*.
16389
16536
  #
16390
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
16391
- # directory buckets.
16537
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
16392
16538
  #
16393
16539
  # </note>
16394
16540
  #
16395
- # **S3 on Outposts** - When you use this action with Amazon S3 on
16396
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
16397
- # S3 on Outposts hostname takes the form `
16541
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
16542
+ # must direct requests to the S3 on Outposts hostname. The S3 on
16543
+ # Outposts hostname takes the form `
16398
16544
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
16399
- # When you use this action with S3 on Outposts through the Amazon Web
16400
- # Services SDKs, you provide the Outposts access point ARN in place of
16401
- # the bucket name. For more information about S3 on Outposts ARNs, see
16402
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
16545
+ # When you use this action with S3 on Outposts, the destination bucket
16546
+ # must be the Outposts access point ARN or the access point alias. For
16547
+ # more information about S3 on Outposts, see [What is S3 on
16548
+ # Outposts?][3] in the *Amazon S3 User Guide*.
16403
16549
  #
16404
16550
  #
16405
16551
  #
@@ -16448,7 +16594,7 @@ module Aws::S3
16448
16594
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
16449
16595
  #
16450
16596
  # @option params [String] :content_md5
16451
- # The base64-encoded 128-bit MD5 digest of the message (without the
16597
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
16452
16598
  # headers) according to RFC 1864. This header can be used as a message
16453
16599
  # integrity check to verify that the data is the same data that was
16454
16600
  # originally sent. Although it is optional, we recommend using the
@@ -16497,6 +16643,8 @@ module Aws::S3
16497
16643
  #
16498
16644
  # * `CRC32C`
16499
16645
  #
16646
+ # * `CRC64NVME`
16647
+ #
16500
16648
  # * `SHA1`
16501
16649
  #
16502
16650
  # * `SHA256`
@@ -16506,9 +16654,8 @@ module Aws::S3
16506
16654
  #
16507
16655
  # If the individual checksum value you provide through
16508
16656
  # `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 `.
16657
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
16658
+ # request with a `BadDigest` error.
16512
16659
  #
16513
16660
  # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
16514
16661
  # for any request to upload an object with a retention period configured
@@ -16529,7 +16676,7 @@ module Aws::S3
16529
16676
  # @option params [String] :checksum_crc32
16530
16677
  # This header can be used as a data integrity check to verify that the
16531
16678
  # 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.
16679
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
16533
16680
  # For more information, see [Checking object integrity][1] in the
16534
16681
  # *Amazon S3 User Guide*.
16535
16682
  #
@@ -16540,7 +16687,7 @@ module Aws::S3
16540
16687
  # @option params [String] :checksum_crc32c
16541
16688
  # This header can be used as a data integrity check to verify that the
16542
16689
  # 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.
16690
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
16544
16691
  # For more information, see [Checking object integrity][1] in the
16545
16692
  # *Amazon S3 User Guide*.
16546
16693
  #
@@ -16548,10 +16695,22 @@ module Aws::S3
16548
16695
  #
16549
16696
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
16550
16697
  #
16698
+ # @option params [String] :checksum_crc64nvme
16699
+ # This header can be used as a data integrity check to verify that the
16700
+ # data received is the same data that was originally sent. This header
16701
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
16702
+ # object. The `CRC64NVME` checksum is always a full object checksum. For
16703
+ # more information, see [Checking object integrity in the Amazon S3 User
16704
+ # Guide][1].
16705
+ #
16706
+ #
16707
+ #
16708
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
16709
+ #
16551
16710
  # @option params [String] :checksum_sha1
16552
16711
  # This header can be used as a data integrity check to verify that the
16553
16712
  # 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
16713
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
16555
16714
  # more information, see [Checking object integrity][1] in the *Amazon S3
16556
16715
  # User Guide*.
16557
16716
  #
@@ -16562,7 +16721,7 @@ module Aws::S3
16562
16721
  # @option params [String] :checksum_sha256
16563
16722
  # This header can be used as a data integrity check to verify that the
16564
16723
  # 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.
16724
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
16566
16725
  # For more information, see [Checking object integrity][1] in the
16567
16726
  # *Amazon S3 User Guide*.
16568
16727
  #
@@ -16744,8 +16903,9 @@ module Aws::S3
16744
16903
  # a different Storage Class. For more information, see [Storage
16745
16904
  # Classes][1] in the *Amazon S3 User Guide*.
16746
16905
  #
16747
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
16748
- # supported to store newly created objects.
16906
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
16907
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
16908
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
16749
16909
  #
16750
16910
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
16751
16911
  #
@@ -16828,20 +16988,17 @@ module Aws::S3
16828
16988
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
16829
16989
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
16830
16990
  #
16831
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
16832
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
16833
- # header is implicitly assigned the ID of the KMS symmetric encryption
16834
- # customer managed key that's configured for your directory bucket's
16835
- # default encryption setting. If you want to specify the `
16836
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
16837
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
16838
- # customer managed key that's configured for your directory bucket's
16839
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
16840
- # Request` error. Only use the key ID or key ARN. The key alias format
16841
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
16842
- # support 1 [customer managed key][1] per directory bucket for the
16843
- # lifetime of the bucket. The [Amazon Web Services managed key][2]
16844
- # (`aws/s3`) isn't supported.
16991
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
16992
+ # recommended to specify the `x-amz-server-side-encryption` header to
16993
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
16994
+ # header implicitly uses the bucket's default KMS customer managed key
16995
+ # ID. If you want to explicitly set the `
16996
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
16997
+ # bucket's default customer managed key (using key ID or ARN, not
16998
+ # alias). Your SSE-KMS configuration can only support 1 [customer
16999
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
17000
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
17001
+ # specification results in an HTTP `400 Bad Request` error.
16845
17002
  #
16846
17003
  #
16847
17004
  #
@@ -16851,7 +17008,7 @@ module Aws::S3
16851
17008
  # @option params [String] :ssekms_encryption_context
16852
17009
  # Specifies the Amazon Web Services KMS Encryption Context as an
16853
17010
  # 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,
17011
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
16855
17012
  # which contains the encryption context as key-value pairs. This value
16856
17013
  # is stored as object metadata and automatically gets passed on to
16857
17014
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -16962,8 +17119,10 @@ module Aws::S3
16962
17119
  # * {Types::PutObjectOutput#etag #etag} => String
16963
17120
  # * {Types::PutObjectOutput#checksum_crc32 #checksum_crc32} => String
16964
17121
  # * {Types::PutObjectOutput#checksum_crc32c #checksum_crc32c} => String
17122
+ # * {Types::PutObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
16965
17123
  # * {Types::PutObjectOutput#checksum_sha1 #checksum_sha1} => String
16966
17124
  # * {Types::PutObjectOutput#checksum_sha256 #checksum_sha256} => String
17125
+ # * {Types::PutObjectOutput#checksum_type #checksum_type} => String
16967
17126
  # * {Types::PutObjectOutput#server_side_encryption #server_side_encryption} => String
16968
17127
  # * {Types::PutObjectOutput#version_id #version_id} => String
16969
17128
  # * {Types::PutObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -16975,65 +17134,58 @@ module Aws::S3
16975
17134
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16976
17135
  #
16977
17136
  #
16978
- # @example Example: To upload an object (specify optional headers)
17137
+ # @example Example: To create an object.
16979
17138
  #
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.
17139
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16982
17140
  #
16983
17141
  # resp = client.put_object({
16984
- # body: "HappyFace.jpg",
17142
+ # body: "filetoupload",
16985
17143
  # bucket: "examplebucket",
16986
- # key: "HappyFace.jpg",
16987
- # server_side_encryption: "AES256",
16988
- # storage_class: "STANDARD_IA",
17144
+ # key: "objectkey",
16989
17145
  # })
16990
17146
  #
16991
17147
  # resp.to_h outputs the following:
16992
17148
  # {
16993
17149
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16994
- # server_side_encryption: "AES256",
16995
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17150
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16996
17151
  # }
16997
17152
  #
16998
- # @example Example: To upload an object and specify server-side encryption and object tags
17153
+ # @example Example: To upload an object and specify optional tags
16999
17154
  #
17000
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
17001
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
17155
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17156
+ # # S3 returns version ID of the newly created object.
17002
17157
  #
17003
17158
  # resp = client.put_object({
17004
- # body: "filetoupload",
17159
+ # body: "c:\\HappyFace.jpg",
17005
17160
  # bucket: "examplebucket",
17006
- # key: "exampleobject",
17007
- # server_side_encryption: "AES256",
17161
+ # key: "HappyFace.jpg",
17008
17162
  # tagging: "key1=value1&key2=value2",
17009
17163
  # })
17010
17164
  #
17011
17165
  # resp.to_h outputs the following:
17012
17166
  # {
17013
17167
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17014
- # server_side_encryption: "AES256",
17015
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
17168
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
17016
17169
  # }
17017
17170
  #
17018
- # @example Example: To upload object and specify user-defined metadata
17171
+ # @example Example: To upload an object (specify optional headers)
17019
17172
  #
17020
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
17021
- # # enabled, S3 returns version ID in response.
17173
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
17174
+ # # storage class and use server-side encryption.
17022
17175
  #
17023
17176
  # resp = client.put_object({
17024
- # body: "filetoupload",
17177
+ # body: "HappyFace.jpg",
17025
17178
  # bucket: "examplebucket",
17026
- # key: "exampleobject",
17027
- # metadata: {
17028
- # "metadata1" => "value1",
17029
- # "metadata2" => "value2",
17030
- # },
17179
+ # key: "HappyFace.jpg",
17180
+ # server_side_encryption: "AES256",
17181
+ # storage_class: "STANDARD_IA",
17031
17182
  # })
17032
17183
  #
17033
17184
  # resp.to_h outputs the following:
17034
17185
  # {
17035
17186
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17036
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
17187
+ # server_side_encryption: "AES256",
17188
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17037
17189
  # }
17038
17190
  #
17039
17191
  # @example Example: To upload an object and specify canned ACL.
@@ -17054,55 +17206,62 @@ module Aws::S3
17054
17206
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17055
17207
  # }
17056
17208
  #
17057
- # @example Example: To upload an object and specify optional tags
17209
+ # @example Example: To upload an object and specify server-side encryption and object tags
17058
17210
  #
17059
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17060
- # # S3 returns version ID of the newly created object.
17211
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
17212
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
17061
17213
  #
17062
17214
  # resp = client.put_object({
17063
- # body: "c:\\HappyFace.jpg",
17215
+ # body: "filetoupload",
17064
17216
  # bucket: "examplebucket",
17065
- # key: "HappyFace.jpg",
17217
+ # key: "exampleobject",
17218
+ # server_side_encryption: "AES256",
17066
17219
  # tagging: "key1=value1&key2=value2",
17067
17220
  # })
17068
17221
  #
17069
17222
  # resp.to_h outputs the following:
17070
17223
  # {
17071
17224
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17072
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
17225
+ # server_side_encryption: "AES256",
17226
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
17073
17227
  # }
17074
17228
  #
17075
- # @example Example: To upload an object
17229
+ # @example Example: To upload object and specify user-defined metadata
17076
17230
  #
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.
17231
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
17232
+ # # enabled, S3 returns version ID in response.
17079
17233
  #
17080
17234
  # resp = client.put_object({
17081
- # body: "HappyFace.jpg",
17235
+ # body: "filetoupload",
17082
17236
  # bucket: "examplebucket",
17083
- # key: "HappyFace.jpg",
17237
+ # key: "exampleobject",
17238
+ # metadata: {
17239
+ # "metadata1" => "value1",
17240
+ # "metadata2" => "value2",
17241
+ # },
17084
17242
  # })
17085
17243
  #
17086
17244
  # resp.to_h outputs the following:
17087
17245
  # {
17088
17246
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17089
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17247
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
17090
17248
  # }
17091
17249
  #
17092
- # @example Example: To create an object.
17250
+ # @example Example: To upload an object
17093
17251
  #
17094
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17252
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
17253
+ # # syntax. S3 returns VersionId of the newly created object.
17095
17254
  #
17096
17255
  # resp = client.put_object({
17097
- # body: "filetoupload",
17256
+ # body: "HappyFace.jpg",
17098
17257
  # bucket: "examplebucket",
17099
- # key: "objectkey",
17258
+ # key: "HappyFace.jpg",
17100
17259
  # })
17101
17260
  #
17102
17261
  # resp.to_h outputs the following:
17103
17262
  # {
17104
17263
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17105
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17264
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17106
17265
  # }
17107
17266
  #
17108
17267
  # @example Streaming a file from disk
@@ -17124,9 +17283,10 @@ module Aws::S3
17124
17283
  # content_length: 1,
17125
17284
  # content_md5: "ContentMD5",
17126
17285
  # content_type: "ContentType",
17127
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17286
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17128
17287
  # checksum_crc32: "ChecksumCRC32",
17129
17288
  # checksum_crc32c: "ChecksumCRC32C",
17289
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
17130
17290
  # checksum_sha1: "ChecksumSHA1",
17131
17291
  # checksum_sha256: "ChecksumSHA256",
17132
17292
  # expires: Time.now,
@@ -17164,8 +17324,10 @@ module Aws::S3
17164
17324
  # resp.etag #=> String
17165
17325
  # resp.checksum_crc32 #=> String
17166
17326
  # resp.checksum_crc32c #=> String
17327
+ # resp.checksum_crc64nvme #=> String
17167
17328
  # resp.checksum_sha1 #=> String
17168
17329
  # resp.checksum_sha256 #=> String
17330
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
17169
17331
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
17170
17332
  # resp.version_id #=> String
17171
17333
  # resp.sse_customer_algorithm #=> String
@@ -17368,25 +17530,27 @@ module Aws::S3
17368
17530
  # The bucket name that contains the object to which you want to attach
17369
17531
  # the ACL.
17370
17532
  #
17371
- # **Access points** - When you use this action with an access point, you
17372
- # must provide the alias of the access point in place of the bucket name
17373
- # or specify the access point ARN. When using the access point ARN, you
17374
- # must direct requests to the access point hostname. The access point
17375
- # hostname takes the form
17533
+ # **Access points** - When you use this action with an access point for
17534
+ # general purpose buckets, you must provide the alias of the access
17535
+ # point in place of the bucket name or specify the access point ARN.
17536
+ # When you use this action with an access point for directory buckets,
17537
+ # you must provide the access point name in place of the bucket name.
17538
+ # When using the access point ARN, you must direct requests to the
17539
+ # access point hostname. The access point hostname takes the form
17376
17540
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
17377
17541
  # When using this action with an access point through the Amazon Web
17378
17542
  # Services SDKs, you provide the access point ARN in place of the bucket
17379
17543
  # name. For more information about access point ARNs, see [Using access
17380
17544
  # points][1] in the *Amazon S3 User Guide*.
17381
17545
  #
17382
- # **S3 on Outposts** - When you use this action with Amazon S3 on
17383
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
17384
- # S3 on Outposts hostname takes the form `
17546
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
17547
+ # must direct requests to the S3 on Outposts hostname. The S3 on
17548
+ # Outposts hostname takes the form `
17385
17549
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
17386
- # When you use this action with S3 on Outposts through the Amazon Web
17387
- # Services SDKs, you provide the Outposts access point ARN in place of
17388
- # the bucket name. For more information about S3 on Outposts ARNs, see
17389
- # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
17550
+ # When you use this action with S3 on Outposts, the destination bucket
17551
+ # must be the Outposts access point ARN or the access point alias. For
17552
+ # more information about S3 on Outposts, see [What is S3 on
17553
+ # Outposts?][2] in the *Amazon S3 User Guide*.
17390
17554
  #
17391
17555
  #
17392
17556
  #
@@ -17394,9 +17558,9 @@ module Aws::S3
17394
17558
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
17395
17559
  #
17396
17560
  # @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
17561
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
17562
+ # be used as a message integrity check to verify that the request body
17563
+ # was not corrupted in transit. For more information, go to [RFC
17400
17564
  # 1864.&gt;][1]
17401
17565
  #
17402
17566
  # For requests made using the Amazon Web Services Command Line Interface
@@ -17529,7 +17693,7 @@ module Aws::S3
17529
17693
  # },
17530
17694
  # bucket: "BucketName", # required
17531
17695
  # content_md5: "ContentMD5",
17532
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17696
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17533
17697
  # grant_full_control: "GrantFullControl",
17534
17698
  # grant_read: "GrantRead",
17535
17699
  # grant_read_acp: "GrantReadACP",
@@ -17571,11 +17735,13 @@ module Aws::S3
17571
17735
  # The bucket name containing the object that you want to place a legal
17572
17736
  # hold on.
17573
17737
  #
17574
- # **Access points** - When you use this action with an access point, you
17575
- # must provide the alias of the access point in place of the bucket name
17576
- # or specify the access point ARN. When using the access point ARN, you
17577
- # must direct requests to the access point hostname. The access point
17578
- # hostname takes the form
17738
+ # **Access points** - When you use this action with an access point for
17739
+ # general purpose buckets, you must provide the alias of the access
17740
+ # point in place of the bucket name or specify the access point ARN.
17741
+ # When you use this action with an access point for directory buckets,
17742
+ # you must provide the access point name in place of the bucket name.
17743
+ # When using the access point ARN, you must direct requests to the
17744
+ # access point hostname. The access point hostname takes the form
17579
17745
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
17580
17746
  # When using this action with an access point through the Amazon Web
17581
17747
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -17656,7 +17822,7 @@ module Aws::S3
17656
17822
  # request_payer: "requester", # accepts requester
17657
17823
  # version_id: "ObjectVersionId",
17658
17824
  # content_md5: "ContentMD5",
17659
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17825
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17660
17826
  # expected_bucket_owner: "AccountId",
17661
17827
  # })
17662
17828
  #
@@ -17775,7 +17941,7 @@ module Aws::S3
17775
17941
  # request_payer: "requester", # accepts requester
17776
17942
  # token: "ObjectLockToken",
17777
17943
  # content_md5: "ContentMD5",
17778
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17944
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17779
17945
  # expected_bucket_owner: "AccountId",
17780
17946
  # })
17781
17947
  #
@@ -17812,11 +17978,13 @@ module Aws::S3
17812
17978
  # The bucket name that contains the object you want to apply this Object
17813
17979
  # Retention configuration to.
17814
17980
  #
17815
- # **Access points** - When you use this action with an access point, you
17816
- # must provide the alias of the access point in place of the bucket name
17817
- # or specify the access point ARN. When using the access point ARN, you
17818
- # must direct requests to the access point hostname. The access point
17819
- # hostname takes the form
17981
+ # **Access points** - When you use this action with an access point for
17982
+ # general purpose buckets, you must provide the alias of the access
17983
+ # point in place of the bucket name or specify the access point ARN.
17984
+ # When you use this action with an access point for directory buckets,
17985
+ # you must provide the access point name in place of the bucket name.
17986
+ # When using the access point ARN, you must direct requests to the
17987
+ # access point hostname. The access point hostname takes the form
17820
17988
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
17821
17989
  # When using this action with an access point through the Amazon Web
17822
17990
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -17904,7 +18072,7 @@ module Aws::S3
17904
18072
  # version_id: "ObjectVersionId",
17905
18073
  # bypass_governance_retention: false,
17906
18074
  # content_md5: "ContentMD5",
17907
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18075
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17908
18076
  # expected_bucket_owner: "AccountId",
17909
18077
  # })
17910
18078
  #
@@ -17977,25 +18145,27 @@ module Aws::S3
17977
18145
  # @option params [required, String] :bucket
17978
18146
  # The bucket name containing the object.
17979
18147
  #
17980
- # **Access points** - When you use this action with an access point, you
17981
- # must provide the alias of the access point in place of the bucket name
17982
- # or specify the access point ARN. When using the access point ARN, you
17983
- # must direct requests to the access point hostname. The access point
17984
- # hostname takes the form
18148
+ # **Access points** - When you use this action with an access point for
18149
+ # general purpose buckets, you must provide the alias of the access
18150
+ # point in place of the bucket name or specify the access point ARN.
18151
+ # When you use this action with an access point for directory buckets,
18152
+ # you must provide the access point name in place of the bucket name.
18153
+ # When using the access point ARN, you must direct requests to the
18154
+ # access point hostname. The access point hostname takes the form
17985
18155
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
17986
18156
  # When using this action with an access point through the Amazon Web
17987
18157
  # Services SDKs, you provide the access point ARN in place of the bucket
17988
18158
  # name. For more information about access point ARNs, see [Using access
17989
18159
  # points][1] in the *Amazon S3 User Guide*.
17990
18160
  #
17991
- # **S3 on Outposts** - When you use this action with Amazon S3 on
17992
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
17993
- # S3 on Outposts hostname takes the form `
18161
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
18162
+ # must direct requests to the S3 on Outposts hostname. The S3 on
18163
+ # Outposts hostname takes the form `
17994
18164
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
17995
- # When you use this action with S3 on Outposts through the Amazon Web
17996
- # Services SDKs, you provide the Outposts access point ARN in place of
17997
- # the bucket name. For more information about S3 on Outposts ARNs, see
17998
- # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
18165
+ # When you use this action with S3 on Outposts, the destination bucket
18166
+ # must be the Outposts access point ARN or the access point alias. For
18167
+ # more information about S3 on Outposts, see [What is S3 on
18168
+ # Outposts?][2] in the *Amazon S3 User Guide*.
17999
18169
  #
18000
18170
  #
18001
18171
  #
@@ -18094,7 +18264,7 @@ module Aws::S3
18094
18264
  # key: "ObjectKey", # required
18095
18265
  # version_id: "ObjectVersionId",
18096
18266
  # content_md5: "ContentMD5",
18097
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18267
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
18098
18268
  # tagging: { # required
18099
18269
  # tag_set: [ # required
18100
18270
  # {
@@ -18209,7 +18379,7 @@ module Aws::S3
18209
18379
  # resp = client.put_public_access_block({
18210
18380
  # bucket: "BucketName", # required
18211
18381
  # content_md5: "ContentMD5",
18212
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18382
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
18213
18383
  # public_access_block_configuration: { # required
18214
18384
  # block_public_acls: false,
18215
18385
  # ignore_public_acls: false,
@@ -18263,20 +18433,19 @@ module Aws::S3
18263
18433
  #
18264
18434
  # Restoring objects
18265
18435
  #
18266
- # : Objects that you archive to the S3 Glacier Flexible Retrieval
18267
- # Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3
18268
- # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
18269
- # tiers, are not accessible in real time. For objects in the S3
18270
- # Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep
18271
- # Archive storage classes, you must first initiate a restore request,
18272
- # and then wait until a temporary copy of the object is available. If
18273
- # you want a permanent copy of the object, create a copy of it in the
18274
- # Amazon S3 Standard storage class in your S3 bucket. To access an
18275
- # archived object, you must restore the object for the duration
18276
- # (number of days) that you specify. For objects in the Archive Access
18277
- # or Deep Archive Access tiers of S3 Intelligent-Tiering, you must
18278
- # first initiate a restore request, and then wait until the object is
18279
- # moved into the Frequent Access tier.
18436
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval or S3
18437
+ # Glacier Deep Archive storage class, and S3 Intelligent-Tiering
18438
+ # Archive or S3 Intelligent-Tiering Deep Archive tiers, are not
18439
+ # accessible in real time. For objects in the S3 Glacier Flexible
18440
+ # Retrieval or S3 Glacier Deep Archive storage classes, you must first
18441
+ # initiate a restore request, and then wait until a temporary copy of
18442
+ # the object is available. If you want a permanent copy of the object,
18443
+ # create a copy of it in the Amazon S3 Standard storage class in your
18444
+ # S3 bucket. To access an archived object, you must restore the object
18445
+ # for the duration (number of days) that you specify. For objects in
18446
+ # the Archive Access or Deep Archive Access tiers of S3
18447
+ # Intelligent-Tiering, you must first initiate a restore request, and
18448
+ # then wait until the object is moved into the Frequent Access tier.
18280
18449
  #
18281
18450
  # To restore a specific object version, you can provide a version ID.
18282
18451
  # If you don't provide a version ID, Amazon S3 restores the current
@@ -18287,38 +18456,37 @@ module Aws::S3
18287
18456
  # request body:
18288
18457
  #
18289
18458
  # * `Expedited` - Expedited retrievals allow you to quickly access
18290
- # your data stored in the S3 Glacier Flexible Retrieval Flexible
18291
- # Retrieval storage class or S3 Intelligent-Tiering Archive tier
18292
- # when occasional urgent requests for restoring archives are
18293
- # required. For all but the largest archived objects (250 MB+), data
18294
- # accessed using Expedited retrievals is typically made available
18295
- # within 1–5 minutes. Provisioned capacity ensures that retrieval
18296
- # capacity for Expedited retrievals is available when you need it.
18297
- # Expedited retrievals and provisioned capacity are not available
18298
- # for objects stored in the S3 Glacier Deep Archive storage class or
18299
- # S3 Intelligent-Tiering Deep Archive tier.
18459
+ # your data stored in the S3 Glacier Flexible Retrieval storage
18460
+ # class or S3 Intelligent-Tiering Archive tier when occasional
18461
+ # urgent requests for restoring archives are required. For all but
18462
+ # the largest archived objects (250 MB+), data accessed using
18463
+ # Expedited retrievals is typically made available within 1–5
18464
+ # minutes. Provisioned capacity ensures that retrieval capacity for
18465
+ # Expedited retrievals is available when you need it. Expedited
18466
+ # retrievals and provisioned capacity are not available for objects
18467
+ # stored in the S3 Glacier Deep Archive storage class or S3
18468
+ # Intelligent-Tiering Deep Archive tier.
18300
18469
  #
18301
18470
  # * `Standard` - Standard retrievals allow you to access any of your
18302
18471
  # archived objects within several hours. This is the default option
18303
18472
  # for retrieval requests that do not specify the retrieval option.
18304
18473
  # Standard retrievals typically finish within 3–5 hours for objects
18305
- # stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
18306
- # storage class or S3 Intelligent-Tiering Archive tier. They
18307
- # typically finish within 12 hours for objects stored in the S3
18308
- # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
18309
- # Archive tier. Standard retrievals are free for objects stored in
18310
- # S3 Intelligent-Tiering.
18474
+ # stored in the S3 Glacier Flexible Retrieval storage class or S3
18475
+ # Intelligent-Tiering Archive tier. They typically finish within 12
18476
+ # hours for objects stored in the S3 Glacier Deep Archive storage
18477
+ # class or S3 Intelligent-Tiering Deep Archive tier. Standard
18478
+ # retrievals are free for objects stored in S3 Intelligent-Tiering.
18311
18479
  #
18312
18480
  # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
18313
18481
  # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
18314
18482
  # enabling you to retrieve large amounts, even petabytes, of data at
18315
18483
  # no cost. Bulk retrievals typically finish within 5–12 hours for
18316
- # objects stored in the S3 Glacier Flexible Retrieval Flexible
18317
- # Retrieval storage class or S3 Intelligent-Tiering Archive tier.
18318
- # Bulk retrievals are also the lowest-cost retrieval option when
18319
- # restoring objects from S3 Glacier Deep Archive. They typically
18320
- # finish within 48 hours for objects stored in the S3 Glacier Deep
18321
- # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
18484
+ # objects stored in the S3 Glacier Flexible Retrieval storage class
18485
+ # or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also
18486
+ # the lowest-cost retrieval option when restoring objects from S3
18487
+ # Glacier Deep Archive. They typically finish within 48 hours for
18488
+ # objects stored in the S3 Glacier Deep Archive storage class or S3
18489
+ # Intelligent-Tiering Deep Archive tier.
18322
18490
  #
18323
18491
  # For more information about archive retrieval options and provisioned
18324
18492
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -18409,25 +18577,27 @@ module Aws::S3
18409
18577
  # @option params [required, String] :bucket
18410
18578
  # The bucket name containing the object to restore.
18411
18579
  #
18412
- # **Access points** - When you use this action with an access point, you
18413
- # must provide the alias of the access point in place of the bucket name
18414
- # or specify the access point ARN. When using the access point ARN, you
18415
- # must direct requests to the access point hostname. The access point
18416
- # hostname takes the form
18580
+ # **Access points** - When you use this action with an access point for
18581
+ # general purpose buckets, you must provide the alias of the access
18582
+ # point in place of the bucket name or specify the access point ARN.
18583
+ # When you use this action with an access point for directory buckets,
18584
+ # you must provide the access point name in place of the bucket name.
18585
+ # When using the access point ARN, you must direct requests to the
18586
+ # access point hostname. The access point hostname takes the form
18417
18587
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
18418
18588
  # When using this action with an access point through the Amazon Web
18419
18589
  # Services SDKs, you provide the access point ARN in place of the bucket
18420
18590
  # name. For more information about access point ARNs, see [Using access
18421
18591
  # points][1] in the *Amazon S3 User Guide*.
18422
18592
  #
18423
- # **S3 on Outposts** - When you use this action with Amazon S3 on
18424
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
18425
- # S3 on Outposts hostname takes the form `
18593
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
18594
+ # must direct requests to the S3 on Outposts hostname. The S3 on
18595
+ # Outposts hostname takes the form `
18426
18596
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
18427
- # When you use this action with S3 on Outposts through the Amazon Web
18428
- # Services SDKs, you provide the Outposts access point ARN in place of
18429
- # the bucket name. For more information about S3 on Outposts ARNs, see
18430
- # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
18597
+ # When you use this action with S3 on Outposts, the destination bucket
18598
+ # must be the Outposts access point ARN or the access point alias. For
18599
+ # more information about S3 on Outposts, see [What is S3 on
18600
+ # Outposts?][2] in the *Amazon S3 User Guide*.
18431
18601
  #
18432
18602
  #
18433
18603
  #
@@ -18594,7 +18764,7 @@ module Aws::S3
18594
18764
  # },
18595
18765
  # },
18596
18766
  # request_payer: "requester", # accepts requester
18597
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18767
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
18598
18768
  # expected_bucket_owner: "AccountId",
18599
18769
  # })
18600
18770
  #
@@ -19066,13 +19236,13 @@ module Aws::S3
19066
19236
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
19067
19237
  # for this API operation to the Zonal endpoint. These endpoints support
19068
19238
  # virtual-hosted-style requests in the format
19069
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
19239
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
19070
19240
  # `. Path-style requests are not supported. For more information about
19071
19241
  # endpoints in Availability Zones, see [Regional and Zonal endpoints for
19072
19242
  # directory buckets in Availability Zones][5] in the *Amazon S3 User
19073
19243
  # Guide*. For more information about endpoints in Local Zones, see
19074
- # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
19075
- # Guide*.
19244
+ # [Concepts for directory buckets in Local Zones][6] in the *Amazon S3
19245
+ # User Guide*.
19076
19246
  #
19077
19247
  # </note>
19078
19248
  #
@@ -19206,7 +19376,7 @@ module Aws::S3
19206
19376
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
19207
19377
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
19208
19378
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
19209
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
19379
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
19210
19380
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
19211
19381
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
19212
19382
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
@@ -19231,34 +19401,35 @@ module Aws::S3
19231
19401
  # requests are not supported. Directory bucket names must be unique in
19232
19402
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
19233
19403
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
19234
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
19404
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
19235
19405
  # naming restrictions, see [Directory bucket naming rules][1] in the
19236
19406
  # *Amazon S3 User Guide*.
19237
19407
  #
19238
- # **Access points** - When you use this action with an access point, you
19239
- # must provide the alias of the access point in place of the bucket name
19240
- # or specify the access point ARN. When using the access point ARN, you
19241
- # must direct requests to the access point hostname. The access point
19242
- # hostname takes the form
19408
+ # **Access points** - When you use this action with an access point for
19409
+ # general purpose buckets, you must provide the alias of the access
19410
+ # point in place of the bucket name or specify the access point ARN.
19411
+ # When you use this action with an access point for directory buckets,
19412
+ # you must provide the access point name in place of the bucket name.
19413
+ # When using the access point ARN, you must direct requests to the
19414
+ # access point hostname. The access point hostname takes the form
19243
19415
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
19244
19416
  # When using this action with an access point through the Amazon Web
19245
19417
  # Services SDKs, you provide the access point ARN in place of the bucket
19246
19418
  # name. For more information about access point ARNs, see [Using access
19247
19419
  # points][2] in the *Amazon S3 User Guide*.
19248
19420
  #
19249
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
19250
- # directory buckets.
19421
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
19251
19422
  #
19252
19423
  # </note>
19253
19424
  #
19254
- # **S3 on Outposts** - When you use this action with Amazon S3 on
19255
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
19256
- # S3 on Outposts hostname takes the form `
19425
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
19426
+ # must direct requests to the S3 on Outposts hostname. The S3 on
19427
+ # Outposts hostname takes the form `
19257
19428
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
19258
- # When you use this action with S3 on Outposts through the Amazon Web
19259
- # Services SDKs, you provide the Outposts access point ARN in place of
19260
- # the bucket name. For more information about S3 on Outposts ARNs, see
19261
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
19429
+ # When you use this action with S3 on Outposts, the destination bucket
19430
+ # must be the Outposts access point ARN or the access point alias. For
19431
+ # more information about S3 on Outposts, see [What is S3 on
19432
+ # Outposts?][3] in the *Amazon S3 User Guide*.
19262
19433
  #
19263
19434
  #
19264
19435
  #
@@ -19271,7 +19442,7 @@ module Aws::S3
19271
19442
  # the body cannot be determined automatically.
19272
19443
  #
19273
19444
  # @option params [String] :content_md5
19274
- # The base64-encoded 128-bit MD5 digest of the part data. This parameter
19445
+ # The Base64 encoded 128-bit MD5 digest of the part data. This parameter
19275
19446
  # is auto-populated when using the command from the CLI. This parameter
19276
19447
  # is required if object lock parameters are specified.
19277
19448
  #
@@ -19301,7 +19472,7 @@ module Aws::S3
19301
19472
  # @option params [String] :checksum_crc32
19302
19473
  # This header can be used as a data integrity check to verify that the
19303
19474
  # 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.
19475
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
19305
19476
  # For more information, see [Checking object integrity][1] in the
19306
19477
  # *Amazon S3 User Guide*.
19307
19478
  #
@@ -19312,7 +19483,18 @@ module Aws::S3
19312
19483
  # @option params [String] :checksum_crc32c
19313
19484
  # This header can be used as a data integrity check to verify that the
19314
19485
  # 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.
19486
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
19487
+ # For more information, see [Checking object integrity][1] in the
19488
+ # *Amazon S3 User Guide*.
19489
+ #
19490
+ #
19491
+ #
19492
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
19493
+ #
19494
+ # @option params [String] :checksum_crc64nvme
19495
+ # This header can be used as a data integrity check to verify that the
19496
+ # data received is the same data that was originally sent. This header
19497
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the part.
19316
19498
  # For more information, see [Checking object integrity][1] in the
19317
19499
  # *Amazon S3 User Guide*.
19318
19500
  #
@@ -19323,7 +19505,7 @@ module Aws::S3
19323
19505
  # @option params [String] :checksum_sha1
19324
19506
  # This header can be used as a data integrity check to verify that the
19325
19507
  # 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
19508
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
19327
19509
  # more information, see [Checking object integrity][1] in the *Amazon S3
19328
19510
  # User Guide*.
19329
19511
  #
@@ -19334,7 +19516,7 @@ module Aws::S3
19334
19516
  # @option params [String] :checksum_sha256
19335
19517
  # This header can be used as a data integrity check to verify that the
19336
19518
  # 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.
19519
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
19338
19520
  # For more information, see [Checking object integrity][1] in the
19339
19521
  # *Amazon S3 User Guide*.
19340
19522
  #
@@ -19411,6 +19593,7 @@ module Aws::S3
19411
19593
  # * {Types::UploadPartOutput#etag #etag} => String
19412
19594
  # * {Types::UploadPartOutput#checksum_crc32 #checksum_crc32} => String
19413
19595
  # * {Types::UploadPartOutput#checksum_crc32c #checksum_crc32c} => String
19596
+ # * {Types::UploadPartOutput#checksum_crc64nvme #checksum_crc64nvme} => String
19414
19597
  # * {Types::UploadPartOutput#checksum_sha1 #checksum_sha1} => String
19415
19598
  # * {Types::UploadPartOutput#checksum_sha256 #checksum_sha256} => String
19416
19599
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -19445,9 +19628,10 @@ module Aws::S3
19445
19628
  # bucket: "BucketName", # required
19446
19629
  # content_length: 1,
19447
19630
  # content_md5: "ContentMD5",
19448
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
19631
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
19449
19632
  # checksum_crc32: "ChecksumCRC32",
19450
19633
  # checksum_crc32c: "ChecksumCRC32C",
19634
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
19451
19635
  # checksum_sha1: "ChecksumSHA1",
19452
19636
  # checksum_sha256: "ChecksumSHA256",
19453
19637
  # key: "ObjectKey", # required
@@ -19466,6 +19650,7 @@ module Aws::S3
19466
19650
  # resp.etag #=> String
19467
19651
  # resp.checksum_crc32 #=> String
19468
19652
  # resp.checksum_crc32c #=> String
19653
+ # resp.checksum_crc64nvme #=> String
19469
19654
  # resp.checksum_sha1 #=> String
19470
19655
  # resp.checksum_sha256 #=> String
19471
19656
  # resp.sse_customer_algorithm #=> String
@@ -19511,13 +19696,13 @@ module Aws::S3
19511
19696
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
19512
19697
  # for this API operation to the Zonal endpoint. These endpoints support
19513
19698
  # virtual-hosted-style requests in the format
19514
- # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
19699
+ # `https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name
19515
19700
  # `. Path-style requests are not supported. For more information about
19516
19701
  # endpoints in Availability Zones, see [Regional and Zonal endpoints for
19517
19702
  # directory buckets in Availability Zones][5] in the *Amazon S3 User
19518
19703
  # Guide*. For more information about endpoints in Local Zones, see
19519
- # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
19520
- # Guide*.
19704
+ # [Concepts for directory buckets in Local Zones][6] in the *Amazon S3
19705
+ # User Guide*.
19521
19706
  #
19522
19707
  # </note>
19523
19708
  #
@@ -19662,7 +19847,7 @@ module Aws::S3
19662
19847
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
19663
19848
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
19664
19849
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
19665
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
19850
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
19666
19851
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
19667
19852
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
19668
19853
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
@@ -19688,7 +19873,7 @@ module Aws::S3
19688
19873
  # requests are not supported. Directory bucket names must be unique in
19689
19874
  # the chosen Zone (Availability Zone or Local Zone). Bucket names must
19690
19875
  # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
19691
- # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
19876
+ # amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
19692
19877
  # naming restrictions, see [Directory bucket naming rules][1] in the
19693
19878
  # *Amazon S3 User Guide*.
19694
19879
  #
@@ -19700,30 +19885,31 @@ module Aws::S3
19700
19885
  #
19701
19886
  # </note>
19702
19887
  #
19703
- # **Access points** - When you use this action with an access point, you
19704
- # must provide the alias of the access point in place of the bucket name
19705
- # or specify the access point ARN. When using the access point ARN, you
19706
- # must direct requests to the access point hostname. The access point
19707
- # hostname takes the form
19888
+ # **Access points** - When you use this action with an access point for
19889
+ # general purpose buckets, you must provide the alias of the access
19890
+ # point in place of the bucket name or specify the access point ARN.
19891
+ # When you use this action with an access point for directory buckets,
19892
+ # you must provide the access point name in place of the bucket name.
19893
+ # When using the access point ARN, you must direct requests to the
19894
+ # access point hostname. The access point hostname takes the form
19708
19895
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
19709
19896
  # When using this action with an access point through the Amazon Web
19710
19897
  # Services SDKs, you provide the access point ARN in place of the bucket
19711
19898
  # name. For more information about access point ARNs, see [Using access
19712
19899
  # points][2] in the *Amazon S3 User Guide*.
19713
19900
  #
19714
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
19715
- # directory buckets.
19901
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
19716
19902
  #
19717
19903
  # </note>
19718
19904
  #
19719
- # **S3 on Outposts** - When you use this action with Amazon S3 on
19720
- # Outposts, you must direct requests to the S3 on Outposts hostname. The
19721
- # S3 on Outposts hostname takes the form `
19905
+ # **S3 on Outposts** - When you use this action with S3 on Outposts, you
19906
+ # must direct requests to the S3 on Outposts hostname. The S3 on
19907
+ # Outposts hostname takes the form `
19722
19908
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
19723
- # When you use this action with S3 on Outposts through the Amazon Web
19724
- # Services SDKs, you provide the Outposts access point ARN in place of
19725
- # the bucket name. For more information about S3 on Outposts ARNs, see
19726
- # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
19909
+ # When you use this action with S3 on Outposts, the destination bucket
19910
+ # must be the Outposts access point ARN or the access point alias. For
19911
+ # more information about S3 on Outposts, see [What is S3 on
19912
+ # Outposts?][3] in the *Amazon S3 User Guide*.
19727
19913
  #
19728
19914
  #
19729
19915
  #
@@ -20044,6 +20230,7 @@ module Aws::S3
20044
20230
  # resp.copy_part_result.last_modified #=> Time
20045
20231
  # resp.copy_part_result.checksum_crc32 #=> String
20046
20232
  # resp.copy_part_result.checksum_crc32c #=> String
20233
+ # resp.copy_part_result.checksum_crc64nvme #=> String
20047
20234
  # resp.copy_part_result.checksum_sha1 #=> String
20048
20235
  # resp.copy_part_result.checksum_sha256 #=> String
20049
20236
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
@@ -20208,7 +20395,7 @@ module Aws::S3
20208
20395
  # @option params [String] :checksum_crc32
20209
20396
  # This header can be used as a data integrity check to verify that the
20210
20397
  # data received is the same data that was originally sent. This
20211
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object
20398
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object
20212
20399
  # returned by the Object Lambda function. This may not match the
20213
20400
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20214
20401
  # validation of the checksum values only when the original `GetObject`
@@ -20228,7 +20415,7 @@ module Aws::S3
20228
20415
  # @option params [String] :checksum_crc32c
20229
20416
  # This header can be used as a data integrity check to verify that the
20230
20417
  # data received is the same data that was originally sent. This
20231
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object
20418
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object
20232
20419
  # returned by the Object Lambda function. This may not match the
20233
20420
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20234
20421
  # validation of the checksum values only when the original `GetObject`
@@ -20243,10 +20430,21 @@ module Aws::S3
20243
20430
  #
20244
20431
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
20245
20432
  #
20433
+ # @option params [String] :checksum_crc64nvme
20434
+ # This header can be used as a data integrity check to verify that the
20435
+ # data received is the same data that was originally sent. This header
20436
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the part.
20437
+ # For more information, see [Checking object integrity][1] in the
20438
+ # *Amazon S3 User Guide*.
20439
+ #
20440
+ #
20441
+ #
20442
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
20443
+ #
20246
20444
  # @option params [String] :checksum_sha1
20247
20445
  # This header can be used as a data integrity check to verify that the
20248
20446
  # data received is the same data that was originally sent. This
20249
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object
20447
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object
20250
20448
  # returned by the Object Lambda function. This may not match the
20251
20449
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20252
20450
  # validation of the checksum values only when the original `GetObject`
@@ -20264,7 +20462,7 @@ module Aws::S3
20264
20462
  # @option params [String] :checksum_sha256
20265
20463
  # This header can be used as a data integrity check to verify that the
20266
20464
  # data received is the same data that was originally sent. This
20267
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object
20465
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object
20268
20466
  # returned by the Object Lambda function. This may not match the
20269
20467
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
20270
20468
  # validation of the checksum values only when the original `GetObject`
@@ -20281,7 +20479,12 @@ module Aws::S3
20281
20479
  #
20282
20480
  # @option params [Boolean] :delete_marker
20283
20481
  # Specifies whether an object stored in Amazon S3 is (`true`) or is not
20284
- # (`false`) a delete marker.
20482
+ # (`false`) a delete marker. To learn more about delete markers, see
20483
+ # [Working with delete markers][1].
20484
+ #
20485
+ #
20486
+ #
20487
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html
20285
20488
  #
20286
20489
  # @option params [String] :etag
20287
20490
  # An opaque identifier assigned by a web server to a specific version of
@@ -20416,6 +20619,7 @@ module Aws::S3
20416
20619
  # content_type: "ContentType",
20417
20620
  # checksum_crc32: "ChecksumCRC32",
20418
20621
  # checksum_crc32c: "ChecksumCRC32C",
20622
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
20419
20623
  # checksum_sha1: "ChecksumSHA1",
20420
20624
  # checksum_sha256: "ChecksumSHA256",
20421
20625
  # delete_marker: false,
@@ -20471,7 +20675,7 @@ module Aws::S3
20471
20675
  tracer: tracer
20472
20676
  )
20473
20677
  context[:gem_name] = 'aws-sdk-s3'
20474
- context[:gem_version] = '1.176.1'
20678
+ context[:gem_version] = '1.183.0'
20475
20679
  Seahorse::Client::Request.new(handlers, context)
20476
20680
  end
20477
20681