aws-sdk-s3 1.174.0 → 1.179.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +40 -26
  5. data/lib/aws-sdk-s3/bucket_acl.rb +5 -4
  6. data/lib/aws-sdk-s3/bucket_cors.rb +5 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +1 -1
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +2 -2
  9. data/lib/aws-sdk-s3/bucket_logging.rb +1 -1
  10. data/lib/aws-sdk-s3/bucket_policy.rb +9 -8
  11. data/lib/aws-sdk-s3/bucket_request_payment.rb +2 -2
  12. data/lib/aws-sdk-s3/bucket_tagging.rb +2 -2
  13. data/lib/aws-sdk-s3/bucket_versioning.rb +6 -6
  14. data/lib/aws-sdk-s3/bucket_website.rb +2 -2
  15. data/lib/aws-sdk-s3/client.rb +1409 -867
  16. data/lib/aws-sdk-s3/client_api.rb +128 -2
  17. data/lib/aws-sdk-s3/endpoint_provider.rb +36 -0
  18. data/lib/aws-sdk-s3/endpoints.rb +42 -0
  19. data/lib/aws-sdk-s3/file_downloader.rb +4 -21
  20. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  21. data/lib/aws-sdk-s3/multipart_upload.rb +48 -6
  22. data/lib/aws-sdk-s3/multipart_upload_part.rb +52 -36
  23. data/lib/aws-sdk-s3/object.rb +111 -59
  24. data/lib/aws-sdk-s3/object_acl.rb +4 -4
  25. data/lib/aws-sdk-s3/object_summary.rb +63 -28
  26. data/lib/aws-sdk-s3/object_version.rb +21 -8
  27. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  28. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  29. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  30. data/lib/aws-sdk-s3/presigner.rb +5 -5
  31. data/lib/aws-sdk-s3/resource.rb +9 -8
  32. data/lib/aws-sdk-s3/types.rb +1264 -528
  33. data/lib/aws-sdk-s3.rb +1 -1
  34. data/sig/bucket.rbs +5 -4
  35. data/sig/bucket_acl.rbs +1 -1
  36. data/sig/bucket_cors.rbs +1 -1
  37. data/sig/bucket_lifecycle.rbs +1 -1
  38. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  39. data/sig/bucket_logging.rbs +1 -1
  40. data/sig/bucket_policy.rbs +1 -1
  41. data/sig/bucket_request_payment.rbs +1 -1
  42. data/sig/bucket_tagging.rbs +1 -1
  43. data/sig/bucket_versioning.rbs +3 -3
  44. data/sig/bucket_website.rbs +1 -1
  45. data/sig/client.rbs +85 -31
  46. data/sig/multipart_upload.rbs +8 -1
  47. data/sig/multipart_upload_part.rbs +5 -1
  48. data/sig/object.rbs +13 -5
  49. data/sig/object_acl.rbs +1 -1
  50. data/sig/object_summary.rbs +11 -6
  51. data/sig/object_version.rbs +5 -2
  52. data/sig/resource.rbs +4 -2
  53. data/sig/types.rbs +126 -34
  54. metadata +5 -5
  55. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -40,6 +40,7 @@ require 'aws-sdk-s3/plugins/access_grants.rb'
40
40
  require 'aws-sdk-s3/plugins/arn.rb'
41
41
  require 'aws-sdk-s3/plugins/bucket_dns.rb'
42
42
  require 'aws-sdk-s3/plugins/bucket_name_restrictions.rb'
43
+ require 'aws-sdk-s3/plugins/checksum_algorithm.rb'
43
44
  require 'aws-sdk-s3/plugins/dualstack.rb'
44
45
  require 'aws-sdk-s3/plugins/expect_100_continue.rb'
45
46
  require 'aws-sdk-s3/plugins/express_session_auth.rb'
@@ -52,7 +53,6 @@ require 'aws-sdk-s3/plugins/redirects.rb'
52
53
  require 'aws-sdk-s3/plugins/s3_host_id.rb'
53
54
  require 'aws-sdk-s3/plugins/s3_signer.rb'
54
55
  require 'aws-sdk-s3/plugins/sse_cpk.rb'
55
- require 'aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb'
56
56
  require 'aws-sdk-s3/plugins/streaming_retry.rb'
57
57
  require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
58
58
  require 'aws-sdk-core/plugins/event_stream_configuration.rb'
@@ -111,6 +111,7 @@ module Aws::S3
111
111
  add_plugin(Aws::S3::Plugins::ARN)
112
112
  add_plugin(Aws::S3::Plugins::BucketDns)
113
113
  add_plugin(Aws::S3::Plugins::BucketNameRestrictions)
114
+ add_plugin(Aws::S3::Plugins::ChecksumAlgorithm)
114
115
  add_plugin(Aws::S3::Plugins::Dualstack)
115
116
  add_plugin(Aws::S3::Plugins::Expect100Continue)
116
117
  add_plugin(Aws::S3::Plugins::ExpressSessionAuth)
@@ -123,7 +124,6 @@ module Aws::S3
123
124
  add_plugin(Aws::S3::Plugins::S3HostId)
124
125
  add_plugin(Aws::S3::Plugins::S3Signer)
125
126
  add_plugin(Aws::S3::Plugins::SseCpk)
126
- add_plugin(Aws::S3::Plugins::SkipWholeMultipartGetChecksums)
127
127
  add_plugin(Aws::S3::Plugins::StreamingRetry)
128
128
  add_plugin(Aws::S3::Plugins::UrlEncodedKeys)
129
129
  add_plugin(Aws::Plugins::EventStreamConfiguration)
@@ -240,11 +240,8 @@ module Aws::S3
240
240
  # will use the Client Side Monitoring Agent Publisher.
241
241
  #
242
242
  # @option options [Boolean] :compute_checksums (true)
243
- # When `true` a MD5 checksum will be computed and sent in the Content Md5
244
- # header for :put_object and :upload_part. When `false`, MD5 checksums
245
- # will not be computed for these operations. Checksums are still computed
246
- # for operations requiring them. Checksum errors returned by Amazon S3 are
247
- # automatically retried up to `:retry_limit` times.
243
+ # This option is deprecated. Please use `:request_checksum_calculation` instead.
244
+ # When `false`, `request_checksum_calculation` is overridden to `when_required`.
248
245
  #
249
246
  # @option options [Boolean] :convert_params (true)
250
247
  # When `true`, an attempt is made to coerce request parameters into
@@ -340,6 +337,18 @@ module Aws::S3
340
337
  # Used when loading credentials from the shared credentials file
341
338
  # at HOME/.aws/credentials. When not specified, 'default' is used.
342
339
  #
340
+ # @option options [String] :request_checksum_calculation ("when_supported")
341
+ # Determines when a checksum will be calculated for request payloads. Values are:
342
+ #
343
+ # * `when_supported` - (default) When set, a checksum will be
344
+ # calculated for all request payloads of operations modeled with the
345
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
346
+ # `requestAlgorithmMember` is modeled.
347
+ # * `when_required` - When set, a checksum will only be calculated for
348
+ # request payloads of operations modeled with the `httpChecksum` trait where
349
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
350
+ # is modeled and supplied.
351
+ #
343
352
  # @option options [Integer] :request_min_compression_size_bytes (10240)
344
353
  # The minimum size in bytes that triggers compression for request
345
354
  # bodies. The value must be non-negative integer value between 0
@@ -350,6 +359,17 @@ module Aws::S3
350
359
  # where server-side-encryption is used with customer-provided keys.
351
360
  # This should only be disabled for local testing.
352
361
  #
362
+ # @option options [String] :response_checksum_validation ("when_supported")
363
+ # Determines when checksum validation will be performed on response payloads. Values are:
364
+ #
365
+ # * `when_supported` - (default) When set, checksum validation is performed on all
366
+ # response payloads of operations modeled with the `httpChecksum` trait where
367
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
368
+ # are supported.
369
+ # * `when_required` - When set, checksum validation is not performed on
370
+ # response payloads of operations unless the checksum algorithm is supported and
371
+ # the `requestValidationModeMember` member is set to `ENABLED`.
372
+ #
353
373
  # @option options [Proc] :retry_backoff
354
374
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
355
375
  # This option is only used in the `legacy` retry mode.
@@ -577,20 +597,24 @@ 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-az_id.region.amazonaws.com/key-name
581
- # `. Path-style requests are not supported. For more information, see
582
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
600
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
601
+ # `. Path-style requests are not supported. For more information about
602
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
603
+ # for directory buckets in Availability Zones][2] in the *Amazon S3
604
+ # User Guide*. For more information about endpoints in Local Zones,
605
+ # see [Available Local Zone for directory buckets][3] in the *Amazon
606
+ # S3 User Guide*.
583
607
  #
584
608
  # </note>
585
609
  #
586
610
  # Permissions
587
611
  # : * **General purpose bucket permissions** - For information about
588
612
  # permissions required to use the multipart upload, see [Multipart
589
- # Upload and Permissions][3] in the *Amazon S3 User Guide*.
613
+ # Upload and Permissions][4] in the *Amazon S3 User Guide*.
590
614
  #
591
615
  # * **Directory bucket permissions** - To grant access to this API
592
616
  # operation on a directory bucket, we recommend that you use the [
593
- # `CreateSession` ][4] API operation for session-based
617
+ # `CreateSession` ][5] API operation for session-based
594
618
  # authorization. Specifically, you grant the
595
619
  # `s3express:CreateSession` permission to the directory bucket in a
596
620
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -601,45 +625,46 @@ module Aws::S3
601
625
  # token for use. Amazon Web Services CLI or SDKs create session and
602
626
  # refresh the session token automatically to avoid service
603
627
  # interruptions when a session expires. For more information about
604
- # authorization, see [ `CreateSession` ][4].
628
+ # authorization, see [ `CreateSession` ][5].
605
629
  #
606
630
  # HTTP Host header syntax
607
631
  #
608
632
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
609
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
633
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
610
634
  #
611
635
  # The following operations are related to `AbortMultipartUpload`:
612
636
  #
613
- # * [CreateMultipartUpload][5]
637
+ # * [CreateMultipartUpload][6]
614
638
  #
615
- # * [UploadPart][6]
639
+ # * [UploadPart][7]
616
640
  #
617
- # * [CompleteMultipartUpload][7]
641
+ # * [CompleteMultipartUpload][8]
618
642
  #
619
643
  # * [ListParts][1]
620
644
  #
621
- # * [ListMultipartUploads][8]
645
+ # * [ListMultipartUploads][9]
622
646
  #
623
647
  #
624
648
  #
625
649
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
626
650
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
627
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
628
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
629
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
630
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
631
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
632
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
651
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
652
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
653
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
654
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
655
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
656
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
657
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
633
658
  #
634
659
  # @option params [required, String] :bucket
635
660
  # The bucket name to which the upload was taking place.
636
661
  #
637
662
  # **Directory buckets** - When you use this operation with a directory
638
663
  # bucket, you must use virtual-hosted-style requests in the format `
639
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
640
- # are not supported. Directory bucket names must be unique in the chosen
641
- # Availability Zone. Bucket names must follow the format `
642
- # bucket_base_name--az-id--x-s3` (for example, `
664
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
665
+ # requests are not supported. Directory bucket names must be unique in
666
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
667
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
643
668
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
644
669
  # naming restrictions, see [Directory bucket naming rules][1] in the
645
670
  # *Amazon S3 User Guide*.
@@ -805,19 +830,23 @@ module Aws::S3
805
830
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
806
831
  # for this API operation to the Zonal endpoint. These endpoints support
807
832
  # virtual-hosted-style requests in the format
808
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
809
- # Path-style requests are not supported. For more information, see
810
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
833
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
834
+ # `. Path-style requests are not supported. For more information about
835
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
836
+ # directory buckets in Availability Zones][5] in the *Amazon S3 User
837
+ # Guide*. For more information about endpoints in Local Zones, see
838
+ # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
839
+ # Guide*.
811
840
  #
812
841
  # </note>
813
842
  #
814
843
  # Permissions
815
844
  # : * **General purpose bucket permissions** - For information about
816
845
  # permissions required to use the multipart upload API, see
817
- # [Multipart Upload and Permissions][6] in the *Amazon S3 User
846
+ # [Multipart Upload and Permissions][7] in the *Amazon S3 User
818
847
  # Guide*.
819
848
  #
820
- # If you provide an [additional checksum value][7] in your
849
+ # If you provide an [additional checksum value][8] in your
821
850
  # `MultipartUpload` requests and the object is encrypted with Key
822
851
  # Management Service, you must have permission to use the
823
852
  # `kms:Decrypt` action for the `CompleteMultipartUpload` request to
@@ -825,7 +854,7 @@ module Aws::S3
825
854
  #
826
855
  # * **Directory bucket permissions** - To grant access to this API
827
856
  # operation on a directory bucket, we recommend that you use the [
828
- # `CreateSession` ][8] API operation for session-based
857
+ # `CreateSession` ][9] API operation for session-based
829
858
  # authorization. Specifically, you grant the
830
859
  # `s3express:CreateSession` permission to the directory bucket in a
831
860
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -836,7 +865,7 @@ module Aws::S3
836
865
  # token for use. Amazon Web Services CLI or SDKs create session and
837
866
  # refresh the session token automatically to avoid service
838
867
  # interruptions when a session expires. For more information about
839
- # authorization, see [ `CreateSession` ][8].
868
+ # authorization, see [ `CreateSession` ][9].
840
869
  #
841
870
  # If the object is encrypted with SSE-KMS, you must also have the
842
871
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -874,19 +903,19 @@ module Aws::S3
874
903
  # HTTP Host header syntax
875
904
  #
876
905
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
877
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
906
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
878
907
  #
879
908
  # The following operations are related to `CompleteMultipartUpload`:
880
909
  #
881
- # * [CreateMultipartUpload][9]
910
+ # * [CreateMultipartUpload][10]
882
911
  #
883
912
  # * [UploadPart][1]
884
913
  #
885
- # * [AbortMultipartUpload][10]
914
+ # * [AbortMultipartUpload][11]
886
915
  #
887
- # * [ListParts][11]
916
+ # * [ListParts][12]
888
917
  #
889
- # * [ListMultipartUploads][12]
918
+ # * [ListMultipartUploads][13]
890
919
  #
891
920
  #
892
921
  #
@@ -895,23 +924,24 @@ module Aws::S3
895
924
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html
896
925
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
897
926
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
898
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
899
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
900
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
901
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
902
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
903
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
904
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
927
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
928
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
929
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
930
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
931
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
932
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
933
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
934
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
905
935
  #
906
936
  # @option params [required, String] :bucket
907
937
  # Name of the bucket to which the multipart upload was initiated.
908
938
  #
909
939
  # **Directory buckets** - When you use this operation with a directory
910
940
  # bucket, you must use virtual-hosted-style requests in the format `
911
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
912
- # are not supported. Directory bucket names must be unique in the chosen
913
- # Availability Zone. Bucket names must follow the format `
914
- # bucket_base_name--az-id--x-s3` (for example, `
941
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
942
+ # requests are not supported. Directory bucket names must be unique in
943
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
944
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
915
945
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
916
946
  # naming restrictions, see [Directory bucket naming rules][1] in the
917
947
  # *Amazon S3 User Guide*.
@@ -959,7 +989,7 @@ module Aws::S3
959
989
  # @option params [String] :checksum_crc32
960
990
  # This header can be used as a data integrity check to verify that the
961
991
  # data received is the same data that was originally sent. This header
962
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
992
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object.
963
993
  # For more information, see [Checking object integrity][1] in the
964
994
  # *Amazon S3 User Guide*.
965
995
  #
@@ -970,7 +1000,7 @@ module Aws::S3
970
1000
  # @option params [String] :checksum_crc32c
971
1001
  # This header can be used as a data integrity check to verify that the
972
1002
  # data received is the same data that was originally sent. This header
973
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
1003
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object.
974
1004
  # For more information, see [Checking object integrity][1] in the
975
1005
  # *Amazon S3 User Guide*.
976
1006
  #
@@ -978,12 +1008,24 @@ module Aws::S3
978
1008
  #
979
1009
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
980
1010
  #
1011
+ # @option params [String] :checksum_crc64nvme
1012
+ # This header can be used as a data integrity check to verify that the
1013
+ # data received is the same data that was originally sent. This header
1014
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
1015
+ # object. The `CRC-64NVME` checksum is always a full object checksum.
1016
+ # For more information, see [Checking object integrity in the Amazon S3
1017
+ # User Guide][1].
1018
+ #
1019
+ #
1020
+ #
1021
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1022
+ #
981
1023
  # @option params [String] :checksum_sha1
982
1024
  # This header can be used as a data integrity check to verify that the
983
1025
  # data received is the same data that was originally sent. This header
984
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
985
- # more information, see [Checking object integrity][1] in the *Amazon S3
986
- # User Guide*.
1026
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object.
1027
+ # For more information, see [Checking object integrity][1] in the
1028
+ # *Amazon S3 User Guide*.
987
1029
  #
988
1030
  #
989
1031
  #
@@ -992,7 +1034,7 @@ module Aws::S3
992
1034
  # @option params [String] :checksum_sha256
993
1035
  # This header can be used as a data integrity check to verify that the
994
1036
  # data received is the same data that was originally sent. This header
995
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
1037
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object.
996
1038
  # For more information, see [Checking object integrity][1] in the
997
1039
  # *Amazon S3 User Guide*.
998
1040
  #
@@ -1000,6 +1042,23 @@ module Aws::S3
1000
1042
  #
1001
1043
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1002
1044
  #
1045
+ # @option params [String] :checksum_type
1046
+ # This header specifies the checksum type of the object, which
1047
+ # determines how part-level checksums are combined to create an
1048
+ # object-level checksum for multipart objects. You can use this header
1049
+ # as a data integrity check to verify that the checksum type that is
1050
+ # received is the same checksum that was specified. If the checksum type
1051
+ # doesn’t match the checksum type that was specified for the object
1052
+ # during the `CreateMultipartUpload` request, it’ll result in a
1053
+ # `BadDigest` error. For more information, see Checking object integrity
1054
+ # in the Amazon S3 User Guide.
1055
+ #
1056
+ # @option params [Integer] :mpu_object_size
1057
+ # The expected total object size of the multipart upload request. If
1058
+ # there’s a mismatch between the specified object size value and the
1059
+ # actual object size value, it results in an `HTTP 400 InvalidRequest`
1060
+ # error.
1061
+ #
1003
1062
  # @option params [String] :request_payer
1004
1063
  # Confirms that the requester knows that they will be charged for the
1005
1064
  # request. Bucket owners need not specify this parameter in their
@@ -1115,8 +1174,10 @@ module Aws::S3
1115
1174
  # * {Types::CompleteMultipartUploadOutput#etag #etag} => String
1116
1175
  # * {Types::CompleteMultipartUploadOutput#checksum_crc32 #checksum_crc32} => String
1117
1176
  # * {Types::CompleteMultipartUploadOutput#checksum_crc32c #checksum_crc32c} => String
1177
+ # * {Types::CompleteMultipartUploadOutput#checksum_crc64nvme #checksum_crc64nvme} => String
1118
1178
  # * {Types::CompleteMultipartUploadOutput#checksum_sha1 #checksum_sha1} => String
1119
1179
  # * {Types::CompleteMultipartUploadOutput#checksum_sha256 #checksum_sha256} => String
1180
+ # * {Types::CompleteMultipartUploadOutput#checksum_type #checksum_type} => String
1120
1181
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
1121
1182
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
1122
1183
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
@@ -1165,6 +1226,7 @@ module Aws::S3
1165
1226
  # etag: "ETag",
1166
1227
  # checksum_crc32: "ChecksumCRC32",
1167
1228
  # checksum_crc32c: "ChecksumCRC32C",
1229
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
1168
1230
  # checksum_sha1: "ChecksumSHA1",
1169
1231
  # checksum_sha256: "ChecksumSHA256",
1170
1232
  # part_number: 1,
@@ -1174,8 +1236,11 @@ module Aws::S3
1174
1236
  # upload_id: "MultipartUploadId", # required
1175
1237
  # checksum_crc32: "ChecksumCRC32",
1176
1238
  # checksum_crc32c: "ChecksumCRC32C",
1239
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
1177
1240
  # checksum_sha1: "ChecksumSHA1",
1178
1241
  # checksum_sha256: "ChecksumSHA256",
1242
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
1243
+ # mpu_object_size: 1,
1179
1244
  # request_payer: "requester", # accepts requester
1180
1245
  # expected_bucket_owner: "AccountId",
1181
1246
  # if_match: "IfMatch",
@@ -1194,8 +1259,10 @@ module Aws::S3
1194
1259
  # resp.etag #=> String
1195
1260
  # resp.checksum_crc32 #=> String
1196
1261
  # resp.checksum_crc32c #=> String
1262
+ # resp.checksum_crc64nvme #=> String
1197
1263
  # resp.checksum_sha1 #=> String
1198
1264
  # resp.checksum_sha256 #=> String
1265
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1199
1266
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1200
1267
  # resp.version_id #=> String
1201
1268
  # resp.ssekms_key_id #=> String
@@ -1232,9 +1299,13 @@ module Aws::S3
1232
1299
  # * <b>Directory buckets </b> - For directory buckets, you must make
1233
1300
  # requests for this API operation to the Zonal endpoint. These
1234
1301
  # endpoints support virtual-hosted-style requests in the format
1235
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
1236
- # `. Path-style requests are not supported. For more information, see
1237
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
1302
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
1303
+ # `. Path-style requests are not supported. For more information about
1304
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
1305
+ # for directory buckets in Availability Zones][2] in the *Amazon S3
1306
+ # User Guide*. For more information about endpoints in Local Zones,
1307
+ # see [Available Local Zone for directory buckets][3] in the *Amazon
1308
+ # S3 User Guide*.
1238
1309
  #
1239
1310
  # * VPC endpoints don't support cross-Region requests (including
1240
1311
  # copies). If you're using VPC endpoints, your source and destination
@@ -1246,13 +1317,13 @@ module Aws::S3
1246
1317
  # Both the Region that you want to copy the object from and the Region
1247
1318
  # that you want to copy the object to must be enabled for your account.
1248
1319
  # For more information about how to enable a Region for your account,
1249
- # see [Enable or disable a Region for standalone accounts][3] in the
1320
+ # see [Enable or disable a Region for standalone accounts][4] in the
1250
1321
  # *Amazon Web Services Account Management Guide*.
1251
1322
  #
1252
1323
  # Amazon S3 transfer acceleration does not support cross-Region copies.
1253
1324
  # If you request a cross-Region copy using a transfer acceleration
1254
1325
  # endpoint, you get a `400 Bad Request` error. For more information, see
1255
- # [Transfer Acceleration][4].
1326
+ # [Transfer Acceleration][5].
1256
1327
  #
1257
1328
  # Authentication and authorization
1258
1329
  #
@@ -1260,7 +1331,7 @@ module Aws::S3
1260
1331
  # IAM credentials (access key ID and secret access key for the IAM
1261
1332
  # identities). All headers with the `x-amz-` prefix, including
1262
1333
  # `x-amz-copy-source`, must be signed. For more information, see [REST
1263
- # Authentication][5].
1334
+ # Authentication][6].
1264
1335
  #
1265
1336
  # **Directory buckets** - You must use the IAM credentials to
1266
1337
  # authenticate and authorize your access to the `CopyObject` API
@@ -1308,9 +1379,9 @@ module Aws::S3
1308
1379
  # identity-based policies and KMS key policies for the KMS key.
1309
1380
  #
1310
1381
  # For example policies, see [Example bucket policies for S3 Express
1311
- # One Zone][6] and [Amazon Web Services Identity and Access
1382
+ # One Zone][7] and [Amazon Web Services Identity and Access
1312
1383
  # Management (IAM) identity-based policies for S3 Express One
1313
- # Zone][7] in the *Amazon S3 User Guide*.
1384
+ # Zone][8] in the *Amazon S3 User Guide*.
1314
1385
  #
1315
1386
  # Response and special errors
1316
1387
  #
@@ -1333,7 +1404,7 @@ module Aws::S3
1333
1404
  # response is embedded in the `200 OK` response. For example, in a
1334
1405
  # cross-region copy, you may encounter throttling and receive a
1335
1406
  # `200 OK` response. For more information, see [Resolve the Error
1336
- # 200 response when copying objects to Amazon S3][8]. The `200 OK`
1407
+ # 200 response when copying objects to Amazon S3][9]. The `200 OK`
1337
1408
  # status code means the copy was accepted, but it doesn't mean
1338
1409
  # the copy is complete. Another example is when you disconnect
1339
1410
  # from Amazon S3 before the copy is complete, Amazon S3 might
@@ -1357,32 +1428,33 @@ module Aws::S3
1357
1428
  # result in a data retrieval charge for the source if the source
1358
1429
  # storage class bills for data retrieval. If the copy source is in a
1359
1430
  # different region, the data transfer is billed to the copy source
1360
- # account. For pricing information, see [Amazon S3 pricing][9].
1431
+ # account. For pricing information, see [Amazon S3 pricing][10].
1361
1432
  #
1362
1433
  # HTTP Host header syntax
1363
1434
  #
1364
1435
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
1365
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
1436
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
1366
1437
  #
1367
1438
  # The following operations are related to `CopyObject`:
1368
1439
  #
1369
- # * [PutObject][10]
1440
+ # * [PutObject][11]
1370
1441
  #
1371
- # * [GetObject][11]
1442
+ # * [GetObject][12]
1372
1443
  #
1373
1444
  #
1374
1445
  #
1375
1446
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html
1376
1447
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
1377
- # [3]: https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone
1378
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
1379
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
1380
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
1381
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
1382
- # [8]: https://repost.aws/knowledge-center/s3-resolve-200-internalerror
1383
- # [9]: http://aws.amazon.com/s3/pricing/
1384
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1385
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1448
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
1449
+ # [4]: https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone
1450
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
1451
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
1452
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
1453
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
1454
+ # [9]: https://repost.aws/knowledge-center/s3-resolve-200-internalerror
1455
+ # [10]: http://aws.amazon.com/s3/pricing/
1456
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1457
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1386
1458
  #
1387
1459
  # @option params [String] :acl
1388
1460
  # The canned access control list (ACL) to apply to the object.
@@ -1422,14 +1494,22 @@ module Aws::S3
1422
1494
  #
1423
1495
  # **Directory buckets** - When you use this operation with a directory
1424
1496
  # bucket, you must use virtual-hosted-style requests in the format `
1425
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
1426
- # are not supported. Directory bucket names must be unique in the chosen
1427
- # Availability Zone. Bucket names must follow the format `
1428
- # bucket_base_name--az-id--x-s3` (for example, `
1497
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
1498
+ # requests are not supported. Directory bucket names must be unique in
1499
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
1500
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
1429
1501
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
1430
1502
  # naming restrictions, see [Directory bucket naming rules][1] in the
1431
1503
  # *Amazon S3 User Guide*.
1432
1504
  #
1505
+ # <note markdown="1"> Copying objects across different Amazon Web Services Regions isn't
1506
+ # supported when the source or destination bucket is in Amazon Web
1507
+ # Services Local Zones. The source and destination buckets must have the
1508
+ # same parent Amazon Web Services Region. Otherwise, you get an HTTP
1509
+ # `400 Bad Request` error with the error code `InvalidRequest`.
1510
+ #
1511
+ # </note>
1512
+ #
1433
1513
  # **Access points** - When you use this action with an access point, you
1434
1514
  # must provide the alias of the access point in place of the bucket name
1435
1515
  # or specify the access point ARN. When using the access point ARN, you
@@ -2184,7 +2264,7 @@ module Aws::S3
2184
2264
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
2185
2265
  # bucket: "BucketName", # required
2186
2266
  # cache_control: "CacheControl",
2187
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2267
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2188
2268
  # content_disposition: "ContentDisposition",
2189
2269
  # content_encoding: "ContentEncoding",
2190
2270
  # content_language: "ContentLanguage",
@@ -2230,8 +2310,10 @@ module Aws::S3
2230
2310
  #
2231
2311
  # resp.copy_object_result.etag #=> String
2232
2312
  # resp.copy_object_result.last_modified #=> Time
2313
+ # resp.copy_object_result.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
2233
2314
  # resp.copy_object_result.checksum_crc32 #=> String
2234
2315
  # resp.copy_object_result.checksum_crc32c #=> String
2316
+ # resp.copy_object_result.checksum_crc64nvme #=> String
2235
2317
  # resp.copy_object_result.checksum_sha1 #=> String
2236
2318
  # resp.copy_object_result.checksum_sha256 #=> String
2237
2319
  # resp.expiration #=> String
@@ -2282,10 +2364,13 @@ module Aws::S3
2282
2364
  # * <b>Directory buckets </b> - For directory buckets, you must make
2283
2365
  # requests for this API operation to the Regional endpoint. These
2284
2366
  # endpoints support path-style requests in the format
2285
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
2367
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
2286
2368
  # Virtual-hosted-style requests aren't supported. For more
2287
- # information, see [Regional and Zonal endpoints][4] in the *Amazon S3
2288
- # User Guide*.
2369
+ # information about endpoints in Availability Zones, see [Regional and
2370
+ # Zonal endpoints for directory buckets in Availability Zones][4] in
2371
+ # the *Amazon S3 User Guide*. For more information about endpoints in
2372
+ # Local Zones, see [Available Local Zone for directory buckets][5] in
2373
+ # the *Amazon S3 User Guide*.
2289
2374
  #
2290
2375
  # </note>
2291
2376
  #
@@ -2327,17 +2412,17 @@ module Aws::S3
2327
2412
  # disabled. If you would like to share data with users outside of
2328
2413
  # your account, you can use bucket policies as needed. For more
2329
2414
  # information, see [Controlling ownership of objects and disabling
2330
- # ACLs for your bucket ][5] and [Blocking public access to your
2331
- # Amazon S3 storage ][6] in the *Amazon S3 User Guide*.
2415
+ # ACLs for your bucket ][6] and [Blocking public access to your
2416
+ # Amazon S3 storage ][7] in the *Amazon S3 User Guide*.
2332
2417
  #
2333
2418
  # * **S3 Block Public Access** - If your specific use case requires
2334
2419
  # granting public access to your S3 resources, you can disable
2335
2420
  # Block Public Access. Specifically, you can create a new bucket
2336
2421
  # with Block Public Access enabled, then separately call the [
2337
- # `DeletePublicAccessBlock` ][7] API. To use this operation, you
2422
+ # `DeletePublicAccessBlock` ][8] API. To use this operation, you
2338
2423
  # must have the `s3:PutBucketPublicAccessBlock` permission. For
2339
2424
  # more information about S3 Block Public Access, see [Blocking
2340
- # public access to your Amazon S3 storage ][6] in the *Amazon S3
2425
+ # public access to your Amazon S3 storage ][7] in the *Amazon S3
2341
2426
  # User Guide*.
2342
2427
  # * **Directory bucket permissions** - You must have the
2343
2428
  # `s3express:CreateBucket` permission in an IAM identity-based
@@ -2346,7 +2431,7 @@ module Aws::S3
2346
2431
  # performed by the Amazon Web Services account that owns the
2347
2432
  # resource. For more information about directory bucket policies and
2348
2433
  # permissions, see [Amazon Web Services Identity and Access
2349
- # Management (IAM) for S3 Express One Zone][8] in the *Amazon S3
2434
+ # Management (IAM) for S3 Express One Zone][9] in the *Amazon S3
2350
2435
  # User Guide*.
2351
2436
  #
2352
2437
  # The permissions for ACLs, Object Lock, S3 Object Ownership, and S3
@@ -2356,21 +2441,21 @@ module Aws::S3
2356
2441
  # enforced (ACLs disabled). These settings can't be modified.
2357
2442
  #
2358
2443
  # For more information about permissions for creating and working
2359
- # with directory buckets, see [Directory buckets][9] in the *Amazon
2444
+ # with directory buckets, see [Directory buckets][10] in the *Amazon
2360
2445
  # S3 User Guide*. For more information about supported S3 features
2361
- # for directory buckets, see [Features of S3 Express One Zone][10]
2446
+ # for directory buckets, see [Features of S3 Express One Zone][11]
2362
2447
  # in the *Amazon S3 User Guide*.
2363
2448
  #
2364
2449
  # HTTP Host header syntax
2365
2450
  #
2366
2451
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
2367
- # `s3express-control.region.amazonaws.com`.
2452
+ # `s3express-control.region-code.amazonaws.com`.
2368
2453
  #
2369
2454
  # The following operations are related to `CreateBucket`:
2370
2455
  #
2371
- # * [PutObject][11]
2456
+ # * [PutObject][12]
2372
2457
  #
2373
- # * [DeleteBucket][12]
2458
+ # * [DeleteBucket][13]
2374
2459
  #
2375
2460
  #
2376
2461
  #
@@ -2378,14 +2463,15 @@ module Aws::S3
2378
2463
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
2379
2464
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
2380
2465
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
2381
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
2382
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
2383
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
2384
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
2385
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
2386
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html#s3-express-features
2387
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
2388
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
2466
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
2467
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
2468
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
2469
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
2470
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
2471
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
2472
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html#s3-express-features
2473
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
2474
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
2389
2475
  #
2390
2476
  # @option params [String] :acl
2391
2477
  # The canned ACL to apply to the bucket.
@@ -2403,13 +2489,14 @@ module Aws::S3
2403
2489
  #
2404
2490
  # <b>Directory buckets </b> - When you use this operation with a
2405
2491
  # directory bucket, you must use path-style requests in the format
2406
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
2492
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
2407
2493
  # Virtual-hosted-style requests aren't supported. Directory bucket
2408
- # names must be unique in the chosen Availability Zone. Bucket names
2409
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
2410
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
2411
- # bucket naming restrictions, see [Directory bucket naming rules][2] in
2412
- # the *Amazon S3 User Guide*
2494
+ # names must be unique in the chosen Zone (Availability Zone or Local
2495
+ # Zone). Bucket names must also follow the format `
2496
+ # bucket-base-name--zone-id--x-s3` (for example, `
2497
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
2498
+ # naming restrictions, see [Directory bucket naming rules][2] in the
2499
+ # *Amazon S3 User Guide*
2413
2500
  #
2414
2501
  #
2415
2502
  #
@@ -2543,11 +2630,11 @@ module Aws::S3
2543
2630
  # create_bucket_configuration: {
2544
2631
  # 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
2545
2632
  # location: {
2546
- # type: "AvailabilityZone", # accepts AvailabilityZone
2633
+ # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
2547
2634
  # name: "LocationNameAsString",
2548
2635
  # },
2549
2636
  # bucket: {
2550
- # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
2637
+ # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
2551
2638
  # type: "Directory", # accepts Directory
2552
2639
  # },
2553
2640
  # },
@@ -2573,6 +2660,90 @@ module Aws::S3
2573
2660
  req.send_request(options)
2574
2661
  end
2575
2662
 
2663
+ # Creates a metadata table configuration for a general purpose bucket.
2664
+ # For more information, see [Accelerating data discovery with S3
2665
+ # Metadata][1] in the *Amazon S3 User Guide*.
2666
+ #
2667
+ # Permissions
2668
+ #
2669
+ # : To use this operation, you must have the following permissions. For
2670
+ # more information, see [Setting up permissions for configuring
2671
+ # metadata tables][2] in the *Amazon S3 User Guide*.
2672
+ #
2673
+ # If you also want to integrate your table bucket with Amazon Web
2674
+ # Services analytics services so that you can query your metadata
2675
+ # table, you need additional permissions. For more information, see [
2676
+ # Integrating Amazon S3 Tables with Amazon Web Services analytics
2677
+ # services][3] in the *Amazon S3 User Guide*.
2678
+ #
2679
+ # * `s3:CreateBucketMetadataTableConfiguration`
2680
+ #
2681
+ # * `s3tables:CreateNamespace`
2682
+ #
2683
+ # * `s3tables:GetTable`
2684
+ #
2685
+ # * `s3tables:CreateTable`
2686
+ #
2687
+ # * `s3tables:PutTablePolicy`
2688
+ #
2689
+ # The following operations are related to
2690
+ # `CreateBucketMetadataTableConfiguration`:
2691
+ #
2692
+ # * [DeleteBucketMetadataTableConfiguration][4]
2693
+ #
2694
+ # * [GetBucketMetadataTableConfiguration][5]
2695
+ #
2696
+ #
2697
+ #
2698
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2699
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2700
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2701
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2702
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2703
+ #
2704
+ # @option params [required, String] :bucket
2705
+ # The general purpose bucket that you want to create the metadata table
2706
+ # configuration in.
2707
+ #
2708
+ # @option params [String] :content_md5
2709
+ # The `Content-MD5` header for the metadata table configuration.
2710
+ #
2711
+ # @option params [String] :checksum_algorithm
2712
+ # The checksum algorithm to use with your metadata table configuration.
2713
+ #
2714
+ # @option params [required, Types::MetadataTableConfiguration] :metadata_table_configuration
2715
+ # The contents of your metadata table configuration.
2716
+ #
2717
+ # @option params [String] :expected_bucket_owner
2718
+ # The expected owner of the general purpose bucket that contains your
2719
+ # metadata table configuration.
2720
+ #
2721
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2722
+ #
2723
+ # @example Request syntax with placeholder values
2724
+ #
2725
+ # resp = client.create_bucket_metadata_table_configuration({
2726
+ # bucket: "BucketName", # required
2727
+ # content_md5: "ContentMD5",
2728
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2729
+ # metadata_table_configuration: { # required
2730
+ # s3_tables_destination: { # required
2731
+ # table_bucket_arn: "S3TablesBucketArn", # required
2732
+ # table_name: "S3TablesName", # required
2733
+ # },
2734
+ # },
2735
+ # expected_bucket_owner: "AccountId",
2736
+ # })
2737
+ #
2738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataTableConfiguration AWS API Documentation
2739
+ #
2740
+ # @overload create_bucket_metadata_table_configuration(params = {})
2741
+ # @param [Hash] params ({})
2742
+ def create_bucket_metadata_table_configuration(params = {}, options = {})
2743
+ req = build_request(:create_bucket_metadata_table_configuration, params)
2744
+ req.send_request(options)
2745
+ end
2746
+
2576
2747
  # This action initiates a multipart upload and returns an upload ID.
2577
2748
  # This upload ID is used to associate all of the parts in the specific
2578
2749
  # multipart upload. You specify this upload ID in each of your
@@ -2604,9 +2775,13 @@ module Aws::S3
2604
2775
  # * <b>Directory buckets </b> - For directory buckets, you must make
2605
2776
  # requests for this API operation to the Zonal endpoint. These
2606
2777
  # endpoints support virtual-hosted-style requests in the format
2607
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
2608
- # `. Path-style requests are not supported. For more information, see
2609
- # [Regional and Zonal endpoints][4] in the *Amazon S3 User Guide*.
2778
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
2779
+ # `. Path-style requests are not supported. For more information about
2780
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
2781
+ # for directory buckets in Availability Zones][4] in the *Amazon S3
2782
+ # User Guide*. For more information about endpoints in Local Zones,
2783
+ # see [Available Local Zone for directory buckets][5] in the *Amazon
2784
+ # S3 User Guide*.
2610
2785
  #
2611
2786
  # </note>
2612
2787
  #
@@ -2618,7 +2793,7 @@ module Aws::S3
2618
2793
  # sign each request individually. There is nothing special about
2619
2794
  # signing multipart upload requests. For more information about
2620
2795
  # signing, see [Authenticating Requests (Amazon Web Services Signature
2621
- # Version 4)][5] in the *Amazon S3 User Guide*.
2796
+ # Version 4)][6] in the *Amazon S3 User Guide*.
2622
2797
  #
2623
2798
  # Permissions
2624
2799
  # : * **General purpose bucket permissions** - To perform a multipart
@@ -2631,13 +2806,13 @@ module Aws::S3
2631
2806
  # `UploadPartCopy` APIs. These permissions are required because
2632
2807
  # Amazon S3 must decrypt and read data from the encrypted file parts
2633
2808
  # before it completes the multipart upload. For more information,
2634
- # see [Multipart upload API and permissions][6] and [Protecting data
2635
- # using server-side encryption with Amazon Web Services KMS][7] in
2809
+ # see [Multipart upload API and permissions][7] and [Protecting data
2810
+ # using server-side encryption with Amazon Web Services KMS][8] in
2636
2811
  # the *Amazon S3 User Guide*.
2637
2812
  #
2638
2813
  # * **Directory bucket permissions** - To grant access to this API
2639
2814
  # operation on a directory bucket, we recommend that you use the [
2640
- # `CreateSession` ][8] API operation for session-based
2815
+ # `CreateSession` ][9] API operation for session-based
2641
2816
  # authorization. Specifically, you grant the
2642
2817
  # `s3express:CreateSession` permission to the directory bucket in a
2643
2818
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -2648,7 +2823,7 @@ module Aws::S3
2648
2823
  # token for use. Amazon Web Services CLI or SDKs create session and
2649
2824
  # refresh the session token automatically to avoid service
2650
2825
  # interruptions when a session expires. For more information about
2651
- # authorization, see [ `CreateSession` ][8].
2826
+ # authorization, see [ `CreateSession` ][9].
2652
2827
  #
2653
2828
  # Encryption
2654
2829
  # : * **General purpose buckets** - Server-side encryption is for data
@@ -2675,7 +2850,7 @@ module Aws::S3
2675
2850
  # the destination bucket, the encryption setting in your request
2676
2851
  # takes precedence. If you choose to provide your own encryption
2677
2852
  # key, the request headers you provide in [UploadPart][1] and
2678
- # [UploadPartCopy][9] requests must match the headers you used in
2853
+ # [UploadPartCopy][10] requests must match the headers you used in
2679
2854
  # the `CreateMultipartUpload` request.
2680
2855
  #
2681
2856
  # * Use KMS keys (SSE-KMS) that include the Amazon Web Services
@@ -2700,9 +2875,9 @@ module Aws::S3
2700
2875
  # actions on the key. These permissions are required because
2701
2876
  # Amazon S3 must decrypt and read data from the encrypted file
2702
2877
  # parts before it completes the multipart upload. For more
2703
- # information, see [Multipart upload API and permissions][6] and
2878
+ # information, see [Multipart upload API and permissions][7] and
2704
2879
  # [Protecting data using server-side encryption with Amazon Web
2705
- # Services KMS][7] in the *Amazon S3 User Guide*.
2880
+ # Services KMS][8] in the *Amazon S3 User Guide*.
2706
2881
  #
2707
2882
  # * If your Identity and Access Management (IAM) user or role is
2708
2883
  # in the same Amazon Web Services account as the KMS key, then
@@ -2717,13 +2892,13 @@ module Aws::S3
2717
2892
  # For information about configuring any of the officially
2718
2893
  # supported Amazon Web Services SDKs and Amazon Web Services
2719
2894
  # CLI, see [Specifying the Signature Version in Request
2720
- # Authentication][10] in the *Amazon S3 User Guide*.
2895
+ # Authentication][11] in the *Amazon S3 User Guide*.
2721
2896
  #
2722
2897
  # </note>
2723
2898
  #
2724
2899
  # For more information about server-side encryption with KMS keys
2725
2900
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption
2726
- # with KMS keys][7] in the *Amazon S3 User Guide*.
2901
+ # with KMS keys][8] in the *Amazon S3 User Guide*.
2727
2902
  #
2728
2903
  # * Use customer-provided encryption keys (SSE-C) – If you want to
2729
2904
  # manage your own encryption keys, provide all the following
@@ -2737,7 +2912,7 @@ module Aws::S3
2737
2912
  # For more information about server-side encryption with
2738
2913
  # customer-provided encryption keys (SSE-C), see [ Protecting data
2739
2914
  # using server-side encryption with customer-provided encryption
2740
- # keys (SSE-C)][11] in the *Amazon S3 User Guide*.
2915
+ # keys (SSE-C)][12] in the *Amazon S3 User Guide*.
2741
2916
  # * **Directory buckets** - For directory buckets, there are only two
2742
2917
  # supported options for server-side encryption: server-side
2743
2918
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
@@ -2747,13 +2922,13 @@ module Aws::S3
2747
2922
  # default encryption in your `CreateSession` requests or `PUT`
2748
2923
  # object requests. Then, new objects are automatically encrypted
2749
2924
  # with the desired encryption settings. For more information, see
2750
- # [Protecting data with server-side encryption][12] in the *Amazon
2925
+ # [Protecting data with server-side encryption][13] in the *Amazon
2751
2926
  # S3 User Guide*. For more information about the encryption
2752
2927
  # overriding behaviors in directory buckets, see [Specifying
2753
- # server-side encryption with KMS for new object uploads][13].
2928
+ # server-side encryption with KMS for new object uploads][14].
2754
2929
  #
2755
- # In the Zonal endpoint API calls (except [CopyObject][14] and
2756
- # [UploadPartCopy][9]) using the REST API, the encryption request
2930
+ # In the Zonal endpoint API calls (except [CopyObject][15] and
2931
+ # [UploadPartCopy][10]) using the REST API, the encryption request
2757
2932
  # headers must match the encryption settings that are specified in
2758
2933
  # the `CreateSession` request. You can't override the values of the
2759
2934
  # encryption settings (`x-amz-server-side-encryption`,
@@ -2773,7 +2948,7 @@ module Aws::S3
2773
2948
  # configuration for the `CreateSession` request. It's not supported
2774
2949
  # to override the encryption settings values in the `CreateSession`
2775
2950
  # request. So in the Zonal endpoint API calls (except
2776
- # [CopyObject][14] and [UploadPartCopy][9]), the encryption request
2951
+ # [CopyObject][15] and [UploadPartCopy][10]), the encryption request
2777
2952
  # headers must match the default encryption configuration of the
2778
2953
  # directory bucket.
2779
2954
  #
@@ -2789,19 +2964,19 @@ module Aws::S3
2789
2964
  # HTTP Host header syntax
2790
2965
  #
2791
2966
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
2792
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
2967
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
2793
2968
  #
2794
2969
  # The following operations are related to `CreateMultipartUpload`:
2795
2970
  #
2796
2971
  # * [UploadPart][1]
2797
2972
  #
2798
- # * [CompleteMultipartUpload][15]
2973
+ # * [CompleteMultipartUpload][16]
2799
2974
  #
2800
- # * [AbortMultipartUpload][16]
2975
+ # * [AbortMultipartUpload][17]
2801
2976
  #
2802
- # * [ListParts][17]
2977
+ # * [ListParts][18]
2803
2978
  #
2804
- # * [ListMultipartUploads][18]
2979
+ # * [ListMultipartUploads][19]
2805
2980
  #
2806
2981
  #
2807
2982
  #
@@ -2809,20 +2984,21 @@ module Aws::S3
2809
2984
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
2810
2985
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
2811
2986
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
2812
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
2813
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
2814
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2815
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
2816
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
2817
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
2818
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2819
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
2820
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
2821
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
2822
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2823
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2824
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2825
- # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2987
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
2988
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
2989
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
2990
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2991
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
2992
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
2993
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
2994
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2995
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
2996
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
2997
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
2998
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2999
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
3000
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
3001
+ # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2826
3002
  #
2827
3003
  # @option params [String] :acl
2828
3004
  # The canned ACL to apply to the object. Amazon S3 supports a set of
@@ -2855,10 +3031,10 @@ module Aws::S3
2855
3031
  #
2856
3032
  # **Directory buckets** - When you use this operation with a directory
2857
3033
  # bucket, you must use virtual-hosted-style requests in the format `
2858
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
2859
- # are not supported. Directory bucket names must be unique in the chosen
2860
- # Availability Zone. Bucket names must follow the format `
2861
- # bucket_base_name--az-id--x-s3` (for example, `
3034
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
3035
+ # requests are not supported. Directory bucket names must be unique in
3036
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
3037
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
2862
3038
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
2863
3039
  # naming restrictions, see [Directory bucket naming rules][1] in the
2864
3040
  # *Amazon S3 User Guide*.
@@ -3324,7 +3500,7 @@ module Aws::S3
3324
3500
  #
3325
3501
  # @option params [String] :ssekms_encryption_context
3326
3502
  # Specifies the Amazon Web Services KMS Encryption Context to use for
3327
- # object encryption. The value of this header is a Base64-encoded string
3503
+ # object encryption. The value of this header is a Base64 encoded string
3328
3504
  # of a UTF-8 encoded JSON, which contains the encryption context as
3329
3505
  # key-value pairs.
3330
3506
  #
@@ -3422,6 +3598,15 @@ module Aws::S3
3422
3598
  #
3423
3599
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
3424
3600
  #
3601
+ # @option params [String] :checksum_type
3602
+ # Indicates the checksum type that you want Amazon S3 to use to
3603
+ # calculate the object’s checksum value. For more information, see
3604
+ # [Checking object integrity in the Amazon S3 User Guide][1].
3605
+ #
3606
+ #
3607
+ #
3608
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
3609
+ #
3425
3610
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3426
3611
  #
3427
3612
  # * {Types::CreateMultipartUploadOutput#abort_date #abort_date} => Time
@@ -3437,6 +3622,7 @@ module Aws::S3
3437
3622
  # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
3438
3623
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
3439
3624
  # * {Types::CreateMultipartUploadOutput#checksum_algorithm #checksum_algorithm} => String
3625
+ # * {Types::CreateMultipartUploadOutput#checksum_type #checksum_type} => String
3440
3626
  #
3441
3627
  #
3442
3628
  # @example Example: To initiate a multipart upload
@@ -3489,7 +3675,8 @@ module Aws::S3
3489
3675
  # object_lock_retain_until_date: Time.now,
3490
3676
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
3491
3677
  # expected_bucket_owner: "AccountId",
3492
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3678
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
3679
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
3493
3680
  # })
3494
3681
  #
3495
3682
  # @example Response structure
@@ -3506,7 +3693,8 @@ module Aws::S3
3506
3693
  # resp.ssekms_encryption_context #=> String
3507
3694
  # resp.bucket_key_enabled #=> Boolean
3508
3695
  # resp.request_charged #=> String, one of "requester"
3509
- # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
3696
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
3697
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
3510
3698
  #
3511
3699
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
3512
3700
  #
@@ -3555,23 +3743,27 @@ module Aws::S3
3555
3743
  #
3556
3744
  # <note markdown="1"> * You must make requests for this API operation to the Zonal endpoint.
3557
3745
  # These endpoints support virtual-hosted-style requests in the format
3558
- # `https://bucket_name.s3express-az_id.region.amazonaws.com`.
3559
- # Path-style requests are not supported. For more information, see
3560
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
3746
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com`.
3747
+ # Path-style requests are not supported. For more information about
3748
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
3749
+ # for directory buckets in Availability Zones][3] in the *Amazon S3
3750
+ # User Guide*. For more information about endpoints in Local Zones,
3751
+ # see [Available Local Zone for directory buckets][4] in the *Amazon
3752
+ # S3 User Guide*.
3561
3753
  #
3562
3754
  # * <b> <code>CopyObject</code> API operation</b> - Unlike other Zonal
3563
3755
  # endpoint API operations, the `CopyObject` API operation doesn't use
3564
3756
  # the temporary security credentials returned from the `CreateSession`
3565
3757
  # API operation for authentication and authorization. For information
3566
3758
  # about authentication and authorization of the `CopyObject` API
3567
- # operation on directory buckets, see [CopyObject][4].
3759
+ # operation on directory buckets, see [CopyObject][5].
3568
3760
  #
3569
3761
  # * <b> <code>HeadBucket</code> API operation</b> - Unlike other Zonal
3570
3762
  # endpoint API operations, the `HeadBucket` API operation doesn't use
3571
3763
  # the temporary security credentials returned from the `CreateSession`
3572
3764
  # API operation for authentication and authorization. For information
3573
3765
  # about authentication and authorization of the `HeadBucket` API
3574
- # operation on directory buckets, see [HeadBucket][5].
3766
+ # operation on directory buckets, see [HeadBucket][6].
3575
3767
  #
3576
3768
  # </note>
3577
3769
  #
@@ -3583,10 +3775,10 @@ module Aws::S3
3583
3775
  # can have the `s3express:SessionMode` condition key to control who
3584
3776
  # can create a `ReadWrite` or `ReadOnly` session. For more information
3585
3777
  # about `ReadWrite` or `ReadOnly` sessions, see [
3586
- # `x-amz-create-session-mode` ][6]. For example policies, see [Example
3587
- # bucket policies for S3 Express One Zone][7] and [Amazon Web Services
3778
+ # `x-amz-create-session-mode` ][7]. For example policies, see [Example
3779
+ # bucket policies for S3 Express One Zone][8] and [Amazon Web Services
3588
3780
  # Identity and Access Management (IAM) identity-based policies for S3
3589
- # Express One Zone][8] in the *Amazon S3 User Guide*.
3781
+ # Express One Zone][9] in the *Amazon S3 User Guide*.
3590
3782
  #
3591
3783
  # To grant cross-account access to Zonal endpoint API operations, the
3592
3784
  # bucket policy should also grant both accounts the
@@ -3607,32 +3799,32 @@ module Aws::S3
3607
3799
  # requests or `PUT` object requests. Then, new objects are
3608
3800
  # automatically encrypted with the desired encryption settings. For
3609
3801
  # more information, see [Protecting data with server-side
3610
- # encryption][9] in the *Amazon S3 User Guide*. For more information
3802
+ # encryption][10] in the *Amazon S3 User Guide*. For more information
3611
3803
  # about the encryption overriding behaviors in directory buckets, see
3612
3804
  # [Specifying server-side encryption with KMS for new object
3613
- # uploads][10].
3805
+ # uploads][11].
3614
3806
  #
3615
- # For [Zonal endpoint (object-level) API operations][11] except
3616
- # [CopyObject][4] and [UploadPartCopy][12], you authenticate and
3617
- # authorize requests through [CreateSession][13] for low latency. To
3807
+ # For [Zonal endpoint (object-level) API operations][12] except
3808
+ # [CopyObject][5] and [UploadPartCopy][13], you authenticate and
3809
+ # authorize requests through [CreateSession][14] for low latency. To
3618
3810
  # encrypt new objects in a directory bucket with SSE-KMS, you must
3619
3811
  # specify SSE-KMS as the directory bucket's default encryption
3620
3812
  # configuration with a KMS key (specifically, a [customer managed
3621
- # key][14]). Then, when a session is created for Zonal endpoint API
3813
+ # key][15]). Then, when a session is created for Zonal endpoint API
3622
3814
  # operations, new objects are automatically encrypted and decrypted
3623
3815
  # with SSE-KMS and S3 Bucket Keys during the session.
3624
3816
  #
3625
- # <note markdown="1"> Only 1 [customer managed key][14] is supported per directory bucket
3817
+ # <note markdown="1"> Only 1 [customer managed key][15] is supported per directory bucket
3626
3818
  # for the lifetime of the bucket. The [Amazon Web Services managed
3627
- # key][15] (`aws/s3`) isn't supported. After you specify SSE-KMS as
3819
+ # key][16] (`aws/s3`) isn't supported. After you specify SSE-KMS as
3628
3820
  # your bucket's default encryption configuration with a customer
3629
3821
  # managed key, you can't change the customer managed key for the
3630
3822
  # bucket's SSE-KMS configuration.
3631
3823
  #
3632
3824
  # </note>
3633
3825
  #
3634
- # In the Zonal endpoint API calls (except [CopyObject][4] and
3635
- # [UploadPartCopy][12]) using the REST API, you can't override the
3826
+ # In the Zonal endpoint API calls (except [CopyObject][5] and
3827
+ # [UploadPartCopy][13]) using the REST API, you can't override the
3636
3828
  # values of the encryption settings (`x-amz-server-side-encryption`,
3637
3829
  # `x-amz-server-side-encryption-aws-kms-key-id`,
3638
3830
  # `x-amz-server-side-encryption-context`, and
@@ -3648,8 +3840,8 @@ module Aws::S3
3648
3840
  # Web Services SDKs use the bucket's default encryption configuration
3649
3841
  # for the `CreateSession` request. It's not supported to override the
3650
3842
  # encryption settings values in the `CreateSession` request. Also, in
3651
- # the Zonal endpoint API calls (except [CopyObject][4] and
3652
- # [UploadPartCopy][12]), it's not supported to override the values of
3843
+ # the Zonal endpoint API calls (except [CopyObject][5] and
3844
+ # [UploadPartCopy][13]), it's not supported to override the values of
3653
3845
  # the encryption settings from the `CreateSession` request.
3654
3846
  #
3655
3847
  # </note>
@@ -3657,25 +3849,26 @@ module Aws::S3
3657
3849
  # HTTP Host header syntax
3658
3850
  #
3659
3851
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
3660
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
3852
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
3661
3853
  #
3662
3854
  #
3663
3855
  #
3664
3856
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html
3665
3857
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-optimizing-performance-guidelines-design-patterns.html#s3-express-optimizing-performance-session-authentication
3666
3858
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
3667
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
3668
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
3669
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
3670
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
3671
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
3672
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
3673
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
3674
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations
3675
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
3676
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
3677
- # [14]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3678
- # [15]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3859
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
3860
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
3861
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
3862
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
3863
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
3864
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
3865
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
3866
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
3867
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations
3868
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
3869
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
3870
+ # [15]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3871
+ # [16]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3679
3872
  #
3680
3873
  # @option params [String] :session_mode
3681
3874
  # Specifies the mode of the session that will be created, either
@@ -3726,7 +3919,7 @@ module Aws::S3
3726
3919
  # @option params [String] :ssekms_encryption_context
3727
3920
  # Specifies the Amazon Web Services KMS Encryption Context as an
3728
3921
  # additional encryption context to use for object encryption. The value
3729
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
3922
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
3730
3923
  # which contains the encryption context as key-value pairs. This value
3731
3924
  # is stored as object metadata and automatically gets passed on to
3732
3925
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -3817,10 +4010,13 @@ module Aws::S3
3817
4010
  # * <b>Directory buckets </b> - For directory buckets, you must make
3818
4011
  # requests for this API operation to the Regional endpoint. These
3819
4012
  # endpoints support path-style requests in the format
3820
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4013
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
3821
4014
  # Virtual-hosted-style requests aren't supported. For more
3822
- # information, see [Regional and Zonal endpoints][1] in the *Amazon S3
3823
- # User Guide*.
4015
+ # information about endpoints in Availability Zones, see [Regional and
4016
+ # Zonal endpoints for directory buckets in Availability Zones][1] in
4017
+ # the *Amazon S3 User Guide*. For more information about endpoints in
4018
+ # Local Zones, see [Available Local Zone for directory buckets][2] in
4019
+ # the *Amazon S3 User Guide*.
3824
4020
  #
3825
4021
  # </note>
3826
4022
  #
@@ -3835,39 +4031,41 @@ module Aws::S3
3835
4031
  # performed by the Amazon Web Services account that owns the
3836
4032
  # resource. For more information about directory bucket policies and
3837
4033
  # permissions, see [Amazon Web Services Identity and Access
3838
- # Management (IAM) for S3 Express One Zone][2] in the *Amazon S3
4034
+ # Management (IAM) for S3 Express One Zone][3] in the *Amazon S3
3839
4035
  # User Guide*.
3840
4036
  #
3841
4037
  # HTTP Host header syntax
3842
4038
  #
3843
4039
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
3844
- # `s3express-control.region.amazonaws.com`.
4040
+ # `s3express-control.region-code.amazonaws.com`.
3845
4041
  #
3846
4042
  # The following operations are related to `DeleteBucket`:
3847
4043
  #
3848
- # * [CreateBucket][3]
4044
+ # * [CreateBucket][4]
3849
4045
  #
3850
- # * [DeleteObject][4]
4046
+ # * [DeleteObject][5]
3851
4047
  #
3852
4048
  #
3853
4049
  #
3854
4050
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
3855
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
3856
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
3857
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
4051
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
4052
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4053
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
4054
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
3858
4055
  #
3859
4056
  # @option params [required, String] :bucket
3860
4057
  # Specifies the bucket being deleted.
3861
4058
  #
3862
4059
  # <b>Directory buckets </b> - When you use this operation with a
3863
4060
  # directory bucket, you must use path-style requests in the format
3864
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4061
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
3865
4062
  # Virtual-hosted-style requests aren't supported. Directory bucket
3866
- # names must be unique in the chosen Availability Zone. Bucket names
3867
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
3868
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
3869
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
3870
- # the *Amazon S3 User Guide*
4063
+ # names must be unique in the chosen Zone (Availability Zone or Local
4064
+ # Zone). Bucket names must also follow the format `
4065
+ # bucket-base-name--zone-id--x-s3` (for example, `
4066
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
4067
+ # naming restrictions, see [Directory bucket naming rules][1] in the
4068
+ # *Amazon S3 User Guide*
3871
4069
  #
3872
4070
  #
3873
4071
  #
@@ -4076,7 +4274,7 @@ module Aws::S3
4076
4274
  # HTTP Host header syntax
4077
4275
  #
4078
4276
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
4079
- # `s3express-control.region.amazonaws.com`.
4277
+ # `s3express-control.region-code.amazonaws.com`.
4080
4278
  #
4081
4279
  # The following operations are related to `DeleteBucketEncryption`:
4082
4280
  #
@@ -4100,13 +4298,14 @@ module Aws::S3
4100
4298
  #
4101
4299
  # <b>Directory buckets </b> - When you use this operation with a
4102
4300
  # directory bucket, you must use path-style requests in the format
4103
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4301
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
4104
4302
  # Virtual-hosted-style requests aren't supported. Directory bucket
4105
- # names must be unique in the chosen Availability Zone. Bucket names
4106
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
4107
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
4108
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
4109
- # the *Amazon S3 User Guide*
4303
+ # names must be unique in the chosen Zone (Availability Zone or Local
4304
+ # Zone). Bucket names must also follow the format `
4305
+ # bucket-base-name--zone-id--x-s3` (for example, `
4306
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
4307
+ # naming restrictions, see [Directory bucket naming rules][1] in the
4308
+ # *Amazon S3 User Guide*
4110
4309
  #
4111
4310
  #
4112
4311
  #
@@ -4308,10 +4507,13 @@ module Aws::S3
4308
4507
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4309
4508
  # requests for this API operation to the Regional endpoint. These
4310
4509
  # endpoints support path-style requests in the format
4311
- # `https://s3express-control.region_code.amazonaws.com/bucket-name
4510
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name
4312
4511
  # `. Virtual-hosted-style requests aren't supported. For more
4313
- # information, see [Regional and Zonal endpoints][3] in the *Amazon
4314
- # S3 User Guide*.
4512
+ # information about endpoints in Availability Zones, see [Regional
4513
+ # and Zonal endpoints for directory buckets in Availability
4514
+ # Zones][3] in the *Amazon S3 User Guide*. For more information
4515
+ # about endpoints in Local Zones, see [Available Local Zone for
4516
+ # directory buckets][4] in the *Amazon S3 User Guide*.
4315
4517
  #
4316
4518
  # </note>
4317
4519
  # ^
@@ -4322,22 +4524,23 @@ module Aws::S3
4322
4524
  # `s3express-control.region.amazonaws.com`.
4323
4525
  #
4324
4526
  # For more information about the object expiration, see [Elements to
4325
- # Describe Lifecycle Actions][4].
4527
+ # Describe Lifecycle Actions][5].
4326
4528
  #
4327
4529
  # Related actions include:
4328
4530
  #
4329
- # * [PutBucketLifecycleConfiguration][5]
4531
+ # * [PutBucketLifecycleConfiguration][6]
4330
4532
  #
4331
- # * [GetBucketLifecycleConfiguration][6]
4533
+ # * [GetBucketLifecycleConfiguration][7]
4332
4534
  #
4333
4535
  #
4334
4536
  #
4335
4537
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
4336
4538
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4337
4539
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4338
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4339
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4340
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4540
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
4541
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4542
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4543
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4341
4544
  #
4342
4545
  # @option params [required, String] :bucket
4343
4546
  # The bucket name of the lifecycle to delete.
@@ -4379,6 +4582,57 @@ module Aws::S3
4379
4582
  req.send_request(options)
4380
4583
  end
4381
4584
 
4585
+ # Deletes a metadata table configuration from a general purpose bucket.
4586
+ # For more information, see [Accelerating data discovery with S3
4587
+ # Metadata][1] in the *Amazon S3 User Guide*.
4588
+ #
4589
+ # Permissions
4590
+ #
4591
+ # : To use this operation, you must have the
4592
+ # `s3:DeleteBucketMetadataTableConfiguration` permission. For more
4593
+ # information, see [Setting up permissions for configuring metadata
4594
+ # tables][2] in the *Amazon S3 User Guide*.
4595
+ #
4596
+ # The following operations are related to
4597
+ # `DeleteBucketMetadataTableConfiguration`:
4598
+ #
4599
+ # * [CreateBucketMetadataTableConfiguration][3]
4600
+ #
4601
+ # * [GetBucketMetadataTableConfiguration][4]
4602
+ #
4603
+ #
4604
+ #
4605
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4606
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4607
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4608
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4609
+ #
4610
+ # @option params [required, String] :bucket
4611
+ # The general purpose bucket that you want to remove the metadata table
4612
+ # configuration from.
4613
+ #
4614
+ # @option params [String] :expected_bucket_owner
4615
+ # The expected bucket owner of the general purpose bucket that you want
4616
+ # to remove the metadata table configuration from.
4617
+ #
4618
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4619
+ #
4620
+ # @example Request syntax with placeholder values
4621
+ #
4622
+ # resp = client.delete_bucket_metadata_table_configuration({
4623
+ # bucket: "BucketName", # required
4624
+ # expected_bucket_owner: "AccountId",
4625
+ # })
4626
+ #
4627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataTableConfiguration AWS API Documentation
4628
+ #
4629
+ # @overload delete_bucket_metadata_table_configuration(params = {})
4630
+ # @param [Hash] params ({})
4631
+ def delete_bucket_metadata_table_configuration(params = {}, options = {})
4632
+ req = build_request(:delete_bucket_metadata_table_configuration, params)
4633
+ req.send_request(options)
4634
+ end
4635
+
4382
4636
  # <note markdown="1"> This operation is not supported for directory buckets.
4383
4637
  #
4384
4638
  # </note>
@@ -4504,9 +4758,13 @@ module Aws::S3
4504
4758
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4505
4759
  # requests for this API operation to the Regional endpoint. These
4506
4760
  # endpoints support path-style requests in the format
4507
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4508
- # Virtual-hosted-style requests aren't supported. For more information,
4509
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
4761
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
4762
+ # Virtual-hosted-style requests aren't supported. For more information
4763
+ # about endpoints in Availability Zones, see [Regional and Zonal
4764
+ # endpoints for directory buckets in Availability Zones][1] in the
4765
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
4766
+ # Zones, see [Available Local Zone for directory buckets][2] in the
4767
+ # *Amazon S3 User Guide*.
4510
4768
  #
4511
4769
  # </note>
4512
4770
  #
@@ -4536,7 +4794,7 @@ module Aws::S3
4536
4794
  # * **General purpose bucket permissions** - The
4537
4795
  # `s3:DeleteBucketPolicy` permission is required in a policy. For
4538
4796
  # more information about general purpose buckets bucket policies,
4539
- # see [Using Bucket Policies and User Policies][2] in the *Amazon S3
4797
+ # see [Using Bucket Policies and User Policies][3] in the *Amazon S3
4540
4798
  # User Guide*.
4541
4799
  #
4542
4800
  # * **Directory bucket permissions** - To grant access to this API
@@ -4547,39 +4805,41 @@ module Aws::S3
4547
4805
  # Services account that owns the resource. For more information
4548
4806
  # about directory bucket policies and permissions, see [Amazon Web
4549
4807
  # Services Identity and Access Management (IAM) for S3 Express One
4550
- # Zone][3] in the *Amazon S3 User Guide*.
4808
+ # Zone][4] in the *Amazon S3 User Guide*.
4551
4809
  #
4552
4810
  # HTTP Host header syntax
4553
4811
  #
4554
4812
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
4555
- # `s3express-control.region.amazonaws.com`.
4813
+ # `s3express-control.region-code.amazonaws.com`.
4556
4814
  #
4557
4815
  # The following operations are related to `DeleteBucketPolicy`
4558
4816
  #
4559
- # * [CreateBucket][4]
4817
+ # * [CreateBucket][5]
4560
4818
  #
4561
- # * [DeleteObject][5]
4819
+ # * [DeleteObject][6]
4562
4820
  #
4563
4821
  #
4564
4822
  #
4565
4823
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4566
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4567
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4568
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
4569
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
4824
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
4825
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4826
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4827
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
4828
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
4570
4829
  #
4571
4830
  # @option params [required, String] :bucket
4572
4831
  # The bucket name.
4573
4832
  #
4574
4833
  # <b>Directory buckets </b> - When you use this operation with a
4575
4834
  # directory bucket, you must use path-style requests in the format
4576
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4835
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
4577
4836
  # Virtual-hosted-style requests aren't supported. Directory bucket
4578
- # names must be unique in the chosen Availability Zone. Bucket names
4579
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
4580
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
4581
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
4582
- # the *Amazon S3 User Guide*
4837
+ # names must be unique in the chosen Zone (Availability Zone or Local
4838
+ # Zone). Bucket names must also follow the format `
4839
+ # bucket-base-name--zone-id--x-s3` (for example, `
4840
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
4841
+ # naming restrictions, see [Directory bucket naming rules][1] in the
4842
+ # *Amazon S3 User Guide*
4583
4843
  #
4584
4844
  #
4585
4845
  #
@@ -4818,33 +5078,71 @@ module Aws::S3
4818
5078
  end
4819
5079
 
4820
5080
  # Removes an object from a bucket. The behavior depends on the bucket's
4821
- # versioning state. For more information, see [Best practices to
4822
- # consider before deleting an object][1].
5081
+ # versioning state:
5082
+ #
5083
+ # * If bucket versioning is not enabled, the operation permanently
5084
+ # deletes the object.
5085
+ #
5086
+ # * If bucket versioning is enabled, the operation inserts a delete
5087
+ # marker, which becomes the current version of the object. To
5088
+ # permanently delete an object in a versioned bucket, you must include
5089
+ # the object’s `versionId` in the request. For more information about
5090
+ # versioning-enabled buckets, see [Deleting object versions from a
5091
+ # versioning-enabled bucket][1].
5092
+ #
5093
+ # * If bucket versioning is suspended, the operation removes the object
5094
+ # that has a null `versionId`, if there is one, and inserts a delete
5095
+ # marker that becomes the current version of the object. If there
5096
+ # isn't an object with a null `versionId`, and all versions of the
5097
+ # object have a `versionId`, Amazon S3 does not remove the object and
5098
+ # only inserts a delete marker. To permanently delete an object that
5099
+ # has a `versionId`, you must include the object’s `versionId` in the
5100
+ # request. For more information about versioning-suspended buckets,
5101
+ # see [Deleting objects from versioning-suspended buckets][2].
5102
+ #
5103
+ # <note markdown="1"> * **Directory buckets** - S3 Versioning isn't enabled and supported
5104
+ # for directory buckets. For this API operation, only the `null` value
5105
+ # of the version ID is supported by directory buckets. You can only
5106
+ # specify `null` to the `versionId` query parameter in the request.
5107
+ #
5108
+ # * **Directory buckets** - For directory buckets, you must make
5109
+ # requests for this API operation to the Zonal endpoint. These
5110
+ # endpoints support virtual-hosted-style requests in the format
5111
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
5112
+ # `. Path-style requests are not supported. For more information about
5113
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
5114
+ # for directory buckets in Availability Zones][3] in the *Amazon S3
5115
+ # User Guide*. For more information about endpoints in Local Zones,
5116
+ # see [Available Local Zone for directory buckets][4] in the *Amazon
5117
+ # S3 User Guide*.
5118
+ #
5119
+ # </note>
4823
5120
  #
4824
5121
  # To remove a specific version, you must use the `versionId` query
4825
5122
  # parameter. Using this query parameter permanently deletes the version.
4826
5123
  # If the object deleted is a delete marker, Amazon S3 sets the response
4827
- # header `x-amz-delete-marker` to true. If the object you want to delete
4828
- # is in a bucket where the bucket versioning configuration is MFA delete
4829
- # enabled, you must include the `x-amz-mfa` request header in the DELETE
4830
- # `versionId` request. Requests that include `x-amz-mfa` must use HTTPS.
4831
- # For more information about MFA delete and to see example requests, see
4832
- # [Using MFA delete][2] and [Sample request][3] in the *Amazon S3 User
4833
- # Guide*.
5124
+ # header `x-amz-delete-marker` to true.
4834
5125
  #
4835
- # <note markdown="1"> * S3 Versioning isn't enabled and supported for directory buckets.
4836
- # For this API operation, only the `null` value of the version ID is
4837
- # supported by directory buckets. You can only specify `null` to the
4838
- # `versionId` query parameter in the request.
5126
+ # If the object you want to delete is in a bucket where the bucket
5127
+ # versioning configuration is MFA Delete enabled, you must include the
5128
+ # `x-amz-mfa` request header in the DELETE `versionId` request. Requests
5129
+ # that include `x-amz-mfa` must use HTTPS. For more information about
5130
+ # MFA Delete, see [Using MFA Delete][5] in the *Amazon S3 User Guide*.
5131
+ # To see sample requests that use versioning, see [Sample Request][6].
4839
5132
  #
4840
- # * For directory buckets, you must make requests for this API operation
4841
- # to the Zonal endpoint. These endpoints support virtual-hosted-style
4842
- # requests in the format
4843
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
4844
- # `. Path-style requests are not supported. For more information, see
4845
- # [Regional and Zonal endpoints][4] in the *Amazon S3 User Guide*.
5133
+ # <note markdown="1"> **Directory buckets** - MFA delete is not supported by directory
5134
+ # buckets.
5135
+ #
5136
+ # </note>
5137
+ #
5138
+ # You can delete objects by explicitly calling DELETE Object or calling
5139
+ # ([PutBucketLifecycle][7]) to enable Amazon S3 to remove them for you.
5140
+ # If you want to block users or accounts from removing or deleting
5141
+ # objects from your bucket, you must deny them the `s3:DeleteObject`,
5142
+ # `s3:DeleteObjectVersion`, and `s3:PutLifeCycleConfiguration` actions.
4846
5143
  #
4847
- # * MFA delete is not supported by directory buckets.
5144
+ # <note markdown="1"> **Directory buckets** - S3 Lifecycle is not supported by directory
5145
+ # buckets.
4848
5146
  #
4849
5147
  # </note>
4850
5148
  #
@@ -4856,51 +5154,56 @@ module Aws::S3
4856
5154
  # * <b> <code>s3:DeleteObject</code> </b> - To delete an object from
4857
5155
  # a bucket, you must always have the `s3:DeleteObject` permission.
4858
5156
  #
4859
- # <note markdown="1"> You can also use PutBucketLifecycle to delete objects in Amazon
4860
- # S3.
4861
- #
4862
- # </note>
4863
- #
4864
5157
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
4865
5158
  # specific version of an object from a versioning-enabled bucket,
4866
5159
  # you must have the `s3:DeleteObjectVersion` permission.
4867
- #
4868
- # * If you want to block users or accounts from removing or deleting
4869
- # objects from your bucket, you must deny them the
4870
- # `s3:DeleteObject`, `s3:DeleteObjectVersion`, and
4871
- # `s3:PutLifeCycleConfiguration` permissions.
4872
- # * **Directory buckets permissions** - To grant access to this API
4873
- # operation on a directory bucket, we recommend that you use the
4874
- # CreateSession API operation for session-based authorization.
5160
+ # * **Directory bucket permissions** - To grant access to this API
5161
+ # operation on a directory bucket, we recommend that you use the [
5162
+ # `CreateSession` ][8] API operation for session-based
5163
+ # authorization. Specifically, you grant the
5164
+ # `s3express:CreateSession` permission to the directory bucket in a
5165
+ # bucket policy or an IAM identity-based policy. Then, you make the
5166
+ # `CreateSession` API call on the bucket to obtain a session token.
5167
+ # With the session token in your request header, you can make API
5168
+ # requests to this operation. After the session token expires, you
5169
+ # make another `CreateSession` API call to generate a new session
5170
+ # token for use. Amazon Web Services CLI or SDKs create session and
5171
+ # refresh the session token automatically to avoid service
5172
+ # interruptions when a session expires. For more information about
5173
+ # authorization, see [ `CreateSession` ][8].
4875
5174
  #
4876
5175
  # HTTP Host header syntax
4877
5176
  #
4878
5177
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
4879
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
5178
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
4880
5179
  #
4881
5180
  # The following action is related to `DeleteObject`:
4882
5181
  #
4883
- # * [PutObject][5]
5182
+ # * [PutObject][9]
4884
5183
  #
4885
5184
  # ^
4886
5185
  #
4887
5186
  #
4888
5187
  #
4889
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html#DeletingObjects-best-practices
4890
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
4891
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
4892
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4893
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
5188
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html
5189
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectsfromVersioningSuspendedBuckets.html
5190
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
5191
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
5192
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
5193
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
5194
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
5195
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
5196
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
4894
5197
  #
4895
5198
  # @option params [required, String] :bucket
4896
5199
  # The bucket name of the bucket containing the object.
4897
5200
  #
4898
5201
  # **Directory buckets** - When you use this operation with a directory
4899
5202
  # bucket, you must use virtual-hosted-style requests in the format `
4900
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
4901
- # are not supported. Directory bucket names must be unique in the chosen
4902
- # Availability Zone. Bucket names must follow the format `
4903
- # bucket_base_name--az-id--x-s3` (for example, `
5203
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
5204
+ # requests are not supported. Directory bucket names must be unique in
5205
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
5206
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
4904
5207
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
4905
5208
  # naming restrictions, see [Directory bucket naming rules][1] in the
4906
5209
  # *Amazon S3 User Guide*.
@@ -5233,9 +5536,13 @@ module Aws::S3
5233
5536
  # * **Directory buckets** - For directory buckets, you must make
5234
5537
  # requests for this API operation to the Zonal endpoint. These
5235
5538
  # endpoints support virtual-hosted-style requests in the format
5236
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
5237
- # `. Path-style requests are not supported. For more information, see
5238
- # [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
5539
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
5540
+ # `. Path-style requests are not supported. For more information about
5541
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
5542
+ # for directory buckets in Availability Zones][1] in the *Amazon S3
5543
+ # User Guide*. For more information about endpoints in Local Zones,
5544
+ # see [Available Local Zone for directory buckets][2] in the *Amazon
5545
+ # S3 User Guide*.
5239
5546
  #
5240
5547
  # </note>
5241
5548
  #
@@ -5253,7 +5560,7 @@ module Aws::S3
5253
5560
  # if there are non-versioned objects you are trying to delete. If you
5254
5561
  # provide an invalid token, whether there are versioned keys in the
5255
5562
  # request or not, the entire Multi-Object Delete request will fail. For
5256
- # information about MFA Delete, see [MFA Delete][2] in the *Amazon S3
5563
+ # information about MFA Delete, see [MFA Delete][3] in the *Amazon S3
5257
5564
  # User Guide*.
5258
5565
  #
5259
5566
  # <note markdown="1"> **Directory buckets** - MFA delete is not supported by directory
@@ -5275,7 +5582,7 @@ module Aws::S3
5275
5582
  # you must specify the `s3:DeleteObjectVersion` permission.
5276
5583
  # * **Directory bucket permissions** - To grant access to this API
5277
5584
  # operation on a directory bucket, we recommend that you use the [
5278
- # `CreateSession` ][3] API operation for session-based
5585
+ # `CreateSession` ][4] API operation for session-based
5279
5586
  # authorization. Specifically, you grant the
5280
5587
  # `s3express:CreateSession` permission to the directory bucket in a
5281
5588
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -5286,7 +5593,7 @@ module Aws::S3
5286
5593
  # token for use. Amazon Web Services CLI or SDKs create session and
5287
5594
  # refresh the session token automatically to avoid service
5288
5595
  # interruptions when a session expires. For more information about
5289
- # authorization, see [ `CreateSession` ][3].
5596
+ # authorization, see [ `CreateSession` ][4].
5290
5597
  #
5291
5598
  # Content-MD5 request header
5292
5599
  # : * **General purpose bucket** - The Content-MD5 request header is
@@ -5303,40 +5610,41 @@ module Aws::S3
5303
5610
  # HTTP Host header syntax
5304
5611
  #
5305
5612
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
5306
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
5613
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
5307
5614
  #
5308
5615
  # The following operations are related to `DeleteObjects`:
5309
5616
  #
5310
- # * [CreateMultipartUpload][4]
5617
+ # * [CreateMultipartUpload][5]
5311
5618
  #
5312
- # * [UploadPart][5]
5619
+ # * [UploadPart][6]
5313
5620
  #
5314
- # * [CompleteMultipartUpload][6]
5621
+ # * [CompleteMultipartUpload][7]
5315
5622
  #
5316
- # * [ListParts][7]
5623
+ # * [ListParts][8]
5317
5624
  #
5318
- # * [AbortMultipartUpload][8]
5625
+ # * [AbortMultipartUpload][9]
5319
5626
  #
5320
5627
  #
5321
5628
  #
5322
5629
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
5323
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
5324
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
5325
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
5326
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
5327
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
5328
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
5329
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
5630
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
5631
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
5632
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
5633
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
5634
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
5635
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
5636
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
5637
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
5330
5638
  #
5331
5639
  # @option params [required, String] :bucket
5332
5640
  # The bucket name containing the objects to delete.
5333
5641
  #
5334
5642
  # **Directory buckets** - When you use this operation with a directory
5335
5643
  # bucket, you must use virtual-hosted-style requests in the format `
5336
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
5337
- # are not supported. Directory bucket names must be unique in the chosen
5338
- # Availability Zone. Bucket names must follow the format `
5339
- # bucket_base_name--az-id--x-s3` (for example, `
5644
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
5645
+ # requests are not supported. Directory bucket names must be unique in
5646
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
5647
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
5340
5648
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
5341
5649
  # naming restrictions, see [Directory bucket naming rules][1] in the
5342
5650
  # *Amazon S3 User Guide*.
@@ -5440,22 +5748,23 @@ module Aws::S3
5440
5748
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
5441
5749
  # the supported algorithm from the following list:
5442
5750
  #
5443
- # * `CRC32`
5751
+ # * `CRC-32`
5752
+ #
5753
+ # * `CRC-32C`
5444
5754
  #
5445
- # * `CRC32C`
5755
+ # * `CRC-64NVME`
5446
5756
  #
5447
- # * `SHA1`
5757
+ # * `SHA-1`
5448
5758
  #
5449
- # * `SHA256`
5759
+ # * `SHA-256`
5450
5760
  #
5451
5761
  # For more information, see [Checking object integrity][1] in the
5452
5762
  # *Amazon S3 User Guide*.
5453
5763
  #
5454
5764
  # If the individual checksum value you provide through
5455
5765
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
5456
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
5457
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
5458
- # that matches the provided value in `x-amz-checksum-algorithm `.
5766
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
5767
+ # request with a `BadDigest` error.
5459
5768
  #
5460
5769
  # If you provide an individual checksum, Amazon S3 ignores any provided
5461
5770
  # `ChecksumAlgorithm` parameter.
@@ -5471,22 +5780,20 @@ module Aws::S3
5471
5780
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5472
5781
  #
5473
5782
  #
5474
- # @example Example: To delete multiple object versions from a versioned bucket
5783
+ # @example Example: To delete multiple objects from a versioned bucket
5475
5784
  #
5476
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5477
- # # versions and returns the key and versions of deleted objects in the response.
5785
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5786
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5478
5787
  #
5479
5788
  # resp = client.delete_objects({
5480
5789
  # bucket: "examplebucket",
5481
5790
  # delete: {
5482
5791
  # objects: [
5483
5792
  # {
5484
- # key: "HappyFace.jpg",
5485
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5793
+ # key: "objectkey1",
5486
5794
  # },
5487
5795
  # {
5488
- # key: "HappyFace.jpg",
5489
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5796
+ # key: "objectkey2",
5490
5797
  # },
5491
5798
  # ],
5492
5799
  # quiet: false,
@@ -5497,30 +5804,34 @@ module Aws::S3
5497
5804
  # {
5498
5805
  # deleted: [
5499
5806
  # {
5500
- # key: "HappyFace.jpg",
5501
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5807
+ # delete_marker: true,
5808
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5809
+ # key: "objectkey1",
5502
5810
  # },
5503
5811
  # {
5504
- # key: "HappyFace.jpg",
5505
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5812
+ # delete_marker: true,
5813
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5814
+ # key: "objectkey2",
5506
5815
  # },
5507
5816
  # ],
5508
5817
  # }
5509
5818
  #
5510
- # @example Example: To delete multiple objects from a versioned bucket
5819
+ # @example Example: To delete multiple object versions from a versioned bucket
5511
5820
  #
5512
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5513
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5821
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5822
+ # # versions and returns the key and versions of deleted objects in the response.
5514
5823
  #
5515
5824
  # resp = client.delete_objects({
5516
5825
  # bucket: "examplebucket",
5517
5826
  # delete: {
5518
5827
  # objects: [
5519
5828
  # {
5520
- # key: "objectkey1",
5829
+ # key: "HappyFace.jpg",
5830
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5521
5831
  # },
5522
5832
  # {
5523
- # key: "objectkey2",
5833
+ # key: "HappyFace.jpg",
5834
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5524
5835
  # },
5525
5836
  # ],
5526
5837
  # quiet: false,
@@ -5531,14 +5842,12 @@ module Aws::S3
5531
5842
  # {
5532
5843
  # deleted: [
5533
5844
  # {
5534
- # delete_marker: true,
5535
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5536
- # key: "objectkey1",
5845
+ # key: "HappyFace.jpg",
5846
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5537
5847
  # },
5538
5848
  # {
5539
- # delete_marker: true,
5540
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5541
- # key: "objectkey2",
5849
+ # key: "HappyFace.jpg",
5850
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5542
5851
  # },
5543
5852
  # ],
5544
5853
  # }
@@ -5563,7 +5872,7 @@ module Aws::S3
5563
5872
  # request_payer: "requester", # accepts requester
5564
5873
  # bypass_governance_retention: false,
5565
5874
  # expected_bucket_owner: "AccountId",
5566
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
5875
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
5567
5876
  # })
5568
5877
  #
5569
5878
  # @example Response structure
@@ -6083,7 +6392,7 @@ module Aws::S3
6083
6392
  # HTTP Host header syntax
6084
6393
  #
6085
6394
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
6086
- # `s3express-control.region.amazonaws.com`.
6395
+ # `s3express-control.region-code.amazonaws.com`.
6087
6396
  #
6088
6397
  # The following operations are related to `GetBucketEncryption`:
6089
6398
  #
@@ -6107,13 +6416,14 @@ module Aws::S3
6107
6416
  #
6108
6417
  # <b>Directory buckets </b> - When you use this operation with a
6109
6418
  # directory bucket, you must use path-style requests in the format
6110
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
6419
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
6111
6420
  # Virtual-hosted-style requests aren't supported. Directory bucket
6112
- # names must be unique in the chosen Availability Zone. Bucket names
6113
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
6114
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
6115
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
6116
- # the *Amazon S3 User Guide*
6421
+ # names must be unique in the chosen Zone (Availability Zone or Local
6422
+ # Zone). Bucket names must also follow the format `
6423
+ # bucket-base-name--zone-id--x-s3` (for example, `
6424
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
6425
+ # naming restrictions, see [Directory bucket naming rules][1] in the
6426
+ # *Amazon S3 User Guide*
6117
6427
  #
6118
6428
  #
6119
6429
  #
@@ -6490,10 +6800,13 @@ module Aws::S3
6490
6800
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
6491
6801
  # requests for this API operation to the Regional endpoint. These
6492
6802
  # endpoints support path-style requests in the format
6493
- # `https://s3express-control.region_code.amazonaws.com/bucket-name
6803
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name
6494
6804
  # `. Virtual-hosted-style requests aren't supported. For more
6495
- # information, see [Regional and Zonal endpoints][5] in the *Amazon
6496
- # S3 User Guide*.
6805
+ # information about endpoints in Availability Zones, see [Regional
6806
+ # and Zonal endpoints for directory buckets in Availability
6807
+ # Zones][5] in the *Amazon S3 User Guide*. For more information
6808
+ # about endpoints in Local Zones, see [Available Local Zone for
6809
+ # directory buckets][6] in the *Amazon S3 User Guide*.
6497
6810
  #
6498
6811
  # </note>
6499
6812
  #
@@ -6517,9 +6830,9 @@ module Aws::S3
6517
6830
  #
6518
6831
  # * [GetBucketLifecycle][2]
6519
6832
  #
6520
- # * [PutBucketLifecycle][6]
6833
+ # * [PutBucketLifecycle][7]
6521
6834
  #
6522
- # * [DeleteBucketLifecycle][7]
6835
+ # * [DeleteBucketLifecycle][8]
6523
6836
  #
6524
6837
  #
6525
6838
  #
@@ -6528,8 +6841,9 @@ module Aws::S3
6528
6841
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6529
6842
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6530
6843
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
6531
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6532
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6844
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
6845
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6846
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6533
6847
  #
6534
6848
  # @option params [required, String] :bucket
6535
6849
  # The name of the bucket for which to get the lifecycle information.
@@ -6780,6 +7094,69 @@ module Aws::S3
6780
7094
  req.send_request(options)
6781
7095
  end
6782
7096
 
7097
+ # Retrieves the metadata table configuration for a general purpose
7098
+ # bucket. For more information, see [Accelerating data discovery with S3
7099
+ # Metadata][1] in the *Amazon S3 User Guide*.
7100
+ #
7101
+ # Permissions
7102
+ #
7103
+ # : To use this operation, you must have the
7104
+ # `s3:GetBucketMetadataTableConfiguration` permission. For more
7105
+ # information, see [Setting up permissions for configuring metadata
7106
+ # tables][2] in the *Amazon S3 User Guide*.
7107
+ #
7108
+ # The following operations are related to
7109
+ # `GetBucketMetadataTableConfiguration`:
7110
+ #
7111
+ # * [CreateBucketMetadataTableConfiguration][3]
7112
+ #
7113
+ # * [DeleteBucketMetadataTableConfiguration][4]
7114
+ #
7115
+ #
7116
+ #
7117
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7118
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7119
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7120
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7121
+ #
7122
+ # @option params [required, String] :bucket
7123
+ # The general purpose bucket that contains the metadata table
7124
+ # configuration that you want to retrieve.
7125
+ #
7126
+ # @option params [String] :expected_bucket_owner
7127
+ # The expected owner of the general purpose bucket that you want to
7128
+ # retrieve the metadata table configuration from.
7129
+ #
7130
+ # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7131
+ #
7132
+ # * {Types::GetBucketMetadataTableConfigurationOutput#get_bucket_metadata_table_configuration_result #get_bucket_metadata_table_configuration_result} => Types::GetBucketMetadataTableConfigurationResult
7133
+ #
7134
+ # @example Request syntax with placeholder values
7135
+ #
7136
+ # resp = client.get_bucket_metadata_table_configuration({
7137
+ # bucket: "BucketName", # required
7138
+ # expected_bucket_owner: "AccountId",
7139
+ # })
7140
+ #
7141
+ # @example Response structure
7142
+ #
7143
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_bucket_arn #=> String
7144
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_name #=> String
7145
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_arn #=> String
7146
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_namespace #=> String
7147
+ # resp.get_bucket_metadata_table_configuration_result.status #=> String
7148
+ # resp.get_bucket_metadata_table_configuration_result.error.error_code #=> String
7149
+ # resp.get_bucket_metadata_table_configuration_result.error.error_message #=> String
7150
+ #
7151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataTableConfiguration AWS API Documentation
7152
+ #
7153
+ # @overload get_bucket_metadata_table_configuration(params = {})
7154
+ # @param [Hash] params ({})
7155
+ def get_bucket_metadata_table_configuration(params = {}, options = {})
7156
+ req = build_request(:get_bucket_metadata_table_configuration, params)
7157
+ req.send_request(options)
7158
+ end
7159
+
6783
7160
  # <note markdown="1"> This operation is not supported for directory buckets.
6784
7161
  #
6785
7162
  # </note>
@@ -7174,9 +7551,13 @@ module Aws::S3
7174
7551
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
7175
7552
  # requests for this API operation to the Regional endpoint. These
7176
7553
  # endpoints support path-style requests in the format
7177
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
7178
- # Virtual-hosted-style requests aren't supported. For more information,
7179
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
7554
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
7555
+ # Virtual-hosted-style requests aren't supported. For more information
7556
+ # about endpoints in Availability Zones, see [Regional and Zonal
7557
+ # endpoints for directory buckets in Availability Zones][1] in the
7558
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
7559
+ # Zones, see [Available Local Zone for directory buckets][2] in the
7560
+ # *Amazon S3 User Guide*.
7180
7561
  #
7181
7562
  # </note>
7182
7563
  #
@@ -7206,7 +7587,7 @@ module Aws::S3
7206
7587
  # * **General purpose bucket permissions** - The `s3:GetBucketPolicy`
7207
7588
  # permission is required in a policy. For more information about
7208
7589
  # general purpose buckets bucket policies, see [Using Bucket
7209
- # Policies and User Policies][2] in the *Amazon S3 User Guide*.
7590
+ # Policies and User Policies][3] in the *Amazon S3 User Guide*.
7210
7591
  #
7211
7592
  # * **Directory bucket permissions** - To grant access to this API
7212
7593
  # operation, you must have the `s3express:GetBucketPolicy`
@@ -7216,48 +7597,50 @@ module Aws::S3
7216
7597
  # Services account that owns the resource. For more information
7217
7598
  # about directory bucket policies and permissions, see [Amazon Web
7218
7599
  # Services Identity and Access Management (IAM) for S3 Express One
7219
- # Zone][3] in the *Amazon S3 User Guide*.
7600
+ # Zone][4] in the *Amazon S3 User Guide*.
7220
7601
  #
7221
7602
  # Example bucket policies
7222
7603
  #
7223
7604
  # : **General purpose buckets example bucket policies** - See [Bucket
7224
- # policy examples][4] in the *Amazon S3 User Guide*.
7605
+ # policy examples][5] in the *Amazon S3 User Guide*.
7225
7606
  #
7226
7607
  # **Directory bucket example bucket policies** - See [Example bucket
7227
- # policies for S3 Express One Zone][5] in the *Amazon S3 User Guide*.
7608
+ # policies for S3 Express One Zone][6] in the *Amazon S3 User Guide*.
7228
7609
  #
7229
7610
  # HTTP Host header syntax
7230
7611
  #
7231
7612
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
7232
- # `s3express-control.region.amazonaws.com`.
7613
+ # `s3express-control.region-code.amazonaws.com`.
7233
7614
  #
7234
7615
  # The following action is related to `GetBucketPolicy`:
7235
7616
  #
7236
- # * [GetObject][6]
7617
+ # * [GetObject][7]
7237
7618
  #
7238
7619
  # ^
7239
7620
  #
7240
7621
  #
7241
7622
  #
7242
7623
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
7243
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
7244
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
7245
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
7246
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
7247
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7624
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
7625
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
7626
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
7627
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
7628
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
7629
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7248
7630
  #
7249
7631
  # @option params [required, String] :bucket
7250
7632
  # The bucket name to get the bucket policy for.
7251
7633
  #
7252
7634
  # <b>Directory buckets </b> - When you use this operation with a
7253
7635
  # directory bucket, you must use path-style requests in the format
7254
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
7636
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
7255
7637
  # Virtual-hosted-style requests aren't supported. Directory bucket
7256
- # names must be unique in the chosen Availability Zone. Bucket names
7257
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
7258
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
7259
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
7260
- # the *Amazon S3 User Guide*
7638
+ # names must be unique in the chosen Zone (Availability Zone or Local
7639
+ # Zone). Bucket names must also follow the format `
7640
+ # bucket-base-name--zone-id--x-s3` (for example, `
7641
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
7642
+ # naming restrictions, see [Directory bucket naming rules][1] in the
7643
+ # *Amazon S3 User Guide*
7261
7644
  #
7262
7645
  # **Access points** - When you use this API operation with an access
7263
7646
  # point, provide the alias of the access point in place of the bucket
@@ -7860,9 +8243,13 @@ module Aws::S3
7860
8243
  # `/photos/2006/February/sample.jpg`. Also, when you make requests to
7861
8244
  # this API operation, your requests are sent to the Zonal endpoint.
7862
8245
  # These endpoints support virtual-hosted-style requests in the format
7863
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
7864
- # Path-style requests are not supported. For more information, see
7865
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
8246
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
8247
+ # `. Path-style requests are not supported. For more information about
8248
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
8249
+ # directory buckets in Availability Zones][2] in the *Amazon S3 User
8250
+ # Guide*. For more information about endpoints in Local Zones, see
8251
+ # [Available Local Zone for directory buckets][3] in the *Amazon S3 User
8252
+ # Guide*.
7866
8253
  #
7867
8254
  # Permissions
7868
8255
  # : * **General purpose bucket permissions** - You must have the
@@ -7870,7 +8257,7 @@ module Aws::S3
7870
8257
  # have the `READ` access to the object (or version). If you grant
7871
8258
  # `READ` access to the anonymous user, the `GetObject` operation
7872
8259
  # returns the object without using an authorization header. For more
7873
- # information, see [Specifying permissions in a policy][3] in the
8260
+ # information, see [Specifying permissions in a policy][4] in the
7874
8261
  # *Amazon S3 User Guide*.
7875
8262
  #
7876
8263
  # If you include a `versionId` in your request header, you must have
@@ -7894,7 +8281,7 @@ module Aws::S3
7894
8281
  # returns an HTTP status code `403 Access Denied` error.
7895
8282
  # * **Directory bucket permissions** - To grant access to this API
7896
8283
  # operation on a directory bucket, we recommend that you use the [
7897
- # `CreateSession` ][4] API operation for session-based
8284
+ # `CreateSession` ][5] API operation for session-based
7898
8285
  # authorization. Specifically, you grant the
7899
8286
  # `s3express:CreateSession` permission to the directory bucket in a
7900
8287
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -7905,7 +8292,7 @@ module Aws::S3
7905
8292
  # token for use. Amazon Web Services CLI or SDKs create session and
7906
8293
  # refresh the session token automatically to avoid service
7907
8294
  # interruptions when a session expires. For more information about
7908
- # authorization, see [ `CreateSession` ][4].
8295
+ # authorization, see [ `CreateSession` ][5].
7909
8296
  #
7910
8297
  # If the object is encrypted using SSE-KMS, you must also have the
7911
8298
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -7918,9 +8305,9 @@ module Aws::S3
7918
8305
  # storage class, the S3 Intelligent-Tiering Archive Access tier, or
7919
8306
  # the S3 Intelligent-Tiering Deep Archive Access tier, before you can
7920
8307
  # retrieve the object you must first restore a copy using
7921
- # [RestoreObject][5]. Otherwise, this operation returns an
8308
+ # [RestoreObject][6]. Otherwise, this operation returns an
7922
8309
  # `InvalidObjectState` error. For information about restoring archived
7923
- # objects, see [Restoring Archived Objects][6] in the *Amazon S3 User
8310
+ # objects, see [Restoring Archived Objects][7] in the *Amazon S3 User
7924
8311
  # Guide*.
7925
8312
  #
7926
8313
  # <b>Directory buckets </b> - For directory buckets, only the S3
@@ -7942,7 +8329,7 @@ module Aws::S3
7942
8329
  # **Directory buckets** - For directory buckets, there are only two
7943
8330
  # supported options for server-side encryption: SSE-S3 and SSE-KMS.
7944
8331
  # SSE-C isn't supported. For more information, see [Protecting data
7945
- # with server-side encryption][7] in the *Amazon S3 User Guide*.
8332
+ # with server-side encryption][8] in the *Amazon S3 User Guide*.
7946
8333
  #
7947
8334
  # Overriding response header values through the request
7948
8335
  #
@@ -7987,25 +8374,26 @@ module Aws::S3
7987
8374
  # HTTP Host header syntax
7988
8375
  #
7989
8376
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
7990
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
8377
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
7991
8378
  #
7992
8379
  # The following operations are related to `GetObject`:
7993
8380
  #
7994
- # * [ListBuckets][8]
8381
+ # * [ListBuckets][9]
7995
8382
  #
7996
- # * [GetObjectAcl][9]
8383
+ # * [GetObjectAcl][10]
7997
8384
  #
7998
8385
  #
7999
8386
  #
8000
8387
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
8001
8388
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
8002
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8003
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
8004
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
8005
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
8006
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
8007
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
8008
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
8389
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
8390
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8391
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
8392
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
8393
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
8394
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
8395
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
8396
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
8009
8397
  #
8010
8398
  # @option params [String, IO] :response_target
8011
8399
  # Where to write response data, file path, or IO object.
@@ -8015,10 +8403,10 @@ module Aws::S3
8015
8403
  #
8016
8404
  # **Directory buckets** - When you use this operation with a directory
8017
8405
  # bucket, you must use virtual-hosted-style requests in the format `
8018
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
8019
- # are not supported. Directory bucket names must be unique in the chosen
8020
- # Availability Zone. Bucket names must follow the format `
8021
- # bucket_base_name--az-id--x-s3` (for example, `
8406
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
8407
+ # requests are not supported. Directory bucket names must be unique in
8408
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
8409
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
8022
8410
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
8023
8411
  # naming restrictions, see [Directory bucket naming rules][1] in the
8024
8412
  # *Amazon S3 User Guide*.
@@ -8323,8 +8711,10 @@ module Aws::S3
8323
8711
  # * {Types::GetObjectOutput#etag #etag} => String
8324
8712
  # * {Types::GetObjectOutput#checksum_crc32 #checksum_crc32} => String
8325
8713
  # * {Types::GetObjectOutput#checksum_crc32c #checksum_crc32c} => String
8714
+ # * {Types::GetObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
8326
8715
  # * {Types::GetObjectOutput#checksum_sha1 #checksum_sha1} => String
8327
8716
  # * {Types::GetObjectOutput#checksum_sha256 #checksum_sha256} => String
8717
+ # * {Types::GetObjectOutput#checksum_type #checksum_type} => String
8328
8718
  # * {Types::GetObjectOutput#missing_meta #missing_meta} => Integer
8329
8719
  # * {Types::GetObjectOutput#version_id #version_id} => String
8330
8720
  # * {Types::GetObjectOutput#cache_control #cache_control} => String
@@ -8352,49 +8742,49 @@ module Aws::S3
8352
8742
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8353
8743
  #
8354
8744
  #
8355
- # @example Example: To retrieve an object
8745
+ # @example Example: To retrieve a byte range of an object
8356
8746
  #
8357
- # # The following example retrieves an object for an S3 bucket.
8747
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8748
+ # # specific byte range.
8358
8749
  #
8359
8750
  # resp = client.get_object({
8360
8751
  # bucket: "examplebucket",
8361
- # key: "HappyFace.jpg",
8752
+ # key: "SampleFile.txt",
8753
+ # range: "bytes=0-9",
8362
8754
  # })
8363
8755
  #
8364
8756
  # resp.to_h outputs the following:
8365
8757
  # {
8366
8758
  # accept_ranges: "bytes",
8367
- # content_length: 3191,
8368
- # content_type: "image/jpeg",
8369
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8370
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8759
+ # content_length: 10,
8760
+ # content_range: "bytes 0-9/43",
8761
+ # content_type: "text/plain",
8762
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8763
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8371
8764
  # metadata: {
8372
8765
  # },
8373
- # tag_count: 2,
8374
8766
  # version_id: "null",
8375
8767
  # }
8376
8768
  #
8377
- # @example Example: To retrieve a byte range of an object
8769
+ # @example Example: To retrieve an object
8378
8770
  #
8379
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8380
- # # specific byte range.
8771
+ # # The following example retrieves an object for an S3 bucket.
8381
8772
  #
8382
8773
  # resp = client.get_object({
8383
8774
  # bucket: "examplebucket",
8384
- # key: "SampleFile.txt",
8385
- # range: "bytes=0-9",
8775
+ # key: "HappyFace.jpg",
8386
8776
  # })
8387
8777
  #
8388
8778
  # resp.to_h outputs the following:
8389
8779
  # {
8390
8780
  # accept_ranges: "bytes",
8391
- # content_length: 10,
8392
- # content_range: "bytes 0-9/43",
8393
- # content_type: "text/plain",
8394
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8395
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8781
+ # content_length: 3191,
8782
+ # content_type: "image/jpeg",
8783
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8784
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8396
8785
  # metadata: {
8397
8786
  # },
8787
+ # tag_count: 2,
8398
8788
  # version_id: "null",
8399
8789
  # }
8400
8790
  #
@@ -8465,8 +8855,10 @@ module Aws::S3
8465
8855
  # resp.etag #=> String
8466
8856
  # resp.checksum_crc32 #=> String
8467
8857
  # resp.checksum_crc32c #=> String
8858
+ # resp.checksum_crc64nvme #=> String
8468
8859
  # resp.checksum_sha1 #=> String
8469
8860
  # resp.checksum_sha256 #=> String
8861
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
8470
8862
  # resp.missing_meta #=> Integer
8471
8863
  # resp.version_id #=> String
8472
8864
  # resp.cache_control #=> String
@@ -8698,9 +9090,13 @@ module Aws::S3
8698
9090
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
8699
9091
  # for this API operation to the Zonal endpoint. These endpoints support
8700
9092
  # virtual-hosted-style requests in the format
8701
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
8702
- # Path-style requests are not supported. For more information, see
8703
- # [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
9093
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
9094
+ # `. Path-style requests are not supported. For more information about
9095
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
9096
+ # directory buckets in Availability Zones][1] in the *Amazon S3 User
9097
+ # Guide*. For more information about endpoints in Local Zones, see
9098
+ # [Available Local Zone for directory buckets][2] in the *Amazon S3 User
9099
+ # Guide*.
8704
9100
  #
8705
9101
  # </note>
8706
9102
  #
@@ -8713,7 +9109,7 @@ module Aws::S3
8713
9109
  # `s3:GetObjectVersionAttributes` permissions for this operation. If
8714
9110
  # the bucket is not versioned, you need the `s3:GetObject` and
8715
9111
  # `s3:GetObjectAttributes` permissions. For more information, see
8716
- # [Specifying Permissions in a Policy][2] in the *Amazon S3 User
9112
+ # [Specifying Permissions in a Policy][3] in the *Amazon S3 User
8717
9113
  # Guide*. If the object that you request does not exist, the error
8718
9114
  # Amazon S3 returns depends on whether you also have the
8719
9115
  # `s3:ListBucket` permission.
@@ -8727,7 +9123,7 @@ module Aws::S3
8727
9123
  # error.
8728
9124
  # * **Directory bucket permissions** - To grant access to this API
8729
9125
  # operation on a directory bucket, we recommend that you use the [
8730
- # `CreateSession` ][3] API operation for session-based
9126
+ # `CreateSession` ][4] API operation for session-based
8731
9127
  # authorization. Specifically, you grant the
8732
9128
  # `s3express:CreateSession` permission to the directory bucket in a
8733
9129
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -8738,7 +9134,7 @@ module Aws::S3
8738
9134
  # token for use. Amazon Web Services CLI or SDKs create session and
8739
9135
  # refresh the session token automatically to avoid service
8740
9136
  # interruptions when a session expires. For more information about
8741
- # authorization, see [ `CreateSession` ][3].
9137
+ # authorization, see [ `CreateSession` ][4].
8742
9138
  #
8743
9139
  # If the object is encrypted with SSE-KMS, you must also have the
8744
9140
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -8774,7 +9170,7 @@ module Aws::S3
8774
9170
  # * `x-amz-server-side-encryption-customer-key-MD5`
8775
9171
  #
8776
9172
  # For more information about SSE-C, see [Server-Side Encryption (Using
8777
- # Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
9173
+ # Customer-Provided Encryption Keys)][5] in the *Amazon S3 User
8778
9174
  # Guide*.
8779
9175
  #
8780
9176
  # <note markdown="1"> **Directory bucket permissions** - For directory buckets, there are
@@ -8786,10 +9182,10 @@ module Aws::S3
8786
9182
  # encryption in your `CreateSession` requests or `PUT` object
8787
9183
  # requests. Then, new objects are automatically encrypted with the
8788
9184
  # desired encryption settings. For more information, see [Protecting
8789
- # data with server-side encryption][5] in the *Amazon S3 User Guide*.
9185
+ # data with server-side encryption][6] in the *Amazon S3 User Guide*.
8790
9186
  # For more information about the encryption overriding behaviors in
8791
9187
  # directory buckets, see [Specifying server-side encryption with KMS
8792
- # for new object uploads][6].
9188
+ # for new object uploads][7].
8793
9189
  #
8794
9190
  # </note>
8795
9191
  #
@@ -8812,7 +9208,7 @@ module Aws::S3
8812
9208
  #
8813
9209
  # * `If-Unmodified-Since` condition evaluates to `false`.
8814
9210
  # For more information about conditional requests, see [RFC
8815
- # 7232][7].
9211
+ # 7232][8].
8816
9212
  #
8817
9213
  # * If both of the `If-None-Match` and `If-Modified-Since` headers are
8818
9214
  # present in the request as follows, then Amazon S3 returns the HTTP
@@ -8822,58 +9218,59 @@ module Aws::S3
8822
9218
  #
8823
9219
  # * `If-Modified-Since` condition evaluates to `true`.
8824
9220
  # For more information about conditional requests, see [RFC
8825
- # 7232][7].
9221
+ # 7232][8].
8826
9222
  #
8827
9223
  # HTTP Host header syntax
8828
9224
  #
8829
9225
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
8830
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
9226
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
8831
9227
  #
8832
9228
  # The following actions are related to `GetObjectAttributes`:
8833
9229
  #
8834
- # * [GetObject][8]
9230
+ # * [GetObject][9]
8835
9231
  #
8836
- # * [GetObjectAcl][9]
9232
+ # * [GetObjectAcl][10]
8837
9233
  #
8838
- # * [GetObjectLegalHold][10]
9234
+ # * [GetObjectLegalHold][11]
8839
9235
  #
8840
- # * [GetObjectLockConfiguration][11]
9236
+ # * [GetObjectLockConfiguration][12]
8841
9237
  #
8842
- # * [GetObjectRetention][12]
9238
+ # * [GetObjectRetention][13]
8843
9239
  #
8844
- # * [GetObjectTagging][13]
9240
+ # * [GetObjectTagging][14]
8845
9241
  #
8846
- # * [HeadObject][14]
9242
+ # * [HeadObject][15]
8847
9243
  #
8848
- # * [ListParts][15]
9244
+ # * [ListParts][16]
8849
9245
  #
8850
9246
  #
8851
9247
  #
8852
9248
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
8853
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8854
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
8855
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8856
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
8857
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
8858
- # [7]: https://tools.ietf.org/html/rfc7232
8859
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
8860
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
8861
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
8862
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
8863
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
8864
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
8865
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
8866
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
9249
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
9250
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
9251
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
9252
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9253
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
9254
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
9255
+ # [8]: https://tools.ietf.org/html/rfc7232
9256
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
9257
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
9258
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
9259
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
9260
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
9261
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
9262
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
9263
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
8867
9264
  #
8868
9265
  # @option params [required, String] :bucket
8869
9266
  # The name of the bucket that contains the object.
8870
9267
  #
8871
9268
  # **Directory buckets** - When you use this operation with a directory
8872
9269
  # bucket, you must use virtual-hosted-style requests in the format `
8873
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
8874
- # are not supported. Directory bucket names must be unique in the chosen
8875
- # Availability Zone. Bucket names must follow the format `
8876
- # bucket_base_name--az-id--x-s3` (for example, `
9270
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
9271
+ # requests are not supported. Directory bucket names must be unique in
9272
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
9273
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
8877
9274
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
8878
9275
  # naming restrictions, see [Directory bucket naming rules][1] in the
8879
9276
  # *Amazon S3 User Guide*.
@@ -9020,8 +9417,10 @@ module Aws::S3
9020
9417
  # resp.etag #=> String
9021
9418
  # resp.checksum.checksum_crc32 #=> String
9022
9419
  # resp.checksum.checksum_crc32c #=> String
9420
+ # resp.checksum.checksum_crc64nvme #=> String
9023
9421
  # resp.checksum.checksum_sha1 #=> String
9024
9422
  # resp.checksum.checksum_sha256 #=> String
9423
+ # resp.checksum.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
9025
9424
  # resp.object_parts.total_parts_count #=> Integer
9026
9425
  # resp.object_parts.part_number_marker #=> Integer
9027
9426
  # resp.object_parts.next_part_number_marker #=> Integer
@@ -9032,6 +9431,7 @@ module Aws::S3
9032
9431
  # resp.object_parts.parts[0].size #=> Integer
9033
9432
  # resp.object_parts.parts[0].checksum_crc32 #=> String
9034
9433
  # resp.object_parts.parts[0].checksum_crc32c #=> String
9434
+ # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9035
9435
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9036
9436
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9037
9437
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
@@ -9407,49 +9807,49 @@ module Aws::S3
9407
9807
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
9408
9808
  #
9409
9809
  #
9410
- # @example Example: To retrieve tag set of a specific object version
9810
+ # @example Example: To retrieve tag set of an object
9411
9811
  #
9412
- # # The following example retrieves tag set of an object. The request specifies object version.
9812
+ # # The following example retrieves tag set of an object.
9413
9813
  #
9414
9814
  # resp = client.get_object_tagging({
9415
9815
  # bucket: "examplebucket",
9416
- # key: "exampleobject",
9417
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9816
+ # key: "HappyFace.jpg",
9418
9817
  # })
9419
9818
  #
9420
9819
  # resp.to_h outputs the following:
9421
9820
  # {
9422
9821
  # tag_set: [
9423
9822
  # {
9424
- # key: "Key1",
9425
- # value: "Value1",
9823
+ # key: "Key4",
9824
+ # value: "Value4",
9825
+ # },
9826
+ # {
9827
+ # key: "Key3",
9828
+ # value: "Value3",
9426
9829
  # },
9427
9830
  # ],
9428
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9831
+ # version_id: "null",
9429
9832
  # }
9430
9833
  #
9431
- # @example Example: To retrieve tag set of an object
9834
+ # @example Example: To retrieve tag set of a specific object version
9432
9835
  #
9433
- # # The following example retrieves tag set of an object.
9836
+ # # The following example retrieves tag set of an object. The request specifies object version.
9434
9837
  #
9435
9838
  # resp = client.get_object_tagging({
9436
9839
  # bucket: "examplebucket",
9437
- # key: "HappyFace.jpg",
9840
+ # key: "exampleobject",
9841
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9438
9842
  # })
9439
9843
  #
9440
9844
  # resp.to_h outputs the following:
9441
9845
  # {
9442
9846
  # tag_set: [
9443
9847
  # {
9444
- # key: "Key4",
9445
- # value: "Value4",
9446
- # },
9447
- # {
9448
- # key: "Key3",
9449
- # value: "Value3",
9848
+ # key: "Key1",
9849
+ # value: "Value1",
9450
9850
  # },
9451
9851
  # ],
9452
- # version_id: "null",
9852
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
9453
9853
  # }
9454
9854
  #
9455
9855
  # @example Request syntax with placeholder values
@@ -9710,13 +10110,17 @@ module Aws::S3
9710
10110
  # HTTP Host header syntax
9711
10111
  #
9712
10112
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
9713
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
10113
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
9714
10114
  #
9715
10115
  # <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
9716
10116
  # These endpoints support virtual-hosted-style requests in the format
9717
- # `https://bucket_name.s3express-az_id.region.amazonaws.com`.
9718
- # Path-style requests are not supported. For more information, see
9719
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
10117
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com`.
10118
+ # Path-style requests are not supported. For more information about
10119
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
10120
+ # for directory buckets in Availability Zones][5] in the *Amazon S3
10121
+ # User Guide*. For more information about endpoints in Local Zones,
10122
+ # see [Available Local Zone for directory buckets][6] in the *Amazon
10123
+ # S3 User Guide*.
9720
10124
  #
9721
10125
  # </note>
9722
10126
  #
@@ -9727,16 +10131,17 @@ module Aws::S3
9727
10131
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
9728
10132
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
9729
10133
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
10134
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
9730
10135
  #
9731
10136
  # @option params [required, String] :bucket
9732
10137
  # The bucket name.
9733
10138
  #
9734
10139
  # **Directory buckets** - When you use this operation with a directory
9735
10140
  # bucket, you must use virtual-hosted-style requests in the format `
9736
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
9737
- # are not supported. Directory bucket names must be unique in the chosen
9738
- # Availability Zone. Bucket names must follow the format `
9739
- # bucket_base_name--az-id--x-s3` (for example, `
10141
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
10142
+ # requests are not supported. Directory bucket names must be unique in
10143
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
10144
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
9740
10145
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
9741
10146
  # naming restrictions, see [Directory bucket naming rules][1] in the
9742
10147
  # *Amazon S3 User Guide*.
@@ -9810,7 +10215,7 @@ module Aws::S3
9810
10215
  #
9811
10216
  # @example Response structure
9812
10217
  #
9813
- # resp.bucket_location_type #=> String, one of "AvailabilityZone"
10218
+ # resp.bucket_location_type #=> String, one of "AvailabilityZone", "LocalZone"
9814
10219
  # resp.bucket_location_name #=> String
9815
10220
  # resp.bucket_region #=> String
9816
10221
  # resp.access_point_alias #=> Boolean
@@ -9955,22 +10360,26 @@ module Aws::S3
9955
10360
  # HTTP Host header syntax
9956
10361
  #
9957
10362
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
9958
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
10363
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
9959
10364
  #
9960
10365
  # <note markdown="1"> For directory buckets, you must make requests for this API operation
9961
10366
  # to the Zonal endpoint. These endpoints support virtual-hosted-style
9962
10367
  # requests in the format
9963
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
9964
- # `. Path-style requests are not supported. For more information, see
9965
- # [Regional and Zonal endpoints][6] in the *Amazon S3 User Guide*.
10368
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
10369
+ # `. Path-style requests are not supported. For more information about
10370
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
10371
+ # for directory buckets in Availability Zones][6] in the *Amazon S3
10372
+ # User Guide*. For more information about endpoints in Local Zones,
10373
+ # see [Available Local Zone for directory buckets][7] in the *Amazon
10374
+ # S3 User Guide*.
9966
10375
  #
9967
10376
  # </note>
9968
10377
  #
9969
10378
  # The following actions are related to `HeadObject`:
9970
10379
  #
9971
- # * [GetObject][7]
10380
+ # * [GetObject][8]
9972
10381
  #
9973
- # * [GetObjectAttributes][8]
10382
+ # * [GetObjectAttributes][9]
9974
10383
  #
9975
10384
  #
9976
10385
  #
@@ -9980,18 +10389,19 @@ module Aws::S3
9980
10389
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9981
10390
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
9982
10391
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
9983
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
9984
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
10392
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
10393
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
10394
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
9985
10395
  #
9986
10396
  # @option params [required, String] :bucket
9987
10397
  # The name of the bucket that contains the object.
9988
10398
  #
9989
10399
  # **Directory buckets** - When you use this operation with a directory
9990
10400
  # bucket, you must use virtual-hosted-style requests in the format `
9991
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
9992
- # are not supported. Directory bucket names must be unique in the chosen
9993
- # Availability Zone. Bucket names must follow the format `
9994
- # bucket_base_name--az-id--x-s3` (for example, `
10401
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
10402
+ # requests are not supported. Directory bucket names must be unique in
10403
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
10404
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
9995
10405
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
9996
10406
  # naming restrictions, see [Directory bucket naming rules][1] in the
9997
10407
  # *Amazon S3 User Guide*.
@@ -10223,8 +10633,10 @@ module Aws::S3
10223
10633
  # * {Types::HeadObjectOutput#content_length #content_length} => Integer
10224
10634
  # * {Types::HeadObjectOutput#checksum_crc32 #checksum_crc32} => String
10225
10635
  # * {Types::HeadObjectOutput#checksum_crc32c #checksum_crc32c} => String
10636
+ # * {Types::HeadObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
10226
10637
  # * {Types::HeadObjectOutput#checksum_sha1 #checksum_sha1} => String
10227
10638
  # * {Types::HeadObjectOutput#checksum_sha256 #checksum_sha256} => String
10639
+ # * {Types::HeadObjectOutput#checksum_type #checksum_type} => String
10228
10640
  # * {Types::HeadObjectOutput#etag #etag} => String
10229
10641
  # * {Types::HeadObjectOutput#missing_meta #missing_meta} => Integer
10230
10642
  # * {Types::HeadObjectOutput#version_id #version_id} => String
@@ -10309,8 +10721,10 @@ module Aws::S3
10309
10721
  # resp.content_length #=> Integer
10310
10722
  # resp.checksum_crc32 #=> String
10311
10723
  # resp.checksum_crc32c #=> String
10724
+ # resp.checksum_crc64nvme #=> String
10312
10725
  # resp.checksum_sha1 #=> String
10313
10726
  # resp.checksum_sha256 #=> String
10727
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
10314
10728
  # resp.etag #=> String
10315
10729
  # resp.missing_meta #=> Integer
10316
10730
  # resp.version_id #=> String
@@ -10895,9 +11309,13 @@ module Aws::S3
10895
11309
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
10896
11310
  # requests for this API operation to the Regional endpoint. These
10897
11311
  # endpoints support path-style requests in the format
10898
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
10899
- # Virtual-hosted-style requests aren't supported. For more information,
10900
- # see [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
11312
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
11313
+ # Virtual-hosted-style requests aren't supported. For more information
11314
+ # about endpoints in Availability Zones, see [Regional and Zonal
11315
+ # endpoints for directory buckets in Availability Zones][2] in the
11316
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
11317
+ # Zones, see [Available Local Zone for directory buckets][3] in the
11318
+ # *Amazon S3 User Guide*.
10901
11319
  #
10902
11320
  # </note>
10903
11321
  #
@@ -10909,7 +11327,7 @@ module Aws::S3
10909
11327
  # operation can only be performed by the Amazon Web Services account
10910
11328
  # that owns the resource. For more information about directory bucket
10911
11329
  # policies and permissions, see [Amazon Web Services Identity and
10912
- # Access Management (IAM) for S3 Express One Zone][3] in the *Amazon
11330
+ # Access Management (IAM) for S3 Express One Zone][4] in the *Amazon
10913
11331
  # S3 User Guide*.
10914
11332
  #
10915
11333
  # HTTP Host header syntax
@@ -10926,7 +11344,8 @@ module Aws::S3
10926
11344
  #
10927
11345
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
10928
11346
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
10929
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
11347
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
11348
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
10930
11349
  #
10931
11350
  # @option params [String] :continuation_token
10932
11351
  # `ContinuationToken` indicates to Amazon S3 that the list is being
@@ -11014,21 +11433,25 @@ module Aws::S3
11014
11433
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
11015
11434
  # for this API operation to the Zonal endpoint. These endpoints support
11016
11435
  # virtual-hosted-style requests in the format
11017
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
11018
- # Path-style requests are not supported. For more information, see
11019
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
11436
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
11437
+ # `. Path-style requests are not supported. For more information about
11438
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
11439
+ # directory buckets in Availability Zones][2] in the *Amazon S3 User
11440
+ # Guide*. For more information about endpoints in Local Zones, see
11441
+ # [Available Local Zone for directory buckets][3] in the *Amazon S3 User
11442
+ # Guide*.
11020
11443
  #
11021
11444
  # </note>
11022
11445
  #
11023
11446
  # Permissions
11024
11447
  # : * **General purpose bucket permissions** - For information about
11025
11448
  # permissions required to use the multipart upload API, see
11026
- # [Multipart Upload and Permissions][3] in the *Amazon S3 User
11449
+ # [Multipart Upload and Permissions][4] in the *Amazon S3 User
11027
11450
  # Guide*.
11028
11451
  #
11029
11452
  # * **Directory bucket permissions** - To grant access to this API
11030
11453
  # operation on a directory bucket, we recommend that you use the [
11031
- # `CreateSession` ][4] API operation for session-based
11454
+ # `CreateSession` ][5] API operation for session-based
11032
11455
  # authorization. Specifically, you grant the
11033
11456
  # `s3express:CreateSession` permission to the directory bucket in a
11034
11457
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -11039,7 +11462,7 @@ module Aws::S3
11039
11462
  # token for use. Amazon Web Services CLI or SDKs create session and
11040
11463
  # refresh the session token automatically to avoid service
11041
11464
  # interruptions when a session expires. For more information about
11042
- # authorization, see [ `CreateSession` ][4].
11465
+ # authorization, see [ `CreateSession` ][5].
11043
11466
  #
11044
11467
  # Sorting of multipart uploads in response
11045
11468
  # : * **General purpose bucket** - In the `ListMultipartUploads`
@@ -11060,41 +11483,42 @@ module Aws::S3
11060
11483
  # HTTP Host header syntax
11061
11484
  #
11062
11485
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
11063
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
11486
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
11064
11487
  #
11065
11488
  # The following operations are related to `ListMultipartUploads`:
11066
11489
  #
11067
- # * [CreateMultipartUpload][5]
11490
+ # * [CreateMultipartUpload][6]
11068
11491
  #
11069
- # * [UploadPart][6]
11492
+ # * [UploadPart][7]
11070
11493
  #
11071
- # * [CompleteMultipartUpload][7]
11494
+ # * [CompleteMultipartUpload][8]
11072
11495
  #
11073
- # * [ListParts][8]
11496
+ # * [ListParts][9]
11074
11497
  #
11075
- # * [AbortMultipartUpload][9]
11498
+ # * [AbortMultipartUpload][10]
11076
11499
  #
11077
11500
  #
11078
11501
  #
11079
11502
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
11080
11503
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
11081
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11082
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
11083
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
11084
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
11085
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
11086
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
11087
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
11504
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
11505
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11506
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
11507
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
11508
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
11509
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
11510
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
11511
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
11088
11512
  #
11089
11513
  # @option params [required, String] :bucket
11090
11514
  # The name of the bucket to which the multipart upload was initiated.
11091
11515
  #
11092
11516
  # **Directory buckets** - When you use this operation with a directory
11093
11517
  # bucket, you must use virtual-hosted-style requests in the format `
11094
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
11095
- # are not supported. Directory bucket names must be unique in the chosen
11096
- # Availability Zone. Bucket names must follow the format `
11097
- # bucket_base_name--az-id--x-s3` (for example, `
11518
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
11519
+ # requests are not supported. Directory bucket names must be unique in
11520
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
11521
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
11098
11522
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
11099
11523
  # naming restrictions, see [Directory bucket naming rules][1] in the
11100
11524
  # *Amazon S3 User Guide*.
@@ -11265,97 +11689,97 @@ module Aws::S3
11265
11689
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11266
11690
  #
11267
11691
  #
11268
- # @example Example: To list in-progress multipart uploads on a bucket
11692
+ # @example Example: List next set of multipart uploads when previous result is truncated
11269
11693
  #
11270
- # # The following example lists in-progress multipart uploads on a specific bucket.
11694
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11695
+ # # setup of multipart uploads.
11271
11696
  #
11272
11697
  # resp = client.list_multipart_uploads({
11273
11698
  # bucket: "examplebucket",
11699
+ # key_marker: "nextkeyfrompreviousresponse",
11700
+ # max_uploads: 2,
11701
+ # upload_id_marker: "valuefrompreviousresponse",
11274
11702
  # })
11275
11703
  #
11276
11704
  # resp.to_h outputs the following:
11277
11705
  # {
11706
+ # bucket: "acl1",
11707
+ # is_truncated: true,
11708
+ # key_marker: "",
11709
+ # max_uploads: 2,
11710
+ # next_key_marker: "someobjectkey",
11711
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11712
+ # upload_id_marker: "",
11278
11713
  # uploads: [
11279
11714
  # {
11280
11715
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11281
11716
  # initiator: {
11282
- # display_name: "display-name",
11717
+ # display_name: "ownder-display-name",
11283
11718
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11284
11719
  # },
11285
11720
  # key: "JavaFile",
11286
11721
  # owner: {
11287
- # display_name: "display-name",
11288
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11722
+ # display_name: "mohanataws",
11723
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11289
11724
  # },
11290
11725
  # storage_class: "STANDARD",
11291
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11726
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11292
11727
  # },
11293
11728
  # {
11294
11729
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11295
11730
  # initiator: {
11296
- # display_name: "display-name",
11731
+ # display_name: "ownder-display-name",
11297
11732
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11298
11733
  # },
11299
11734
  # key: "JavaFile",
11300
11735
  # owner: {
11301
- # display_name: "display-name",
11736
+ # display_name: "ownder-display-name",
11302
11737
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11303
11738
  # },
11304
11739
  # storage_class: "STANDARD",
11305
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11740
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11306
11741
  # },
11307
11742
  # ],
11308
11743
  # }
11309
11744
  #
11310
- # @example Example: List next set of multipart uploads when previous result is truncated
11745
+ # @example Example: To list in-progress multipart uploads on a bucket
11311
11746
  #
11312
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11313
- # # setup of multipart uploads.
11747
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11314
11748
  #
11315
11749
  # resp = client.list_multipart_uploads({
11316
11750
  # bucket: "examplebucket",
11317
- # key_marker: "nextkeyfrompreviousresponse",
11318
- # max_uploads: 2,
11319
- # upload_id_marker: "valuefrompreviousresponse",
11320
11751
  # })
11321
11752
  #
11322
11753
  # resp.to_h outputs the following:
11323
11754
  # {
11324
- # bucket: "acl1",
11325
- # is_truncated: true,
11326
- # key_marker: "",
11327
- # max_uploads: 2,
11328
- # next_key_marker: "someobjectkey",
11329
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11330
- # upload_id_marker: "",
11331
11755
  # uploads: [
11332
11756
  # {
11333
11757
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11334
11758
  # initiator: {
11335
- # display_name: "ownder-display-name",
11759
+ # display_name: "display-name",
11336
11760
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11337
11761
  # },
11338
11762
  # key: "JavaFile",
11339
11763
  # owner: {
11340
- # display_name: "mohanataws",
11341
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11764
+ # display_name: "display-name",
11765
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11342
11766
  # },
11343
11767
  # storage_class: "STANDARD",
11344
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11768
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11345
11769
  # },
11346
11770
  # {
11347
11771
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11348
11772
  # initiator: {
11349
- # display_name: "ownder-display-name",
11773
+ # display_name: "display-name",
11350
11774
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11351
11775
  # },
11352
11776
  # key: "JavaFile",
11353
11777
  # owner: {
11354
- # display_name: "ownder-display-name",
11778
+ # display_name: "display-name",
11355
11779
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11356
11780
  # },
11357
11781
  # storage_class: "STANDARD",
11358
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11782
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11359
11783
  # },
11360
11784
  # ],
11361
11785
  # }
@@ -11394,7 +11818,8 @@ module Aws::S3
11394
11818
  # resp.uploads[0].owner.id #=> String
11395
11819
  # resp.uploads[0].initiator.id #=> String
11396
11820
  # resp.uploads[0].initiator.display_name #=> String
11397
- # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
11821
+ # resp.uploads[0].checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
11822
+ # resp.uploads[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
11398
11823
  # resp.common_prefixes #=> Array
11399
11824
  # resp.common_prefixes[0].prefix #=> String
11400
11825
  # resp.encoding_type #=> String, one of "url"
@@ -11612,7 +12037,8 @@ module Aws::S3
11612
12037
  # resp.versions #=> Array
11613
12038
  # resp.versions[0].etag #=> String
11614
12039
  # resp.versions[0].checksum_algorithm #=> Array
11615
- # resp.versions[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12040
+ # resp.versions[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12041
+ # resp.versions[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
11616
12042
  # resp.versions[0].size #=> Integer
11617
12043
  # resp.versions[0].storage_class #=> String, one of "STANDARD"
11618
12044
  # resp.versions[0].key #=> String
@@ -11687,10 +12113,10 @@ module Aws::S3
11687
12113
  #
11688
12114
  # **Directory buckets** - When you use this operation with a directory
11689
12115
  # bucket, you must use virtual-hosted-style requests in the format `
11690
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
11691
- # are not supported. Directory bucket names must be unique in the chosen
11692
- # Availability Zone. Bucket names must follow the format `
11693
- # bucket_base_name--az-id--x-s3` (for example, `
12116
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
12117
+ # requests are not supported. Directory bucket names must be unique in
12118
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12119
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
11694
12120
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
11695
12121
  # naming restrictions, see [Directory bucket naming rules][1] in the
11696
12122
  # *Amazon S3 User Guide*.
@@ -11857,7 +12283,8 @@ module Aws::S3
11857
12283
  # resp.contents[0].last_modified #=> Time
11858
12284
  # resp.contents[0].etag #=> String
11859
12285
  # resp.contents[0].checksum_algorithm #=> Array
11860
- # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12286
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12287
+ # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
11861
12288
  # resp.contents[0].size #=> Integer
11862
12289
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
11863
12290
  # resp.contents[0].owner.display_name #=> String
@@ -11902,9 +12329,13 @@ module Aws::S3
11902
12329
  # * **Directory buckets** - For directory buckets, you must make
11903
12330
  # requests for this API operation to the Zonal endpoint. These
11904
12331
  # endpoints support virtual-hosted-style requests in the format
11905
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
11906
- # `. Path-style requests are not supported. For more information, see
11907
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
12332
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
12333
+ # `. Path-style requests are not supported. For more information about
12334
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
12335
+ # for directory buckets in Availability Zones][3] in the *Amazon S3
12336
+ # User Guide*. For more information about endpoints in Local Zones,
12337
+ # see [Available Local Zone for directory buckets][4] in the *Amazon
12338
+ # S3 User Guide*.
11908
12339
  #
11909
12340
  # </note>
11910
12341
  #
@@ -11914,12 +12345,12 @@ module Aws::S3
11914
12345
  # to perform the `s3:ListBucket` action. The bucket owner has this
11915
12346
  # permission by default and can grant this permission to others. For
11916
12347
  # more information about permissions, see [Permissions Related to
11917
- # Bucket Subresource Operations][4] and [Managing Access Permissions
11918
- # to Your Amazon S3 Resources][5] in the *Amazon S3 User Guide*.
12348
+ # Bucket Subresource Operations][5] and [Managing Access Permissions
12349
+ # to Your Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
11919
12350
  #
11920
12351
  # * **Directory bucket permissions** - To grant access to this API
11921
12352
  # operation on a directory bucket, we recommend that you use the [
11922
- # `CreateSession` ][6] API operation for session-based
12353
+ # `CreateSession` ][7] API operation for session-based
11923
12354
  # authorization. Specifically, you grant the
11924
12355
  # `s3express:CreateSession` permission to the directory bucket in a
11925
12356
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -11930,7 +12361,7 @@ module Aws::S3
11930
12361
  # token for use. Amazon Web Services CLI or SDKs create session and
11931
12362
  # refresh the session token automatically to avoid service
11932
12363
  # interruptions when a session expires. For more information about
11933
- # authorization, see [ `CreateSession` ][6].
12364
+ # authorization, see [ `CreateSession` ][7].
11934
12365
  #
11935
12366
  # Sorting order of returned objects
11936
12367
  # : * **General purpose bucket** - For general purpose buckets,
@@ -11943,41 +12374,42 @@ module Aws::S3
11943
12374
  # HTTP Host header syntax
11944
12375
  #
11945
12376
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
11946
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
12377
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
11947
12378
  #
11948
12379
  # This section describes the latest revision of this action. We
11949
12380
  # recommend that you use this revised API operation for application
11950
12381
  # development. For backward compatibility, Amazon S3 continues to
11951
- # support the prior version of this API operation, [ListObjects][7].
12382
+ # support the prior version of this API operation, [ListObjects][8].
11952
12383
  #
11953
12384
  # The following operations are related to `ListObjectsV2`:
11954
12385
  #
11955
- # * [GetObject][8]
12386
+ # * [GetObject][9]
11956
12387
  #
11957
- # * [PutObject][9]
12388
+ # * [PutObject][10]
11958
12389
  #
11959
- # * [CreateBucket][10]
12390
+ # * [CreateBucket][11]
11960
12391
  #
11961
12392
  #
11962
12393
  #
11963
12394
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html
11964
12395
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
11965
12396
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
11966
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
11967
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
11968
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
11969
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
11970
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
11971
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
11972
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
12397
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
12398
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
12399
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
12400
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
12401
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
12402
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
12403
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
12404
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
11973
12405
  #
11974
12406
  # @option params [required, String] :bucket
11975
12407
  # **Directory buckets** - When you use this operation with a directory
11976
12408
  # bucket, you must use virtual-hosted-style requests in the format `
11977
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
11978
- # are not supported. Directory bucket names must be unique in the chosen
11979
- # Availability Zone. Bucket names must follow the format `
11980
- # bucket_base_name--az-id--x-s3` (for example, `
12409
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
12410
+ # requests are not supported. Directory bucket names must be unique in
12411
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12412
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
11981
12413
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
11982
12414
  # naming restrictions, see [Directory bucket naming rules][1] in the
11983
12415
  # *Amazon S3 User Guide*.
@@ -12193,7 +12625,8 @@ module Aws::S3
12193
12625
  # resp.contents[0].last_modified #=> Time
12194
12626
  # resp.contents[0].etag #=> String
12195
12627
  # resp.contents[0].checksum_algorithm #=> Array
12196
- # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12628
+ # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12629
+ # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12197
12630
  # resp.contents[0].size #=> Integer
12198
12631
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12199
12632
  # resp.contents[0].owner.display_name #=> String
@@ -12245,16 +12678,20 @@ module Aws::S3
12245
12678
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
12246
12679
  # for this API operation to the Zonal endpoint. These endpoints support
12247
12680
  # virtual-hosted-style requests in the format
12248
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
12249
- # Path-style requests are not supported. For more information, see
12250
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
12681
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
12682
+ # `. Path-style requests are not supported. For more information about
12683
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
12684
+ # directory buckets in Availability Zones][3] in the *Amazon S3 User
12685
+ # Guide*. For more information about endpoints in Local Zones, see
12686
+ # [Available Local Zone for directory buckets][4] in the *Amazon S3 User
12687
+ # Guide*.
12251
12688
  #
12252
12689
  # </note>
12253
12690
  #
12254
12691
  # Permissions
12255
12692
  # : * **General purpose bucket permissions** - For information about
12256
12693
  # permissions required to use the multipart upload API, see
12257
- # [Multipart Upload and Permissions][4] in the *Amazon S3 User
12694
+ # [Multipart Upload and Permissions][5] in the *Amazon S3 User
12258
12695
  # Guide*.
12259
12696
  #
12260
12697
  # If the upload was created using server-side encryption with Key
@@ -12265,7 +12702,7 @@ module Aws::S3
12265
12702
  #
12266
12703
  # * **Directory bucket permissions** - To grant access to this API
12267
12704
  # operation on a directory bucket, we recommend that you use the [
12268
- # `CreateSession` ][5] API operation for session-based
12705
+ # `CreateSession` ][6] API operation for session-based
12269
12706
  # authorization. Specifically, you grant the
12270
12707
  # `s3express:CreateSession` permission to the directory bucket in a
12271
12708
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -12276,49 +12713,50 @@ module Aws::S3
12276
12713
  # token for use. Amazon Web Services CLI or SDKs create session and
12277
12714
  # refresh the session token automatically to avoid service
12278
12715
  # interruptions when a session expires. For more information about
12279
- # authorization, see [ `CreateSession` ][5].
12716
+ # authorization, see [ `CreateSession` ][6].
12280
12717
  #
12281
12718
  # HTTP Host header syntax
12282
12719
  #
12283
12720
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
12284
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
12721
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
12285
12722
  #
12286
12723
  # The following operations are related to `ListParts`:
12287
12724
  #
12288
12725
  # * [CreateMultipartUpload][1]
12289
12726
  #
12290
- # * [UploadPart][6]
12727
+ # * [UploadPart][7]
12291
12728
  #
12292
- # * [CompleteMultipartUpload][7]
12729
+ # * [CompleteMultipartUpload][8]
12293
12730
  #
12294
- # * [AbortMultipartUpload][8]
12731
+ # * [AbortMultipartUpload][9]
12295
12732
  #
12296
- # * [GetObjectAttributes][9]
12733
+ # * [GetObjectAttributes][10]
12297
12734
  #
12298
- # * [ListMultipartUploads][10]
12735
+ # * [ListMultipartUploads][11]
12299
12736
  #
12300
12737
  #
12301
12738
  #
12302
12739
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
12303
12740
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
12304
12741
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
12305
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12306
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
12307
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
12308
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12309
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12310
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
12311
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
12742
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
12743
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12744
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
12745
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
12746
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12747
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12748
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
12749
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
12312
12750
  #
12313
12751
  # @option params [required, String] :bucket
12314
12752
  # The name of the bucket to which the parts are being uploaded.
12315
12753
  #
12316
12754
  # **Directory buckets** - When you use this operation with a directory
12317
12755
  # bucket, you must use virtual-hosted-style requests in the format `
12318
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
12319
- # are not supported. Directory bucket names must be unique in the chosen
12320
- # Availability Zone. Bucket names must follow the format `
12321
- # bucket_base_name--az-id--x-s3` (for example, `
12756
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
12757
+ # requests are not supported. Directory bucket names must be unique in
12758
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12759
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
12322
12760
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
12323
12761
  # naming restrictions, see [Directory bucket naming rules][1] in the
12324
12762
  # *Amazon S3 User Guide*.
@@ -12449,6 +12887,7 @@ module Aws::S3
12449
12887
  # * {Types::ListPartsOutput#storage_class #storage_class} => String
12450
12888
  # * {Types::ListPartsOutput#request_charged #request_charged} => String
12451
12889
  # * {Types::ListPartsOutput#checksum_algorithm #checksum_algorithm} => String
12890
+ # * {Types::ListPartsOutput#checksum_type #checksum_type} => String
12452
12891
  #
12453
12892
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
12454
12893
  #
@@ -12523,6 +12962,7 @@ module Aws::S3
12523
12962
  # resp.parts[0].size #=> Integer
12524
12963
  # resp.parts[0].checksum_crc32 #=> String
12525
12964
  # resp.parts[0].checksum_crc32c #=> String
12965
+ # resp.parts[0].checksum_crc64nvme #=> String
12526
12966
  # resp.parts[0].checksum_sha1 #=> String
12527
12967
  # resp.parts[0].checksum_sha256 #=> String
12528
12968
  # resp.initiator.id #=> String
@@ -12531,7 +12971,8 @@ module Aws::S3
12531
12971
  # resp.owner.id #=> String
12532
12972
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12533
12973
  # resp.request_charged #=> String, one of "requester"
12534
- # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256"
12974
+ # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12975
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12535
12976
  #
12536
12977
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
12537
12978
  #
@@ -12629,7 +13070,7 @@ module Aws::S3
12629
13070
  # status: "Enabled", # accepts Enabled, Suspended
12630
13071
  # },
12631
13072
  # expected_bucket_owner: "AccountId",
12632
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13073
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
12633
13074
  # })
12634
13075
  #
12635
13076
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration AWS API Documentation
@@ -12825,9 +13266,10 @@ module Aws::S3
12825
13266
  # The bucket to which to apply the ACL.
12826
13267
  #
12827
13268
  # @option params [String] :content_md5
12828
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
12829
- # used as a message integrity check to verify that the request body was
12830
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
13269
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
13270
+ # be used as a message integrity check to verify that the request body
13271
+ # was not corrupted in transit. For more information, go to [RFC
13272
+ # 1864.][1]
12831
13273
  #
12832
13274
  # For requests made using the Amazon Web Services Command Line Interface
12833
13275
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -12916,7 +13358,7 @@ module Aws::S3
12916
13358
  # },
12917
13359
  # bucket: "BucketName", # required
12918
13360
  # content_md5: "ContentMD5",
12919
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13361
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
12920
13362
  # grant_full_control: "GrantFullControl",
12921
13363
  # grant_read: "GrantRead",
12922
13364
  # grant_read_acp: "GrantReadACP",
@@ -13140,9 +13582,10 @@ module Aws::S3
13140
13582
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
13141
13583
  #
13142
13584
  # @option params [String] :content_md5
13143
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
13144
- # used as a message integrity check to verify that the request body was
13145
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
13585
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
13586
+ # be used as a message integrity check to verify that the request body
13587
+ # was not corrupted in transit. For more information, go to [RFC
13588
+ # 1864.][1]
13146
13589
  #
13147
13590
  # For requests made using the Amazon Web Services Command Line Interface
13148
13591
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -13236,7 +13679,7 @@ module Aws::S3
13236
13679
  # ],
13237
13680
  # },
13238
13681
  # content_md5: "ContentMD5",
13239
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13682
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13240
13683
  # expected_bucket_owner: "AccountId",
13241
13684
  # })
13242
13685
  #
@@ -13255,9 +13698,13 @@ module Aws::S3
13255
13698
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13256
13699
  # requests for this API operation to the Regional endpoint. These
13257
13700
  # endpoints support path-style requests in the format
13258
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
13259
- # Virtual-hosted-style requests aren't supported. For more information,
13260
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
13701
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
13702
+ # Virtual-hosted-style requests aren't supported. For more information
13703
+ # about endpoints in Availability Zones, see [Regional and Zonal
13704
+ # endpoints for directory buckets in Availability Zones][1] in the
13705
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
13706
+ # Zones, see [Available Local Zone for directory buckets][2] in the
13707
+ # *Amazon S3 User Guide*.
13261
13708
  #
13262
13709
  # </note>
13263
13710
  #
@@ -13271,12 +13718,12 @@ module Aws::S3
13271
13718
  # keys (SSE-KMS) or dual-layer server-side encryption with Amazon
13272
13719
  # Web Services KMS keys (DSSE-KMS). If you specify default
13273
13720
  # encryption by using SSE-KMS, you can also configure [Amazon S3
13274
- # Bucket Keys][2]. For information about the bucket default
13275
- # encryption feature, see [Amazon S3 Bucket Default Encryption][3]
13721
+ # Bucket Keys][3]. For information about the bucket default
13722
+ # encryption feature, see [Amazon S3 Bucket Default Encryption][4]
13276
13723
  # in the *Amazon S3 User Guide*.
13277
13724
  #
13278
13725
  # * If you use PutBucketEncryption to set your [default bucket
13279
- # encryption][3] to SSE-KMS, you should verify that your KMS key ID
13726
+ # encryption][4] to SSE-KMS, you should verify that your KMS key ID
13280
13727
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
13281
13728
  # PutBucketEncryption requests.
13282
13729
  # * <b>Directory buckets </b> - You can optionally configure default
@@ -13290,28 +13737,28 @@ module Aws::S3
13290
13737
  # encrypted with the desired encryption settings. For more
13291
13738
  # information about the encryption overriding behaviors in directory
13292
13739
  # buckets, see [Specifying server-side encryption with KMS for new
13293
- # object uploads][4].
13740
+ # object uploads][5].
13294
13741
  #
13295
13742
  # * Your SSE-KMS configuration can only support 1 [customer managed
13296
- # key][5] per directory bucket for the lifetime of the bucket. The
13297
- # [Amazon Web Services managed key][6] (`aws/s3`) isn't supported.
13743
+ # key][6] per directory bucket for the lifetime of the bucket. The
13744
+ # [Amazon Web Services managed key][7] (`aws/s3`) isn't supported.
13298
13745
  #
13299
13746
  # * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
13300
13747
  # in a directory bucket and can’t be disabled. S3 Bucket Keys
13301
13748
  # aren't supported, when you copy SSE-KMS encrypted objects from
13302
13749
  # general purpose buckets to directory buckets, from directory
13303
13750
  # buckets to general purpose buckets, or between directory buckets,
13304
- # through [CopyObject][7], [UploadPartCopy][8], [the Copy operation
13305
- # in Batch Operations][9], or [the import jobs][10]. In this case,
13751
+ # through [CopyObject][8], [UploadPartCopy][9], [the Copy operation
13752
+ # in Batch Operations][10], or [the import jobs][11]. In this case,
13306
13753
  # Amazon S3 makes a call to KMS every time a copy request is made
13307
13754
  # for a KMS-encrypted object.
13308
13755
  #
13309
- # * When you specify an [KMS customer managed key][5] for encryption
13756
+ # * When you specify an [KMS customer managed key][6] for encryption
13310
13757
  # in your directory bucket, only use the key ID or key ARN. The key
13311
13758
  # alias format of the KMS key isn't supported.
13312
13759
  #
13313
13760
  # * For directory buckets, if you use PutBucketEncryption to set your
13314
- # [default bucket encryption][3] to SSE-KMS, Amazon S3 validates the
13761
+ # [default bucket encryption][4] to SSE-KMS, Amazon S3 validates the
13315
13762
  # KMS key ID provided in PutBucketEncryption requests.
13316
13763
  #
13317
13764
  # </note>
@@ -13324,7 +13771,7 @@ module Aws::S3
13324
13771
  #
13325
13772
  # Also, this action requires Amazon Web Services Signature Version 4.
13326
13773
  # For more information, see [ Authenticating Requests (Amazon Web
13327
- # Services Signature Version 4)][11].
13774
+ # Services Signature Version 4)][12].
13328
13775
  #
13329
13776
  # Permissions
13330
13777
  # : * **General purpose bucket permissions** - The
@@ -13332,8 +13779,8 @@ module Aws::S3
13332
13779
  # policy. The bucket owner has this permission by default. The
13333
13780
  # bucket owner can grant this permission to others. For more
13334
13781
  # information about permissions, see [Permissions Related to Bucket
13335
- # Operations][12] and [Managing Access Permissions to Your Amazon S3
13336
- # Resources][13] in the *Amazon S3 User Guide*.
13782
+ # Operations][13] and [Managing Access Permissions to Your Amazon S3
13783
+ # Resources][14] in the *Amazon S3 User Guide*.
13337
13784
  #
13338
13785
  # * **Directory bucket permissions** - To grant access to this API
13339
13786
  # operation, you must have the
@@ -13343,7 +13790,7 @@ module Aws::S3
13343
13790
  # only be performed by the Amazon Web Services account that owns the
13344
13791
  # resource. For more information about directory bucket policies and
13345
13792
  # permissions, see [Amazon Web Services Identity and Access
13346
- # Management (IAM) for S3 Express One Zone][14] in the *Amazon S3
13793
+ # Management (IAM) for S3 Express One Zone][15] in the *Amazon S3
13347
13794
  # User Guide*.
13348
13795
  #
13349
13796
  # To set a directory bucket default encryption with SSE-KMS, you
@@ -13354,32 +13801,33 @@ module Aws::S3
13354
13801
  # HTTP Host header syntax
13355
13802
  #
13356
13803
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
13357
- # `s3express-control.region.amazonaws.com`.
13804
+ # `s3express-control.region-code.amazonaws.com`.
13358
13805
  #
13359
13806
  # The following operations are related to `PutBucketEncryption`:
13360
13807
  #
13361
- # * [GetBucketEncryption][15]
13808
+ # * [GetBucketEncryption][16]
13362
13809
  #
13363
- # * [DeleteBucketEncryption][16]
13810
+ # * [DeleteBucketEncryption][17]
13364
13811
  #
13365
13812
  #
13366
13813
  #
13367
13814
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
13368
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
13369
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
13370
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
13371
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
13372
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
13373
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
13374
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
13375
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
13376
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
13377
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
13378
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13379
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13380
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
13381
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
13382
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
13815
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
13816
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
13817
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
13818
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
13819
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
13820
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
13821
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
13822
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
13823
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
13824
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
13825
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
13826
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13827
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13828
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
13829
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
13830
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
13383
13831
  #
13384
13832
  # @option params [required, String] :bucket
13385
13833
  # Specifies default encryption for a bucket using server-side encryption
@@ -13387,20 +13835,21 @@ module Aws::S3
13387
13835
  #
13388
13836
  # <b>Directory buckets </b> - When you use this operation with a
13389
13837
  # directory bucket, you must use path-style requests in the format
13390
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
13838
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
13391
13839
  # Virtual-hosted-style requests aren't supported. Directory bucket
13392
- # names must be unique in the chosen Availability Zone. Bucket names
13393
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
13394
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
13395
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
13396
- # the *Amazon S3 User Guide*
13840
+ # names must be unique in the chosen Zone (Availability Zone or Local
13841
+ # Zone). Bucket names must also follow the format `
13842
+ # bucket-base-name--zone-id--x-s3` (for example, `
13843
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
13844
+ # naming restrictions, see [Directory bucket naming rules][1] in the
13845
+ # *Amazon S3 User Guide*
13397
13846
  #
13398
13847
  #
13399
13848
  #
13400
13849
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
13401
13850
  #
13402
13851
  # @option params [String] :content_md5
13403
- # The base64-encoded 128-bit MD5 digest of the server-side encryption
13852
+ # The Base64 encoded 128-bit `MD5` digest of the server-side encryption
13404
13853
  # configuration.
13405
13854
  #
13406
13855
  # For requests made using the Amazon Web Services Command Line Interface
@@ -13453,7 +13902,7 @@ module Aws::S3
13453
13902
  # resp = client.put_bucket_encryption({
13454
13903
  # bucket: "BucketName", # required
13455
13904
  # content_md5: "ContentMD5",
13456
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
13905
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13457
13906
  # server_side_encryption_configuration: { # required
13458
13907
  # rules: [ # required
13459
13908
  # {
@@ -13754,6 +14203,10 @@ module Aws::S3
13754
14203
  req.send_request(options)
13755
14204
  end
13756
14205
 
14206
+ # <note markdown="1"> This operation is not supported for directory buckets.
14207
+ #
14208
+ # </note>
14209
+ #
13757
14210
  # For an updated version of this API, see
13758
14211
  # [PutBucketLifecycleConfiguration][1]. This version has been
13759
14212
  # deprecated. Existing lifecycle configurations will work. For new
@@ -13861,7 +14314,7 @@ module Aws::S3
13861
14314
  # resp = client.put_bucket_lifecycle({
13862
14315
  # bucket: "BucketName", # required
13863
14316
  # content_md5: "ContentMD5",
13864
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14317
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13865
14318
  # lifecycle_configuration: {
13866
14319
  # rules: [ # required
13867
14320
  # {
@@ -13912,6 +14365,16 @@ module Aws::S3
13912
14365
  # lifecycle configuration. For information about lifecycle
13913
14366
  # configuration, see [Managing your storage lifecycle][1].
13914
14367
  #
14368
+ # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
14369
+ # rule using an object key name prefix, one or more object tags, object
14370
+ # size, or any combination of these. Accordingly, this section describes
14371
+ # the latest API. The previous version of the API supported filtering
14372
+ # based only on an object key name prefix, which is supported for
14373
+ # backward compatibility. For the related API description, see
14374
+ # [PutBucketLifecycle][2].
14375
+ #
14376
+ # </note>
14377
+ #
13915
14378
  # Rules
13916
14379
  # Permissions
13917
14380
  # HTTP Host header syntax
@@ -13992,10 +14455,13 @@ module Aws::S3
13992
14455
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13993
14456
  # requests for this API operation to the Regional endpoint. These
13994
14457
  # endpoints support path-style requests in the format
13995
- # `https://s3express-control.region_code.amazonaws.com/bucket-name
14458
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name
13996
14459
  # `. Virtual-hosted-style requests aren't supported. For more
13997
- # information, see [Regional and Zonal endpoints][7] in the *Amazon
13998
- # S3 User Guide*.
14460
+ # information about endpoints in Availability Zones, see [Regional
14461
+ # and Zonal endpoints for directory buckets in Availability
14462
+ # Zones][7] in the *Amazon S3 User Guide*. For more information
14463
+ # about endpoints in Local Zones, see [Available Local Zone for
14464
+ # directory buckets][8] in the *Amazon S3 User Guide*.
13999
14465
  #
14000
14466
  # </note>
14001
14467
  #
@@ -14005,9 +14471,9 @@ module Aws::S3
14005
14471
  # The following operations are related to
14006
14472
  # `PutBucketLifecycleConfiguration`:
14007
14473
  #
14008
- # * [GetBucketLifecycleConfiguration][8]
14474
+ # * [GetBucketLifecycleConfiguration][9]
14009
14475
  #
14010
- # * [DeleteBucketLifecycle][9]
14476
+ # * [DeleteBucketLifecycle][10]
14011
14477
  #
14012
14478
  #
14013
14479
  #
@@ -14018,8 +14484,9 @@ module Aws::S3
14018
14484
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
14019
14485
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14020
14486
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
14021
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14022
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
14487
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14488
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14489
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
14023
14490
  #
14024
14491
  # @option params [required, String] :bucket
14025
14492
  # The name of the bucket for which to set the configuration.
@@ -14112,7 +14579,7 @@ module Aws::S3
14112
14579
  #
14113
14580
  # resp = client.put_bucket_lifecycle_configuration({
14114
14581
  # bucket: "BucketName", # required
14115
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14582
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14116
14583
  # lifecycle_configuration: {
14117
14584
  # rules: [ # required
14118
14585
  # {
@@ -14355,7 +14822,7 @@ module Aws::S3
14355
14822
  # },
14356
14823
  # },
14357
14824
  # content_md5: "ContentMD5",
14358
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14825
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14359
14826
  # expected_bucket_owner: "AccountId",
14360
14827
  # })
14361
14828
  #
@@ -14524,7 +14991,7 @@ module Aws::S3
14524
14991
  # resp = client.put_bucket_notification({
14525
14992
  # bucket: "BucketName", # required
14526
14993
  # content_md5: "ContentMD5",
14527
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
14994
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14528
14995
  # notification_configuration: { # required
14529
14996
  # topic_configuration: {
14530
14997
  # id: "NotificationId",
@@ -14816,9 +15283,13 @@ module Aws::S3
14816
15283
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
14817
15284
  # requests for this API operation to the Regional endpoint. These
14818
15285
  # endpoints support path-style requests in the format
14819
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
14820
- # Virtual-hosted-style requests aren't supported. For more information,
14821
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
15286
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
15287
+ # Virtual-hosted-style requests aren't supported. For more information
15288
+ # about endpoints in Availability Zones, see [Regional and Zonal
15289
+ # endpoints for directory buckets in Availability Zones][1] in the
15290
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
15291
+ # Zones, see [Available Local Zone for directory buckets][2] in the
15292
+ # *Amazon S3 User Guide*.
14822
15293
  #
14823
15294
  # </note>
14824
15295
  #
@@ -14848,7 +15319,7 @@ module Aws::S3
14848
15319
  # * **General purpose bucket permissions** - The `s3:PutBucketPolicy`
14849
15320
  # permission is required in a policy. For more information about
14850
15321
  # general purpose buckets bucket policies, see [Using Bucket
14851
- # Policies and User Policies][2] in the *Amazon S3 User Guide*.
15322
+ # Policies and User Policies][3] in the *Amazon S3 User Guide*.
14852
15323
  #
14853
15324
  # * **Directory bucket permissions** - To grant access to this API
14854
15325
  # operation, you must have the `s3express:PutBucketPolicy`
@@ -14858,49 +15329,51 @@ module Aws::S3
14858
15329
  # Services account that owns the resource. For more information
14859
15330
  # about directory bucket policies and permissions, see [Amazon Web
14860
15331
  # Services Identity and Access Management (IAM) for S3 Express One
14861
- # Zone][3] in the *Amazon S3 User Guide*.
15332
+ # Zone][4] in the *Amazon S3 User Guide*.
14862
15333
  #
14863
15334
  # Example bucket policies
14864
15335
  #
14865
15336
  # : **General purpose buckets example bucket policies** - See [Bucket
14866
- # policy examples][4] in the *Amazon S3 User Guide*.
15337
+ # policy examples][5] in the *Amazon S3 User Guide*.
14867
15338
  #
14868
15339
  # **Directory bucket example bucket policies** - See [Example bucket
14869
- # policies for S3 Express One Zone][5] in the *Amazon S3 User Guide*.
15340
+ # policies for S3 Express One Zone][6] in the *Amazon S3 User Guide*.
14870
15341
  #
14871
15342
  # HTTP Host header syntax
14872
15343
  #
14873
15344
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
14874
- # `s3express-control.region.amazonaws.com`.
15345
+ # `s3express-control.region-code.amazonaws.com`.
14875
15346
  #
14876
15347
  # The following operations are related to `PutBucketPolicy`:
14877
15348
  #
14878
- # * [CreateBucket][6]
15349
+ # * [CreateBucket][7]
14879
15350
  #
14880
- # * [DeleteBucket][7]
15351
+ # * [DeleteBucket][8]
14881
15352
  #
14882
15353
  #
14883
15354
  #
14884
15355
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
14885
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
14886
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14887
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
14888
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
14889
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14890
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
15356
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
15357
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
15358
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
15359
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
15360
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
15361
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
15362
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
14891
15363
  #
14892
15364
  # @option params [required, String] :bucket
14893
15365
  # The name of the bucket.
14894
15366
  #
14895
15367
  # <b>Directory buckets </b> - When you use this operation with a
14896
15368
  # directory bucket, you must use path-style requests in the format
14897
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
15369
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
14898
15370
  # Virtual-hosted-style requests aren't supported. Directory bucket
14899
- # names must be unique in the chosen Availability Zone. Bucket names
14900
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
14901
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
14902
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
14903
- # the *Amazon S3 User Guide*
15371
+ # names must be unique in the chosen Zone (Availability Zone or Local
15372
+ # Zone). Bucket names must also follow the format `
15373
+ # bucket-base-name--zone-id--x-s3` (for example, `
15374
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
15375
+ # naming restrictions, see [Directory bucket naming rules][1] in the
15376
+ # *Amazon S3 User Guide*
14904
15377
  #
14905
15378
  #
14906
15379
  #
@@ -14928,22 +15401,23 @@ module Aws::S3
14928
15401
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
14929
15402
  # the supported algorithm from the following list:
14930
15403
  #
14931
- # * `CRC32`
15404
+ # * `CRC-32`
15405
+ #
15406
+ # * `CRC-32C`
14932
15407
  #
14933
- # * `CRC32C`
15408
+ # * `CRC-64NVME`
14934
15409
  #
14935
- # * `SHA1`
15410
+ # * `SHA-1`
14936
15411
  #
14937
- # * `SHA256`
15412
+ # * `SHA-256`
14938
15413
  #
14939
15414
  # For more information, see [Checking object integrity][1] in the
14940
15415
  # *Amazon S3 User Guide*.
14941
15416
  #
14942
15417
  # If the individual checksum value you provide through
14943
15418
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
14944
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
14945
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
14946
- # that matches the provided value in `x-amz-checksum-algorithm `.
15419
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
15420
+ # request with a `BadDigest` error.
14947
15421
  #
14948
15422
  # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
14949
15423
  # is the default checksum algorithm that's used for performance.
@@ -14996,7 +15470,7 @@ module Aws::S3
14996
15470
  # resp = client.put_bucket_policy({
14997
15471
  # bucket: "BucketName", # required
14998
15472
  # content_md5: "ContentMD5",
14999
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15473
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15000
15474
  # confirm_remove_self_bucket_access: false,
15001
15475
  # policy: "Policy", # required
15002
15476
  # expected_bucket_owner: "AccountId",
@@ -15102,7 +15576,7 @@ module Aws::S3
15102
15576
  # The name of the bucket
15103
15577
  #
15104
15578
  # @option params [String] :content_md5
15105
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15579
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15106
15580
  # header as a message integrity check to verify that the request body
15107
15581
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15108
15582
  #
@@ -15171,7 +15645,7 @@ module Aws::S3
15171
15645
  # resp = client.put_bucket_replication({
15172
15646
  # bucket: "BucketName", # required
15173
15647
  # content_md5: "ContentMD5",
15174
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15648
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15175
15649
  # replication_configuration: { # required
15176
15650
  # role: "Role", # required
15177
15651
  # rules: [ # required
@@ -15275,7 +15749,7 @@ module Aws::S3
15275
15749
  # The bucket name.
15276
15750
  #
15277
15751
  # @option params [String] :content_md5
15278
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15752
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15279
15753
  # header as a message integrity check to verify that the request body
15280
15754
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15281
15755
  #
@@ -15330,7 +15804,7 @@ module Aws::S3
15330
15804
  # resp = client.put_bucket_request_payment({
15331
15805
  # bucket: "BucketName", # required
15332
15806
  # content_md5: "ContentMD5",
15333
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15807
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15334
15808
  # request_payment_configuration: { # required
15335
15809
  # payer: "Requester", # required, accepts Requester, BucketOwner
15336
15810
  # },
@@ -15412,7 +15886,7 @@ module Aws::S3
15412
15886
  # The bucket name.
15413
15887
  #
15414
15888
  # @option params [String] :content_md5
15415
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
15889
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15416
15890
  # header as a message integrity check to verify that the request body
15417
15891
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15418
15892
  #
@@ -15476,7 +15950,7 @@ module Aws::S3
15476
15950
  # resp = client.put_bucket_tagging({
15477
15951
  # bucket: "BucketName", # required
15478
15952
  # content_md5: "ContentMD5",
15479
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
15953
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15480
15954
  # tagging: { # required
15481
15955
  # tag_set: [ # required
15482
15956
  # {
@@ -15503,10 +15977,10 @@ module Aws::S3
15503
15977
  #
15504
15978
  # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
15505
15979
  # take a short amount of time for the change to be fully propagated.
15506
- # While this change is propagating, you may encounter intermittent `HTTP
15507
- # 404 NoSuchKey` errors for requests to objects created or updated after
15508
- # enabling versioning. We recommend that you wait for 15 minutes after
15509
- # enabling versioning before issuing write operations (`PUT` or
15980
+ # While this change is propagating, you might encounter intermittent
15981
+ # `HTTP 404 NoSuchKey` errors for requests to objects created or updated
15982
+ # after enabling versioning. We recommend that you wait for 15 minutes
15983
+ # after enabling versioning before issuing write operations (`PUT` or
15510
15984
  # `DELETE`) on objects in the bucket.
15511
15985
  #
15512
15986
  # </note>
@@ -15559,7 +16033,7 @@ module Aws::S3
15559
16033
  # The bucket name.
15560
16034
  #
15561
16035
  # @option params [String] :content_md5
15562
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
16036
+ # &gt;The Base64 encoded 128-bit `MD5` digest of the data. You must use
15563
16037
  # this header as a message integrity check to verify that the request
15564
16038
  # body was not corrupted in transit. For more information, see [RFC
15565
16039
  # 1864][1].
@@ -15620,7 +16094,7 @@ module Aws::S3
15620
16094
  # resp = client.put_bucket_versioning({
15621
16095
  # bucket: "BucketName", # required
15622
16096
  # content_md5: "ContentMD5",
15623
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
16097
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15624
16098
  # mfa: "MFA",
15625
16099
  # versioning_configuration: { # required
15626
16100
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -15721,7 +16195,7 @@ module Aws::S3
15721
16195
  # The bucket name.
15722
16196
  #
15723
16197
  # @option params [String] :content_md5
15724
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
16198
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
15725
16199
  # header as a message integrity check to verify that the request body
15726
16200
  # was not corrupted in transit. For more information, see [RFC 1864][1].
15727
16201
  #
@@ -15782,7 +16256,7 @@ module Aws::S3
15782
16256
  # resp = client.put_bucket_website({
15783
16257
  # bucket: "BucketName", # required
15784
16258
  # content_md5: "ContentMD5",
15785
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
16259
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15786
16260
  # website_configuration: { # required
15787
16261
  # error_document: {
15788
16262
  # key: "ObjectKey", # required
@@ -15838,9 +16312,13 @@ module Aws::S3
15838
16312
  # * **Directory buckets** - For directory buckets, you must make
15839
16313
  # requests for this API operation to the Zonal endpoint. These
15840
16314
  # endpoints support virtual-hosted-style requests in the format
15841
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
15842
- # `. Path-style requests are not supported. For more information, see
15843
- # [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
16315
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
16316
+ # `. Path-style requests are not supported. For more information about
16317
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
16318
+ # for directory buckets in Availability Zones][1] in the *Amazon S3
16319
+ # User Guide*. For more information about endpoints in Local Zones,
16320
+ # see [Available Local Zone for directory buckets][2] in the *Amazon
16321
+ # S3 User Guide*.
15844
16322
  #
15845
16323
  # </note>
15846
16324
  #
@@ -15850,7 +16328,7 @@ module Aws::S3
15850
16328
  # modify this behavior:
15851
16329
  #
15852
16330
  # * **S3 Object Lock** - To prevent objects from being deleted or
15853
- # overwritten, you can use [Amazon S3 Object Lock][2] in the *Amazon
16331
+ # overwritten, you can use [Amazon S3 Object Lock][3] in the *Amazon
15854
16332
  # S3 User Guide*.
15855
16333
  #
15856
16334
  # <note markdown="1"> This functionality is not supported for directory buckets.
@@ -15864,9 +16342,9 @@ module Aws::S3
15864
16342
  # automatically generates a unique version ID of that object being
15865
16343
  # stored in Amazon S3. You can retrieve, replace, or delete any
15866
16344
  # version of the object. For more information about versioning, see
15867
- # [Adding Objects to Versioning-Enabled Buckets][3] in the *Amazon S3
16345
+ # [Adding Objects to Versioning-Enabled Buckets][4] in the *Amazon S3
15868
16346
  # User Guide*. For information about returning the versioning state of
15869
- # a bucket, see [GetBucketVersioning][4].
16347
+ # a bucket, see [GetBucketVersioning][5].
15870
16348
  #
15871
16349
  # <note markdown="1"> This functionality is not supported for directory buckets.
15872
16350
  #
@@ -15890,7 +16368,7 @@ module Aws::S3
15890
16368
  # `s3:PutObjectTagging`.
15891
16369
  # * **Directory bucket permissions** - To grant access to this API
15892
16370
  # operation on a directory bucket, we recommend that you use the [
15893
- # `CreateSession` ][5] API operation for session-based
16371
+ # `CreateSession` ][6] API operation for session-based
15894
16372
  # authorization. Specifically, you grant the
15895
16373
  # `s3express:CreateSession` permission to the directory bucket in a
15896
16374
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -15901,7 +16379,7 @@ module Aws::S3
15901
16379
  # token for use. Amazon Web Services CLI or SDKs create session and
15902
16380
  # refresh the session token automatically to avoid service
15903
16381
  # interruptions when a session expires. For more information about
15904
- # authorization, see [ `CreateSession` ][5].
16382
+ # authorization, see [ `CreateSession` ][6].
15905
16383
  #
15906
16384
  # If the object is encrypted with SSE-KMS, you must also have the
15907
16385
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -15922,23 +16400,24 @@ module Aws::S3
15922
16400
  # HTTP Host header syntax
15923
16401
  #
15924
16402
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
15925
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
16403
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
15926
16404
  #
15927
16405
  # For more information about related Amazon S3 APIs, see the following:
15928
16406
  #
15929
- # * [CopyObject][6]
16407
+ # * [CopyObject][7]
15930
16408
  #
15931
- # * [DeleteObject][7]
16409
+ # * [DeleteObject][8]
15932
16410
  #
15933
16411
  #
15934
16412
  #
15935
16413
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
15936
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
15937
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
15938
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
15939
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
15940
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
15941
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
16414
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
16415
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
16416
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
16417
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
16418
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
16419
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
16420
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
15942
16421
  #
15943
16422
  # @option params [String] :acl
15944
16423
  # The canned ACL to apply to the object. For more information, see
@@ -15986,10 +16465,10 @@ module Aws::S3
15986
16465
  #
15987
16466
  # **Directory buckets** - When you use this operation with a directory
15988
16467
  # bucket, you must use virtual-hosted-style requests in the format `
15989
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
15990
- # are not supported. Directory bucket names must be unique in the chosen
15991
- # Availability Zone. Bucket names must follow the format `
15992
- # bucket_base_name--az-id--x-s3` (for example, `
16468
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
16469
+ # requests are not supported. Directory bucket names must be unique in
16470
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
16471
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
15993
16472
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
15994
16473
  # naming restrictions, see [Directory bucket naming rules][1] in the
15995
16474
  # *Amazon S3 User Guide*.
@@ -16066,7 +16545,7 @@ module Aws::S3
16066
16545
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
16067
16546
  #
16068
16547
  # @option params [String] :content_md5
16069
- # The base64-encoded 128-bit MD5 digest of the message (without the
16548
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
16070
16549
  # headers) according to RFC 1864. This header can be used as a message
16071
16550
  # integrity check to verify that the data is the same data that was
16072
16551
  # originally sent. Although it is optional, we recommend using the
@@ -16111,22 +16590,23 @@ module Aws::S3
16111
16590
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
16112
16591
  # the supported algorithm from the following list:
16113
16592
  #
16114
- # * `CRC32`
16593
+ # * `CRC-32`
16115
16594
  #
16116
- # * `CRC32C`
16595
+ # * `CRC-32C`
16117
16596
  #
16118
- # * `SHA1`
16597
+ # * `CRC-64NVME`
16119
16598
  #
16120
- # * `SHA256`
16599
+ # * `SHA-1`
16600
+ #
16601
+ # * `SHA-256`
16121
16602
  #
16122
16603
  # For more information, see [Checking object integrity][1] in the
16123
16604
  # *Amazon S3 User Guide*.
16124
16605
  #
16125
16606
  # If the individual checksum value you provide through
16126
16607
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
16127
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
16128
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
16129
- # that matches the provided value in `x-amz-checksum-algorithm `.
16608
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
16609
+ # request with a `BadDigest` error.
16130
16610
  #
16131
16611
  # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
16132
16612
  # for any request to upload an object with a retention period configured
@@ -16147,7 +16627,7 @@ module Aws::S3
16147
16627
  # @option params [String] :checksum_crc32
16148
16628
  # This header can be used as a data integrity check to verify that the
16149
16629
  # data received is the same data that was originally sent. This header
16150
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
16630
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object.
16151
16631
  # For more information, see [Checking object integrity][1] in the
16152
16632
  # *Amazon S3 User Guide*.
16153
16633
  #
@@ -16158,7 +16638,7 @@ module Aws::S3
16158
16638
  # @option params [String] :checksum_crc32c
16159
16639
  # This header can be used as a data integrity check to verify that the
16160
16640
  # data received is the same data that was originally sent. This header
16161
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
16641
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object.
16162
16642
  # For more information, see [Checking object integrity][1] in the
16163
16643
  # *Amazon S3 User Guide*.
16164
16644
  #
@@ -16166,12 +16646,24 @@ module Aws::S3
16166
16646
  #
16167
16647
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
16168
16648
  #
16649
+ # @option params [String] :checksum_crc64nvme
16650
+ # This header can be used as a data integrity check to verify that the
16651
+ # data received is the same data that was originally sent. This header
16652
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
16653
+ # object. The `CRC-64NVME` checksum is always a full object checksum.
16654
+ # For more information, see [Checking object integrity in the Amazon S3
16655
+ # User Guide][1].
16656
+ #
16657
+ #
16658
+ #
16659
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
16660
+ #
16169
16661
  # @option params [String] :checksum_sha1
16170
16662
  # This header can be used as a data integrity check to verify that the
16171
16663
  # data received is the same data that was originally sent. This header
16172
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
16173
- # more information, see [Checking object integrity][1] in the *Amazon S3
16174
- # User Guide*.
16664
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object.
16665
+ # For more information, see [Checking object integrity][1] in the
16666
+ # *Amazon S3 User Guide*.
16175
16667
  #
16176
16668
  #
16177
16669
  #
@@ -16180,7 +16672,7 @@ module Aws::S3
16180
16672
  # @option params [String] :checksum_sha256
16181
16673
  # This header can be used as a data integrity check to verify that the
16182
16674
  # data received is the same data that was originally sent. This header
16183
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
16675
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object.
16184
16676
  # For more information, see [Checking object integrity][1] in the
16185
16677
  # *Amazon S3 User Guide*.
16186
16678
  #
@@ -16469,7 +16961,7 @@ module Aws::S3
16469
16961
  # @option params [String] :ssekms_encryption_context
16470
16962
  # Specifies the Amazon Web Services KMS Encryption Context as an
16471
16963
  # additional encryption context to use for object encryption. The value
16472
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
16964
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
16473
16965
  # which contains the encryption context as key-value pairs. This value
16474
16966
  # is stored as object metadata and automatically gets passed on to
16475
16967
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -16580,8 +17072,10 @@ module Aws::S3
16580
17072
  # * {Types::PutObjectOutput#etag #etag} => String
16581
17073
  # * {Types::PutObjectOutput#checksum_crc32 #checksum_crc32} => String
16582
17074
  # * {Types::PutObjectOutput#checksum_crc32c #checksum_crc32c} => String
17075
+ # * {Types::PutObjectOutput#checksum_crc64nvme #checksum_crc64nvme} => String
16583
17076
  # * {Types::PutObjectOutput#checksum_sha1 #checksum_sha1} => String
16584
17077
  # * {Types::PutObjectOutput#checksum_sha256 #checksum_sha256} => String
17078
+ # * {Types::PutObjectOutput#checksum_type #checksum_type} => String
16585
17079
  # * {Types::PutObjectOutput#server_side_encryption #server_side_encryption} => String
16586
17080
  # * {Types::PutObjectOutput#version_id #version_id} => String
16587
17081
  # * {Types::PutObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -16593,41 +17087,20 @@ module Aws::S3
16593
17087
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16594
17088
  #
16595
17089
  #
16596
- # @example Example: To upload an object and specify server-side encryption and object tags
17090
+ # @example Example: To create an object.
16597
17091
  #
16598
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
16599
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
17092
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
16600
17093
  #
16601
17094
  # resp = client.put_object({
16602
17095
  # body: "filetoupload",
16603
17096
  # bucket: "examplebucket",
16604
- # key: "exampleobject",
16605
- # server_side_encryption: "AES256",
16606
- # tagging: "key1=value1&key2=value2",
16607
- # })
16608
- #
16609
- # resp.to_h outputs the following:
16610
- # {
16611
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16612
- # server_side_encryption: "AES256",
16613
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16614
- # }
16615
- #
16616
- # @example Example: To upload an object
16617
- #
16618
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
16619
- # # syntax. S3 returns VersionId of the newly created object.
16620
- #
16621
- # resp = client.put_object({
16622
- # body: "HappyFace.jpg",
16623
- # bucket: "examplebucket",
16624
- # key: "HappyFace.jpg",
17097
+ # key: "objectkey",
16625
17098
  # })
16626
17099
  #
16627
17100
  # resp.to_h outputs the following:
16628
17101
  # {
16629
17102
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16630
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17103
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
16631
17104
  # }
16632
17105
  #
16633
17106
  # @example Example: To upload an object and specify optional tags
@@ -16669,22 +17142,41 @@ module Aws::S3
16669
17142
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16670
17143
  # }
16671
17144
  #
16672
- # @example Example: To upload an object and specify canned ACL.
17145
+ # @example Example: To upload an object
16673
17146
  #
16674
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
16675
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
17147
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
17148
+ # # syntax. S3 returns VersionId of the newly created object.
17149
+ #
17150
+ # resp = client.put_object({
17151
+ # body: "HappyFace.jpg",
17152
+ # bucket: "examplebucket",
17153
+ # key: "HappyFace.jpg",
17154
+ # })
17155
+ #
17156
+ # resp.to_h outputs the following:
17157
+ # {
17158
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17159
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17160
+ # }
17161
+ #
17162
+ # @example Example: To upload an object and specify server-side encryption and object tags
17163
+ #
17164
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
17165
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
16676
17166
  #
16677
17167
  # resp = client.put_object({
16678
- # acl: "authenticated-read",
16679
17168
  # body: "filetoupload",
16680
17169
  # bucket: "examplebucket",
16681
17170
  # key: "exampleobject",
17171
+ # server_side_encryption: "AES256",
17172
+ # tagging: "key1=value1&key2=value2",
16682
17173
  # })
16683
17174
  #
16684
17175
  # resp.to_h outputs the following:
16685
17176
  # {
16686
17177
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16687
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17178
+ # server_side_encryption: "AES256",
17179
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
16688
17180
  # }
16689
17181
  #
16690
17182
  # @example Example: To upload an object (specify optional headers)
@@ -16707,20 +17199,22 @@ module Aws::S3
16707
17199
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16708
17200
  # }
16709
17201
  #
16710
- # @example Example: To create an object.
17202
+ # @example Example: To upload an object and specify canned ACL.
16711
17203
  #
16712
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17204
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17205
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
16713
17206
  #
16714
17207
  # resp = client.put_object({
17208
+ # acl: "authenticated-read",
16715
17209
  # body: "filetoupload",
16716
17210
  # bucket: "examplebucket",
16717
- # key: "objectkey",
17211
+ # key: "exampleobject",
16718
17212
  # })
16719
17213
  #
16720
17214
  # resp.to_h outputs the following:
16721
17215
  # {
16722
17216
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16723
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17217
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16724
17218
  # }
16725
17219
  #
16726
17220
  # @example Streaming a file from disk
@@ -16742,9 +17236,10 @@ module Aws::S3
16742
17236
  # content_length: 1,
16743
17237
  # content_md5: "ContentMD5",
16744
17238
  # content_type: "ContentType",
16745
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17239
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
16746
17240
  # checksum_crc32: "ChecksumCRC32",
16747
17241
  # checksum_crc32c: "ChecksumCRC32C",
17242
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
16748
17243
  # checksum_sha1: "ChecksumSHA1",
16749
17244
  # checksum_sha256: "ChecksumSHA256",
16750
17245
  # expires: Time.now,
@@ -16782,8 +17277,10 @@ module Aws::S3
16782
17277
  # resp.etag #=> String
16783
17278
  # resp.checksum_crc32 #=> String
16784
17279
  # resp.checksum_crc32c #=> String
17280
+ # resp.checksum_crc64nvme #=> String
16785
17281
  # resp.checksum_sha1 #=> String
16786
17282
  # resp.checksum_sha256 #=> String
17283
+ # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
16787
17284
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
16788
17285
  # resp.version_id #=> String
16789
17286
  # resp.sse_customer_algorithm #=> String
@@ -17012,9 +17509,9 @@ module Aws::S3
17012
17509
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
17013
17510
  #
17014
17511
  # @option params [String] :content_md5
17015
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
17016
- # used as a message integrity check to verify that the request body was
17017
- # not corrupted in transit. For more information, go to [RFC
17512
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
17513
+ # be used as a message integrity check to verify that the request body
17514
+ # was not corrupted in transit. For more information, go to [RFC
17018
17515
  # 1864.&gt;][1]
17019
17516
  #
17020
17517
  # For requests made using the Amazon Web Services Command Line Interface
@@ -17147,7 +17644,7 @@ module Aws::S3
17147
17644
  # },
17148
17645
  # bucket: "BucketName", # required
17149
17646
  # content_md5: "ContentMD5",
17150
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17647
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17151
17648
  # grant_full_control: "GrantFullControl",
17152
17649
  # grant_read: "GrantRead",
17153
17650
  # grant_read_acp: "GrantReadACP",
@@ -17274,7 +17771,7 @@ module Aws::S3
17274
17771
  # request_payer: "requester", # accepts requester
17275
17772
  # version_id: "ObjectVersionId",
17276
17773
  # content_md5: "ContentMD5",
17277
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17774
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17278
17775
  # expected_bucket_owner: "AccountId",
17279
17776
  # })
17280
17777
  #
@@ -17393,7 +17890,7 @@ module Aws::S3
17393
17890
  # request_payer: "requester", # accepts requester
17394
17891
  # token: "ObjectLockToken",
17395
17892
  # content_md5: "ContentMD5",
17396
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
17893
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17397
17894
  # expected_bucket_owner: "AccountId",
17398
17895
  # })
17399
17896
  #
@@ -17522,7 +18019,7 @@ module Aws::S3
17522
18019
  # version_id: "ObjectVersionId",
17523
18020
  # bypass_governance_retention: false,
17524
18021
  # content_md5: "ContentMD5",
17525
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18022
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17526
18023
  # expected_bucket_owner: "AccountId",
17527
18024
  # })
17528
18025
  #
@@ -17712,7 +18209,7 @@ module Aws::S3
17712
18209
  # key: "ObjectKey", # required
17713
18210
  # version_id: "ObjectVersionId",
17714
18211
  # content_md5: "ContentMD5",
17715
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18212
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17716
18213
  # tagging: { # required
17717
18214
  # tag_set: [ # required
17718
18215
  # {
@@ -17827,7 +18324,7 @@ module Aws::S3
17827
18324
  # resp = client.put_public_access_block({
17828
18325
  # bucket: "BucketName", # required
17829
18326
  # content_md5: "ContentMD5",
17830
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18327
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
17831
18328
  # public_access_block_configuration: { # required
17832
18329
  # block_public_acls: false,
17833
18330
  # ignore_public_acls: false,
@@ -18212,7 +18709,7 @@ module Aws::S3
18212
18709
  # },
18213
18710
  # },
18214
18711
  # request_payer: "requester", # accepts requester
18215
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
18712
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
18216
18713
  # expected_bucket_owner: "AccountId",
18217
18714
  # })
18218
18715
  #
@@ -18684,9 +19181,13 @@ module Aws::S3
18684
19181
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
18685
19182
  # for this API operation to the Zonal endpoint. These endpoints support
18686
19183
  # virtual-hosted-style requests in the format
18687
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
18688
- # Path-style requests are not supported. For more information, see
18689
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
19184
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
19185
+ # `. Path-style requests are not supported. For more information about
19186
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
19187
+ # directory buckets in Availability Zones][5] in the *Amazon S3 User
19188
+ # Guide*. For more information about endpoints in Local Zones, see
19189
+ # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
19190
+ # Guide*.
18690
19191
  #
18691
19192
  # </note>
18692
19193
  #
@@ -18703,15 +19204,15 @@ module Aws::S3
18703
19204
  # These permissions are required because Amazon S3 must decrypt and
18704
19205
  # read data from the encrypted file parts before it completes the
18705
19206
  # multipart upload. For more information about KMS permissions, see
18706
- # [Protecting data using server-side encryption with KMS][6] in the
19207
+ # [Protecting data using server-side encryption with KMS][7] in the
18707
19208
  # *Amazon S3 User Guide*. For information about the permissions
18708
19209
  # required to use the multipart upload API, see [Multipart upload
18709
- # and permissions][7] and [Multipart upload API and permissions][8]
19210
+ # and permissions][8] and [Multipart upload API and permissions][9]
18710
19211
  # in the *Amazon S3 User Guide*.
18711
19212
  #
18712
19213
  # * **Directory bucket permissions** - To grant access to this API
18713
19214
  # operation on a directory bucket, we recommend that you use the [
18714
- # `CreateSession` ][9] API operation for session-based
19215
+ # `CreateSession` ][10] API operation for session-based
18715
19216
  # authorization. Specifically, you grant the
18716
19217
  # `s3express:CreateSession` permission to the directory bucket in a
18717
19218
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -18722,7 +19223,7 @@ module Aws::S3
18722
19223
  # token for use. Amazon Web Services CLI or SDKs create session and
18723
19224
  # refresh the session token automatically to avoid service
18724
19225
  # interruptions when a session expires. For more information about
18725
- # authorization, see [ `CreateSession` ][9].
19226
+ # authorization, see [ `CreateSession` ][10].
18726
19227
  #
18727
19228
  # If the object is encrypted with SSE-KMS, you must also have the
18728
19229
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -18738,7 +19239,7 @@ module Aws::S3
18738
19239
  # then Amazon Web Services S3 uses the `x-amz-content-sha256` header
18739
19240
  # as a checksum instead of `Content-MD5`. For more information see
18740
19241
  # [Authenticating Requests: Using the Authorization Header (Amazon Web
18741
- # Services Signature Version 4)][10].
19242
+ # Services Signature Version 4)][11].
18742
19243
  #
18743
19244
  # <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
18744
19245
  # You can use checksum algorithms to check object integrity.
@@ -18778,7 +19279,7 @@ module Aws::S3
18778
19279
  # * x-amz-server-side-encryption-customer-key
18779
19280
  #
18780
19281
  # * x-amz-server-side-encryption-customer-key-MD5
18781
- # For more information, see [Using Server-Side Encryption][11] in
19282
+ # For more information, see [Using Server-Side Encryption][12] in
18782
19283
  # the *Amazon S3 User Guide*.
18783
19284
  #
18784
19285
  # * <b>Directory buckets </b> - For directory buckets, there are only
@@ -18800,19 +19301,19 @@ module Aws::S3
18800
19301
  # HTTP Host header syntax
18801
19302
  #
18802
19303
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
18803
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
19304
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
18804
19305
  #
18805
19306
  # The following operations are related to `UploadPart`:
18806
19307
  #
18807
19308
  # * [CreateMultipartUpload][2]
18808
19309
  #
18809
- # * [CompleteMultipartUpload][12]
19310
+ # * [CompleteMultipartUpload][13]
18810
19311
  #
18811
- # * [AbortMultipartUpload][13]
19312
+ # * [AbortMultipartUpload][14]
18812
19313
  #
18813
- # * [ListParts][14]
19314
+ # * [ListParts][15]
18814
19315
  #
18815
- # * [ListMultipartUploads][15]
19316
+ # * [ListMultipartUploads][16]
18816
19317
  #
18817
19318
  #
18818
19319
  #
@@ -18821,16 +19322,17 @@ module Aws::S3
18821
19322
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
18822
19323
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
18823
19324
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
18824
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
18825
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
18826
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
18827
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
18828
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
18829
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
18830
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
18831
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
18832
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
18833
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19325
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
19326
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
19327
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
19328
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19329
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
19330
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
19331
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
19332
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19333
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19334
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19335
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
18834
19336
  #
18835
19337
  # @option params [String, StringIO, File] :body
18836
19338
  # Object data.
@@ -18840,10 +19342,10 @@ module Aws::S3
18840
19342
  #
18841
19343
  # **Directory buckets** - When you use this operation with a directory
18842
19344
  # bucket, you must use virtual-hosted-style requests in the format `
18843
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
18844
- # are not supported. Directory bucket names must be unique in the chosen
18845
- # Availability Zone. Bucket names must follow the format `
18846
- # bucket_base_name--az-id--x-s3` (for example, `
19345
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
19346
+ # requests are not supported. Directory bucket names must be unique in
19347
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
19348
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
18847
19349
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
18848
19350
  # naming restrictions, see [Directory bucket naming rules][1] in the
18849
19351
  # *Amazon S3 User Guide*.
@@ -18884,7 +19386,7 @@ module Aws::S3
18884
19386
  # the body cannot be determined automatically.
18885
19387
  #
18886
19388
  # @option params [String] :content_md5
18887
- # The base64-encoded 128-bit MD5 digest of the part data. This parameter
19389
+ # The Base64 encoded 128-bit MD5 digest of the part data. This parameter
18888
19390
  # is auto-populated when using the command from the CLI. This parameter
18889
19391
  # is required if object lock parameters are specified.
18890
19392
  #
@@ -18914,7 +19416,7 @@ module Aws::S3
18914
19416
  # @option params [String] :checksum_crc32
18915
19417
  # This header can be used as a data integrity check to verify that the
18916
19418
  # data received is the same data that was originally sent. This header
18917
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
19419
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object.
18918
19420
  # For more information, see [Checking object integrity][1] in the
18919
19421
  # *Amazon S3 User Guide*.
18920
19422
  #
@@ -18925,7 +19427,7 @@ module Aws::S3
18925
19427
  # @option params [String] :checksum_crc32c
18926
19428
  # This header can be used as a data integrity check to verify that the
18927
19429
  # data received is the same data that was originally sent. This header
18928
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
19430
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object.
18929
19431
  # For more information, see [Checking object integrity][1] in the
18930
19432
  # *Amazon S3 User Guide*.
18931
19433
  #
@@ -18933,12 +19435,23 @@ module Aws::S3
18933
19435
  #
18934
19436
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
18935
19437
  #
19438
+ # @option params [String] :checksum_crc64nvme
19439
+ # This header can be used as a data integrity check to verify that the
19440
+ # data received is the same data that was originally sent. This header
19441
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
19442
+ # part. For more information, see [Checking object integrity][1] in the
19443
+ # *Amazon S3 User Guide*.
19444
+ #
19445
+ #
19446
+ #
19447
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
19448
+ #
18936
19449
  # @option params [String] :checksum_sha1
18937
19450
  # This header can be used as a data integrity check to verify that the
18938
19451
  # data received is the same data that was originally sent. This header
18939
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
18940
- # more information, see [Checking object integrity][1] in the *Amazon S3
18941
- # User Guide*.
19452
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object.
19453
+ # For more information, see [Checking object integrity][1] in the
19454
+ # *Amazon S3 User Guide*.
18942
19455
  #
18943
19456
  #
18944
19457
  #
@@ -18947,7 +19460,7 @@ module Aws::S3
18947
19460
  # @option params [String] :checksum_sha256
18948
19461
  # This header can be used as a data integrity check to verify that the
18949
19462
  # data received is the same data that was originally sent. This header
18950
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
19463
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object.
18951
19464
  # For more information, see [Checking object integrity][1] in the
18952
19465
  # *Amazon S3 User Guide*.
18953
19466
  #
@@ -19024,6 +19537,7 @@ module Aws::S3
19024
19537
  # * {Types::UploadPartOutput#etag #etag} => String
19025
19538
  # * {Types::UploadPartOutput#checksum_crc32 #checksum_crc32} => String
19026
19539
  # * {Types::UploadPartOutput#checksum_crc32c #checksum_crc32c} => String
19540
+ # * {Types::UploadPartOutput#checksum_crc64nvme #checksum_crc64nvme} => String
19027
19541
  # * {Types::UploadPartOutput#checksum_sha1 #checksum_sha1} => String
19028
19542
  # * {Types::UploadPartOutput#checksum_sha256 #checksum_sha256} => String
19029
19543
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
@@ -19058,9 +19572,10 @@ module Aws::S3
19058
19572
  # bucket: "BucketName", # required
19059
19573
  # content_length: 1,
19060
19574
  # content_md5: "ContentMD5",
19061
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
19575
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
19062
19576
  # checksum_crc32: "ChecksumCRC32",
19063
19577
  # checksum_crc32c: "ChecksumCRC32C",
19578
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
19064
19579
  # checksum_sha1: "ChecksumSHA1",
19065
19580
  # checksum_sha256: "ChecksumSHA256",
19066
19581
  # key: "ObjectKey", # required
@@ -19079,6 +19594,7 @@ module Aws::S3
19079
19594
  # resp.etag #=> String
19080
19595
  # resp.checksum_crc32 #=> String
19081
19596
  # resp.checksum_crc32c #=> String
19597
+ # resp.checksum_crc64nvme #=> String
19082
19598
  # resp.checksum_sha1 #=> String
19083
19599
  # resp.checksum_sha256 #=> String
19084
19600
  # resp.sse_customer_algorithm #=> String
@@ -19124,9 +19640,13 @@ module Aws::S3
19124
19640
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
19125
19641
  # for this API operation to the Zonal endpoint. These endpoints support
19126
19642
  # virtual-hosted-style requests in the format
19127
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
19128
- # Path-style requests are not supported. For more information, see
19129
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
19643
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
19644
+ # `. Path-style requests are not supported. For more information about
19645
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
19646
+ # directory buckets in Availability Zones][5] in the *Amazon S3 User
19647
+ # Guide*. For more information about endpoints in Local Zones, see
19648
+ # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
19649
+ # Guide*.
19130
19650
  #
19131
19651
  # </note>
19132
19652
  #
@@ -19136,7 +19656,7 @@ module Aws::S3
19136
19656
  # using IAM credentials (access key ID and secret access key for the
19137
19657
  # IAM identities). All headers with the `x-amz-` prefix, including
19138
19658
  # `x-amz-copy-source`, must be signed. For more information, see [REST
19139
- # Authentication][6].
19659
+ # Authentication][7].
19140
19660
  #
19141
19661
  # **Directory buckets** - You must use IAM credentials to authenticate
19142
19662
  # and authorize your access to the `UploadPartCopy` API operation,
@@ -19173,11 +19693,11 @@ module Aws::S3
19173
19693
  # permissions are required because Amazon S3 must decrypt and read
19174
19694
  # data from the encrypted file parts before it completes the
19175
19695
  # multipart upload. For more information about KMS permissions,
19176
- # see [Protecting data using server-side encryption with KMS][7]
19696
+ # see [Protecting data using server-side encryption with KMS][8]
19177
19697
  # in the *Amazon S3 User Guide*. For information about the
19178
19698
  # permissions required to use the multipart upload API, see
19179
- # [Multipart upload and permissions][8] and [Multipart upload API
19180
- # and permissions][9] in the *Amazon S3 User Guide*.
19699
+ # [Multipart upload and permissions][9] and [Multipart upload API
19700
+ # and permissions][10] in the *Amazon S3 User Guide*.
19181
19701
  # * **Directory bucket permissions** - You must have permissions in a
19182
19702
  # bucket policy or an IAM identity-based policy based on the source
19183
19703
  # and destination bucket types in an `UploadPartCopy` operation.
@@ -19200,14 +19720,14 @@ module Aws::S3
19200
19720
  # identity-based policies and KMS key policies for the KMS key.
19201
19721
  #
19202
19722
  # For example policies, see [Example bucket policies for S3 Express
19203
- # One Zone][10] and [Amazon Web Services Identity and Access
19723
+ # One Zone][11] and [Amazon Web Services Identity and Access
19204
19724
  # Management (IAM) identity-based policies for S3 Express One
19205
- # Zone][11] in the *Amazon S3 User Guide*.
19725
+ # Zone][12] in the *Amazon S3 User Guide*.
19206
19726
  #
19207
19727
  # Encryption
19208
19728
  # : * <b>General purpose buckets </b> - For information about using
19209
19729
  # server-side encryption with customer-provided encryption keys with
19210
- # the `UploadPartCopy` operation, see [CopyObject][12] and
19730
+ # the `UploadPartCopy` operation, see [CopyObject][13] and
19211
19731
  # [UploadPart][2].
19212
19732
  #
19213
19733
  # * <b>Directory buckets </b> - For directory buckets, there are only
@@ -19215,7 +19735,7 @@ module Aws::S3
19215
19735
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
19216
19736
  # server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
19217
19737
  # more information, see [Protecting data with server-side
19218
- # encryption][13] in the *Amazon S3 User Guide*.
19738
+ # encryption][14] in the *Amazon S3 User Guide*.
19219
19739
  #
19220
19740
  # <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
19221
19741
  # operation and an `UploadPartCopy` operation, the request headers
@@ -19227,7 +19747,7 @@ module Aws::S3
19227
19747
  # S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
19228
19748
  # objects from general purpose buckets to directory buckets, from
19229
19749
  # directory buckets to general purpose buckets, or between directory
19230
- # buckets, through [UploadPartCopy][14]. In this case, Amazon S3
19750
+ # buckets, through [UploadPartCopy][15]. In this case, Amazon S3
19231
19751
  # makes a call to KMS every time a copy request is made for a
19232
19752
  # KMS-encrypted object.
19233
19753
  #
@@ -19249,21 +19769,21 @@ module Aws::S3
19249
19769
  # HTTP Host header syntax
19250
19770
  #
19251
19771
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
19252
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
19772
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
19253
19773
  #
19254
19774
  # The following operations are related to `UploadPartCopy`:
19255
19775
  #
19256
- # * [CreateMultipartUpload][15]
19776
+ # * [CreateMultipartUpload][16]
19257
19777
  #
19258
19778
  # * [UploadPart][2]
19259
19779
  #
19260
- # * [CompleteMultipartUpload][16]
19780
+ # * [CompleteMultipartUpload][17]
19261
19781
  #
19262
- # * [AbortMultipartUpload][17]
19782
+ # * [AbortMultipartUpload][18]
19263
19783
  #
19264
- # * [ListParts][18]
19784
+ # * [ListParts][19]
19265
19785
  #
19266
- # * [ListMultipartUploads][19]
19786
+ # * [ListMultipartUploads][20]
19267
19787
  #
19268
19788
  #
19269
19789
  #
@@ -19272,34 +19792,43 @@ module Aws::S3
19272
19792
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
19273
19793
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
19274
19794
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
19275
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
19276
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
19277
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
19278
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19279
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
19280
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
19281
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
19282
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
19283
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
19284
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
19285
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19286
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19287
- # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19288
- # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19795
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
19796
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
19797
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
19798
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
19799
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19800
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
19801
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
19802
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
19803
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
19804
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
19805
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
19806
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19807
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19808
+ # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19809
+ # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19289
19810
  #
19290
19811
  # @option params [required, String] :bucket
19291
19812
  # The bucket name.
19292
19813
  #
19293
19814
  # **Directory buckets** - When you use this operation with a directory
19294
19815
  # bucket, you must use virtual-hosted-style requests in the format `
19295
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
19296
- # are not supported. Directory bucket names must be unique in the chosen
19297
- # Availability Zone. Bucket names must follow the format `
19298
- # bucket_base_name--az-id--x-s3` (for example, `
19816
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
19817
+ # requests are not supported. Directory bucket names must be unique in
19818
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
19819
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
19299
19820
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
19300
19821
  # naming restrictions, see [Directory bucket naming rules][1] in the
19301
19822
  # *Amazon S3 User Guide*.
19302
19823
  #
19824
+ # <note markdown="1"> Copying objects across different Amazon Web Services Regions isn't
19825
+ # supported when the source or destination bucket is in Amazon Web
19826
+ # Services Local Zones. The source and destination buckets must have the
19827
+ # same parent Amazon Web Services Region. Otherwise, you get an HTTP
19828
+ # `400 Bad Request` error with the error code `InvalidRequest`.
19829
+ #
19830
+ # </note>
19831
+ #
19303
19832
  # **Access points** - When you use this action with an access point, you
19304
19833
  # must provide the alias of the access point in place of the bucket name
19305
19834
  # or specify the access point ARN. When using the access point ARN, you
@@ -19644,6 +20173,7 @@ module Aws::S3
19644
20173
  # resp.copy_part_result.last_modified #=> Time
19645
20174
  # resp.copy_part_result.checksum_crc32 #=> String
19646
20175
  # resp.copy_part_result.checksum_crc32c #=> String
20176
+ # resp.copy_part_result.checksum_crc64nvme #=> String
19647
20177
  # resp.copy_part_result.checksum_sha1 #=> String
19648
20178
  # resp.copy_part_result.checksum_sha256 #=> String
19649
20179
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
@@ -19808,7 +20338,7 @@ module Aws::S3
19808
20338
  # @option params [String] :checksum_crc32
19809
20339
  # This header can be used as a data integrity check to verify that the
19810
20340
  # data received is the same data that was originally sent. This
19811
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object
20341
+ # specifies the Base64 encoded, 32-bit `CRC-32` checksum of the object
19812
20342
  # returned by the Object Lambda function. This may not match the
19813
20343
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
19814
20344
  # validation of the checksum values only when the original `GetObject`
@@ -19828,7 +20358,7 @@ module Aws::S3
19828
20358
  # @option params [String] :checksum_crc32c
19829
20359
  # This header can be used as a data integrity check to verify that the
19830
20360
  # data received is the same data that was originally sent. This
19831
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object
20361
+ # specifies the Base64 encoded, 32-bit `CRC-32C` checksum of the object
19832
20362
  # returned by the Object Lambda function. This may not match the
19833
20363
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
19834
20364
  # validation of the checksum values only when the original `GetObject`
@@ -19843,10 +20373,21 @@ module Aws::S3
19843
20373
  #
19844
20374
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
19845
20375
  #
20376
+ # @option params [String] :checksum_crc64nvme
20377
+ # This header can be used as a data integrity check to verify that the
20378
+ # data received is the same data that was originally sent. This header
20379
+ # specifies the Base64 encoded, 64-bit `CRC-64NVME` checksum of the
20380
+ # part. For more information, see [Checking object integrity][1] in the
20381
+ # *Amazon S3 User Guide*.
20382
+ #
20383
+ #
20384
+ #
20385
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
20386
+ #
19846
20387
  # @option params [String] :checksum_sha1
19847
20388
  # This header can be used as a data integrity check to verify that the
19848
20389
  # data received is the same data that was originally sent. This
19849
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object
20390
+ # specifies the Base64 encoded, 160-bit `SHA-1` digest of the object
19850
20391
  # returned by the Object Lambda function. This may not match the
19851
20392
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
19852
20393
  # validation of the checksum values only when the original `GetObject`
@@ -19864,7 +20405,7 @@ module Aws::S3
19864
20405
  # @option params [String] :checksum_sha256
19865
20406
  # This header can be used as a data integrity check to verify that the
19866
20407
  # data received is the same data that was originally sent. This
19867
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object
20408
+ # specifies the Base64 encoded, 256-bit `SHA-256` digest of the object
19868
20409
  # returned by the Object Lambda function. This may not match the
19869
20410
  # checksum for the object stored in Amazon S3. Amazon S3 will perform
19870
20411
  # validation of the checksum values only when the original `GetObject`
@@ -20016,6 +20557,7 @@ module Aws::S3
20016
20557
  # content_type: "ContentType",
20017
20558
  # checksum_crc32: "ChecksumCRC32",
20018
20559
  # checksum_crc32c: "ChecksumCRC32C",
20560
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
20019
20561
  # checksum_sha1: "ChecksumSHA1",
20020
20562
  # checksum_sha256: "ChecksumSHA256",
20021
20563
  # delete_marker: false,
@@ -20071,7 +20613,7 @@ module Aws::S3
20071
20613
  tracer: tracer
20072
20614
  )
20073
20615
  context[:gem_name] = 'aws-sdk-s3'
20074
- context[:gem_version] = '1.174.0'
20616
+ context[:gem_version] = '1.179.0'
20075
20617
  Seahorse::Client::Request.new(handlers, context)
20076
20618
  end
20077
20619