aws-sdk-s3 1.172.0 → 1.176.1

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.
@@ -577,20 +577,24 @@ module Aws::S3
577
577
  # * **Directory buckets** - For directory buckets, you must make
578
578
  # requests for this API operation to the Zonal endpoint. These
579
579
  # 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*.
580
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
581
+ # `. Path-style requests are not supported. For more information about
582
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
583
+ # for directory buckets in Availability Zones][2] in the *Amazon S3
584
+ # User Guide*. For more information about endpoints in Local Zones,
585
+ # see [Available Local Zone for directory buckets][3] in the *Amazon
586
+ # S3 User Guide*.
583
587
  #
584
588
  # </note>
585
589
  #
586
590
  # Permissions
587
591
  # : * **General purpose bucket permissions** - For information about
588
592
  # permissions required to use the multipart upload, see [Multipart
589
- # Upload and Permissions][3] in the *Amazon S3 User Guide*.
593
+ # Upload and Permissions][4] in the *Amazon S3 User Guide*.
590
594
  #
591
595
  # * **Directory bucket permissions** - To grant access to this API
592
596
  # operation on a directory bucket, we recommend that you use the [
593
- # `CreateSession` ][4] API operation for session-based
597
+ # `CreateSession` ][5] API operation for session-based
594
598
  # authorization. Specifically, you grant the
595
599
  # `s3express:CreateSession` permission to the directory bucket in a
596
600
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -601,45 +605,46 @@ module Aws::S3
601
605
  # token for use. Amazon Web Services CLI or SDKs create session and
602
606
  # refresh the session token automatically to avoid service
603
607
  # interruptions when a session expires. For more information about
604
- # authorization, see [ `CreateSession` ][4].
608
+ # authorization, see [ `CreateSession` ][5].
605
609
  #
606
610
  # HTTP Host header syntax
607
611
  #
608
612
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
609
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
613
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
610
614
  #
611
615
  # The following operations are related to `AbortMultipartUpload`:
612
616
  #
613
- # * [CreateMultipartUpload][5]
617
+ # * [CreateMultipartUpload][6]
614
618
  #
615
- # * [UploadPart][6]
619
+ # * [UploadPart][7]
616
620
  #
617
- # * [CompleteMultipartUpload][7]
621
+ # * [CompleteMultipartUpload][8]
618
622
  #
619
623
  # * [ListParts][1]
620
624
  #
621
- # * [ListMultipartUploads][8]
625
+ # * [ListMultipartUploads][9]
622
626
  #
623
627
  #
624
628
  #
625
629
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
626
630
  # [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
631
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
632
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
633
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
634
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
635
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
636
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
637
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
633
638
  #
634
639
  # @option params [required, String] :bucket
635
640
  # The bucket name to which the upload was taking place.
636
641
  #
637
642
  # **Directory buckets** - When you use this operation with a directory
638
643
  # 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, `
644
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
645
+ # requests are not supported. Directory bucket names must be unique in
646
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
647
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
643
648
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
644
649
  # naming restrictions, see [Directory bucket naming rules][1] in the
645
650
  # *Amazon S3 User Guide*.
@@ -703,6 +708,18 @@ module Aws::S3
703
708
  # you provide does not match the actual owner of the bucket, the request
704
709
  # fails with the HTTP status code `403 Forbidden` (access denied).
705
710
  #
711
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_initiated_time
712
+ # If present, this header aborts an in progress multipart upload only if
713
+ # it was initiated on the provided timestamp. If the initiated timestamp
714
+ # of the multipart upload does not match the provided value, the
715
+ # operation returns a `412 Precondition Failed` error. If the initiated
716
+ # timestamp matches or if the multipart upload doesn’t exist, the
717
+ # operation returns a `204 Success (No Content)` response.
718
+ #
719
+ # <note markdown="1"> This functionality is only supported for directory buckets.
720
+ #
721
+ # </note>
722
+ #
706
723
  # @return [Types::AbortMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
724
  #
708
725
  # * {Types::AbortMultipartUploadOutput#request_charged #request_charged} => String
@@ -730,6 +747,7 @@ module Aws::S3
730
747
  # upload_id: "MultipartUploadId", # required
731
748
  # request_payer: "requester", # accepts requester
732
749
  # expected_bucket_owner: "AccountId",
750
+ # if_match_initiated_time: Time.now,
733
751
  # })
734
752
  #
735
753
  # @example Response structure
@@ -792,19 +810,23 @@ module Aws::S3
792
810
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
793
811
  # for this API operation to the Zonal endpoint. These endpoints support
794
812
  # virtual-hosted-style requests in the format
795
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
796
- # Path-style requests are not supported. For more information, see
797
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
813
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
814
+ # `. Path-style requests are not supported. For more information about
815
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
816
+ # directory buckets in Availability Zones][5] in the *Amazon S3 User
817
+ # Guide*. For more information about endpoints in Local Zones, see
818
+ # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
819
+ # Guide*.
798
820
  #
799
821
  # </note>
800
822
  #
801
823
  # Permissions
802
824
  # : * **General purpose bucket permissions** - For information about
803
825
  # permissions required to use the multipart upload API, see
804
- # [Multipart Upload and Permissions][6] in the *Amazon S3 User
826
+ # [Multipart Upload and Permissions][7] in the *Amazon S3 User
805
827
  # Guide*.
806
828
  #
807
- # If you provide an [additional checksum value][7] in your
829
+ # If you provide an [additional checksum value][8] in your
808
830
  # `MultipartUpload` requests and the object is encrypted with Key
809
831
  # Management Service, you must have permission to use the
810
832
  # `kms:Decrypt` action for the `CompleteMultipartUpload` request to
@@ -812,7 +834,7 @@ module Aws::S3
812
834
  #
813
835
  # * **Directory bucket permissions** - To grant access to this API
814
836
  # operation on a directory bucket, we recommend that you use the [
815
- # `CreateSession` ][8] API operation for session-based
837
+ # `CreateSession` ][9] API operation for session-based
816
838
  # authorization. Specifically, you grant the
817
839
  # `s3express:CreateSession` permission to the directory bucket in a
818
840
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -823,7 +845,7 @@ module Aws::S3
823
845
  # token for use. Amazon Web Services CLI or SDKs create session and
824
846
  # refresh the session token automatically to avoid service
825
847
  # interruptions when a session expires. For more information about
826
- # authorization, see [ `CreateSession` ][8].
848
+ # authorization, see [ `CreateSession` ][9].
827
849
  #
828
850
  # If the object is encrypted with SSE-KMS, you must also have the
829
851
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -861,19 +883,19 @@ module Aws::S3
861
883
  # HTTP Host header syntax
862
884
  #
863
885
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
864
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
886
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
865
887
  #
866
888
  # The following operations are related to `CompleteMultipartUpload`:
867
889
  #
868
- # * [CreateMultipartUpload][9]
890
+ # * [CreateMultipartUpload][10]
869
891
  #
870
892
  # * [UploadPart][1]
871
893
  #
872
- # * [AbortMultipartUpload][10]
894
+ # * [AbortMultipartUpload][11]
873
895
  #
874
- # * [ListParts][11]
896
+ # * [ListParts][12]
875
897
  #
876
- # * [ListMultipartUploads][12]
898
+ # * [ListMultipartUploads][13]
877
899
  #
878
900
  #
879
901
  #
@@ -882,23 +904,24 @@ module Aws::S3
882
904
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html
883
905
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
884
906
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
885
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
886
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
887
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
888
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
889
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
890
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
891
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
907
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
908
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
909
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
910
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
911
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
912
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
913
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
914
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
892
915
  #
893
916
  # @option params [required, String] :bucket
894
917
  # Name of the bucket to which the multipart upload was initiated.
895
918
  #
896
919
  # **Directory buckets** - When you use this operation with a directory
897
920
  # bucket, you must use virtual-hosted-style requests in the format `
898
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
899
- # are not supported. Directory bucket names must be unique in the chosen
900
- # Availability Zone. Bucket names must follow the format `
901
- # bucket_base_name--az-id--x-s3` (for example, `
921
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
922
+ # requests are not supported. Directory bucket names must be unique in
923
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
924
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
902
925
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
903
926
  # naming restrictions, see [Directory bucket naming rules][1] in the
904
927
  # *Amazon S3 User Guide*.
@@ -1009,6 +1032,27 @@ module Aws::S3
1009
1032
  # you provide does not match the actual owner of the bucket, the request
1010
1033
  # fails with the HTTP status code `403 Forbidden` (access denied).
1011
1034
  #
1035
+ # @option params [String] :if_match
1036
+ # Uploads the object only if the ETag (entity tag) value provided during
1037
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
1038
+ # values do not match, the operation returns a `412 Precondition Failed`
1039
+ # error.
1040
+ #
1041
+ # If a conflicting operation occurs during the upload S3 returns a `409
1042
+ # ConditionalRequestConflict` response. On a 409 failure you should
1043
+ # fetch the object's ETag, re-initiate the multipart upload with
1044
+ # `CreateMultipartUpload`, and re-upload each part.
1045
+ #
1046
+ # Expects the ETag value as a string.
1047
+ #
1048
+ # For more information about conditional requests, see [RFC 7232][1], or
1049
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
1050
+ #
1051
+ #
1052
+ #
1053
+ # [1]: https://tools.ietf.org/html/rfc7232
1054
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
1055
+ #
1012
1056
  # @option params [String] :if_none_match
1013
1057
  # Uploads the object only if the object key name does not already exist
1014
1058
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -1144,6 +1188,7 @@ module Aws::S3
1144
1188
  # checksum_sha256: "ChecksumSHA256",
1145
1189
  # request_payer: "requester", # accepts requester
1146
1190
  # expected_bucket_owner: "AccountId",
1191
+ # if_match: "IfMatch",
1147
1192
  # if_none_match: "IfNoneMatch",
1148
1193
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1149
1194
  # sse_customer_key: "SSECustomerKey",
@@ -1197,9 +1242,13 @@ module Aws::S3
1197
1242
  # * <b>Directory buckets </b> - For directory buckets, you must make
1198
1243
  # requests for this API operation to the Zonal endpoint. These
1199
1244
  # endpoints support virtual-hosted-style requests in the format
1200
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
1201
- # `. Path-style requests are not supported. For more information, see
1202
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
1245
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
1246
+ # `. Path-style requests are not supported. For more information about
1247
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
1248
+ # for directory buckets in Availability Zones][2] in the *Amazon S3
1249
+ # User Guide*. For more information about endpoints in Local Zones,
1250
+ # see [Available Local Zone for directory buckets][3] in the *Amazon
1251
+ # S3 User Guide*.
1203
1252
  #
1204
1253
  # * VPC endpoints don't support cross-Region requests (including
1205
1254
  # copies). If you're using VPC endpoints, your source and destination
@@ -1211,13 +1260,13 @@ module Aws::S3
1211
1260
  # Both the Region that you want to copy the object from and the Region
1212
1261
  # that you want to copy the object to must be enabled for your account.
1213
1262
  # For more information about how to enable a Region for your account,
1214
- # see [Enable or disable a Region for standalone accounts][3] in the
1263
+ # see [Enable or disable a Region for standalone accounts][4] in the
1215
1264
  # *Amazon Web Services Account Management Guide*.
1216
1265
  #
1217
1266
  # Amazon S3 transfer acceleration does not support cross-Region copies.
1218
1267
  # If you request a cross-Region copy using a transfer acceleration
1219
1268
  # endpoint, you get a `400 Bad Request` error. For more information, see
1220
- # [Transfer Acceleration][4].
1269
+ # [Transfer Acceleration][5].
1221
1270
  #
1222
1271
  # Authentication and authorization
1223
1272
  #
@@ -1225,7 +1274,7 @@ module Aws::S3
1225
1274
  # IAM credentials (access key ID and secret access key for the IAM
1226
1275
  # identities). All headers with the `x-amz-` prefix, including
1227
1276
  # `x-amz-copy-source`, must be signed. For more information, see [REST
1228
- # Authentication][5].
1277
+ # Authentication][6].
1229
1278
  #
1230
1279
  # **Directory buckets** - You must use the IAM credentials to
1231
1280
  # authenticate and authorize your access to the `CopyObject` API
@@ -1273,9 +1322,9 @@ module Aws::S3
1273
1322
  # identity-based policies and KMS key policies for the KMS key.
1274
1323
  #
1275
1324
  # For example policies, see [Example bucket policies for S3 Express
1276
- # One Zone][6] and [Amazon Web Services Identity and Access
1325
+ # One Zone][7] and [Amazon Web Services Identity and Access
1277
1326
  # Management (IAM) identity-based policies for S3 Express One
1278
- # Zone][7] in the *Amazon S3 User Guide*.
1327
+ # Zone][8] in the *Amazon S3 User Guide*.
1279
1328
  #
1280
1329
  # Response and special errors
1281
1330
  #
@@ -1298,7 +1347,7 @@ module Aws::S3
1298
1347
  # response is embedded in the `200 OK` response. For example, in a
1299
1348
  # cross-region copy, you may encounter throttling and receive a
1300
1349
  # `200 OK` response. For more information, see [Resolve the Error
1301
- # 200 response when copying objects to Amazon S3][8]. The `200 OK`
1350
+ # 200 response when copying objects to Amazon S3][9]. The `200 OK`
1302
1351
  # status code means the copy was accepted, but it doesn't mean
1303
1352
  # the copy is complete. Another example is when you disconnect
1304
1353
  # from Amazon S3 before the copy is complete, Amazon S3 might
@@ -1322,32 +1371,33 @@ module Aws::S3
1322
1371
  # result in a data retrieval charge for the source if the source
1323
1372
  # storage class bills for data retrieval. If the copy source is in a
1324
1373
  # different region, the data transfer is billed to the copy source
1325
- # account. For pricing information, see [Amazon S3 pricing][9].
1374
+ # account. For pricing information, see [Amazon S3 pricing][10].
1326
1375
  #
1327
1376
  # HTTP Host header syntax
1328
1377
  #
1329
1378
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
1330
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
1379
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
1331
1380
  #
1332
1381
  # The following operations are related to `CopyObject`:
1333
1382
  #
1334
- # * [PutObject][10]
1383
+ # * [PutObject][11]
1335
1384
  #
1336
- # * [GetObject][11]
1385
+ # * [GetObject][12]
1337
1386
  #
1338
1387
  #
1339
1388
  #
1340
1389
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html
1341
1390
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
1342
- # [3]: https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone
1343
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
1344
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
1345
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
1346
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
1347
- # [8]: https://repost.aws/knowledge-center/s3-resolve-200-internalerror
1348
- # [9]: http://aws.amazon.com/s3/pricing/
1349
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1350
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1391
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
1392
+ # [4]: https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone
1393
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
1394
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
1395
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
1396
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
1397
+ # [9]: https://repost.aws/knowledge-center/s3-resolve-200-internalerror
1398
+ # [10]: http://aws.amazon.com/s3/pricing/
1399
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1400
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1351
1401
  #
1352
1402
  # @option params [String] :acl
1353
1403
  # The canned access control list (ACL) to apply to the object.
@@ -1387,14 +1437,22 @@ module Aws::S3
1387
1437
  #
1388
1438
  # **Directory buckets** - When you use this operation with a directory
1389
1439
  # bucket, you must use virtual-hosted-style requests in the format `
1390
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
1391
- # are not supported. Directory bucket names must be unique in the chosen
1392
- # Availability Zone. Bucket names must follow the format `
1393
- # bucket_base_name--az-id--x-s3` (for example, `
1440
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
1441
+ # requests are not supported. Directory bucket names must be unique in
1442
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
1443
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
1394
1444
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
1395
1445
  # naming restrictions, see [Directory bucket naming rules][1] in the
1396
1446
  # *Amazon S3 User Guide*.
1397
1447
  #
1448
+ # <note markdown="1"> Copying objects across different Amazon Web Services Regions isn't
1449
+ # supported when the source or destination bucket is in Amazon Web
1450
+ # Services Local Zones. The source and destination buckets must have the
1451
+ # same parent Amazon Web Services Region. Otherwise, you get an HTTP
1452
+ # `400 Bad Request` error with the error code `InvalidRequest`.
1453
+ #
1454
+ # </note>
1455
+ #
1398
1456
  # **Access points** - When you use this action with an access point, you
1399
1457
  # must provide the alias of the access point in place of the bucket name
1400
1458
  # or specify the access point ARN. When using the access point ARN, you
@@ -2247,10 +2305,13 @@ module Aws::S3
2247
2305
  # * <b>Directory buckets </b> - For directory buckets, you must make
2248
2306
  # requests for this API operation to the Regional endpoint. These
2249
2307
  # endpoints support path-style requests in the format
2250
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
2308
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
2251
2309
  # Virtual-hosted-style requests aren't supported. For more
2252
- # information, see [Regional and Zonal endpoints][4] in the *Amazon S3
2253
- # User Guide*.
2310
+ # information about endpoints in Availability Zones, see [Regional and
2311
+ # Zonal endpoints for directory buckets in Availability Zones][4] in
2312
+ # the *Amazon S3 User Guide*. For more information about endpoints in
2313
+ # Local Zones, see [Available Local Zone for directory buckets][5] in
2314
+ # the *Amazon S3 User Guide*.
2254
2315
  #
2255
2316
  # </note>
2256
2317
  #
@@ -2292,17 +2353,17 @@ module Aws::S3
2292
2353
  # disabled. If you would like to share data with users outside of
2293
2354
  # your account, you can use bucket policies as needed. For more
2294
2355
  # information, see [Controlling ownership of objects and disabling
2295
- # ACLs for your bucket ][5] and [Blocking public access to your
2296
- # Amazon S3 storage ][6] in the *Amazon S3 User Guide*.
2356
+ # ACLs for your bucket ][6] and [Blocking public access to your
2357
+ # Amazon S3 storage ][7] in the *Amazon S3 User Guide*.
2297
2358
  #
2298
2359
  # * **S3 Block Public Access** - If your specific use case requires
2299
2360
  # granting public access to your S3 resources, you can disable
2300
2361
  # Block Public Access. Specifically, you can create a new bucket
2301
2362
  # with Block Public Access enabled, then separately call the [
2302
- # `DeletePublicAccessBlock` ][7] API. To use this operation, you
2363
+ # `DeletePublicAccessBlock` ][8] API. To use this operation, you
2303
2364
  # must have the `s3:PutBucketPublicAccessBlock` permission. For
2304
2365
  # more information about S3 Block Public Access, see [Blocking
2305
- # public access to your Amazon S3 storage ][6] in the *Amazon S3
2366
+ # public access to your Amazon S3 storage ][7] in the *Amazon S3
2306
2367
  # User Guide*.
2307
2368
  # * **Directory bucket permissions** - You must have the
2308
2369
  # `s3express:CreateBucket` permission in an IAM identity-based
@@ -2311,7 +2372,7 @@ module Aws::S3
2311
2372
  # performed by the Amazon Web Services account that owns the
2312
2373
  # resource. For more information about directory bucket policies and
2313
2374
  # permissions, see [Amazon Web Services Identity and Access
2314
- # Management (IAM) for S3 Express One Zone][8] in the *Amazon S3
2375
+ # Management (IAM) for S3 Express One Zone][9] in the *Amazon S3
2315
2376
  # User Guide*.
2316
2377
  #
2317
2378
  # The permissions for ACLs, Object Lock, S3 Object Ownership, and S3
@@ -2321,21 +2382,21 @@ module Aws::S3
2321
2382
  # enforced (ACLs disabled). These settings can't be modified.
2322
2383
  #
2323
2384
  # For more information about permissions for creating and working
2324
- # with directory buckets, see [Directory buckets][9] in the *Amazon
2385
+ # with directory buckets, see [Directory buckets][10] in the *Amazon
2325
2386
  # S3 User Guide*. For more information about supported S3 features
2326
- # for directory buckets, see [Features of S3 Express One Zone][10]
2387
+ # for directory buckets, see [Features of S3 Express One Zone][11]
2327
2388
  # in the *Amazon S3 User Guide*.
2328
2389
  #
2329
2390
  # HTTP Host header syntax
2330
2391
  #
2331
2392
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
2332
- # `s3express-control.region.amazonaws.com`.
2393
+ # `s3express-control.region-code.amazonaws.com`.
2333
2394
  #
2334
2395
  # The following operations are related to `CreateBucket`:
2335
2396
  #
2336
- # * [PutObject][11]
2397
+ # * [PutObject][12]
2337
2398
  #
2338
- # * [DeleteBucket][12]
2399
+ # * [DeleteBucket][13]
2339
2400
  #
2340
2401
  #
2341
2402
  #
@@ -2343,14 +2404,15 @@ module Aws::S3
2343
2404
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
2344
2405
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
2345
2406
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
2346
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
2347
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
2348
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
2349
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
2350
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
2351
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html#s3-express-features
2352
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
2353
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
2407
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
2408
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
2409
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
2410
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
2411
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
2412
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
2413
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html#s3-express-features
2414
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
2415
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
2354
2416
  #
2355
2417
  # @option params [String] :acl
2356
2418
  # The canned ACL to apply to the bucket.
@@ -2368,13 +2430,14 @@ module Aws::S3
2368
2430
  #
2369
2431
  # <b>Directory buckets </b> - When you use this operation with a
2370
2432
  # directory bucket, you must use path-style requests in the format
2371
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
2433
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
2372
2434
  # Virtual-hosted-style requests aren't supported. Directory bucket
2373
- # names must be unique in the chosen Availability Zone. Bucket names
2374
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
2375
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
2376
- # bucket naming restrictions, see [Directory bucket naming rules][2] in
2377
- # the *Amazon S3 User Guide*
2435
+ # names must be unique in the chosen Zone (Availability Zone or Local
2436
+ # Zone). Bucket names must also follow the format `
2437
+ # bucket-base-name--zone-id--x-s3` (for example, `
2438
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
2439
+ # naming restrictions, see [Directory bucket naming rules][2] in the
2440
+ # *Amazon S3 User Guide*
2378
2441
  #
2379
2442
  #
2380
2443
  #
@@ -2508,11 +2571,11 @@ module Aws::S3
2508
2571
  # create_bucket_configuration: {
2509
2572
  # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
2510
2573
  # location: {
2511
- # type: "AvailabilityZone", # accepts AvailabilityZone
2574
+ # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
2512
2575
  # name: "LocationNameAsString",
2513
2576
  # },
2514
2577
  # bucket: {
2515
- # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
2578
+ # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
2516
2579
  # type: "Directory", # accepts Directory
2517
2580
  # },
2518
2581
  # },
@@ -2538,6 +2601,90 @@ module Aws::S3
2538
2601
  req.send_request(options)
2539
2602
  end
2540
2603
 
2604
+ # Creates a metadata table configuration for a general purpose bucket.
2605
+ # For more information, see [Accelerating data discovery with S3
2606
+ # Metadata][1] in the *Amazon S3 User Guide*.
2607
+ #
2608
+ # Permissions
2609
+ #
2610
+ # : To use this operation, you must have the following permissions. For
2611
+ # more information, see [Setting up permissions for configuring
2612
+ # metadata tables][2] in the *Amazon S3 User Guide*.
2613
+ #
2614
+ # If you also want to integrate your table bucket with Amazon Web
2615
+ # Services analytics services so that you can query your metadata
2616
+ # table, you need additional permissions. For more information, see [
2617
+ # Integrating Amazon S3 Tables with Amazon Web Services analytics
2618
+ # services][3] in the *Amazon S3 User Guide*.
2619
+ #
2620
+ # * `s3:CreateBucketMetadataTableConfiguration`
2621
+ #
2622
+ # * `s3tables:CreateNamespace`
2623
+ #
2624
+ # * `s3tables:GetTable`
2625
+ #
2626
+ # * `s3tables:CreateTable`
2627
+ #
2628
+ # * `s3tables:PutTablePolicy`
2629
+ #
2630
+ # The following operations are related to
2631
+ # `CreateBucketMetadataTableConfiguration`:
2632
+ #
2633
+ # * [DeleteBucketMetadataTableConfiguration][4]
2634
+ #
2635
+ # * [GetBucketMetadataTableConfiguration][5]
2636
+ #
2637
+ #
2638
+ #
2639
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2640
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2641
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2642
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2643
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2644
+ #
2645
+ # @option params [required, String] :bucket
2646
+ # The general purpose bucket that you want to create the metadata table
2647
+ # configuration in.
2648
+ #
2649
+ # @option params [String] :content_md5
2650
+ # The `Content-MD5` header for the metadata table configuration.
2651
+ #
2652
+ # @option params [String] :checksum_algorithm
2653
+ # The checksum algorithm to use with your metadata table configuration.
2654
+ #
2655
+ # @option params [required, Types::MetadataTableConfiguration] :metadata_table_configuration
2656
+ # The contents of your metadata table configuration.
2657
+ #
2658
+ # @option params [String] :expected_bucket_owner
2659
+ # The expected owner of the general purpose bucket that contains your
2660
+ # metadata table configuration.
2661
+ #
2662
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2663
+ #
2664
+ # @example Request syntax with placeholder values
2665
+ #
2666
+ # resp = client.create_bucket_metadata_table_configuration({
2667
+ # bucket: "BucketName", # required
2668
+ # content_md5: "ContentMD5",
2669
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2670
+ # metadata_table_configuration: { # required
2671
+ # s3_tables_destination: { # required
2672
+ # table_bucket_arn: "S3TablesBucketArn", # required
2673
+ # table_name: "S3TablesName", # required
2674
+ # },
2675
+ # },
2676
+ # expected_bucket_owner: "AccountId",
2677
+ # })
2678
+ #
2679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataTableConfiguration AWS API Documentation
2680
+ #
2681
+ # @overload create_bucket_metadata_table_configuration(params = {})
2682
+ # @param [Hash] params ({})
2683
+ def create_bucket_metadata_table_configuration(params = {}, options = {})
2684
+ req = build_request(:create_bucket_metadata_table_configuration, params)
2685
+ req.send_request(options)
2686
+ end
2687
+
2541
2688
  # This action initiates a multipart upload and returns an upload ID.
2542
2689
  # This upload ID is used to associate all of the parts in the specific
2543
2690
  # multipart upload. You specify this upload ID in each of your
@@ -2569,9 +2716,13 @@ module Aws::S3
2569
2716
  # * <b>Directory buckets </b> - For directory buckets, you must make
2570
2717
  # requests for this API operation to the Zonal endpoint. These
2571
2718
  # endpoints support virtual-hosted-style requests in the format
2572
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
2573
- # `. Path-style requests are not supported. For more information, see
2574
- # [Regional and Zonal endpoints][4] in the *Amazon S3 User Guide*.
2719
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
2720
+ # `. Path-style requests are not supported. For more information about
2721
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
2722
+ # for directory buckets in Availability Zones][4] in the *Amazon S3
2723
+ # User Guide*. For more information about endpoints in Local Zones,
2724
+ # see [Available Local Zone for directory buckets][5] in the *Amazon
2725
+ # S3 User Guide*.
2575
2726
  #
2576
2727
  # </note>
2577
2728
  #
@@ -2583,7 +2734,7 @@ module Aws::S3
2583
2734
  # sign each request individually. There is nothing special about
2584
2735
  # signing multipart upload requests. For more information about
2585
2736
  # signing, see [Authenticating Requests (Amazon Web Services Signature
2586
- # Version 4)][5] in the *Amazon S3 User Guide*.
2737
+ # Version 4)][6] in the *Amazon S3 User Guide*.
2587
2738
  #
2588
2739
  # Permissions
2589
2740
  # : * **General purpose bucket permissions** - To perform a multipart
@@ -2596,13 +2747,13 @@ module Aws::S3
2596
2747
  # `UploadPartCopy` APIs. These permissions are required because
2597
2748
  # Amazon S3 must decrypt and read data from the encrypted file parts
2598
2749
  # before it completes the multipart upload. For more information,
2599
- # see [Multipart upload API and permissions][6] and [Protecting data
2600
- # using server-side encryption with Amazon Web Services KMS][7] in
2750
+ # see [Multipart upload API and permissions][7] and [Protecting data
2751
+ # using server-side encryption with Amazon Web Services KMS][8] in
2601
2752
  # the *Amazon S3 User Guide*.
2602
2753
  #
2603
2754
  # * **Directory bucket permissions** - To grant access to this API
2604
2755
  # operation on a directory bucket, we recommend that you use the [
2605
- # `CreateSession` ][8] API operation for session-based
2756
+ # `CreateSession` ][9] API operation for session-based
2606
2757
  # authorization. Specifically, you grant the
2607
2758
  # `s3express:CreateSession` permission to the directory bucket in a
2608
2759
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -2613,7 +2764,7 @@ module Aws::S3
2613
2764
  # token for use. Amazon Web Services CLI or SDKs create session and
2614
2765
  # refresh the session token automatically to avoid service
2615
2766
  # interruptions when a session expires. For more information about
2616
- # authorization, see [ `CreateSession` ][8].
2767
+ # authorization, see [ `CreateSession` ][9].
2617
2768
  #
2618
2769
  # Encryption
2619
2770
  # : * **General purpose buckets** - Server-side encryption is for data
@@ -2640,7 +2791,7 @@ module Aws::S3
2640
2791
  # the destination bucket, the encryption setting in your request
2641
2792
  # takes precedence. If you choose to provide your own encryption
2642
2793
  # key, the request headers you provide in [UploadPart][1] and
2643
- # [UploadPartCopy][9] requests must match the headers you used in
2794
+ # [UploadPartCopy][10] requests must match the headers you used in
2644
2795
  # the `CreateMultipartUpload` request.
2645
2796
  #
2646
2797
  # * Use KMS keys (SSE-KMS) that include the Amazon Web Services
@@ -2665,9 +2816,9 @@ module Aws::S3
2665
2816
  # actions on the key. These permissions are required because
2666
2817
  # Amazon S3 must decrypt and read data from the encrypted file
2667
2818
  # parts before it completes the multipart upload. For more
2668
- # information, see [Multipart upload API and permissions][6] and
2819
+ # information, see [Multipart upload API and permissions][7] and
2669
2820
  # [Protecting data using server-side encryption with Amazon Web
2670
- # Services KMS][7] in the *Amazon S3 User Guide*.
2821
+ # Services KMS][8] in the *Amazon S3 User Guide*.
2671
2822
  #
2672
2823
  # * If your Identity and Access Management (IAM) user or role is
2673
2824
  # in the same Amazon Web Services account as the KMS key, then
@@ -2682,13 +2833,13 @@ module Aws::S3
2682
2833
  # For information about configuring any of the officially
2683
2834
  # supported Amazon Web Services SDKs and Amazon Web Services
2684
2835
  # CLI, see [Specifying the Signature Version in Request
2685
- # Authentication][10] in the *Amazon S3 User Guide*.
2836
+ # Authentication][11] in the *Amazon S3 User Guide*.
2686
2837
  #
2687
2838
  # </note>
2688
2839
  #
2689
2840
  # For more information about server-side encryption with KMS keys
2690
2841
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption
2691
- # with KMS keys][7] in the *Amazon S3 User Guide*.
2842
+ # with KMS keys][8] in the *Amazon S3 User Guide*.
2692
2843
  #
2693
2844
  # * Use customer-provided encryption keys (SSE-C) – If you want to
2694
2845
  # manage your own encryption keys, provide all the following
@@ -2702,7 +2853,7 @@ module Aws::S3
2702
2853
  # For more information about server-side encryption with
2703
2854
  # customer-provided encryption keys (SSE-C), see [ Protecting data
2704
2855
  # using server-side encryption with customer-provided encryption
2705
- # keys (SSE-C)][11] in the *Amazon S3 User Guide*.
2856
+ # keys (SSE-C)][12] in the *Amazon S3 User Guide*.
2706
2857
  # * **Directory buckets** - For directory buckets, there are only two
2707
2858
  # supported options for server-side encryption: server-side
2708
2859
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
@@ -2712,13 +2863,13 @@ module Aws::S3
2712
2863
  # default encryption in your `CreateSession` requests or `PUT`
2713
2864
  # object requests. Then, new objects are automatically encrypted
2714
2865
  # with the desired encryption settings. For more information, see
2715
- # [Protecting data with server-side encryption][12] in the *Amazon
2866
+ # [Protecting data with server-side encryption][13] in the *Amazon
2716
2867
  # S3 User Guide*. For more information about the encryption
2717
2868
  # overriding behaviors in directory buckets, see [Specifying
2718
- # server-side encryption with KMS for new object uploads][13].
2869
+ # server-side encryption with KMS for new object uploads][14].
2719
2870
  #
2720
- # In the Zonal endpoint API calls (except [CopyObject][14] and
2721
- # [UploadPartCopy][9]) using the REST API, the encryption request
2871
+ # In the Zonal endpoint API calls (except [CopyObject][15] and
2872
+ # [UploadPartCopy][10]) using the REST API, the encryption request
2722
2873
  # headers must match the encryption settings that are specified in
2723
2874
  # the `CreateSession` request. You can't override the values of the
2724
2875
  # encryption settings (`x-amz-server-side-encryption`,
@@ -2738,7 +2889,7 @@ module Aws::S3
2738
2889
  # configuration for the `CreateSession` request. It's not supported
2739
2890
  # to override the encryption settings values in the `CreateSession`
2740
2891
  # request. So in the Zonal endpoint API calls (except
2741
- # [CopyObject][14] and [UploadPartCopy][9]), the encryption request
2892
+ # [CopyObject][15] and [UploadPartCopy][10]), the encryption request
2742
2893
  # headers must match the default encryption configuration of the
2743
2894
  # directory bucket.
2744
2895
  #
@@ -2754,19 +2905,19 @@ module Aws::S3
2754
2905
  # HTTP Host header syntax
2755
2906
  #
2756
2907
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
2757
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
2908
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
2758
2909
  #
2759
2910
  # The following operations are related to `CreateMultipartUpload`:
2760
2911
  #
2761
2912
  # * [UploadPart][1]
2762
2913
  #
2763
- # * [CompleteMultipartUpload][15]
2914
+ # * [CompleteMultipartUpload][16]
2764
2915
  #
2765
- # * [AbortMultipartUpload][16]
2916
+ # * [AbortMultipartUpload][17]
2766
2917
  #
2767
- # * [ListParts][17]
2918
+ # * [ListParts][18]
2768
2919
  #
2769
- # * [ListMultipartUploads][18]
2920
+ # * [ListMultipartUploads][19]
2770
2921
  #
2771
2922
  #
2772
2923
  #
@@ -2774,20 +2925,21 @@ module Aws::S3
2774
2925
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
2775
2926
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
2776
2927
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
2777
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
2778
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
2779
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2780
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
2781
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
2782
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
2783
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2784
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
2785
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
2786
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
2787
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2788
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2789
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2790
- # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2928
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
2929
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
2930
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
2931
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2932
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
2933
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
2934
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
2935
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2936
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
2937
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
2938
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
2939
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2940
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2941
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2942
+ # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2791
2943
  #
2792
2944
  # @option params [String] :acl
2793
2945
  # The canned ACL to apply to the object. Amazon S3 supports a set of
@@ -2820,10 +2972,10 @@ module Aws::S3
2820
2972
  #
2821
2973
  # **Directory buckets** - When you use this operation with a directory
2822
2974
  # bucket, you must use virtual-hosted-style requests in the format `
2823
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
2824
- # are not supported. Directory bucket names must be unique in the chosen
2825
- # Availability Zone. Bucket names must follow the format `
2826
- # bucket_base_name--az-id--x-s3` (for example, `
2975
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
2976
+ # requests are not supported. Directory bucket names must be unique in
2977
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
2978
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
2827
2979
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
2828
2980
  # naming restrictions, see [Directory bucket naming rules][1] in the
2829
2981
  # *Amazon S3 User Guide*.
@@ -3520,23 +3672,27 @@ module Aws::S3
3520
3672
  #
3521
3673
  # <note markdown="1"> * You must make requests for this API operation to the Zonal endpoint.
3522
3674
  # These endpoints support virtual-hosted-style requests in the format
3523
- # `https://bucket_name.s3express-az_id.region.amazonaws.com`.
3524
- # Path-style requests are not supported. For more information, see
3525
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
3675
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com`.
3676
+ # Path-style requests are not supported. For more information about
3677
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
3678
+ # for directory buckets in Availability Zones][3] in the *Amazon S3
3679
+ # User Guide*. For more information about endpoints in Local Zones,
3680
+ # see [Available Local Zone for directory buckets][4] in the *Amazon
3681
+ # S3 User Guide*.
3526
3682
  #
3527
3683
  # * <b> <code>CopyObject</code> API operation</b> - Unlike other Zonal
3528
3684
  # endpoint API operations, the `CopyObject` API operation doesn't use
3529
3685
  # the temporary security credentials returned from the `CreateSession`
3530
3686
  # API operation for authentication and authorization. For information
3531
3687
  # about authentication and authorization of the `CopyObject` API
3532
- # operation on directory buckets, see [CopyObject][4].
3688
+ # operation on directory buckets, see [CopyObject][5].
3533
3689
  #
3534
3690
  # * <b> <code>HeadBucket</code> API operation</b> - Unlike other Zonal
3535
3691
  # endpoint API operations, the `HeadBucket` API operation doesn't use
3536
3692
  # the temporary security credentials returned from the `CreateSession`
3537
3693
  # API operation for authentication and authorization. For information
3538
3694
  # about authentication and authorization of the `HeadBucket` API
3539
- # operation on directory buckets, see [HeadBucket][5].
3695
+ # operation on directory buckets, see [HeadBucket][6].
3540
3696
  #
3541
3697
  # </note>
3542
3698
  #
@@ -3548,10 +3704,10 @@ module Aws::S3
3548
3704
  # can have the `s3express:SessionMode` condition key to control who
3549
3705
  # can create a `ReadWrite` or `ReadOnly` session. For more information
3550
3706
  # about `ReadWrite` or `ReadOnly` sessions, see [
3551
- # `x-amz-create-session-mode` ][6]. For example policies, see [Example
3552
- # bucket policies for S3 Express One Zone][7] and [Amazon Web Services
3707
+ # `x-amz-create-session-mode` ][7]. For example policies, see [Example
3708
+ # bucket policies for S3 Express One Zone][8] and [Amazon Web Services
3553
3709
  # Identity and Access Management (IAM) identity-based policies for S3
3554
- # Express One Zone][8] in the *Amazon S3 User Guide*.
3710
+ # Express One Zone][9] in the *Amazon S3 User Guide*.
3555
3711
  #
3556
3712
  # To grant cross-account access to Zonal endpoint API operations, the
3557
3713
  # bucket policy should also grant both accounts the
@@ -3572,32 +3728,32 @@ module Aws::S3
3572
3728
  # requests or `PUT` object requests. Then, new objects are
3573
3729
  # automatically encrypted with the desired encryption settings. For
3574
3730
  # more information, see [Protecting data with server-side
3575
- # encryption][9] in the *Amazon S3 User Guide*. For more information
3731
+ # encryption][10] in the *Amazon S3 User Guide*. For more information
3576
3732
  # about the encryption overriding behaviors in directory buckets, see
3577
3733
  # [Specifying server-side encryption with KMS for new object
3578
- # uploads][10].
3734
+ # uploads][11].
3579
3735
  #
3580
- # For [Zonal endpoint (object-level) API operations][11] except
3581
- # [CopyObject][4] and [UploadPartCopy][12], you authenticate and
3582
- # authorize requests through [CreateSession][13] for low latency. To
3736
+ # For [Zonal endpoint (object-level) API operations][12] except
3737
+ # [CopyObject][5] and [UploadPartCopy][13], you authenticate and
3738
+ # authorize requests through [CreateSession][14] for low latency. To
3583
3739
  # encrypt new objects in a directory bucket with SSE-KMS, you must
3584
3740
  # specify SSE-KMS as the directory bucket's default encryption
3585
3741
  # configuration with a KMS key (specifically, a [customer managed
3586
- # key][14]). Then, when a session is created for Zonal endpoint API
3742
+ # key][15]). Then, when a session is created for Zonal endpoint API
3587
3743
  # operations, new objects are automatically encrypted and decrypted
3588
3744
  # with SSE-KMS and S3 Bucket Keys during the session.
3589
3745
  #
3590
- # <note markdown="1"> Only 1 [customer managed key][14] is supported per directory bucket
3746
+ # <note markdown="1"> Only 1 [customer managed key][15] is supported per directory bucket
3591
3747
  # for the lifetime of the bucket. The [Amazon Web Services managed
3592
- # key][15] (`aws/s3`) isn't supported. After you specify SSE-KMS as
3748
+ # key][16] (`aws/s3`) isn't supported. After you specify SSE-KMS as
3593
3749
  # your bucket's default encryption configuration with a customer
3594
3750
  # managed key, you can't change the customer managed key for the
3595
3751
  # bucket's SSE-KMS configuration.
3596
3752
  #
3597
3753
  # </note>
3598
3754
  #
3599
- # In the Zonal endpoint API calls (except [CopyObject][4] and
3600
- # [UploadPartCopy][12]) using the REST API, you can't override the
3755
+ # In the Zonal endpoint API calls (except [CopyObject][5] and
3756
+ # [UploadPartCopy][13]) using the REST API, you can't override the
3601
3757
  # values of the encryption settings (`x-amz-server-side-encryption`,
3602
3758
  # `x-amz-server-side-encryption-aws-kms-key-id`,
3603
3759
  # `x-amz-server-side-encryption-context`, and
@@ -3613,8 +3769,8 @@ module Aws::S3
3613
3769
  # Web Services SDKs use the bucket's default encryption configuration
3614
3770
  # for the `CreateSession` request. It's not supported to override the
3615
3771
  # encryption settings values in the `CreateSession` request. Also, in
3616
- # the Zonal endpoint API calls (except [CopyObject][4] and
3617
- # [UploadPartCopy][12]), it's not supported to override the values of
3772
+ # the Zonal endpoint API calls (except [CopyObject][5] and
3773
+ # [UploadPartCopy][13]), it's not supported to override the values of
3618
3774
  # the encryption settings from the `CreateSession` request.
3619
3775
  #
3620
3776
  # </note>
@@ -3622,25 +3778,26 @@ module Aws::S3
3622
3778
  # HTTP Host header syntax
3623
3779
  #
3624
3780
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
3625
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
3781
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
3626
3782
  #
3627
3783
  #
3628
3784
  #
3629
3785
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html
3630
3786
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-optimizing-performance-guidelines-design-patterns.html#s3-express-optimizing-performance-session-authentication
3631
3787
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
3632
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
3633
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
3634
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
3635
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
3636
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
3637
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
3638
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
3639
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations
3640
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
3641
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
3642
- # [14]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3643
- # [15]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3788
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
3789
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
3790
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
3791
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
3792
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
3793
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
3794
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
3795
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
3796
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations
3797
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
3798
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
3799
+ # [15]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3800
+ # [16]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3644
3801
  #
3645
3802
  # @option params [String] :session_mode
3646
3803
  # Specifies the mode of the session that will be created, either
@@ -3782,10 +3939,13 @@ module Aws::S3
3782
3939
  # * <b>Directory buckets </b> - For directory buckets, you must make
3783
3940
  # requests for this API operation to the Regional endpoint. These
3784
3941
  # endpoints support path-style requests in the format
3785
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
3942
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
3786
3943
  # Virtual-hosted-style requests aren't supported. For more
3787
- # information, see [Regional and Zonal endpoints][1] in the *Amazon S3
3788
- # User Guide*.
3944
+ # information about endpoints in Availability Zones, see [Regional and
3945
+ # Zonal endpoints for directory buckets in Availability Zones][1] in
3946
+ # the *Amazon S3 User Guide*. For more information about endpoints in
3947
+ # Local Zones, see [Available Local Zone for directory buckets][2] in
3948
+ # the *Amazon S3 User Guide*.
3789
3949
  #
3790
3950
  # </note>
3791
3951
  #
@@ -3800,39 +3960,41 @@ module Aws::S3
3800
3960
  # performed by the Amazon Web Services account that owns the
3801
3961
  # resource. For more information about directory bucket policies and
3802
3962
  # permissions, see [Amazon Web Services Identity and Access
3803
- # Management (IAM) for S3 Express One Zone][2] in the *Amazon S3
3963
+ # Management (IAM) for S3 Express One Zone][3] in the *Amazon S3
3804
3964
  # User Guide*.
3805
3965
  #
3806
3966
  # HTTP Host header syntax
3807
3967
  #
3808
3968
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
3809
- # `s3express-control.region.amazonaws.com`.
3969
+ # `s3express-control.region-code.amazonaws.com`.
3810
3970
  #
3811
3971
  # The following operations are related to `DeleteBucket`:
3812
3972
  #
3813
- # * [CreateBucket][3]
3973
+ # * [CreateBucket][4]
3814
3974
  #
3815
- # * [DeleteObject][4]
3975
+ # * [DeleteObject][5]
3816
3976
  #
3817
3977
  #
3818
3978
  #
3819
3979
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
3820
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
3821
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
3822
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
3980
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
3981
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
3982
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
3983
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
3823
3984
  #
3824
3985
  # @option params [required, String] :bucket
3825
3986
  # Specifies the bucket being deleted.
3826
3987
  #
3827
3988
  # <b>Directory buckets </b> - When you use this operation with a
3828
3989
  # directory bucket, you must use path-style requests in the format
3829
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
3990
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
3830
3991
  # Virtual-hosted-style requests aren't supported. Directory bucket
3831
- # names must be unique in the chosen Availability Zone. Bucket names
3832
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
3833
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
3834
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
3835
- # the *Amazon S3 User Guide*
3992
+ # names must be unique in the chosen Zone (Availability Zone or Local
3993
+ # Zone). Bucket names must also follow the format `
3994
+ # bucket-base-name--zone-id--x-s3` (for example, `
3995
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
3996
+ # naming restrictions, see [Directory bucket naming rules][1] in the
3997
+ # *Amazon S3 User Guide*
3836
3998
  #
3837
3999
  #
3838
4000
  #
@@ -3876,7 +4038,7 @@ module Aws::S3
3876
4038
  req.send_request(options)
3877
4039
  end
3878
4040
 
3879
- # <note markdown="1"> This operation is not supported by directory buckets.
4041
+ # <note markdown="1"> This operation is not supported for directory buckets.
3880
4042
  #
3881
4043
  # </note>
3882
4044
  #
@@ -3942,7 +4104,7 @@ module Aws::S3
3942
4104
  req.send_request(options)
3943
4105
  end
3944
4106
 
3945
- # <note markdown="1"> This operation is not supported by directory buckets.
4107
+ # <note markdown="1"> This operation is not supported for directory buckets.
3946
4108
  #
3947
4109
  # </note>
3948
4110
  #
@@ -4041,7 +4203,7 @@ module Aws::S3
4041
4203
  # HTTP Host header syntax
4042
4204
  #
4043
4205
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
4044
- # `s3express-control.region.amazonaws.com`.
4206
+ # `s3express-control.region-code.amazonaws.com`.
4045
4207
  #
4046
4208
  # The following operations are related to `DeleteBucketEncryption`:
4047
4209
  #
@@ -4065,13 +4227,14 @@ module Aws::S3
4065
4227
  #
4066
4228
  # <b>Directory buckets </b> - When you use this operation with a
4067
4229
  # directory bucket, you must use path-style requests in the format
4068
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4230
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
4069
4231
  # Virtual-hosted-style requests aren't supported. Directory bucket
4070
- # names must be unique in the chosen Availability Zone. Bucket names
4071
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
4072
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
4073
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
4074
- # the *Amazon S3 User Guide*
4232
+ # names must be unique in the chosen Zone (Availability Zone or Local
4233
+ # Zone). Bucket names must also follow the format `
4234
+ # bucket-base-name--zone-id--x-s3` (for example, `
4235
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
4236
+ # naming restrictions, see [Directory bucket naming rules][1] in the
4237
+ # *Amazon S3 User Guide*
4075
4238
  #
4076
4239
  #
4077
4240
  #
@@ -4106,7 +4269,7 @@ module Aws::S3
4106
4269
  req.send_request(options)
4107
4270
  end
4108
4271
 
4109
- # <note markdown="1"> This operation is not supported by directory buckets.
4272
+ # <note markdown="1"> This operation is not supported for directory buckets.
4110
4273
  #
4111
4274
  # </note>
4112
4275
  #
@@ -4173,7 +4336,7 @@ module Aws::S3
4173
4336
  req.send_request(options)
4174
4337
  end
4175
4338
 
4176
- # <note markdown="1"> This operation is not supported by directory buckets.
4339
+ # <note markdown="1"> This operation is not supported for directory buckets.
4177
4340
  #
4178
4341
  # </note>
4179
4342
  #
@@ -4238,38 +4401,75 @@ module Aws::S3
4238
4401
  req.send_request(options)
4239
4402
  end
4240
4403
 
4241
- # <note markdown="1"> This operation is not supported by directory buckets.
4242
- #
4243
- # </note>
4244
- #
4245
4404
  # Deletes the lifecycle configuration from the specified bucket. Amazon
4246
4405
  # S3 removes all the lifecycle configuration rules in the lifecycle
4247
4406
  # subresource associated with the bucket. Your objects never expire, and
4248
4407
  # Amazon S3 no longer automatically deletes any objects on the basis of
4249
4408
  # rules contained in the deleted lifecycle configuration.
4250
4409
  #
4251
- # To use this operation, you must have permission to perform the
4252
- # `s3:PutLifecycleConfiguration` action. By default, the bucket owner
4253
- # has this permission and the bucket owner can grant this permission to
4254
- # others.
4410
+ # Permissions
4411
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
4412
+ # resources are private, including buckets, objects, and related
4413
+ # subresources (for example, lifecycle configuration and website
4414
+ # configuration). Only the resource owner (that is, the Amazon Web
4415
+ # Services account that created it) can access the resource. The
4416
+ # resource owner can optionally grant access permissions to others
4417
+ # by writing an access policy. For this operation, a user must have
4418
+ # the `s3:PutLifecycleConfiguration` permission.
4419
+ #
4420
+ # For more information about permissions, see [Managing Access
4421
+ # Permissions to Your Amazon S3 Resources][1].
4422
+ # ^
4255
4423
  #
4256
- # There is usually some time lag before lifecycle configuration deletion
4257
- # is fully propagated to all the Amazon S3 systems.
4424
+ # * **Directory bucket permissions** - You must have the
4425
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
4426
+ # identity-based policy to use this operation. Cross-account access
4427
+ # to this API operation isn't supported. The resource owner can
4428
+ # optionally grant access permissions to others by creating a role
4429
+ # or user for them as long as they are within the same account as
4430
+ # the owner and resource.
4431
+ #
4432
+ # For more information about directory bucket policies and
4433
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][2]
4434
+ # in the *Amazon S3 User Guide*.
4435
+ #
4436
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4437
+ # requests for this API operation to the Regional endpoint. These
4438
+ # endpoints support path-style requests in the format
4439
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name
4440
+ # `. Virtual-hosted-style requests aren't supported. For more
4441
+ # information about endpoints in Availability Zones, see [Regional
4442
+ # and Zonal endpoints for directory buckets in Availability
4443
+ # Zones][3] in the *Amazon S3 User Guide*. For more information
4444
+ # about endpoints in Local Zones, see [Available Local Zone for
4445
+ # directory buckets][4] in the *Amazon S3 User Guide*.
4446
+ #
4447
+ # </note>
4448
+ # ^
4449
+ #
4450
+ # HTTP Host header syntax
4451
+ #
4452
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
4453
+ # `s3express-control.region.amazonaws.com`.
4258
4454
  #
4259
4455
  # For more information about the object expiration, see [Elements to
4260
- # Describe Lifecycle Actions][1].
4456
+ # Describe Lifecycle Actions][5].
4261
4457
  #
4262
4458
  # Related actions include:
4263
4459
  #
4264
- # * [PutBucketLifecycleConfiguration][2]
4460
+ # * [PutBucketLifecycleConfiguration][6]
4265
4461
  #
4266
- # * [GetBucketLifecycleConfiguration][3]
4462
+ # * [GetBucketLifecycleConfiguration][7]
4267
4463
  #
4268
4464
  #
4269
4465
  #
4270
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4271
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4272
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4466
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
4467
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4468
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4469
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
4470
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
4471
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
4472
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
4273
4473
  #
4274
4474
  # @option params [required, String] :bucket
4275
4475
  # The bucket name of the lifecycle to delete.
@@ -4279,6 +4479,11 @@ module Aws::S3
4279
4479
  # you provide does not match the actual owner of the bucket, the request
4280
4480
  # fails with the HTTP status code `403 Forbidden` (access denied).
4281
4481
  #
4482
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
4483
+ # supported for directory bucket lifecycle configurations.
4484
+ #
4485
+ # </note>
4486
+ #
4282
4487
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4283
4488
  #
4284
4489
  #
@@ -4306,7 +4511,58 @@ module Aws::S3
4306
4511
  req.send_request(options)
4307
4512
  end
4308
4513
 
4309
- # <note markdown="1"> This operation is not supported by directory buckets.
4514
+ # Deletes a metadata table configuration from a general purpose bucket.
4515
+ # For more information, see [Accelerating data discovery with S3
4516
+ # Metadata][1] in the *Amazon S3 User Guide*.
4517
+ #
4518
+ # Permissions
4519
+ #
4520
+ # : To use this operation, you must have the
4521
+ # `s3:DeleteBucketMetadataTableConfiguration` permission. For more
4522
+ # information, see [Setting up permissions for configuring metadata
4523
+ # tables][2] in the *Amazon S3 User Guide*.
4524
+ #
4525
+ # The following operations are related to
4526
+ # `DeleteBucketMetadataTableConfiguration`:
4527
+ #
4528
+ # * [CreateBucketMetadataTableConfiguration][3]
4529
+ #
4530
+ # * [GetBucketMetadataTableConfiguration][4]
4531
+ #
4532
+ #
4533
+ #
4534
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4535
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4536
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4537
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4538
+ #
4539
+ # @option params [required, String] :bucket
4540
+ # The general purpose bucket that you want to remove the metadata table
4541
+ # configuration from.
4542
+ #
4543
+ # @option params [String] :expected_bucket_owner
4544
+ # The expected bucket owner of the general purpose bucket that you want
4545
+ # to remove the metadata table configuration from.
4546
+ #
4547
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4548
+ #
4549
+ # @example Request syntax with placeholder values
4550
+ #
4551
+ # resp = client.delete_bucket_metadata_table_configuration({
4552
+ # bucket: "BucketName", # required
4553
+ # expected_bucket_owner: "AccountId",
4554
+ # })
4555
+ #
4556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataTableConfiguration AWS API Documentation
4557
+ #
4558
+ # @overload delete_bucket_metadata_table_configuration(params = {})
4559
+ # @param [Hash] params ({})
4560
+ def delete_bucket_metadata_table_configuration(params = {}, options = {})
4561
+ req = build_request(:delete_bucket_metadata_table_configuration, params)
4562
+ req.send_request(options)
4563
+ end
4564
+
4565
+ # <note markdown="1"> This operation is not supported for directory buckets.
4310
4566
  #
4311
4567
  # </note>
4312
4568
  #
@@ -4376,7 +4632,7 @@ module Aws::S3
4376
4632
  req.send_request(options)
4377
4633
  end
4378
4634
 
4379
- # <note markdown="1"> This operation is not supported by directory buckets.
4635
+ # <note markdown="1"> This operation is not supported for directory buckets.
4380
4636
  #
4381
4637
  # </note>
4382
4638
  #
@@ -4431,9 +4687,13 @@ module Aws::S3
4431
4687
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
4432
4688
  # requests for this API operation to the Regional endpoint. These
4433
4689
  # endpoints support path-style requests in the format
4434
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4435
- # Virtual-hosted-style requests aren't supported. For more information,
4436
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
4690
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
4691
+ # Virtual-hosted-style requests aren't supported. For more information
4692
+ # about endpoints in Availability Zones, see [Regional and Zonal
4693
+ # endpoints for directory buckets in Availability Zones][1] in the
4694
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
4695
+ # Zones, see [Available Local Zone for directory buckets][2] in the
4696
+ # *Amazon S3 User Guide*.
4437
4697
  #
4438
4698
  # </note>
4439
4699
  #
@@ -4463,7 +4723,7 @@ module Aws::S3
4463
4723
  # * **General purpose bucket permissions** - The
4464
4724
  # `s3:DeleteBucketPolicy` permission is required in a policy. For
4465
4725
  # more information about general purpose buckets bucket policies,
4466
- # see [Using Bucket Policies and User Policies][2] in the *Amazon S3
4726
+ # see [Using Bucket Policies and User Policies][3] in the *Amazon S3
4467
4727
  # User Guide*.
4468
4728
  #
4469
4729
  # * **Directory bucket permissions** - To grant access to this API
@@ -4474,39 +4734,41 @@ module Aws::S3
4474
4734
  # Services account that owns the resource. For more information
4475
4735
  # about directory bucket policies and permissions, see [Amazon Web
4476
4736
  # Services Identity and Access Management (IAM) for S3 Express One
4477
- # Zone][3] in the *Amazon S3 User Guide*.
4737
+ # Zone][4] in the *Amazon S3 User Guide*.
4478
4738
  #
4479
4739
  # HTTP Host header syntax
4480
4740
  #
4481
4741
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
4482
- # `s3express-control.region.amazonaws.com`.
4742
+ # `s3express-control.region-code.amazonaws.com`.
4483
4743
  #
4484
4744
  # The following operations are related to `DeleteBucketPolicy`
4485
4745
  #
4486
- # * [CreateBucket][4]
4746
+ # * [CreateBucket][5]
4487
4747
  #
4488
- # * [DeleteObject][5]
4748
+ # * [DeleteObject][6]
4489
4749
  #
4490
4750
  #
4491
4751
  #
4492
4752
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4493
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4494
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4495
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
4496
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
4753
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
4754
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4755
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
4756
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
4757
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
4497
4758
  #
4498
4759
  # @option params [required, String] :bucket
4499
4760
  # The bucket name.
4500
4761
  #
4501
4762
  # <b>Directory buckets </b> - When you use this operation with a
4502
4763
  # directory bucket, you must use path-style requests in the format
4503
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
4764
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
4504
4765
  # Virtual-hosted-style requests aren't supported. Directory bucket
4505
- # names must be unique in the chosen Availability Zone. Bucket names
4506
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
4507
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
4508
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
4509
- # the *Amazon S3 User Guide*
4766
+ # names must be unique in the chosen Zone (Availability Zone or Local
4767
+ # Zone). Bucket names must also follow the format `
4768
+ # bucket-base-name--zone-id--x-s3` (for example, `
4769
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
4770
+ # naming restrictions, see [Directory bucket naming rules][1] in the
4771
+ # *Amazon S3 User Guide*
4510
4772
  #
4511
4773
  #
4512
4774
  #
@@ -4550,7 +4812,7 @@ module Aws::S3
4550
4812
  req.send_request(options)
4551
4813
  end
4552
4814
 
4553
- # <note markdown="1"> This operation is not supported by directory buckets.
4815
+ # <note markdown="1"> This operation is not supported for directory buckets.
4554
4816
  #
4555
4817
  # </note>
4556
4818
  #
@@ -4620,7 +4882,7 @@ module Aws::S3
4620
4882
  req.send_request(options)
4621
4883
  end
4622
4884
 
4623
- # <note markdown="1"> This operation is not supported by directory buckets.
4885
+ # <note markdown="1"> This operation is not supported for directory buckets.
4624
4886
  #
4625
4887
  # </note>
4626
4888
  #
@@ -4676,7 +4938,7 @@ module Aws::S3
4676
4938
  req.send_request(options)
4677
4939
  end
4678
4940
 
4679
- # <note markdown="1"> This operation is not supported by directory buckets.
4941
+ # <note markdown="1"> This operation is not supported for directory buckets.
4680
4942
  #
4681
4943
  # </note>
4682
4944
  #
@@ -4745,33 +5007,71 @@ module Aws::S3
4745
5007
  end
4746
5008
 
4747
5009
  # Removes an object from a bucket. The behavior depends on the bucket's
4748
- # versioning state. For more information, see [Best practices to
4749
- # consider before deleting an object][1].
5010
+ # versioning state:
5011
+ #
5012
+ # * If bucket versioning is not enabled, the operation permanently
5013
+ # deletes the object.
5014
+ #
5015
+ # * If bucket versioning is enabled, the operation inserts a delete
5016
+ # marker, which becomes the current version of the object. To
5017
+ # permanently delete an object in a versioned bucket, you must include
5018
+ # the object’s `versionId` in the request. For more information about
5019
+ # versioning-enabled buckets, see [Deleting object versions from a
5020
+ # versioning-enabled bucket][1].
5021
+ #
5022
+ # * If bucket versioning is suspended, the operation removes the object
5023
+ # that has a null `versionId`, if there is one, and inserts a delete
5024
+ # marker that becomes the current version of the object. If there
5025
+ # isn't an object with a null `versionId`, and all versions of the
5026
+ # object have a `versionId`, Amazon S3 does not remove the object and
5027
+ # only inserts a delete marker. To permanently delete an object that
5028
+ # has a `versionId`, you must include the object’s `versionId` in the
5029
+ # request. For more information about versioning-suspended buckets,
5030
+ # see [Deleting objects from versioning-suspended buckets][2].
5031
+ #
5032
+ # <note markdown="1"> * **Directory buckets** - S3 Versioning isn't enabled and supported
5033
+ # for directory buckets. For this API operation, only the `null` value
5034
+ # of the version ID is supported by directory buckets. You can only
5035
+ # specify `null` to the `versionId` query parameter in the request.
5036
+ #
5037
+ # * **Directory buckets** - For directory buckets, you must make
5038
+ # requests for this API operation to the Zonal endpoint. These
5039
+ # endpoints support virtual-hosted-style requests in the format
5040
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
5041
+ # `. Path-style requests are not supported. For more information about
5042
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
5043
+ # for directory buckets in Availability Zones][3] in the *Amazon S3
5044
+ # User Guide*. For more information about endpoints in Local Zones,
5045
+ # see [Available Local Zone for directory buckets][4] in the *Amazon
5046
+ # S3 User Guide*.
5047
+ #
5048
+ # </note>
4750
5049
  #
4751
5050
  # To remove a specific version, you must use the `versionId` query
4752
5051
  # parameter. Using this query parameter permanently deletes the version.
4753
5052
  # If the object deleted is a delete marker, Amazon S3 sets the response
4754
- # header `x-amz-delete-marker` to true. If the object you want to delete
4755
- # is in a bucket where the bucket versioning configuration is MFA delete
4756
- # enabled, you must include the `x-amz-mfa` request header in the DELETE
4757
- # `versionId` request. Requests that include `x-amz-mfa` must use HTTPS.
4758
- # For more information about MFA delete and to see example requests, see
4759
- # [Using MFA delete][2] and [Sample request][3] in the *Amazon S3 User
4760
- # Guide*.
5053
+ # header `x-amz-delete-marker` to true.
4761
5054
  #
4762
- # <note markdown="1"> * S3 Versioning isn't enabled and supported for directory buckets.
4763
- # For this API operation, only the `null` value of the version ID is
4764
- # supported by directory buckets. You can only specify `null` to the
4765
- # `versionId` query parameter in the request.
5055
+ # If the object you want to delete is in a bucket where the bucket
5056
+ # versioning configuration is MFA Delete enabled, you must include the
5057
+ # `x-amz-mfa` request header in the DELETE `versionId` request. Requests
5058
+ # that include `x-amz-mfa` must use HTTPS. For more information about
5059
+ # MFA Delete, see [Using MFA Delete][5] in the *Amazon S3 User Guide*.
5060
+ # To see sample requests that use versioning, see [Sample Request][6].
4766
5061
  #
4767
- # * For directory buckets, you must make requests for this API operation
4768
- # to the Zonal endpoint. These endpoints support virtual-hosted-style
4769
- # requests in the format
4770
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
4771
- # `. Path-style requests are not supported. For more information, see
4772
- # [Regional and Zonal endpoints][4] in the *Amazon S3 User Guide*.
5062
+ # <note markdown="1"> **Directory buckets** - MFA delete is not supported by directory
5063
+ # buckets.
4773
5064
  #
4774
- # * MFA delete is not supported by directory buckets.
5065
+ # </note>
5066
+ #
5067
+ # You can delete objects by explicitly calling DELETE Object or calling
5068
+ # ([PutBucketLifecycle][7]) to enable Amazon S3 to remove them for you.
5069
+ # If you want to block users or accounts from removing or deleting
5070
+ # objects from your bucket, you must deny them the `s3:DeleteObject`,
5071
+ # `s3:DeleteObjectVersion`, and `s3:PutLifeCycleConfiguration` actions.
5072
+ #
5073
+ # <note markdown="1"> **Directory buckets** - S3 Lifecycle is not supported by directory
5074
+ # buckets.
4775
5075
  #
4776
5076
  # </note>
4777
5077
  #
@@ -4783,51 +5083,56 @@ module Aws::S3
4783
5083
  # * <b> <code>s3:DeleteObject</code> </b> - To delete an object from
4784
5084
  # a bucket, you must always have the `s3:DeleteObject` permission.
4785
5085
  #
4786
- # <note markdown="1"> You can also use PutBucketLifecycle to delete objects in Amazon
4787
- # S3.
4788
- #
4789
- # </note>
4790
- #
4791
5086
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
4792
5087
  # specific version of an object from a versioning-enabled bucket,
4793
5088
  # you must have the `s3:DeleteObjectVersion` permission.
4794
- #
4795
- # * If you want to block users or accounts from removing or deleting
4796
- # objects from your bucket, you must deny them the
4797
- # `s3:DeleteObject`, `s3:DeleteObjectVersion`, and
4798
- # `s3:PutLifeCycleConfiguration` permissions.
4799
- # * **Directory buckets permissions** - To grant access to this API
4800
- # operation on a directory bucket, we recommend that you use the
4801
- # CreateSession API operation for session-based authorization.
5089
+ # * **Directory bucket permissions** - To grant access to this API
5090
+ # operation on a directory bucket, we recommend that you use the [
5091
+ # `CreateSession` ][8] API operation for session-based
5092
+ # authorization. Specifically, you grant the
5093
+ # `s3express:CreateSession` permission to the directory bucket in a
5094
+ # bucket policy or an IAM identity-based policy. Then, you make the
5095
+ # `CreateSession` API call on the bucket to obtain a session token.
5096
+ # With the session token in your request header, you can make API
5097
+ # requests to this operation. After the session token expires, you
5098
+ # make another `CreateSession` API call to generate a new session
5099
+ # token for use. Amazon Web Services CLI or SDKs create session and
5100
+ # refresh the session token automatically to avoid service
5101
+ # interruptions when a session expires. For more information about
5102
+ # authorization, see [ `CreateSession` ][8].
4802
5103
  #
4803
5104
  # HTTP Host header syntax
4804
5105
  #
4805
5106
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
4806
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
5107
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
4807
5108
  #
4808
5109
  # The following action is related to `DeleteObject`:
4809
5110
  #
4810
- # * [PutObject][5]
5111
+ # * [PutObject][9]
4811
5112
  #
4812
5113
  # ^
4813
5114
  #
4814
5115
  #
4815
5116
  #
4816
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html#DeletingObjects-best-practices
4817
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
4818
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
4819
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
4820
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
5117
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html
5118
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectsfromVersioningSuspendedBuckets.html
5119
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
5120
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
5121
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
5122
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
5123
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
5124
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
5125
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
4821
5126
  #
4822
5127
  # @option params [required, String] :bucket
4823
5128
  # The bucket name of the bucket containing the object.
4824
5129
  #
4825
5130
  # **Directory buckets** - When you use this operation with a directory
4826
5131
  # bucket, you must use virtual-hosted-style requests in the format `
4827
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
4828
- # are not supported. Directory bucket names must be unique in the chosen
4829
- # Availability Zone. Bucket names must follow the format `
4830
- # bucket_base_name--az-id--x-s3` (for example, `
5132
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
5133
+ # requests are not supported. Directory bucket names must be unique in
5134
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
5135
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
4831
5136
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
4832
5137
  # naming restrictions, see [Directory bucket naming rules][1] in the
4833
5138
  # *Amazon S3 User Guide*.
@@ -4915,6 +5220,49 @@ module Aws::S3
4915
5220
  # you provide does not match the actual owner of the bucket, the request
4916
5221
  # fails with the HTTP status code `403 Forbidden` (access denied).
4917
5222
  #
5223
+ # @option params [String] :if_match
5224
+ # The `If-Match` header field makes the request method conditional on
5225
+ # ETags. If the ETag value does not match, the operation returns a `412
5226
+ # Precondition Failed` error. If the ETag matches or if the object
5227
+ # doesn't exist, the operation will return a `204 Success (No Content)
5228
+ # response`.
5229
+ #
5230
+ # For more information about conditional requests, see [RFC 7232][1].
5231
+ #
5232
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5233
+ #
5234
+ # </note>
5235
+ #
5236
+ #
5237
+ #
5238
+ # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
5239
+ #
5240
+ # @option params [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
5241
+ # If present, the object is deleted only if its modification times
5242
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
5243
+ # match, the operation returns a `412 Precondition Failed` error. If the
5244
+ # `Timestamp` matches or if the object doesn’t exist, the operation
5245
+ # returns a `204 Success (No Content)` response.
5246
+ #
5247
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5248
+ #
5249
+ # </note>
5250
+ #
5251
+ # @option params [Integer] :if_match_size
5252
+ # If present, the object is deleted only if its size matches the
5253
+ # provided size in bytes. If the `Size` value does not match, the
5254
+ # operation returns a `412 Precondition Failed` error. If the `Size`
5255
+ # matches or if the object doesn’t exist, the operation returns a `204
5256
+ # Success (No Content)` response.
5257
+ #
5258
+ # <note markdown="1"> This functionality is only supported for directory buckets.
5259
+ #
5260
+ # </note>
5261
+ #
5262
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
5263
+ # `x-amz-if-match-size` conditional headers in conjunction with
5264
+ # each-other or individually.
5265
+ #
4918
5266
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4919
5267
  #
4920
5268
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -4922,28 +5270,28 @@ module Aws::S3
4922
5270
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
4923
5271
  #
4924
5272
  #
4925
- # @example Example: To delete an object (from a non-versioned bucket)
5273
+ # @example Example: To delete an object
4926
5274
  #
4927
- # # The following example deletes an object from a non-versioned bucket.
5275
+ # # The following example deletes an object from an S3 bucket.
4928
5276
  #
4929
5277
  # resp = client.delete_object({
4930
- # bucket: "ExampleBucket",
4931
- # key: "HappyFace.jpg",
5278
+ # bucket: "examplebucket",
5279
+ # key: "objectkey.jpg",
4932
5280
  # })
4933
5281
  #
4934
- # @example Example: To delete an object
5282
+ # resp.to_h outputs the following:
5283
+ # {
5284
+ # }
4935
5285
  #
4936
- # # The following example deletes an object from an S3 bucket.
5286
+ # @example Example: To delete an object (from a non-versioned bucket)
5287
+ #
5288
+ # # The following example deletes an object from a non-versioned bucket.
4937
5289
  #
4938
5290
  # resp = client.delete_object({
4939
- # bucket: "examplebucket",
4940
- # key: "objectkey.jpg",
5291
+ # bucket: "ExampleBucket",
5292
+ # key: "HappyFace.jpg",
4941
5293
  # })
4942
5294
  #
4943
- # resp.to_h outputs the following:
4944
- # {
4945
- # }
4946
- #
4947
5295
  # @example Request syntax with placeholder values
4948
5296
  #
4949
5297
  # resp = client.delete_object({
@@ -4954,6 +5302,9 @@ module Aws::S3
4954
5302
  # request_payer: "requester", # accepts requester
4955
5303
  # bypass_governance_retention: false,
4956
5304
  # expected_bucket_owner: "AccountId",
5305
+ # if_match: "IfMatch",
5306
+ # if_match_last_modified_time: Time.now,
5307
+ # if_match_size: 1,
4957
5308
  # })
4958
5309
  #
4959
5310
  # @example Response structure
@@ -4971,7 +5322,7 @@ module Aws::S3
4971
5322
  req.send_request(options)
4972
5323
  end
4973
5324
 
4974
- # <note markdown="1"> This operation is not supported by directory buckets.
5325
+ # <note markdown="1"> This operation is not supported for directory buckets.
4975
5326
  #
4976
5327
  # </note>
4977
5328
  #
@@ -5114,9 +5465,13 @@ module Aws::S3
5114
5465
  # * **Directory buckets** - For directory buckets, you must make
5115
5466
  # requests for this API operation to the Zonal endpoint. These
5116
5467
  # endpoints support virtual-hosted-style requests in the format
5117
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
5118
- # `. Path-style requests are not supported. For more information, see
5119
- # [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
5468
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
5469
+ # `. Path-style requests are not supported. For more information about
5470
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
5471
+ # for directory buckets in Availability Zones][1] in the *Amazon S3
5472
+ # User Guide*. For more information about endpoints in Local Zones,
5473
+ # see [Available Local Zone for directory buckets][2] in the *Amazon
5474
+ # S3 User Guide*.
5120
5475
  #
5121
5476
  # </note>
5122
5477
  #
@@ -5134,7 +5489,7 @@ module Aws::S3
5134
5489
  # if there are non-versioned objects you are trying to delete. If you
5135
5490
  # provide an invalid token, whether there are versioned keys in the
5136
5491
  # request or not, the entire Multi-Object Delete request will fail. For
5137
- # information about MFA Delete, see [MFA Delete][2] in the *Amazon S3
5492
+ # information about MFA Delete, see [MFA Delete][3] in the *Amazon S3
5138
5493
  # User Guide*.
5139
5494
  #
5140
5495
  # <note markdown="1"> **Directory buckets** - MFA delete is not supported by directory
@@ -5156,7 +5511,7 @@ module Aws::S3
5156
5511
  # you must specify the `s3:DeleteObjectVersion` permission.
5157
5512
  # * **Directory bucket permissions** - To grant access to this API
5158
5513
  # operation on a directory bucket, we recommend that you use the [
5159
- # `CreateSession` ][3] API operation for session-based
5514
+ # `CreateSession` ][4] API operation for session-based
5160
5515
  # authorization. Specifically, you grant the
5161
5516
  # `s3express:CreateSession` permission to the directory bucket in a
5162
5517
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -5167,7 +5522,7 @@ module Aws::S3
5167
5522
  # token for use. Amazon Web Services CLI or SDKs create session and
5168
5523
  # refresh the session token automatically to avoid service
5169
5524
  # interruptions when a session expires. For more information about
5170
- # authorization, see [ `CreateSession` ][3].
5525
+ # authorization, see [ `CreateSession` ][4].
5171
5526
  #
5172
5527
  # Content-MD5 request header
5173
5528
  # : * **General purpose bucket** - The Content-MD5 request header is
@@ -5184,40 +5539,41 @@ module Aws::S3
5184
5539
  # HTTP Host header syntax
5185
5540
  #
5186
5541
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
5187
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
5542
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
5188
5543
  #
5189
5544
  # The following operations are related to `DeleteObjects`:
5190
5545
  #
5191
- # * [CreateMultipartUpload][4]
5546
+ # * [CreateMultipartUpload][5]
5192
5547
  #
5193
- # * [UploadPart][5]
5548
+ # * [UploadPart][6]
5194
5549
  #
5195
- # * [CompleteMultipartUpload][6]
5550
+ # * [CompleteMultipartUpload][7]
5196
5551
  #
5197
- # * [ListParts][7]
5552
+ # * [ListParts][8]
5198
5553
  #
5199
- # * [AbortMultipartUpload][8]
5554
+ # * [AbortMultipartUpload][9]
5200
5555
  #
5201
5556
  #
5202
5557
  #
5203
5558
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
5204
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
5205
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
5206
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
5207
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
5208
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
5209
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
5210
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
5559
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
5560
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
5561
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
5562
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
5563
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
5564
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
5565
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
5566
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
5211
5567
  #
5212
5568
  # @option params [required, String] :bucket
5213
5569
  # The bucket name containing the objects to delete.
5214
5570
  #
5215
5571
  # **Directory buckets** - When you use this operation with a directory
5216
5572
  # bucket, you must use virtual-hosted-style requests in the format `
5217
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
5218
- # are not supported. Directory bucket names must be unique in the chosen
5219
- # Availability Zone. Bucket names must follow the format `
5220
- # bucket_base_name--az-id--x-s3` (for example, `
5573
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
5574
+ # requests are not supported. Directory bucket names must be unique in
5575
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
5576
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
5221
5577
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
5222
5578
  # naming restrictions, see [Directory bucket naming rules][1] in the
5223
5579
  # *Amazon S3 User Guide*.
@@ -5433,6 +5789,9 @@ module Aws::S3
5433
5789
  # {
5434
5790
  # key: "ObjectKey", # required
5435
5791
  # version_id: "ObjectVersionId",
5792
+ # etag: "ETag",
5793
+ # last_modified_time: Time.now,
5794
+ # size: 1,
5436
5795
  # },
5437
5796
  # ],
5438
5797
  # quiet: false,
@@ -5467,7 +5826,7 @@ module Aws::S3
5467
5826
  req.send_request(options)
5468
5827
  end
5469
5828
 
5470
- # <note markdown="1"> This operation is not supported by directory buckets.
5829
+ # <note markdown="1"> This operation is not supported for directory buckets.
5471
5830
  #
5472
5831
  # </note>
5473
5832
  #
@@ -5524,7 +5883,7 @@ module Aws::S3
5524
5883
  req.send_request(options)
5525
5884
  end
5526
5885
 
5527
- # <note markdown="1"> This operation is not supported by directory buckets.
5886
+ # <note markdown="1"> This operation is not supported for directory buckets.
5528
5887
  #
5529
5888
  # </note>
5530
5889
  #
@@ -5620,7 +5979,7 @@ module Aws::S3
5620
5979
  req.send_request(options)
5621
5980
  end
5622
5981
 
5623
- # <note markdown="1"> This operation is not supported by directory buckets.
5982
+ # <note markdown="1"> This operation is not supported for directory buckets.
5624
5983
  #
5625
5984
  # </note>
5626
5985
  #
@@ -5716,7 +6075,7 @@ module Aws::S3
5716
6075
  req.send_request(options)
5717
6076
  end
5718
6077
 
5719
- # <note markdown="1"> This operation is not supported by directory buckets.
6078
+ # <note markdown="1"> This operation is not supported for directory buckets.
5720
6079
  #
5721
6080
  # </note>
5722
6081
  #
@@ -5802,7 +6161,7 @@ module Aws::S3
5802
6161
  req.send_request(options)
5803
6162
  end
5804
6163
 
5805
- # <note markdown="1"> This operation is not supported by directory buckets.
6164
+ # <note markdown="1"> This operation is not supported for directory buckets.
5806
6165
  #
5807
6166
  # </note>
5808
6167
  #
@@ -5961,7 +6320,7 @@ module Aws::S3
5961
6320
  # HTTP Host header syntax
5962
6321
  #
5963
6322
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
5964
- # `s3express-control.region.amazonaws.com`.
6323
+ # `s3express-control.region-code.amazonaws.com`.
5965
6324
  #
5966
6325
  # The following operations are related to `GetBucketEncryption`:
5967
6326
  #
@@ -5985,13 +6344,14 @@ module Aws::S3
5985
6344
  #
5986
6345
  # <b>Directory buckets </b> - When you use this operation with a
5987
6346
  # directory bucket, you must use path-style requests in the format
5988
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
6347
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
5989
6348
  # Virtual-hosted-style requests aren't supported. Directory bucket
5990
- # names must be unique in the chosen Availability Zone. Bucket names
5991
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
5992
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
5993
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
5994
- # the *Amazon S3 User Guide*
6349
+ # names must be unique in the chosen Zone (Availability Zone or Local
6350
+ # Zone). Bucket names must also follow the format `
6351
+ # bucket-base-name--zone-id--x-s3` (for example, `
6352
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
6353
+ # naming restrictions, see [Directory bucket naming rules][1] in the
6354
+ # *Amazon S3 User Guide*
5995
6355
  #
5996
6356
  #
5997
6357
  #
@@ -6035,7 +6395,7 @@ module Aws::S3
6035
6395
  req.send_request(options)
6036
6396
  end
6037
6397
 
6038
- # <note markdown="1"> This operation is not supported by directory buckets.
6398
+ # <note markdown="1"> This operation is not supported for directory buckets.
6039
6399
  #
6040
6400
  # </note>
6041
6401
  #
@@ -6119,7 +6479,7 @@ module Aws::S3
6119
6479
  req.send_request(options)
6120
6480
  end
6121
6481
 
6122
- # <note markdown="1"> This operation is not supported by directory buckets.
6482
+ # <note markdown="1"> This operation is not supported for directory buckets.
6123
6483
  #
6124
6484
  # </note>
6125
6485
  #
@@ -6208,7 +6568,7 @@ module Aws::S3
6208
6568
  # version of this topic. This topic is provided for backward
6209
6569
  # compatibility.
6210
6570
  #
6211
- # <note markdown="1"> This operation is not supported by directory buckets.
6571
+ # <note markdown="1"> This operation is not supported for directory buckets.
6212
6572
  #
6213
6573
  # </note>
6214
6574
  #
@@ -6320,34 +6680,68 @@ module Aws::S3
6320
6680
  req.send_request(options)
6321
6681
  end
6322
6682
 
6323
- # <note markdown="1"> This operation is not supported by directory buckets.
6324
- #
6325
- # </note>
6683
+ # Returns the lifecycle configuration information set on the bucket. For
6684
+ # information about lifecycle configuration, see [Object Lifecycle
6685
+ # Management][1].
6326
6686
  #
6327
- # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
6687
+ # Bucket lifecycle configuration now supports specifying a lifecycle
6328
6688
  # rule using an object key name prefix, one or more object tags, object
6329
6689
  # size, or any combination of these. Accordingly, this section describes
6330
- # the latest API. The previous version of the API supported filtering
6331
- # based only on an object key name prefix, which is supported for
6332
- # backward compatibility. For the related API description, see
6333
- # [GetBucketLifecycle][1]. Accordingly, this section describes the
6334
- # latest API. The response describes the new filter element that you can
6335
- # use to specify a filter to select a subset of objects to which the
6336
- # rule applies. If you are using a previous version of the lifecycle
6337
- # configuration, it still works. For the earlier action,
6690
+ # the latest API, which is compatible with the new functionality. The
6691
+ # previous version of the API supported filtering based only on an
6692
+ # object key name prefix, which is supported for general purpose buckets
6693
+ # for backward compatibility. For the related API description, see
6694
+ # [GetBucketLifecycle][2].
6695
+ #
6696
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
6697
+ # objects and cancelling multipart uploads. Expiring of versioned
6698
+ # objects, transitions and tag filters are not supported.
6338
6699
  #
6339
6700
  # </note>
6340
6701
  #
6341
- # Returns the lifecycle configuration information set on the bucket. For
6342
- # information about lifecycle configuration, see [Object Lifecycle
6343
- # Management][2].
6702
+ # Permissions
6703
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
6704
+ # resources are private, including buckets, objects, and related
6705
+ # subresources (for example, lifecycle configuration and website
6706
+ # configuration). Only the resource owner (that is, the Amazon Web
6707
+ # Services account that created it) can access the resource. The
6708
+ # resource owner can optionally grant access permissions to others
6709
+ # by writing an access policy. For this operation, a user must have
6710
+ # the `s3:GetLifecycleConfiguration` permission.
6711
+ #
6712
+ # For more information about permissions, see [Managing Access
6713
+ # Permissions to Your Amazon S3 Resources][3].
6714
+ # ^
6344
6715
  #
6345
- # To use this operation, you must have permission to perform the
6346
- # `s3:GetLifecycleConfiguration` action. The bucket owner has this
6347
- # permission, by default. The bucket owner can grant this permission to
6348
- # others. For more information about permissions, see [Permissions
6349
- # Related to Bucket Subresource Operations][3] and [Managing Access
6350
- # Permissions to Your Amazon S3 Resources][4].
6716
+ # * **Directory bucket permissions** - You must have the
6717
+ # `s3express:GetLifecycleConfiguration` permission in an IAM
6718
+ # identity-based policy to use this operation. Cross-account access
6719
+ # to this API operation isn't supported. The resource owner can
6720
+ # optionally grant access permissions to others by creating a role
6721
+ # or user for them as long as they are within the same account as
6722
+ # the owner and resource.
6723
+ #
6724
+ # For more information about directory bucket policies and
6725
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][4]
6726
+ # in the *Amazon S3 User Guide*.
6727
+ #
6728
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
6729
+ # requests for this API operation to the Regional endpoint. These
6730
+ # endpoints support path-style requests in the format
6731
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name
6732
+ # `. Virtual-hosted-style requests aren't supported. For more
6733
+ # information about endpoints in Availability Zones, see [Regional
6734
+ # and Zonal endpoints for directory buckets in Availability
6735
+ # Zones][5] in the *Amazon S3 User Guide*. For more information
6736
+ # about endpoints in Local Zones, see [Available Local Zone for
6737
+ # directory buckets][6] in the *Amazon S3 User Guide*.
6738
+ #
6739
+ # </note>
6740
+ #
6741
+ # HTTP Host header syntax
6742
+ #
6743
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
6744
+ # `s3express-control.region.amazonaws.com`.
6351
6745
  #
6352
6746
  # `GetBucketLifecycleConfiguration` has the following special error:
6353
6747
  #
@@ -6362,20 +6756,22 @@ module Aws::S3
6362
6756
  # The following operations are related to
6363
6757
  # `GetBucketLifecycleConfiguration`:
6364
6758
  #
6365
- # * [GetBucketLifecycle][1]
6759
+ # * [GetBucketLifecycle][2]
6366
6760
  #
6367
- # * [PutBucketLifecycle][5]
6761
+ # * [PutBucketLifecycle][7]
6368
6762
  #
6369
- # * [DeleteBucketLifecycle][6]
6763
+ # * [DeleteBucketLifecycle][8]
6370
6764
  #
6371
6765
  #
6372
6766
  #
6373
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6374
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6375
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6376
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6377
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6378
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6767
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
6768
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
6769
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6770
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6771
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
6772
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
6773
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
6774
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
6379
6775
  #
6380
6776
  # @option params [required, String] :bucket
6381
6777
  # The name of the bucket for which to get the lifecycle information.
@@ -6385,6 +6781,11 @@ module Aws::S3
6385
6781
  # you provide does not match the actual owner of the bucket, the request
6386
6782
  # fails with the HTTP status code `403 Forbidden` (access denied).
6387
6783
  #
6784
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
6785
+ # supported for directory bucket lifecycle configurations.
6786
+ #
6787
+ # </note>
6788
+ #
6388
6789
  # @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6389
6790
  #
6390
6791
  # * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array&lt;Types::LifecycleRule&gt;
@@ -6465,7 +6866,7 @@ module Aws::S3
6465
6866
  req.send_request(options)
6466
6867
  end
6467
6868
 
6468
- # <note markdown="1"> This operation is not supported by directory buckets.
6869
+ # <note markdown="1"> This operation is not supported for directory buckets.
6469
6870
  #
6470
6871
  # </note>
6471
6872
  #
@@ -6562,7 +6963,7 @@ module Aws::S3
6562
6963
  req.send_request(options)
6563
6964
  end
6564
6965
 
6565
- # <note markdown="1"> This operation is not supported by directory buckets.
6966
+ # <note markdown="1"> This operation is not supported for directory buckets.
6566
6967
  #
6567
6968
  # </note>
6568
6969
  #
@@ -6621,7 +7022,70 @@ module Aws::S3
6621
7022
  req.send_request(options)
6622
7023
  end
6623
7024
 
6624
- # <note markdown="1"> This operation is not supported by directory buckets.
7025
+ # Retrieves the metadata table configuration for a general purpose
7026
+ # bucket. For more information, see [Accelerating data discovery with S3
7027
+ # Metadata][1] in the *Amazon S3 User Guide*.
7028
+ #
7029
+ # Permissions
7030
+ #
7031
+ # : To use this operation, you must have the
7032
+ # `s3:GetBucketMetadataTableConfiguration` permission. For more
7033
+ # information, see [Setting up permissions for configuring metadata
7034
+ # tables][2] in the *Amazon S3 User Guide*.
7035
+ #
7036
+ # The following operations are related to
7037
+ # `GetBucketMetadataTableConfiguration`:
7038
+ #
7039
+ # * [CreateBucketMetadataTableConfiguration][3]
7040
+ #
7041
+ # * [DeleteBucketMetadataTableConfiguration][4]
7042
+ #
7043
+ #
7044
+ #
7045
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7046
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7047
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7048
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7049
+ #
7050
+ # @option params [required, String] :bucket
7051
+ # The general purpose bucket that contains the metadata table
7052
+ # configuration that you want to retrieve.
7053
+ #
7054
+ # @option params [String] :expected_bucket_owner
7055
+ # The expected owner of the general purpose bucket that you want to
7056
+ # retrieve the metadata table configuration from.
7057
+ #
7058
+ # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7059
+ #
7060
+ # * {Types::GetBucketMetadataTableConfigurationOutput#get_bucket_metadata_table_configuration_result #get_bucket_metadata_table_configuration_result} => Types::GetBucketMetadataTableConfigurationResult
7061
+ #
7062
+ # @example Request syntax with placeholder values
7063
+ #
7064
+ # resp = client.get_bucket_metadata_table_configuration({
7065
+ # bucket: "BucketName", # required
7066
+ # expected_bucket_owner: "AccountId",
7067
+ # })
7068
+ #
7069
+ # @example Response structure
7070
+ #
7071
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_bucket_arn #=> String
7072
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_name #=> String
7073
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_arn #=> String
7074
+ # resp.get_bucket_metadata_table_configuration_result.metadata_table_configuration_result.s3_tables_destination_result.table_namespace #=> String
7075
+ # resp.get_bucket_metadata_table_configuration_result.status #=> String
7076
+ # resp.get_bucket_metadata_table_configuration_result.error.error_code #=> String
7077
+ # resp.get_bucket_metadata_table_configuration_result.error.error_message #=> String
7078
+ #
7079
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataTableConfiguration AWS API Documentation
7080
+ #
7081
+ # @overload get_bucket_metadata_table_configuration(params = {})
7082
+ # @param [Hash] params ({})
7083
+ def get_bucket_metadata_table_configuration(params = {}, options = {})
7084
+ req = build_request(:get_bucket_metadata_table_configuration, params)
7085
+ req.send_request(options)
7086
+ end
7087
+
7088
+ # <note markdown="1"> This operation is not supported for directory buckets.
6625
7089
  #
6626
7090
  # </note>
6627
7091
  #
@@ -6707,7 +7171,7 @@ module Aws::S3
6707
7171
  req.send_request(options)
6708
7172
  end
6709
7173
 
6710
- # <note markdown="1"> This operation is not supported by directory buckets.
7174
+ # <note markdown="1"> This operation is not supported for directory buckets.
6711
7175
  #
6712
7176
  # </note>
6713
7177
  #
@@ -6838,7 +7302,7 @@ module Aws::S3
6838
7302
  req.send_request(options)
6839
7303
  end
6840
7304
 
6841
- # <note markdown="1"> This operation is not supported by directory buckets.
7305
+ # <note markdown="1"> This operation is not supported for directory buckets.
6842
7306
  #
6843
7307
  # </note>
6844
7308
  #
@@ -6953,7 +7417,7 @@ module Aws::S3
6953
7417
  req.send_request(options)
6954
7418
  end
6955
7419
 
6956
- # <note markdown="1"> This operation is not supported by directory buckets.
7420
+ # <note markdown="1"> This operation is not supported for directory buckets.
6957
7421
  #
6958
7422
  # </note>
6959
7423
  #
@@ -7015,9 +7479,13 @@ module Aws::S3
7015
7479
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
7016
7480
  # requests for this API operation to the Regional endpoint. These
7017
7481
  # endpoints support path-style requests in the format
7018
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
7019
- # Virtual-hosted-style requests aren't supported. For more information,
7020
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
7482
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
7483
+ # Virtual-hosted-style requests aren't supported. For more information
7484
+ # about endpoints in Availability Zones, see [Regional and Zonal
7485
+ # endpoints for directory buckets in Availability Zones][1] in the
7486
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
7487
+ # Zones, see [Available Local Zone for directory buckets][2] in the
7488
+ # *Amazon S3 User Guide*.
7021
7489
  #
7022
7490
  # </note>
7023
7491
  #
@@ -7047,7 +7515,7 @@ module Aws::S3
7047
7515
  # * **General purpose bucket permissions** - The `s3:GetBucketPolicy`
7048
7516
  # permission is required in a policy. For more information about
7049
7517
  # general purpose buckets bucket policies, see [Using Bucket
7050
- # Policies and User Policies][2] in the *Amazon S3 User Guide*.
7518
+ # Policies and User Policies][3] in the *Amazon S3 User Guide*.
7051
7519
  #
7052
7520
  # * **Directory bucket permissions** - To grant access to this API
7053
7521
  # operation, you must have the `s3express:GetBucketPolicy`
@@ -7057,48 +7525,50 @@ module Aws::S3
7057
7525
  # Services account that owns the resource. For more information
7058
7526
  # about directory bucket policies and permissions, see [Amazon Web
7059
7527
  # Services Identity and Access Management (IAM) for S3 Express One
7060
- # Zone][3] in the *Amazon S3 User Guide*.
7528
+ # Zone][4] in the *Amazon S3 User Guide*.
7061
7529
  #
7062
7530
  # Example bucket policies
7063
7531
  #
7064
7532
  # : **General purpose buckets example bucket policies** - See [Bucket
7065
- # policy examples][4] in the *Amazon S3 User Guide*.
7533
+ # policy examples][5] in the *Amazon S3 User Guide*.
7066
7534
  #
7067
7535
  # **Directory bucket example bucket policies** - See [Example bucket
7068
- # policies for S3 Express One Zone][5] in the *Amazon S3 User Guide*.
7536
+ # policies for S3 Express One Zone][6] in the *Amazon S3 User Guide*.
7069
7537
  #
7070
7538
  # HTTP Host header syntax
7071
7539
  #
7072
7540
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
7073
- # `s3express-control.region.amazonaws.com`.
7541
+ # `s3express-control.region-code.amazonaws.com`.
7074
7542
  #
7075
7543
  # The following action is related to `GetBucketPolicy`:
7076
7544
  #
7077
- # * [GetObject][6]
7545
+ # * [GetObject][7]
7078
7546
  #
7079
7547
  # ^
7080
7548
  #
7081
7549
  #
7082
7550
  #
7083
7551
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
7084
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
7085
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
7086
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
7087
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
7088
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7552
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
7553
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
7554
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
7555
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
7556
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
7557
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7089
7558
  #
7090
7559
  # @option params [required, String] :bucket
7091
7560
  # The bucket name to get the bucket policy for.
7092
7561
  #
7093
7562
  # <b>Directory buckets </b> - When you use this operation with a
7094
7563
  # directory bucket, you must use path-style requests in the format
7095
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
7564
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
7096
7565
  # Virtual-hosted-style requests aren't supported. Directory bucket
7097
- # names must be unique in the chosen Availability Zone. Bucket names
7098
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
7099
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
7100
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
7101
- # the *Amazon S3 User Guide*
7566
+ # names must be unique in the chosen Zone (Availability Zone or Local
7567
+ # Zone). Bucket names must also follow the format `
7568
+ # bucket-base-name--zone-id--x-s3` (for example, `
7569
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
7570
+ # naming restrictions, see [Directory bucket naming rules][1] in the
7571
+ # *Amazon S3 User Guide*
7102
7572
  #
7103
7573
  # **Access points** - When you use this API operation with an access
7104
7574
  # point, provide the alias of the access point in place of the bucket
@@ -7170,7 +7640,7 @@ module Aws::S3
7170
7640
  req.send_request(options, &block)
7171
7641
  end
7172
7642
 
7173
- # <note markdown="1"> This operation is not supported by directory buckets.
7643
+ # <note markdown="1"> This operation is not supported for directory buckets.
7174
7644
  #
7175
7645
  # </note>
7176
7646
  #
@@ -7235,7 +7705,7 @@ module Aws::S3
7235
7705
  req.send_request(options)
7236
7706
  end
7237
7707
 
7238
- # <note markdown="1"> This operation is not supported by directory buckets.
7708
+ # <note markdown="1"> This operation is not supported for directory buckets.
7239
7709
  #
7240
7710
  # </note>
7241
7711
  #
@@ -7358,7 +7828,7 @@ module Aws::S3
7358
7828
  req.send_request(options)
7359
7829
  end
7360
7830
 
7361
- # <note markdown="1"> This operation is not supported by directory buckets.
7831
+ # <note markdown="1"> This operation is not supported for directory buckets.
7362
7832
  #
7363
7833
  # </note>
7364
7834
  #
@@ -7424,7 +7894,7 @@ module Aws::S3
7424
7894
  req.send_request(options)
7425
7895
  end
7426
7896
 
7427
- # <note markdown="1"> This operation is not supported by directory buckets.
7897
+ # <note markdown="1"> This operation is not supported for directory buckets.
7428
7898
  #
7429
7899
  # </note>
7430
7900
  #
@@ -7510,7 +7980,7 @@ module Aws::S3
7510
7980
  req.send_request(options)
7511
7981
  end
7512
7982
 
7513
- # <note markdown="1"> This operation is not supported by directory buckets.
7983
+ # <note markdown="1"> This operation is not supported for directory buckets.
7514
7984
  #
7515
7985
  # </note>
7516
7986
  #
@@ -7587,7 +8057,7 @@ module Aws::S3
7587
8057
  req.send_request(options)
7588
8058
  end
7589
8059
 
7590
- # <note markdown="1"> This operation is not supported by directory buckets.
8060
+ # <note markdown="1"> This operation is not supported for directory buckets.
7591
8061
  #
7592
8062
  # </note>
7593
8063
  #
@@ -7701,9 +8171,13 @@ module Aws::S3
7701
8171
  # `/photos/2006/February/sample.jpg`. Also, when you make requests to
7702
8172
  # this API operation, your requests are sent to the Zonal endpoint.
7703
8173
  # These endpoints support virtual-hosted-style requests in the format
7704
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
7705
- # Path-style requests are not supported. For more information, see
7706
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
8174
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
8175
+ # `. Path-style requests are not supported. For more information about
8176
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
8177
+ # directory buckets in Availability Zones][2] in the *Amazon S3 User
8178
+ # Guide*. For more information about endpoints in Local Zones, see
8179
+ # [Available Local Zone for directory buckets][3] in the *Amazon S3 User
8180
+ # Guide*.
7707
8181
  #
7708
8182
  # Permissions
7709
8183
  # : * **General purpose bucket permissions** - You must have the
@@ -7711,7 +8185,7 @@ module Aws::S3
7711
8185
  # have the `READ` access to the object (or version). If you grant
7712
8186
  # `READ` access to the anonymous user, the `GetObject` operation
7713
8187
  # returns the object without using an authorization header. For more
7714
- # information, see [Specifying permissions in a policy][3] in the
8188
+ # information, see [Specifying permissions in a policy][4] in the
7715
8189
  # *Amazon S3 User Guide*.
7716
8190
  #
7717
8191
  # If you include a `versionId` in your request header, you must have
@@ -7735,7 +8209,7 @@ module Aws::S3
7735
8209
  # returns an HTTP status code `403 Access Denied` error.
7736
8210
  # * **Directory bucket permissions** - To grant access to this API
7737
8211
  # operation on a directory bucket, we recommend that you use the [
7738
- # `CreateSession` ][4] API operation for session-based
8212
+ # `CreateSession` ][5] API operation for session-based
7739
8213
  # authorization. Specifically, you grant the
7740
8214
  # `s3express:CreateSession` permission to the directory bucket in a
7741
8215
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -7746,7 +8220,7 @@ module Aws::S3
7746
8220
  # token for use. Amazon Web Services CLI or SDKs create session and
7747
8221
  # refresh the session token automatically to avoid service
7748
8222
  # interruptions when a session expires. For more information about
7749
- # authorization, see [ `CreateSession` ][4].
8223
+ # authorization, see [ `CreateSession` ][5].
7750
8224
  #
7751
8225
  # If the object is encrypted using SSE-KMS, you must also have the
7752
8226
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -7759,9 +8233,9 @@ module Aws::S3
7759
8233
  # storage class, the S3 Intelligent-Tiering Archive Access tier, or
7760
8234
  # the S3 Intelligent-Tiering Deep Archive Access tier, before you can
7761
8235
  # retrieve the object you must first restore a copy using
7762
- # [RestoreObject][5]. Otherwise, this operation returns an
8236
+ # [RestoreObject][6]. Otherwise, this operation returns an
7763
8237
  # `InvalidObjectState` error. For information about restoring archived
7764
- # objects, see [Restoring Archived Objects][6] in the *Amazon S3 User
8238
+ # objects, see [Restoring Archived Objects][7] in the *Amazon S3 User
7765
8239
  # Guide*.
7766
8240
  #
7767
8241
  # <b>Directory buckets </b> - For directory buckets, only the S3
@@ -7783,7 +8257,7 @@ module Aws::S3
7783
8257
  # **Directory buckets** - For directory buckets, there are only two
7784
8258
  # supported options for server-side encryption: SSE-S3 and SSE-KMS.
7785
8259
  # SSE-C isn't supported. For more information, see [Protecting data
7786
- # with server-side encryption][7] in the *Amazon S3 User Guide*.
8260
+ # with server-side encryption][8] in the *Amazon S3 User Guide*.
7787
8261
  #
7788
8262
  # Overriding response header values through the request
7789
8263
  #
@@ -7828,25 +8302,26 @@ module Aws::S3
7828
8302
  # HTTP Host header syntax
7829
8303
  #
7830
8304
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
7831
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
8305
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
7832
8306
  #
7833
8307
  # The following operations are related to `GetObject`:
7834
8308
  #
7835
- # * [ListBuckets][8]
8309
+ # * [ListBuckets][9]
7836
8310
  #
7837
- # * [GetObjectAcl][9]
8311
+ # * [GetObjectAcl][10]
7838
8312
  #
7839
8313
  #
7840
8314
  #
7841
8315
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
7842
8316
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
7843
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
7844
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
7845
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
7846
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
7847
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
7848
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
7849
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
8317
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
8318
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8319
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
8320
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
8321
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
8322
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
8323
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
8324
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
7850
8325
  #
7851
8326
  # @option params [String, IO] :response_target
7852
8327
  # Where to write response data, file path, or IO object.
@@ -7856,10 +8331,10 @@ module Aws::S3
7856
8331
  #
7857
8332
  # **Directory buckets** - When you use this operation with a directory
7858
8333
  # bucket, you must use virtual-hosted-style requests in the format `
7859
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
7860
- # are not supported. Directory bucket names must be unique in the chosen
7861
- # Availability Zone. Bucket names must follow the format `
7862
- # bucket_base_name--az-id--x-s3` (for example, `
8334
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
8335
+ # requests are not supported. Directory bucket names must be unique in
8336
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
8337
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
7863
8338
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
7864
8339
  # naming restrictions, see [Directory bucket naming rules][1] in the
7865
8340
  # *Amazon S3 User Guide*.
@@ -8193,49 +8668,49 @@ module Aws::S3
8193
8668
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8194
8669
  #
8195
8670
  #
8196
- # @example Example: To retrieve an object
8671
+ # @example Example: To retrieve a byte range of an object
8197
8672
  #
8198
- # # The following example retrieves an object for an S3 bucket.
8673
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8674
+ # # specific byte range.
8199
8675
  #
8200
8676
  # resp = client.get_object({
8201
8677
  # bucket: "examplebucket",
8202
- # key: "HappyFace.jpg",
8678
+ # key: "SampleFile.txt",
8679
+ # range: "bytes=0-9",
8203
8680
  # })
8204
8681
  #
8205
8682
  # resp.to_h outputs the following:
8206
8683
  # {
8207
8684
  # accept_ranges: "bytes",
8208
- # content_length: 3191,
8209
- # content_type: "image/jpeg",
8210
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8211
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8685
+ # content_length: 10,
8686
+ # content_range: "bytes 0-9/43",
8687
+ # content_type: "text/plain",
8688
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8689
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8212
8690
  # metadata: {
8213
8691
  # },
8214
- # tag_count: 2,
8215
8692
  # version_id: "null",
8216
8693
  # }
8217
8694
  #
8218
- # @example Example: To retrieve a byte range of an object
8695
+ # @example Example: To retrieve an object
8219
8696
  #
8220
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8221
- # # specific byte range.
8697
+ # # The following example retrieves an object for an S3 bucket.
8222
8698
  #
8223
8699
  # resp = client.get_object({
8224
8700
  # bucket: "examplebucket",
8225
- # key: "SampleFile.txt",
8226
- # range: "bytes=0-9",
8701
+ # key: "HappyFace.jpg",
8227
8702
  # })
8228
8703
  #
8229
8704
  # resp.to_h outputs the following:
8230
8705
  # {
8231
8706
  # accept_ranges: "bytes",
8232
- # content_length: 10,
8233
- # content_range: "bytes 0-9/43",
8234
- # content_type: "text/plain",
8235
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8236
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8707
+ # content_length: 3191,
8708
+ # content_type: "image/jpeg",
8709
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8710
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8237
8711
  # metadata: {
8238
8712
  # },
8713
+ # tag_count: 2,
8239
8714
  # version_id: "null",
8240
8715
  # }
8241
8716
  #
@@ -8344,7 +8819,7 @@ module Aws::S3
8344
8819
  req.send_request(options, &block)
8345
8820
  end
8346
8821
 
8347
- # <note markdown="1"> This operation is not supported by directory buckets.
8822
+ # <note markdown="1"> This operation is not supported for directory buckets.
8348
8823
  #
8349
8824
  # </note>
8350
8825
  #
@@ -8539,9 +9014,13 @@ module Aws::S3
8539
9014
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
8540
9015
  # for this API operation to the Zonal endpoint. These endpoints support
8541
9016
  # virtual-hosted-style requests in the format
8542
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
8543
- # Path-style requests are not supported. For more information, see
8544
- # [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
9017
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
9018
+ # `. Path-style requests are not supported. For more information about
9019
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
9020
+ # directory buckets in Availability Zones][1] in the *Amazon S3 User
9021
+ # Guide*. For more information about endpoints in Local Zones, see
9022
+ # [Available Local Zone for directory buckets][2] in the *Amazon S3 User
9023
+ # Guide*.
8545
9024
  #
8546
9025
  # </note>
8547
9026
  #
@@ -8554,7 +9033,7 @@ module Aws::S3
8554
9033
  # `s3:GetObjectVersionAttributes` permissions for this operation. If
8555
9034
  # the bucket is not versioned, you need the `s3:GetObject` and
8556
9035
  # `s3:GetObjectAttributes` permissions. For more information, see
8557
- # [Specifying Permissions in a Policy][2] in the *Amazon S3 User
9036
+ # [Specifying Permissions in a Policy][3] in the *Amazon S3 User
8558
9037
  # Guide*. If the object that you request does not exist, the error
8559
9038
  # Amazon S3 returns depends on whether you also have the
8560
9039
  # `s3:ListBucket` permission.
@@ -8568,7 +9047,7 @@ module Aws::S3
8568
9047
  # error.
8569
9048
  # * **Directory bucket permissions** - To grant access to this API
8570
9049
  # operation on a directory bucket, we recommend that you use the [
8571
- # `CreateSession` ][3] API operation for session-based
9050
+ # `CreateSession` ][4] API operation for session-based
8572
9051
  # authorization. Specifically, you grant the
8573
9052
  # `s3express:CreateSession` permission to the directory bucket in a
8574
9053
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -8579,7 +9058,7 @@ module Aws::S3
8579
9058
  # token for use. Amazon Web Services CLI or SDKs create session and
8580
9059
  # refresh the session token automatically to avoid service
8581
9060
  # interruptions when a session expires. For more information about
8582
- # authorization, see [ `CreateSession` ][3].
9061
+ # authorization, see [ `CreateSession` ][4].
8583
9062
  #
8584
9063
  # If the object is encrypted with SSE-KMS, you must also have the
8585
9064
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -8615,7 +9094,7 @@ module Aws::S3
8615
9094
  # * `x-amz-server-side-encryption-customer-key-MD5`
8616
9095
  #
8617
9096
  # For more information about SSE-C, see [Server-Side Encryption (Using
8618
- # Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
9097
+ # Customer-Provided Encryption Keys)][5] in the *Amazon S3 User
8619
9098
  # Guide*.
8620
9099
  #
8621
9100
  # <note markdown="1"> **Directory bucket permissions** - For directory buckets, there are
@@ -8627,10 +9106,10 @@ module Aws::S3
8627
9106
  # encryption in your `CreateSession` requests or `PUT` object
8628
9107
  # requests. Then, new objects are automatically encrypted with the
8629
9108
  # desired encryption settings. For more information, see [Protecting
8630
- # data with server-side encryption][5] in the *Amazon S3 User Guide*.
9109
+ # data with server-side encryption][6] in the *Amazon S3 User Guide*.
8631
9110
  # For more information about the encryption overriding behaviors in
8632
9111
  # directory buckets, see [Specifying server-side encryption with KMS
8633
- # for new object uploads][6].
9112
+ # for new object uploads][7].
8634
9113
  #
8635
9114
  # </note>
8636
9115
  #
@@ -8653,7 +9132,7 @@ module Aws::S3
8653
9132
  #
8654
9133
  # * `If-Unmodified-Since` condition evaluates to `false`.
8655
9134
  # For more information about conditional requests, see [RFC
8656
- # 7232][7].
9135
+ # 7232][8].
8657
9136
  #
8658
9137
  # * If both of the `If-None-Match` and `If-Modified-Since` headers are
8659
9138
  # present in the request as follows, then Amazon S3 returns the HTTP
@@ -8663,58 +9142,59 @@ module Aws::S3
8663
9142
  #
8664
9143
  # * `If-Modified-Since` condition evaluates to `true`.
8665
9144
  # For more information about conditional requests, see [RFC
8666
- # 7232][7].
9145
+ # 7232][8].
8667
9146
  #
8668
9147
  # HTTP Host header syntax
8669
9148
  #
8670
9149
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
8671
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
9150
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
8672
9151
  #
8673
9152
  # The following actions are related to `GetObjectAttributes`:
8674
9153
  #
8675
- # * [GetObject][8]
9154
+ # * [GetObject][9]
8676
9155
  #
8677
- # * [GetObjectAcl][9]
9156
+ # * [GetObjectAcl][10]
8678
9157
  #
8679
- # * [GetObjectLegalHold][10]
9158
+ # * [GetObjectLegalHold][11]
8680
9159
  #
8681
- # * [GetObjectLockConfiguration][11]
9160
+ # * [GetObjectLockConfiguration][12]
8682
9161
  #
8683
- # * [GetObjectRetention][12]
9162
+ # * [GetObjectRetention][13]
8684
9163
  #
8685
- # * [GetObjectTagging][13]
9164
+ # * [GetObjectTagging][14]
8686
9165
  #
8687
- # * [HeadObject][14]
9166
+ # * [HeadObject][15]
8688
9167
  #
8689
- # * [ListParts][15]
9168
+ # * [ListParts][16]
8690
9169
  #
8691
9170
  #
8692
9171
  #
8693
9172
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
8694
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
8695
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
8696
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8697
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
8698
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
8699
- # [7]: https://tools.ietf.org/html/rfc7232
8700
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
8701
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
8702
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
8703
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
8704
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
8705
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
8706
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
8707
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
9173
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
9174
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
9175
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
9176
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9177
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
9178
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
9179
+ # [8]: https://tools.ietf.org/html/rfc7232
9180
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
9181
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
9182
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
9183
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
9184
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
9185
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
9186
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
9187
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
8708
9188
  #
8709
9189
  # @option params [required, String] :bucket
8710
9190
  # The name of the bucket that contains the object.
8711
9191
  #
8712
9192
  # **Directory buckets** - When you use this operation with a directory
8713
9193
  # bucket, you must use virtual-hosted-style requests in the format `
8714
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
8715
- # are not supported. Directory bucket names must be unique in the chosen
8716
- # Availability Zone. Bucket names must follow the format `
8717
- # bucket_base_name--az-id--x-s3` (for example, `
9194
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
9195
+ # requests are not supported. Directory bucket names must be unique in
9196
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
9197
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
8718
9198
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
8719
9199
  # naming restrictions, see [Directory bucket naming rules][1] in the
8720
9200
  # *Amazon S3 User Guide*.
@@ -8887,7 +9367,7 @@ module Aws::S3
8887
9367
  req.send_request(options)
8888
9368
  end
8889
9369
 
8890
- # <note markdown="1"> This operation is not supported by directory buckets.
9370
+ # <note markdown="1"> This operation is not supported for directory buckets.
8891
9371
  #
8892
9372
  # </note>
8893
9373
  #
@@ -8983,7 +9463,7 @@ module Aws::S3
8983
9463
  req.send_request(options)
8984
9464
  end
8985
9465
 
8986
- # <note markdown="1"> This operation is not supported by directory buckets.
9466
+ # <note markdown="1"> This operation is not supported for directory buckets.
8987
9467
  #
8988
9468
  # </note>
8989
9469
  #
@@ -9053,7 +9533,7 @@ module Aws::S3
9053
9533
  req.send_request(options)
9054
9534
  end
9055
9535
 
9056
- # <note markdown="1"> This operation is not supported by directory buckets.
9536
+ # <note markdown="1"> This operation is not supported for directory buckets.
9057
9537
  #
9058
9538
  # </note>
9059
9539
  #
@@ -9150,7 +9630,7 @@ module Aws::S3
9150
9630
  req.send_request(options)
9151
9631
  end
9152
9632
 
9153
- # <note markdown="1"> This operation is not supported by directory buckets.
9633
+ # <note markdown="1"> This operation is not supported for directory buckets.
9154
9634
  #
9155
9635
  # </note>
9156
9636
  #
@@ -9319,7 +9799,7 @@ module Aws::S3
9319
9799
  req.send_request(options)
9320
9800
  end
9321
9801
 
9322
- # <note markdown="1"> This operation is not supported by directory buckets.
9802
+ # <note markdown="1"> This operation is not supported for directory buckets.
9323
9803
  #
9324
9804
  # </note>
9325
9805
  #
@@ -9420,7 +9900,7 @@ module Aws::S3
9420
9900
  req.send_request(options, &block)
9421
9901
  end
9422
9902
 
9423
- # <note markdown="1"> This operation is not supported by directory buckets.
9903
+ # <note markdown="1"> This operation is not supported for directory buckets.
9424
9904
  #
9425
9905
  # </note>
9426
9906
  #
@@ -9551,13 +10031,17 @@ module Aws::S3
9551
10031
  # HTTP Host header syntax
9552
10032
  #
9553
10033
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
9554
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
10034
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
9555
10035
  #
9556
10036
  # <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
9557
10037
  # These endpoints support virtual-hosted-style requests in the format
9558
- # `https://bucket_name.s3express-az_id.region.amazonaws.com`.
9559
- # Path-style requests are not supported. For more information, see
9560
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
10038
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com`.
10039
+ # Path-style requests are not supported. For more information about
10040
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
10041
+ # for directory buckets in Availability Zones][5] in the *Amazon S3
10042
+ # User Guide*. For more information about endpoints in Local Zones,
10043
+ # see [Available Local Zone for directory buckets][6] in the *Amazon
10044
+ # S3 User Guide*.
9561
10045
  #
9562
10046
  # </note>
9563
10047
  #
@@ -9568,16 +10052,17 @@ module Aws::S3
9568
10052
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
9569
10053
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
9570
10054
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
10055
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
9571
10056
  #
9572
10057
  # @option params [required, String] :bucket
9573
10058
  # The bucket name.
9574
10059
  #
9575
10060
  # **Directory buckets** - When you use this operation with a directory
9576
10061
  # bucket, you must use virtual-hosted-style requests in the format `
9577
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
9578
- # are not supported. Directory bucket names must be unique in the chosen
9579
- # Availability Zone. Bucket names must follow the format `
9580
- # bucket_base_name--az-id--x-s3` (for example, `
10062
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
10063
+ # requests are not supported. Directory bucket names must be unique in
10064
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
10065
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
9581
10066
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
9582
10067
  # naming restrictions, see [Directory bucket naming rules][1] in the
9583
10068
  # *Amazon S3 User Guide*.
@@ -9651,7 +10136,7 @@ module Aws::S3
9651
10136
  #
9652
10137
  # @example Response structure
9653
10138
  #
9654
- # resp.bucket_location_type #=> String, one of "AvailabilityZone"
10139
+ # resp.bucket_location_type #=> String, one of "AvailabilityZone", "LocalZone"
9655
10140
  # resp.bucket_location_name #=> String
9656
10141
  # resp.bucket_region #=> String
9657
10142
  # resp.access_point_alias #=> Boolean
@@ -9782,7 +10267,7 @@ module Aws::S3
9782
10267
  # a `405 Method Not Allowed` error and the `Last-Modified:
9783
10268
  # timestamp` response header.
9784
10269
  #
9785
- # <note markdown="1"> * **Directory buckets** - Delete marker is not supported by
10270
+ # <note markdown="1"> * **Directory buckets** - Delete marker is not supported for
9786
10271
  # directory buckets.
9787
10272
  #
9788
10273
  # * **Directory buckets** - S3 Versioning isn't enabled and supported
@@ -9796,22 +10281,26 @@ module Aws::S3
9796
10281
  # HTTP Host header syntax
9797
10282
  #
9798
10283
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
9799
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
10284
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
9800
10285
  #
9801
10286
  # <note markdown="1"> For directory buckets, you must make requests for this API operation
9802
10287
  # to the Zonal endpoint. These endpoints support virtual-hosted-style
9803
10288
  # requests in the format
9804
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
9805
- # `. Path-style requests are not supported. For more information, see
9806
- # [Regional and Zonal endpoints][6] in the *Amazon S3 User Guide*.
10289
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
10290
+ # `. Path-style requests are not supported. For more information about
10291
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
10292
+ # for directory buckets in Availability Zones][6] in the *Amazon S3
10293
+ # User Guide*. For more information about endpoints in Local Zones,
10294
+ # see [Available Local Zone for directory buckets][7] in the *Amazon
10295
+ # S3 User Guide*.
9807
10296
  #
9808
10297
  # </note>
9809
10298
  #
9810
10299
  # The following actions are related to `HeadObject`:
9811
10300
  #
9812
- # * [GetObject][7]
10301
+ # * [GetObject][8]
9813
10302
  #
9814
- # * [GetObjectAttributes][8]
10303
+ # * [GetObjectAttributes][9]
9815
10304
  #
9816
10305
  #
9817
10306
  #
@@ -9821,18 +10310,19 @@ module Aws::S3
9821
10310
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9822
10311
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
9823
10312
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
9824
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
9825
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
10313
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
10314
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
10315
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
9826
10316
  #
9827
10317
  # @option params [required, String] :bucket
9828
10318
  # The name of the bucket that contains the object.
9829
10319
  #
9830
10320
  # **Directory buckets** - When you use this operation with a directory
9831
10321
  # bucket, you must use virtual-hosted-style requests in the format `
9832
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
9833
- # are not supported. Directory bucket names must be unique in the chosen
9834
- # Availability Zone. Bucket names must follow the format `
9835
- # bucket_base_name--az-id--x-s3` (for example, `
10322
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
10323
+ # requests are not supported. Directory bucket names must be unique in
10324
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
10325
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
9836
10326
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
9837
10327
  # naming restrictions, see [Directory bucket naming rules][1] in the
9838
10328
  # *Amazon S3 User Guide*.
@@ -10193,7 +10683,7 @@ module Aws::S3
10193
10683
  req.send_request(options)
10194
10684
  end
10195
10685
 
10196
- # <note markdown="1"> This operation is not supported by directory buckets.
10686
+ # <note markdown="1"> This operation is not supported for directory buckets.
10197
10687
  #
10198
10688
  # </note>
10199
10689
  #
@@ -10294,7 +10784,7 @@ module Aws::S3
10294
10784
  req.send_request(options)
10295
10785
  end
10296
10786
 
10297
- # <note markdown="1"> This operation is not supported by directory buckets.
10787
+ # <note markdown="1"> This operation is not supported for directory buckets.
10298
10788
  #
10299
10789
  # </note>
10300
10790
  #
@@ -10386,7 +10876,7 @@ module Aws::S3
10386
10876
  req.send_request(options)
10387
10877
  end
10388
10878
 
10389
- # <note markdown="1"> This operation is not supported by directory buckets.
10879
+ # <note markdown="1"> This operation is not supported for directory buckets.
10390
10880
  #
10391
10881
  # </note>
10392
10882
  #
@@ -10488,7 +10978,7 @@ module Aws::S3
10488
10978
  req.send_request(options)
10489
10979
  end
10490
10980
 
10491
- # <note markdown="1"> This operation is not supported by directory buckets.
10981
+ # <note markdown="1"> This operation is not supported for directory buckets.
10492
10982
  #
10493
10983
  # </note>
10494
10984
  #
@@ -10590,24 +11080,25 @@ module Aws::S3
10590
11080
  req.send_request(options)
10591
11081
  end
10592
11082
 
10593
- # <note markdown="1"> This operation is not supported by directory buckets.
11083
+ # <note markdown="1"> This operation is not supported for directory buckets.
10594
11084
  #
10595
11085
  # </note>
10596
11086
  #
10597
11087
  # Returns a list of all buckets owned by the authenticated sender of the
10598
- # request. To use this operation, you must have the
10599
- # `s3:ListAllMyBuckets` permission.
11088
+ # request. To grant IAM permission to use this operation, you must add
11089
+ # the `s3:ListAllMyBuckets` policy action.
10600
11090
  #
10601
11091
  # For information about Amazon S3 buckets, see [Creating, configuring,
10602
11092
  # and working with Amazon S3 buckets][1].
10603
11093
  #
10604
- # We strongly recommend using only paginated requests. Unpaginated
10605
- # requests are only supported for Amazon Web Services accounts set to
10606
- # the default general purpose bucket quota of 10,000. If you have an
10607
- # approved general purpose bucket quota above 10,000, you must send
10608
- # paginated requests to list your account’s buckets. All unpaginated
10609
- # ListBuckets requests will be rejected for Amazon Web Services accounts
10610
- # with a general purpose bucket quota greater than 10,000.
11094
+ # We strongly recommend using only paginated `ListBuckets` requests.
11095
+ # Unpaginated `ListBuckets` requests are only supported for Amazon Web
11096
+ # Services accounts set to the default general purpose bucket quota of
11097
+ # 10,000. If you have an approved general purpose bucket quota above
11098
+ # 10,000, you must send paginated `ListBuckets` requests to list your
11099
+ # account’s buckets. All unpaginated `ListBuckets` requests will be
11100
+ # rejected for Amazon Web Services accounts with a general purpose
11101
+ # bucket quota greater than 10,000.
10611
11102
  #
10612
11103
  #
10613
11104
  #
@@ -10735,9 +11226,13 @@ module Aws::S3
10735
11226
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
10736
11227
  # requests for this API operation to the Regional endpoint. These
10737
11228
  # endpoints support path-style requests in the format
10738
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
10739
- # Virtual-hosted-style requests aren't supported. For more information,
10740
- # see [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
11229
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
11230
+ # Virtual-hosted-style requests aren't supported. For more information
11231
+ # about endpoints in Availability Zones, see [Regional and Zonal
11232
+ # endpoints for directory buckets in Availability Zones][2] in the
11233
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
11234
+ # Zones, see [Available Local Zone for directory buckets][3] in the
11235
+ # *Amazon S3 User Guide*.
10741
11236
  #
10742
11237
  # </note>
10743
11238
  #
@@ -10749,7 +11244,7 @@ module Aws::S3
10749
11244
  # operation can only be performed by the Amazon Web Services account
10750
11245
  # that owns the resource. For more information about directory bucket
10751
11246
  # policies and permissions, see [Amazon Web Services Identity and
10752
- # Access Management (IAM) for S3 Express One Zone][3] in the *Amazon
11247
+ # Access Management (IAM) for S3 Express One Zone][4] in the *Amazon
10753
11248
  # S3 User Guide*.
10754
11249
  #
10755
11250
  # HTTP Host header syntax
@@ -10766,7 +11261,8 @@ module Aws::S3
10766
11261
  #
10767
11262
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
10768
11263
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
10769
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
11264
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
11265
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
10770
11266
  #
10771
11267
  # @option params [String] :continuation_token
10772
11268
  # `ContinuationToken` indicates to Amazon S3 that the list is being
@@ -10854,21 +11350,25 @@ module Aws::S3
10854
11350
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
10855
11351
  # for this API operation to the Zonal endpoint. These endpoints support
10856
11352
  # virtual-hosted-style requests in the format
10857
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
10858
- # Path-style requests are not supported. For more information, see
10859
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
11353
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
11354
+ # `. Path-style requests are not supported. For more information about
11355
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
11356
+ # directory buckets in Availability Zones][2] in the *Amazon S3 User
11357
+ # Guide*. For more information about endpoints in Local Zones, see
11358
+ # [Available Local Zone for directory buckets][3] in the *Amazon S3 User
11359
+ # Guide*.
10860
11360
  #
10861
11361
  # </note>
10862
11362
  #
10863
11363
  # Permissions
10864
11364
  # : * **General purpose bucket permissions** - For information about
10865
11365
  # permissions required to use the multipart upload API, see
10866
- # [Multipart Upload and Permissions][3] in the *Amazon S3 User
11366
+ # [Multipart Upload and Permissions][4] in the *Amazon S3 User
10867
11367
  # Guide*.
10868
11368
  #
10869
11369
  # * **Directory bucket permissions** - To grant access to this API
10870
11370
  # operation on a directory bucket, we recommend that you use the [
10871
- # `CreateSession` ][4] API operation for session-based
11371
+ # `CreateSession` ][5] API operation for session-based
10872
11372
  # authorization. Specifically, you grant the
10873
11373
  # `s3express:CreateSession` permission to the directory bucket in a
10874
11374
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -10879,7 +11379,7 @@ module Aws::S3
10879
11379
  # token for use. Amazon Web Services CLI or SDKs create session and
10880
11380
  # refresh the session token automatically to avoid service
10881
11381
  # interruptions when a session expires. For more information about
10882
- # authorization, see [ `CreateSession` ][4].
11382
+ # authorization, see [ `CreateSession` ][5].
10883
11383
  #
10884
11384
  # Sorting of multipart uploads in response
10885
11385
  # : * **General purpose bucket** - In the `ListMultipartUploads`
@@ -10900,41 +11400,42 @@ module Aws::S3
10900
11400
  # HTTP Host header syntax
10901
11401
  #
10902
11402
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
10903
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
11403
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
10904
11404
  #
10905
11405
  # The following operations are related to `ListMultipartUploads`:
10906
11406
  #
10907
- # * [CreateMultipartUpload][5]
11407
+ # * [CreateMultipartUpload][6]
10908
11408
  #
10909
- # * [UploadPart][6]
11409
+ # * [UploadPart][7]
10910
11410
  #
10911
- # * [CompleteMultipartUpload][7]
11411
+ # * [CompleteMultipartUpload][8]
10912
11412
  #
10913
- # * [ListParts][8]
11413
+ # * [ListParts][9]
10914
11414
  #
10915
- # * [AbortMultipartUpload][9]
11415
+ # * [AbortMultipartUpload][10]
10916
11416
  #
10917
11417
  #
10918
11418
  #
10919
11419
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
10920
11420
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
10921
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
10922
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
10923
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
10924
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
10925
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
10926
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
10927
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
11421
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
11422
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
11423
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
11424
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
11425
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
11426
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
11427
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
11428
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
10928
11429
  #
10929
11430
  # @option params [required, String] :bucket
10930
11431
  # The name of the bucket to which the multipart upload was initiated.
10931
11432
  #
10932
11433
  # **Directory buckets** - When you use this operation with a directory
10933
11434
  # bucket, you must use virtual-hosted-style requests in the format `
10934
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
10935
- # are not supported. Directory bucket names must be unique in the chosen
10936
- # Availability Zone. Bucket names must follow the format `
10937
- # bucket_base_name--az-id--x-s3` (for example, `
11435
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
11436
+ # requests are not supported. Directory bucket names must be unique in
11437
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
11438
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
10938
11439
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
10939
11440
  # naming restrictions, see [Directory bucket naming rules][1] in the
10940
11441
  # *Amazon S3 User Guide*.
@@ -11105,97 +11606,97 @@ module Aws::S3
11105
11606
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11106
11607
  #
11107
11608
  #
11108
- # @example Example: List next set of multipart uploads when previous result is truncated
11609
+ # @example Example: To list in-progress multipart uploads on a bucket
11109
11610
  #
11110
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11111
- # # setup of multipart uploads.
11611
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11112
11612
  #
11113
11613
  # resp = client.list_multipart_uploads({
11114
11614
  # bucket: "examplebucket",
11115
- # key_marker: "nextkeyfrompreviousresponse",
11116
- # max_uploads: 2,
11117
- # upload_id_marker: "valuefrompreviousresponse",
11118
11615
  # })
11119
11616
  #
11120
11617
  # resp.to_h outputs the following:
11121
11618
  # {
11122
- # bucket: "acl1",
11123
- # is_truncated: true,
11124
- # key_marker: "",
11125
- # max_uploads: 2,
11126
- # next_key_marker: "someobjectkey",
11127
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11128
- # upload_id_marker: "",
11129
11619
  # uploads: [
11130
11620
  # {
11131
11621
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11132
11622
  # initiator: {
11133
- # display_name: "ownder-display-name",
11623
+ # display_name: "display-name",
11134
11624
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11135
11625
  # },
11136
11626
  # key: "JavaFile",
11137
11627
  # owner: {
11138
- # display_name: "mohanataws",
11139
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11628
+ # display_name: "display-name",
11629
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11140
11630
  # },
11141
11631
  # storage_class: "STANDARD",
11142
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11632
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11143
11633
  # },
11144
11634
  # {
11145
11635
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11146
11636
  # initiator: {
11147
- # display_name: "ownder-display-name",
11637
+ # display_name: "display-name",
11148
11638
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11149
11639
  # },
11150
11640
  # key: "JavaFile",
11151
11641
  # owner: {
11152
- # display_name: "ownder-display-name",
11642
+ # display_name: "display-name",
11153
11643
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11154
11644
  # },
11155
11645
  # storage_class: "STANDARD",
11156
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11646
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11157
11647
  # },
11158
11648
  # ],
11159
11649
  # }
11160
11650
  #
11161
- # @example Example: To list in-progress multipart uploads on a bucket
11651
+ # @example Example: List next set of multipart uploads when previous result is truncated
11162
11652
  #
11163
- # # The following example lists in-progress multipart uploads on a specific bucket.
11653
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11654
+ # # setup of multipart uploads.
11164
11655
  #
11165
11656
  # resp = client.list_multipart_uploads({
11166
11657
  # bucket: "examplebucket",
11658
+ # key_marker: "nextkeyfrompreviousresponse",
11659
+ # max_uploads: 2,
11660
+ # upload_id_marker: "valuefrompreviousresponse",
11167
11661
  # })
11168
11662
  #
11169
11663
  # resp.to_h outputs the following:
11170
11664
  # {
11665
+ # bucket: "acl1",
11666
+ # is_truncated: true,
11667
+ # key_marker: "",
11668
+ # max_uploads: 2,
11669
+ # next_key_marker: "someobjectkey",
11670
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11671
+ # upload_id_marker: "",
11171
11672
  # uploads: [
11172
11673
  # {
11173
11674
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11174
11675
  # initiator: {
11175
- # display_name: "display-name",
11676
+ # display_name: "ownder-display-name",
11176
11677
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11177
11678
  # },
11178
11679
  # key: "JavaFile",
11179
11680
  # owner: {
11180
- # display_name: "display-name",
11181
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11681
+ # display_name: "mohanataws",
11682
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11182
11683
  # },
11183
11684
  # storage_class: "STANDARD",
11184
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11685
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11185
11686
  # },
11186
11687
  # {
11187
11688
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11188
11689
  # initiator: {
11189
- # display_name: "display-name",
11690
+ # display_name: "ownder-display-name",
11190
11691
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11191
11692
  # },
11192
11693
  # key: "JavaFile",
11193
11694
  # owner: {
11194
- # display_name: "display-name",
11695
+ # display_name: "ownder-display-name",
11195
11696
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11196
11697
  # },
11197
11698
  # storage_class: "STANDARD",
11198
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11699
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11199
11700
  # },
11200
11701
  # ],
11201
11702
  # }
@@ -11249,7 +11750,7 @@ module Aws::S3
11249
11750
  req.send_request(options)
11250
11751
  end
11251
11752
 
11252
- # <note markdown="1"> This operation is not supported by directory buckets.
11753
+ # <note markdown="1"> This operation is not supported for directory buckets.
11253
11754
  #
11254
11755
  # </note>
11255
11756
  #
@@ -11488,7 +11989,7 @@ module Aws::S3
11488
11989
  req.send_request(options)
11489
11990
  end
11490
11991
 
11491
- # <note markdown="1"> This operation is not supported by directory buckets.
11992
+ # <note markdown="1"> This operation is not supported for directory buckets.
11492
11993
  #
11493
11994
  # </note>
11494
11995
  #
@@ -11527,10 +12028,10 @@ module Aws::S3
11527
12028
  #
11528
12029
  # **Directory buckets** - When you use this operation with a directory
11529
12030
  # bucket, you must use virtual-hosted-style requests in the format `
11530
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
11531
- # are not supported. Directory bucket names must be unique in the chosen
11532
- # Availability Zone. Bucket names must follow the format `
11533
- # bucket_base_name--az-id--x-s3` (for example, `
12031
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
12032
+ # requests are not supported. Directory bucket names must be unique in
12033
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12034
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
11534
12035
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
11535
12036
  # naming restrictions, see [Directory bucket naming rules][1] in the
11536
12037
  # *Amazon S3 User Guide*.
@@ -11742,9 +12243,13 @@ module Aws::S3
11742
12243
  # * **Directory buckets** - For directory buckets, you must make
11743
12244
  # requests for this API operation to the Zonal endpoint. These
11744
12245
  # endpoints support virtual-hosted-style requests in the format
11745
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
11746
- # `. Path-style requests are not supported. For more information, see
11747
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
12246
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
12247
+ # `. Path-style requests are not supported. For more information about
12248
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
12249
+ # for directory buckets in Availability Zones][3] in the *Amazon S3
12250
+ # User Guide*. For more information about endpoints in Local Zones,
12251
+ # see [Available Local Zone for directory buckets][4] in the *Amazon
12252
+ # S3 User Guide*.
11748
12253
  #
11749
12254
  # </note>
11750
12255
  #
@@ -11754,12 +12259,12 @@ module Aws::S3
11754
12259
  # to perform the `s3:ListBucket` action. The bucket owner has this
11755
12260
  # permission by default and can grant this permission to others. For
11756
12261
  # more information about permissions, see [Permissions Related to
11757
- # Bucket Subresource Operations][4] and [Managing Access Permissions
11758
- # to Your Amazon S3 Resources][5] in the *Amazon S3 User Guide*.
12262
+ # Bucket Subresource Operations][5] and [Managing Access Permissions
12263
+ # to Your Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
11759
12264
  #
11760
12265
  # * **Directory bucket permissions** - To grant access to this API
11761
12266
  # operation on a directory bucket, we recommend that you use the [
11762
- # `CreateSession` ][6] API operation for session-based
12267
+ # `CreateSession` ][7] API operation for session-based
11763
12268
  # authorization. Specifically, you grant the
11764
12269
  # `s3express:CreateSession` permission to the directory bucket in a
11765
12270
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -11770,7 +12275,7 @@ module Aws::S3
11770
12275
  # token for use. Amazon Web Services CLI or SDKs create session and
11771
12276
  # refresh the session token automatically to avoid service
11772
12277
  # interruptions when a session expires. For more information about
11773
- # authorization, see [ `CreateSession` ][6].
12278
+ # authorization, see [ `CreateSession` ][7].
11774
12279
  #
11775
12280
  # Sorting order of returned objects
11776
12281
  # : * **General purpose bucket** - For general purpose buckets,
@@ -11783,41 +12288,42 @@ module Aws::S3
11783
12288
  # HTTP Host header syntax
11784
12289
  #
11785
12290
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
11786
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
12291
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
11787
12292
  #
11788
12293
  # This section describes the latest revision of this action. We
11789
12294
  # recommend that you use this revised API operation for application
11790
12295
  # development. For backward compatibility, Amazon S3 continues to
11791
- # support the prior version of this API operation, [ListObjects][7].
12296
+ # support the prior version of this API operation, [ListObjects][8].
11792
12297
  #
11793
12298
  # The following operations are related to `ListObjectsV2`:
11794
12299
  #
11795
- # * [GetObject][8]
12300
+ # * [GetObject][9]
11796
12301
  #
11797
- # * [PutObject][9]
12302
+ # * [PutObject][10]
11798
12303
  #
11799
- # * [CreateBucket][10]
12304
+ # * [CreateBucket][11]
11800
12305
  #
11801
12306
  #
11802
12307
  #
11803
12308
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html
11804
12309
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
11805
12310
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
11806
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
11807
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
11808
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
11809
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
11810
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
11811
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
11812
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
12311
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
12312
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
12313
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
12314
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
12315
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
12316
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
12317
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
12318
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
11813
12319
  #
11814
12320
  # @option params [required, String] :bucket
11815
12321
  # **Directory buckets** - When you use this operation with a directory
11816
12322
  # bucket, you must use virtual-hosted-style requests in the format `
11817
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
11818
- # are not supported. Directory bucket names must be unique in the chosen
11819
- # Availability Zone. Bucket names must follow the format `
11820
- # bucket_base_name--az-id--x-s3` (for example, `
12323
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
12324
+ # requests are not supported. Directory bucket names must be unique in
12325
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12326
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
11821
12327
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
11822
12328
  # naming restrictions, see [Directory bucket naming rules][1] in the
11823
12329
  # *Amazon S3 User Guide*.
@@ -12085,16 +12591,20 @@ module Aws::S3
12085
12591
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
12086
12592
  # for this API operation to the Zonal endpoint. These endpoints support
12087
12593
  # virtual-hosted-style requests in the format
12088
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
12089
- # Path-style requests are not supported. For more information, see
12090
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
12594
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
12595
+ # `. Path-style requests are not supported. For more information about
12596
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
12597
+ # directory buckets in Availability Zones][3] in the *Amazon S3 User
12598
+ # Guide*. For more information about endpoints in Local Zones, see
12599
+ # [Available Local Zone for directory buckets][4] in the *Amazon S3 User
12600
+ # Guide*.
12091
12601
  #
12092
12602
  # </note>
12093
12603
  #
12094
12604
  # Permissions
12095
12605
  # : * **General purpose bucket permissions** - For information about
12096
12606
  # permissions required to use the multipart upload API, see
12097
- # [Multipart Upload and Permissions][4] in the *Amazon S3 User
12607
+ # [Multipart Upload and Permissions][5] in the *Amazon S3 User
12098
12608
  # Guide*.
12099
12609
  #
12100
12610
  # If the upload was created using server-side encryption with Key
@@ -12105,7 +12615,7 @@ module Aws::S3
12105
12615
  #
12106
12616
  # * **Directory bucket permissions** - To grant access to this API
12107
12617
  # operation on a directory bucket, we recommend that you use the [
12108
- # `CreateSession` ][5] API operation for session-based
12618
+ # `CreateSession` ][6] API operation for session-based
12109
12619
  # authorization. Specifically, you grant the
12110
12620
  # `s3express:CreateSession` permission to the directory bucket in a
12111
12621
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -12116,49 +12626,50 @@ module Aws::S3
12116
12626
  # token for use. Amazon Web Services CLI or SDKs create session and
12117
12627
  # refresh the session token automatically to avoid service
12118
12628
  # interruptions when a session expires. For more information about
12119
- # authorization, see [ `CreateSession` ][5].
12629
+ # authorization, see [ `CreateSession` ][6].
12120
12630
  #
12121
12631
  # HTTP Host header syntax
12122
12632
  #
12123
12633
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
12124
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
12634
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
12125
12635
  #
12126
12636
  # The following operations are related to `ListParts`:
12127
12637
  #
12128
12638
  # * [CreateMultipartUpload][1]
12129
12639
  #
12130
- # * [UploadPart][6]
12640
+ # * [UploadPart][7]
12131
12641
  #
12132
- # * [CompleteMultipartUpload][7]
12642
+ # * [CompleteMultipartUpload][8]
12133
12643
  #
12134
- # * [AbortMultipartUpload][8]
12644
+ # * [AbortMultipartUpload][9]
12135
12645
  #
12136
- # * [GetObjectAttributes][9]
12646
+ # * [GetObjectAttributes][10]
12137
12647
  #
12138
- # * [ListMultipartUploads][10]
12648
+ # * [ListMultipartUploads][11]
12139
12649
  #
12140
12650
  #
12141
12651
  #
12142
12652
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
12143
12653
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
12144
12654
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
12145
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12146
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
12147
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
12148
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12149
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12150
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
12151
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
12655
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
12656
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12657
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
12658
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
12659
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12660
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12661
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
12662
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
12152
12663
  #
12153
12664
  # @option params [required, String] :bucket
12154
12665
  # The name of the bucket to which the parts are being uploaded.
12155
12666
  #
12156
12667
  # **Directory buckets** - When you use this operation with a directory
12157
12668
  # bucket, you must use virtual-hosted-style requests in the format `
12158
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
12159
- # are not supported. Directory bucket names must be unique in the chosen
12160
- # Availability Zone. Bucket names must follow the format `
12161
- # bucket_base_name--az-id--x-s3` (for example, `
12669
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
12670
+ # requests are not supported. Directory bucket names must be unique in
12671
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
12672
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
12162
12673
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
12163
12674
  # naming restrictions, see [Directory bucket naming rules][1] in the
12164
12675
  # *Amazon S3 User Guide*.
@@ -12382,7 +12893,7 @@ module Aws::S3
12382
12893
  req.send_request(options)
12383
12894
  end
12384
12895
 
12385
- # <note markdown="1"> This operation is not supported by directory buckets.
12896
+ # <note markdown="1"> This operation is not supported for directory buckets.
12386
12897
  #
12387
12898
  # </note>
12388
12899
  #
@@ -12481,7 +12992,7 @@ module Aws::S3
12481
12992
  req.send_request(options)
12482
12993
  end
12483
12994
 
12484
- # <note markdown="1"> This operation is not supported by directory buckets.
12995
+ # <note markdown="1"> This operation is not supported for directory buckets.
12485
12996
  #
12486
12997
  # </note>
12487
12998
  #
@@ -12774,7 +13285,7 @@ module Aws::S3
12774
13285
  req.send_request(options)
12775
13286
  end
12776
13287
 
12777
- # <note markdown="1"> This operation is not supported by directory buckets.
13288
+ # <note markdown="1"> This operation is not supported for directory buckets.
12778
13289
  #
12779
13290
  # </note>
12780
13291
  #
@@ -12910,7 +13421,7 @@ module Aws::S3
12910
13421
  req.send_request(options)
12911
13422
  end
12912
13423
 
12913
- # <note markdown="1"> This operation is not supported by directory buckets.
13424
+ # <note markdown="1"> This operation is not supported for directory buckets.
12914
13425
  #
12915
13426
  # </note>
12916
13427
  #
@@ -13095,9 +13606,13 @@ module Aws::S3
13095
13606
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13096
13607
  # requests for this API operation to the Regional endpoint. These
13097
13608
  # endpoints support path-style requests in the format
13098
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
13099
- # Virtual-hosted-style requests aren't supported. For more information,
13100
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
13609
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
13610
+ # Virtual-hosted-style requests aren't supported. For more information
13611
+ # about endpoints in Availability Zones, see [Regional and Zonal
13612
+ # endpoints for directory buckets in Availability Zones][1] in the
13613
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
13614
+ # Zones, see [Available Local Zone for directory buckets][2] in the
13615
+ # *Amazon S3 User Guide*.
13101
13616
  #
13102
13617
  # </note>
13103
13618
  #
@@ -13111,12 +13626,12 @@ module Aws::S3
13111
13626
  # keys (SSE-KMS) or dual-layer server-side encryption with Amazon
13112
13627
  # Web Services KMS keys (DSSE-KMS). If you specify default
13113
13628
  # encryption by using SSE-KMS, you can also configure [Amazon S3
13114
- # Bucket Keys][2]. For information about the bucket default
13115
- # encryption feature, see [Amazon S3 Bucket Default Encryption][3]
13629
+ # Bucket Keys][3]. For information about the bucket default
13630
+ # encryption feature, see [Amazon S3 Bucket Default Encryption][4]
13116
13631
  # in the *Amazon S3 User Guide*.
13117
13632
  #
13118
13633
  # * If you use PutBucketEncryption to set your [default bucket
13119
- # encryption][3] to SSE-KMS, you should verify that your KMS key ID
13634
+ # encryption][4] to SSE-KMS, you should verify that your KMS key ID
13120
13635
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
13121
13636
  # PutBucketEncryption requests.
13122
13637
  # * <b>Directory buckets </b> - You can optionally configure default
@@ -13130,28 +13645,28 @@ module Aws::S3
13130
13645
  # encrypted with the desired encryption settings. For more
13131
13646
  # information about the encryption overriding behaviors in directory
13132
13647
  # buckets, see [Specifying server-side encryption with KMS for new
13133
- # object uploads][4].
13648
+ # object uploads][5].
13134
13649
  #
13135
13650
  # * Your SSE-KMS configuration can only support 1 [customer managed
13136
- # key][5] per directory bucket for the lifetime of the bucket. The
13137
- # [Amazon Web Services managed key][6] (`aws/s3`) isn't supported.
13651
+ # key][6] per directory bucket for the lifetime of the bucket. The
13652
+ # [Amazon Web Services managed key][7] (`aws/s3`) isn't supported.
13138
13653
  #
13139
13654
  # * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
13140
13655
  # in a directory bucket and can’t be disabled. S3 Bucket Keys
13141
13656
  # aren't supported, when you copy SSE-KMS encrypted objects from
13142
13657
  # general purpose buckets to directory buckets, from directory
13143
13658
  # buckets to general purpose buckets, or between directory buckets,
13144
- # through [CopyObject][7], [UploadPartCopy][8], [the Copy operation
13145
- # in Batch Operations][9], or [the import jobs][10]. In this case,
13659
+ # through [CopyObject][8], [UploadPartCopy][9], [the Copy operation
13660
+ # in Batch Operations][10], or [the import jobs][11]. In this case,
13146
13661
  # Amazon S3 makes a call to KMS every time a copy request is made
13147
13662
  # for a KMS-encrypted object.
13148
13663
  #
13149
- # * When you specify an [KMS customer managed key][5] for encryption
13664
+ # * When you specify an [KMS customer managed key][6] for encryption
13150
13665
  # in your directory bucket, only use the key ID or key ARN. The key
13151
13666
  # alias format of the KMS key isn't supported.
13152
13667
  #
13153
13668
  # * For directory buckets, if you use PutBucketEncryption to set your
13154
- # [default bucket encryption][3] to SSE-KMS, Amazon S3 validates the
13669
+ # [default bucket encryption][4] to SSE-KMS, Amazon S3 validates the
13155
13670
  # KMS key ID provided in PutBucketEncryption requests.
13156
13671
  #
13157
13672
  # </note>
@@ -13164,7 +13679,7 @@ module Aws::S3
13164
13679
  #
13165
13680
  # Also, this action requires Amazon Web Services Signature Version 4.
13166
13681
  # For more information, see [ Authenticating Requests (Amazon Web
13167
- # Services Signature Version 4)][11].
13682
+ # Services Signature Version 4)][12].
13168
13683
  #
13169
13684
  # Permissions
13170
13685
  # : * **General purpose bucket permissions** - The
@@ -13172,8 +13687,8 @@ module Aws::S3
13172
13687
  # policy. The bucket owner has this permission by default. The
13173
13688
  # bucket owner can grant this permission to others. For more
13174
13689
  # information about permissions, see [Permissions Related to Bucket
13175
- # Operations][12] and [Managing Access Permissions to Your Amazon S3
13176
- # Resources][13] in the *Amazon S3 User Guide*.
13690
+ # Operations][13] and [Managing Access Permissions to Your Amazon S3
13691
+ # Resources][14] in the *Amazon S3 User Guide*.
13177
13692
  #
13178
13693
  # * **Directory bucket permissions** - To grant access to this API
13179
13694
  # operation, you must have the
@@ -13183,7 +13698,7 @@ module Aws::S3
13183
13698
  # only be performed by the Amazon Web Services account that owns the
13184
13699
  # resource. For more information about directory bucket policies and
13185
13700
  # permissions, see [Amazon Web Services Identity and Access
13186
- # Management (IAM) for S3 Express One Zone][14] in the *Amazon S3
13701
+ # Management (IAM) for S3 Express One Zone][15] in the *Amazon S3
13187
13702
  # User Guide*.
13188
13703
  #
13189
13704
  # To set a directory bucket default encryption with SSE-KMS, you
@@ -13194,32 +13709,33 @@ module Aws::S3
13194
13709
  # HTTP Host header syntax
13195
13710
  #
13196
13711
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
13197
- # `s3express-control.region.amazonaws.com`.
13712
+ # `s3express-control.region-code.amazonaws.com`.
13198
13713
  #
13199
13714
  # The following operations are related to `PutBucketEncryption`:
13200
13715
  #
13201
- # * [GetBucketEncryption][15]
13716
+ # * [GetBucketEncryption][16]
13202
13717
  #
13203
- # * [DeleteBucketEncryption][16]
13718
+ # * [DeleteBucketEncryption][17]
13204
13719
  #
13205
13720
  #
13206
13721
  #
13207
13722
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
13208
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
13209
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
13210
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
13211
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
13212
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
13213
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
13214
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
13215
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
13216
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
13217
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
13218
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13219
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13220
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
13221
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
13222
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
13723
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
13724
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
13725
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
13726
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
13727
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
13728
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
13729
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
13730
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
13731
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
13732
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
13733
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
13734
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13735
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13736
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
13737
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
13738
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
13223
13739
  #
13224
13740
  # @option params [required, String] :bucket
13225
13741
  # Specifies default encryption for a bucket using server-side encryption
@@ -13227,13 +13743,14 @@ module Aws::S3
13227
13743
  #
13228
13744
  # <b>Directory buckets </b> - When you use this operation with a
13229
13745
  # directory bucket, you must use path-style requests in the format
13230
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
13746
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
13231
13747
  # Virtual-hosted-style requests aren't supported. Directory bucket
13232
- # names must be unique in the chosen Availability Zone. Bucket names
13233
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
13234
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
13235
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
13236
- # the *Amazon S3 User Guide*
13748
+ # names must be unique in the chosen Zone (Availability Zone or Local
13749
+ # Zone). Bucket names must also follow the format `
13750
+ # bucket-base-name--zone-id--x-s3` (for example, `
13751
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
13752
+ # naming restrictions, see [Directory bucket naming rules][1] in the
13753
+ # *Amazon S3 User Guide*
13237
13754
  #
13238
13755
  #
13239
13756
  #
@@ -13317,7 +13834,7 @@ module Aws::S3
13317
13834
  req.send_request(options)
13318
13835
  end
13319
13836
 
13320
- # <note markdown="1"> This operation is not supported by directory buckets.
13837
+ # <note markdown="1"> This operation is not supported for directory buckets.
13321
13838
  #
13322
13839
  # </note>
13323
13840
  #
@@ -13442,7 +13959,7 @@ module Aws::S3
13442
13959
  req.send_request(options)
13443
13960
  end
13444
13961
 
13445
- # <note markdown="1"> This operation is not supported by directory buckets.
13962
+ # <note markdown="1"> This operation is not supported for directory buckets.
13446
13963
  #
13447
13964
  # </note>
13448
13965
  #
@@ -13594,15 +14111,15 @@ module Aws::S3
13594
14111
  req.send_request(options)
13595
14112
  end
13596
14113
 
13597
- # <note markdown="1"> This operation is not supported by directory buckets.
13598
- #
13599
- # </note>
13600
- #
13601
14114
  # For an updated version of this API, see
13602
14115
  # [PutBucketLifecycleConfiguration][1]. This version has been
13603
14116
  # deprecated. Existing lifecycle configurations will work. For new
13604
14117
  # lifecycle configurations, use the updated API.
13605
14118
  #
14119
+ # <note markdown="1"> This operation is not supported for directory buckets.
14120
+ #
14121
+ # </note>
14122
+ #
13606
14123
  # Creates a new lifecycle configuration for the bucket or replaces an
13607
14124
  # existing lifecycle configuration. For information about lifecycle
13608
14125
  # configuration, see [Object Lifecycle Management][2] in the *Amazon S3
@@ -13745,10 +14262,6 @@ module Aws::S3
13745
14262
  req.send_request(options)
13746
14263
  end
13747
14264
 
13748
- # <note markdown="1"> This operation is not supported by directory buckets.
13749
- #
13750
- # </note>
13751
- #
13752
14265
  # Creates a new lifecycle configuration for the bucket or replaces an
13753
14266
  # existing lifecycle configuration. Keep in mind that this will
13754
14267
  # overwrite an existing lifecycle configuration, so if you want to
@@ -13756,7 +14269,19 @@ module Aws::S3
13756
14269
  # lifecycle configuration. For information about lifecycle
13757
14270
  # configuration, see [Managing your storage lifecycle][1].
13758
14271
  #
14272
+ # <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
14273
+ # rule using an object key name prefix, one or more object tags, object
14274
+ # size, or any combination of these. Accordingly, this section describes
14275
+ # the latest API. The previous version of the API supported filtering
14276
+ # based only on an object key name prefix, which is supported for
14277
+ # backward compatibility. For the related API description, see
14278
+ # [PutBucketLifecycle][2].
14279
+ #
14280
+ # </note>
14281
+ #
13759
14282
  # Rules
14283
+ # Permissions
14284
+ # HTTP Host header syntax
13760
14285
  #
13761
14286
  # : You specify the lifecycle configuration in your request body. The
13762
14287
  # lifecycle configuration is specified as XML consisting of one or
@@ -13768,8 +14293,14 @@ module Aws::S3
13768
14293
  # size, or any combination of these. Accordingly, this section
13769
14294
  # describes the latest API. The previous version of the API supported
13770
14295
  # filtering based only on an object key name prefix, which is
13771
- # supported for backward compatibility. For the related API
13772
- # description, see [PutBucketLifecycle][2].
14296
+ # supported for backward compatibility for general purpose buckets.
14297
+ # For the related API description, see [PutBucketLifecycle][2].
14298
+ #
14299
+ # <note markdown="1"> Lifecyle configurations for directory buckets only support expiring
14300
+ # objects and cancelling multipart uploads. Expiring of versioned
14301
+ # objects,transitions and tag filters are not supported.
14302
+ #
14303
+ # </note>
13773
14304
  #
13774
14305
  # A lifecycle rule consists of the following:
13775
14306
  #
@@ -13789,40 +14320,64 @@ module Aws::S3
13789
14320
  #
13790
14321
  # For more information, see [Object Lifecycle Management][3] and
13791
14322
  # [Lifecycle Configuration Elements][4].
14323
+ # : * **General purpose bucket permissions** - By default, all Amazon S3
14324
+ # resources are private, including buckets, objects, and related
14325
+ # subresources (for example, lifecycle configuration and website
14326
+ # configuration). Only the resource owner (that is, the Amazon Web
14327
+ # Services account that created it) can access the resource. The
14328
+ # resource owner can optionally grant access permissions to others
14329
+ # by writing an access policy. For this operation, a user must have
14330
+ # the `s3:PutLifecycleConfiguration` permission.
13792
14331
  #
13793
- # Permissions
14332
+ # You can also explicitly deny permissions. An explicit deny also
14333
+ # supersedes any other permissions. If you want to block users or
14334
+ # accounts from removing or deleting objects from your bucket, you
14335
+ # must deny them permissions for the following actions:
13794
14336
  #
13795
- # : By default, all Amazon S3 resources are private, including buckets,
13796
- # objects, and related subresources (for example, lifecycle
13797
- # configuration and website configuration). Only the resource owner
13798
- # (that is, the Amazon Web Services account that created it) can
13799
- # access the resource. The resource owner can optionally grant access
13800
- # permissions to others by writing an access policy. For this
13801
- # operation, a user must get the `s3:PutLifecycleConfiguration`
13802
- # permission.
14337
+ # * `s3:DeleteObject`
13803
14338
  #
13804
- # You can also explicitly deny permissions. An explicit deny also
13805
- # supersedes any other permissions. If you want to block users or
13806
- # accounts from removing or deleting objects from your bucket, you
13807
- # must deny them permissions for the following actions:
14339
+ # * `s3:DeleteObjectVersion`
13808
14340
  #
13809
- # * `s3:DeleteObject`
14341
+ # * `s3:PutLifecycleConfiguration`
13810
14342
  #
13811
- # * `s3:DeleteObjectVersion`
14343
+ # For more information about permissions, see [Managing Access
14344
+ # Permissions to Your Amazon S3 Resources][5].
14345
+ # ^
13812
14346
  #
13813
- # * `s3:PutLifecycleConfiguration`
14347
+ # * **Directory bucket permissions** - You must have the
14348
+ # `s3express:PutLifecycleConfiguration` permission in an IAM
14349
+ # identity-based policy to use this operation. Cross-account access
14350
+ # to this API operation isn't supported. The resource owner can
14351
+ # optionally grant access permissions to others by creating a role
14352
+ # or user for them as long as they are within the same account as
14353
+ # the owner and resource.
14354
+ #
14355
+ # For more information about directory bucket policies and
14356
+ # permissions, see [Authorizing Regional endpoint APIs with IAM][6]
14357
+ # in the *Amazon S3 User Guide*.
13814
14358
  #
13815
- # For more information about permissions, see [Managing Access
13816
- # Permissions to Your Amazon S3 Resources][5].
14359
+ # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
14360
+ # requests for this API operation to the Regional endpoint. These
14361
+ # endpoints support path-style requests in the format
14362
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name
14363
+ # `. Virtual-hosted-style requests aren't supported. For more
14364
+ # information about endpoints in Availability Zones, see [Regional
14365
+ # and Zonal endpoints for directory buckets in Availability
14366
+ # Zones][7] in the *Amazon S3 User Guide*. For more information
14367
+ # about endpoints in Local Zones, see [Available Local Zone for
14368
+ # directory buckets][8] in the *Amazon S3 User Guide*.
13817
14369
  #
13818
- # The following operations are related to
13819
- # `PutBucketLifecycleConfiguration`:
14370
+ # </note>
13820
14371
  #
13821
- # * [Examples of Lifecycle Configuration][6]
14372
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is
14373
+ # `s3express-control.region.amazonaws.com`.
13822
14374
  #
13823
- # * [GetBucketLifecycleConfiguration][7]
14375
+ # The following operations are related to
14376
+ # `PutBucketLifecycleConfiguration`:
13824
14377
  #
13825
- # * [DeleteBucketLifecycle][8]
14378
+ # * [GetBucketLifecycleConfiguration][9]
14379
+ #
14380
+ # * [DeleteBucketLifecycle][10]
13826
14381
  #
13827
14382
  #
13828
14383
  #
@@ -13831,9 +14386,11 @@ module Aws::S3
13831
14386
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13832
14387
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
13833
14388
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13834
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
13835
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
13836
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
14389
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14390
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
14391
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14392
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14393
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
13837
14394
  #
13838
14395
  # @option params [required, String] :bucket
13839
14396
  # The name of the bucket for which to set the configuration.
@@ -13862,10 +14419,20 @@ module Aws::S3
13862
14419
  # you provide does not match the actual owner of the bucket, the request
13863
14420
  # fails with the HTTP status code `403 Forbidden` (access denied).
13864
14421
  #
14422
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14423
+ # supported for directory bucket lifecycle configurations.
14424
+ #
14425
+ # </note>
14426
+ #
13865
14427
  # @option params [String] :transition_default_minimum_object_size
13866
14428
  # Indicates which default minimum object size behavior is applied to the
13867
14429
  # lifecycle configuration.
13868
14430
  #
14431
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
14432
+ # supported for directory bucket lifecycle configurations.
14433
+ #
14434
+ # </note>
14435
+ #
13869
14436
  # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
13870
14437
  # transition to any storage class by default.
13871
14438
  #
@@ -13989,7 +14556,7 @@ module Aws::S3
13989
14556
  req.send_request(options)
13990
14557
  end
13991
14558
 
13992
- # <note markdown="1"> This operation is not supported by directory buckets.
14559
+ # <note markdown="1"> This operation is not supported for directory buckets.
13993
14560
  #
13994
14561
  # </note>
13995
14562
  #
@@ -14172,7 +14739,7 @@ module Aws::S3
14172
14739
  req.send_request(options)
14173
14740
  end
14174
14741
 
14175
- # <note markdown="1"> This operation is not supported by directory buckets.
14742
+ # <note markdown="1"> This operation is not supported for directory buckets.
14176
14743
  #
14177
14744
  # </note>
14178
14745
  #
@@ -14276,7 +14843,7 @@ module Aws::S3
14276
14843
  req.send_request(options)
14277
14844
  end
14278
14845
 
14279
- # <note markdown="1"> This operation is not supported by directory buckets.
14846
+ # <note markdown="1"> This operation is not supported for directory buckets.
14280
14847
  #
14281
14848
  # </note>
14282
14849
  #
@@ -14362,7 +14929,7 @@ module Aws::S3
14362
14929
  req.send_request(options)
14363
14930
  end
14364
14931
 
14365
- # <note markdown="1"> This operation is not supported by directory buckets.
14932
+ # <note markdown="1"> This operation is not supported for directory buckets.
14366
14933
  #
14367
14934
  # </note>
14368
14935
  #
@@ -14546,7 +15113,7 @@ module Aws::S3
14546
15113
  req.send_request(options)
14547
15114
  end
14548
15115
 
14549
- # <note markdown="1"> This operation is not supported by directory buckets.
15116
+ # <note markdown="1"> This operation is not supported for directory buckets.
14550
15117
  #
14551
15118
  # </note>
14552
15119
  #
@@ -14620,9 +15187,13 @@ module Aws::S3
14620
15187
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
14621
15188
  # requests for this API operation to the Regional endpoint. These
14622
15189
  # endpoints support path-style requests in the format
14623
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
14624
- # Virtual-hosted-style requests aren't supported. For more information,
14625
- # see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
15190
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
15191
+ # Virtual-hosted-style requests aren't supported. For more information
15192
+ # about endpoints in Availability Zones, see [Regional and Zonal
15193
+ # endpoints for directory buckets in Availability Zones][1] in the
15194
+ # *Amazon S3 User Guide*. For more information about endpoints in Local
15195
+ # Zones, see [Available Local Zone for directory buckets][2] in the
15196
+ # *Amazon S3 User Guide*.
14626
15197
  #
14627
15198
  # </note>
14628
15199
  #
@@ -14652,7 +15223,7 @@ module Aws::S3
14652
15223
  # * **General purpose bucket permissions** - The `s3:PutBucketPolicy`
14653
15224
  # permission is required in a policy. For more information about
14654
15225
  # general purpose buckets bucket policies, see [Using Bucket
14655
- # Policies and User Policies][2] in the *Amazon S3 User Guide*.
15226
+ # Policies and User Policies][3] in the *Amazon S3 User Guide*.
14656
15227
  #
14657
15228
  # * **Directory bucket permissions** - To grant access to this API
14658
15229
  # operation, you must have the `s3express:PutBucketPolicy`
@@ -14662,49 +15233,51 @@ module Aws::S3
14662
15233
  # Services account that owns the resource. For more information
14663
15234
  # about directory bucket policies and permissions, see [Amazon Web
14664
15235
  # Services Identity and Access Management (IAM) for S3 Express One
14665
- # Zone][3] in the *Amazon S3 User Guide*.
15236
+ # Zone][4] in the *Amazon S3 User Guide*.
14666
15237
  #
14667
15238
  # Example bucket policies
14668
15239
  #
14669
15240
  # : **General purpose buckets example bucket policies** - See [Bucket
14670
- # policy examples][4] in the *Amazon S3 User Guide*.
15241
+ # policy examples][5] in the *Amazon S3 User Guide*.
14671
15242
  #
14672
15243
  # **Directory bucket example bucket policies** - See [Example bucket
14673
- # policies for S3 Express One Zone][5] in the *Amazon S3 User Guide*.
15244
+ # policies for S3 Express One Zone][6] in the *Amazon S3 User Guide*.
14674
15245
  #
14675
15246
  # HTTP Host header syntax
14676
15247
  #
14677
15248
  # : <b>Directory buckets </b> - The HTTP Host header syntax is
14678
- # `s3express-control.region.amazonaws.com`.
15249
+ # `s3express-control.region-code.amazonaws.com`.
14679
15250
  #
14680
15251
  # The following operations are related to `PutBucketPolicy`:
14681
15252
  #
14682
- # * [CreateBucket][6]
15253
+ # * [CreateBucket][7]
14683
15254
  #
14684
- # * [DeleteBucket][7]
15255
+ # * [DeleteBucket][8]
14685
15256
  #
14686
15257
  #
14687
15258
  #
14688
15259
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
14689
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
14690
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14691
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
14692
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
14693
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14694
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
15260
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
15261
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
15262
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
15263
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
15264
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
15265
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
15266
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
14695
15267
  #
14696
15268
  # @option params [required, String] :bucket
14697
15269
  # The name of the bucket.
14698
15270
  #
14699
15271
  # <b>Directory buckets </b> - When you use this operation with a
14700
15272
  # directory bucket, you must use path-style requests in the format
14701
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
15273
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
14702
15274
  # Virtual-hosted-style requests aren't supported. Directory bucket
14703
- # names must be unique in the chosen Availability Zone. Bucket names
14704
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
14705
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
14706
- # bucket naming restrictions, see [Directory bucket naming rules][1] in
14707
- # the *Amazon S3 User Guide*
15275
+ # names must be unique in the chosen Zone (Availability Zone or Local
15276
+ # Zone). Bucket names must also follow the format `
15277
+ # bucket-base-name--zone-id--x-s3` (for example, `
15278
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
15279
+ # naming restrictions, see [Directory bucket naming rules][1] in the
15280
+ # *Amazon S3 User Guide*
14708
15281
  #
14709
15282
  #
14710
15283
  #
@@ -14815,7 +15388,7 @@ module Aws::S3
14815
15388
  req.send_request(options)
14816
15389
  end
14817
15390
 
14818
- # <note markdown="1"> This operation is not supported by directory buckets.
15391
+ # <note markdown="1"> This operation is not supported for directory buckets.
14819
15392
  #
14820
15393
  # </note>
14821
15394
  #
@@ -15053,7 +15626,7 @@ module Aws::S3
15053
15626
  req.send_request(options)
15054
15627
  end
15055
15628
 
15056
- # <note markdown="1"> This operation is not supported by directory buckets.
15629
+ # <note markdown="1"> This operation is not supported for directory buckets.
15057
15630
  #
15058
15631
  # </note>
15059
15632
  #
@@ -15150,7 +15723,7 @@ module Aws::S3
15150
15723
  req.send_request(options)
15151
15724
  end
15152
15725
 
15153
- # <note markdown="1"> This operation is not supported by directory buckets.
15726
+ # <note markdown="1"> This operation is not supported for directory buckets.
15154
15727
  #
15155
15728
  # </note>
15156
15729
  #
@@ -15301,15 +15874,17 @@ module Aws::S3
15301
15874
  req.send_request(options)
15302
15875
  end
15303
15876
 
15304
- # <note markdown="1"> This operation is not supported by directory buckets.
15877
+ # <note markdown="1"> This operation is not supported for directory buckets.
15305
15878
  #
15306
15879
  # </note>
15307
15880
  #
15308
15881
  # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
15309
- # take a short amount of time for the change to be fully propagated. We
15310
- # recommend that you wait for 15 minutes after enabling versioning
15311
- # before issuing write operations (`PUT` or `DELETE`) on objects in the
15312
- # bucket.
15882
+ # take a short amount of time for the change to be fully propagated.
15883
+ # While this change is propagating, you may encounter intermittent `HTTP
15884
+ # 404 NoSuchKey` errors for requests to objects created or updated after
15885
+ # enabling versioning. We recommend that you wait for 15 minutes after
15886
+ # enabling versioning before issuing write operations (`PUT` or
15887
+ # `DELETE`) on objects in the bucket.
15313
15888
  #
15314
15889
  # </note>
15315
15890
  #
@@ -15440,7 +16015,7 @@ module Aws::S3
15440
16015
  req.send_request(options)
15441
16016
  end
15442
16017
 
15443
- # <note markdown="1"> This operation is not supported by directory buckets.
16018
+ # <note markdown="1"> This operation is not supported for directory buckets.
15444
16019
  #
15445
16020
  # </note>
15446
16021
  #
@@ -15640,9 +16215,13 @@ module Aws::S3
15640
16215
  # * **Directory buckets** - For directory buckets, you must make
15641
16216
  # requests for this API operation to the Zonal endpoint. These
15642
16217
  # endpoints support virtual-hosted-style requests in the format
15643
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
15644
- # `. Path-style requests are not supported. For more information, see
15645
- # [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
16218
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
16219
+ # `. Path-style requests are not supported. For more information about
16220
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints
16221
+ # for directory buckets in Availability Zones][1] in the *Amazon S3
16222
+ # User Guide*. For more information about endpoints in Local Zones,
16223
+ # see [Available Local Zone for directory buckets][2] in the *Amazon
16224
+ # S3 User Guide*.
15646
16225
  #
15647
16226
  # </note>
15648
16227
  #
@@ -15652,7 +16231,7 @@ module Aws::S3
15652
16231
  # modify this behavior:
15653
16232
  #
15654
16233
  # * **S3 Object Lock** - To prevent objects from being deleted or
15655
- # overwritten, you can use [Amazon S3 Object Lock][2] in the *Amazon
16234
+ # overwritten, you can use [Amazon S3 Object Lock][3] in the *Amazon
15656
16235
  # S3 User Guide*.
15657
16236
  #
15658
16237
  # <note markdown="1"> This functionality is not supported for directory buckets.
@@ -15666,9 +16245,9 @@ module Aws::S3
15666
16245
  # automatically generates a unique version ID of that object being
15667
16246
  # stored in Amazon S3. You can retrieve, replace, or delete any
15668
16247
  # version of the object. For more information about versioning, see
15669
- # [Adding Objects to Versioning-Enabled Buckets][3] in the *Amazon S3
16248
+ # [Adding Objects to Versioning-Enabled Buckets][4] in the *Amazon S3
15670
16249
  # User Guide*. For information about returning the versioning state of
15671
- # a bucket, see [GetBucketVersioning][4].
16250
+ # a bucket, see [GetBucketVersioning][5].
15672
16251
  #
15673
16252
  # <note markdown="1"> This functionality is not supported for directory buckets.
15674
16253
  #
@@ -15692,7 +16271,7 @@ module Aws::S3
15692
16271
  # `s3:PutObjectTagging`.
15693
16272
  # * **Directory bucket permissions** - To grant access to this API
15694
16273
  # operation on a directory bucket, we recommend that you use the [
15695
- # `CreateSession` ][5] API operation for session-based
16274
+ # `CreateSession` ][6] API operation for session-based
15696
16275
  # authorization. Specifically, you grant the
15697
16276
  # `s3express:CreateSession` permission to the directory bucket in a
15698
16277
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -15703,7 +16282,7 @@ module Aws::S3
15703
16282
  # token for use. Amazon Web Services CLI or SDKs create session and
15704
16283
  # refresh the session token automatically to avoid service
15705
16284
  # interruptions when a session expires. For more information about
15706
- # authorization, see [ `CreateSession` ][5].
16285
+ # authorization, see [ `CreateSession` ][6].
15707
16286
  #
15708
16287
  # If the object is encrypted with SSE-KMS, you must also have the
15709
16288
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -15724,23 +16303,24 @@ module Aws::S3
15724
16303
  # HTTP Host header syntax
15725
16304
  #
15726
16305
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
15727
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
16306
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
15728
16307
  #
15729
16308
  # For more information about related Amazon S3 APIs, see the following:
15730
16309
  #
15731
- # * [CopyObject][6]
16310
+ # * [CopyObject][7]
15732
16311
  #
15733
- # * [DeleteObject][7]
16312
+ # * [DeleteObject][8]
15734
16313
  #
15735
16314
  #
15736
16315
  #
15737
16316
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
15738
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
15739
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
15740
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
15741
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
15742
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
15743
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
16317
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
16318
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
16319
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
16320
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
16321
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
16322
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
16323
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
15744
16324
  #
15745
16325
  # @option params [String] :acl
15746
16326
  # The canned ACL to apply to the object. For more information, see
@@ -15788,10 +16368,10 @@ module Aws::S3
15788
16368
  #
15789
16369
  # **Directory buckets** - When you use this operation with a directory
15790
16370
  # bucket, you must use virtual-hosted-style requests in the format `
15791
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
15792
- # are not supported. Directory bucket names must be unique in the chosen
15793
- # Availability Zone. Bucket names must follow the format `
15794
- # bucket_base_name--az-id--x-s3` (for example, `
16371
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
16372
+ # requests are not supported. Directory bucket names must be unique in
16373
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
16374
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
15795
16375
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
15796
16376
  # naming restrictions, see [Directory bucket naming rules][1] in the
15797
16377
  # *Amazon S3 User Guide*.
@@ -15999,6 +16579,26 @@ module Aws::S3
15999
16579
  #
16000
16580
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
16001
16581
  #
16582
+ # @option params [String] :if_match
16583
+ # Uploads the object only if the ETag (entity tag) value provided during
16584
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
16585
+ # values do not match, the operation returns a `412 Precondition Failed`
16586
+ # error.
16587
+ #
16588
+ # If a conflicting operation occurs during the upload S3 returns a `409
16589
+ # ConditionalRequestConflict` response. On a 409 failure you should
16590
+ # fetch the object's ETag and retry the upload.
16591
+ #
16592
+ # Expects the ETag value as a string.
16593
+ #
16594
+ # For more information about conditional requests, see [RFC 7232][1], or
16595
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
16596
+ #
16597
+ #
16598
+ #
16599
+ # [1]: https://tools.ietf.org/html/rfc7232
16600
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
16601
+ #
16002
16602
  # @option params [String] :if_none_match
16003
16603
  # Uploads the object only if the object key name does not already exist
16004
16604
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -16058,6 +16658,17 @@ module Aws::S3
16058
16658
  # @option params [required, String] :key
16059
16659
  # Object key for which the PUT action was initiated.
16060
16660
  #
16661
+ # @option params [Integer] :write_offset_bytes
16662
+ # Specifies the offset for appending data to existing objects in bytes.
16663
+ # The offset must be equal to the size of the existing object being
16664
+ # appended to. If no object exists, setting this header to 0 will create
16665
+ # a new object.
16666
+ #
16667
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
16668
+ # Express One Zone storage class in directory buckets.
16669
+ #
16670
+ # </note>
16671
+ #
16061
16672
  # @option params [Hash<String,String>] :metadata
16062
16673
  # A map of metadata to store with the object in S3.
16063
16674
  #
@@ -16360,43 +16971,28 @@ module Aws::S3
16360
16971
  # * {Types::PutObjectOutput#ssekms_key_id #ssekms_key_id} => String
16361
16972
  # * {Types::PutObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
16362
16973
  # * {Types::PutObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
16974
+ # * {Types::PutObjectOutput#size #size} => Integer
16363
16975
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
16364
16976
  #
16365
16977
  #
16366
- # @example Example: To upload an object and specify optional tags
16978
+ # @example Example: To upload an object (specify optional headers)
16367
16979
  #
16368
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
16369
- # # S3 returns version ID of the newly created object.
16980
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
16981
+ # # storage class and use server-side encryption.
16370
16982
  #
16371
16983
  # resp = client.put_object({
16372
- # body: "c:\\HappyFace.jpg",
16984
+ # body: "HappyFace.jpg",
16373
16985
  # bucket: "examplebucket",
16374
16986
  # key: "HappyFace.jpg",
16375
- # tagging: "key1=value1&key2=value2",
16376
- # })
16377
- #
16378
- # resp.to_h outputs the following:
16379
- # {
16380
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16381
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16382
- # }
16383
- #
16384
- # @example Example: To upload an object and specify canned ACL.
16385
- #
16386
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
16387
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
16388
- #
16389
- # resp = client.put_object({
16390
- # acl: "authenticated-read",
16391
- # body: "filetoupload",
16392
- # bucket: "examplebucket",
16393
- # key: "exampleobject",
16987
+ # server_side_encryption: "AES256",
16988
+ # storage_class: "STANDARD_IA",
16394
16989
  # })
16395
16990
  #
16396
16991
  # resp.to_h outputs the following:
16397
16992
  # {
16398
16993
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16399
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16994
+ # server_side_encryption: "AES256",
16995
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
16400
16996
  # }
16401
16997
  #
16402
16998
  # @example Example: To upload an object and specify server-side encryption and object tags
@@ -16440,40 +17036,40 @@ module Aws::S3
16440
17036
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
16441
17037
  # }
16442
17038
  #
16443
- # @example Example: To upload an object (specify optional headers)
17039
+ # @example Example: To upload an object and specify canned ACL.
16444
17040
  #
16445
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
16446
- # # storage class and use server-side encryption.
17041
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17042
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
16447
17043
  #
16448
17044
  # resp = client.put_object({
16449
- # body: "HappyFace.jpg",
17045
+ # acl: "authenticated-read",
17046
+ # body: "filetoupload",
16450
17047
  # bucket: "examplebucket",
16451
- # key: "HappyFace.jpg",
16452
- # server_side_encryption: "AES256",
16453
- # storage_class: "STANDARD_IA",
17048
+ # key: "exampleobject",
16454
17049
  # })
16455
17050
  #
16456
17051
  # resp.to_h outputs the following:
16457
17052
  # {
16458
17053
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16459
- # server_side_encryption: "AES256",
16460
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17054
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
16461
17055
  # }
16462
17056
  #
16463
- # @example Example: To create an object.
17057
+ # @example Example: To upload an object and specify optional tags
16464
17058
  #
16465
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17059
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17060
+ # # S3 returns version ID of the newly created object.
16466
17061
  #
16467
17062
  # resp = client.put_object({
16468
- # body: "filetoupload",
17063
+ # body: "c:\\HappyFace.jpg",
16469
17064
  # bucket: "examplebucket",
16470
- # key: "objectkey",
17065
+ # key: "HappyFace.jpg",
17066
+ # tagging: "key1=value1&key2=value2",
16471
17067
  # })
16472
17068
  #
16473
17069
  # resp.to_h outputs the following:
16474
17070
  # {
16475
17071
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
16476
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17072
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
16477
17073
  # }
16478
17074
  #
16479
17075
  # @example Example: To upload an object
@@ -16493,6 +17089,22 @@ module Aws::S3
16493
17089
  # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
16494
17090
  # }
16495
17091
  #
17092
+ # @example Example: To create an object.
17093
+ #
17094
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17095
+ #
17096
+ # resp = client.put_object({
17097
+ # body: "filetoupload",
17098
+ # bucket: "examplebucket",
17099
+ # key: "objectkey",
17100
+ # })
17101
+ #
17102
+ # resp.to_h outputs the following:
17103
+ # {
17104
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17105
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17106
+ # }
17107
+ #
16496
17108
  # @example Streaming a file from disk
16497
17109
  # # upload file from disk in a single request, may not exceed 5GB
16498
17110
  # File.open('/source/file/path', 'rb') do |file|
@@ -16518,12 +17130,14 @@ module Aws::S3
16518
17130
  # checksum_sha1: "ChecksumSHA1",
16519
17131
  # checksum_sha256: "ChecksumSHA256",
16520
17132
  # expires: Time.now,
17133
+ # if_match: "IfMatch",
16521
17134
  # if_none_match: "IfNoneMatch",
16522
17135
  # grant_full_control: "GrantFullControl",
16523
17136
  # grant_read: "GrantRead",
16524
17137
  # grant_read_acp: "GrantReadACP",
16525
17138
  # grant_write_acp: "GrantWriteACP",
16526
17139
  # key: "ObjectKey", # required
17140
+ # write_offset_bytes: 1,
16527
17141
  # metadata: {
16528
17142
  # "MetadataKey" => "MetadataValue",
16529
17143
  # },
@@ -16559,6 +17173,7 @@ module Aws::S3
16559
17173
  # resp.ssekms_key_id #=> String
16560
17174
  # resp.ssekms_encryption_context #=> String
16561
17175
  # resp.bucket_key_enabled #=> Boolean
17176
+ # resp.size #=> Integer
16562
17177
  # resp.request_charged #=> String, one of "requester"
16563
17178
  #
16564
17179
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject AWS API Documentation
@@ -16570,7 +17185,7 @@ module Aws::S3
16570
17185
  req.send_request(options)
16571
17186
  end
16572
17187
 
16573
- # <note markdown="1"> This operation is not supported by directory buckets.
17188
+ # <note markdown="1"> This operation is not supported for directory buckets.
16574
17189
  #
16575
17190
  # </note>
16576
17191
  #
@@ -16939,7 +17554,7 @@ module Aws::S3
16939
17554
  req.send_request(options)
16940
17555
  end
16941
17556
 
16942
- # <note markdown="1"> This operation is not supported by directory buckets.
17557
+ # <note markdown="1"> This operation is not supported for directory buckets.
16943
17558
  #
16944
17559
  # </note>
16945
17560
  #
@@ -17058,7 +17673,7 @@ module Aws::S3
17058
17673
  req.send_request(options)
17059
17674
  end
17060
17675
 
17061
- # <note markdown="1"> This operation is not supported by directory buckets.
17676
+ # <note markdown="1"> This operation is not supported for directory buckets.
17062
17677
  #
17063
17678
  # </note>
17064
17679
  #
@@ -17177,7 +17792,7 @@ module Aws::S3
17177
17792
  req.send_request(options)
17178
17793
  end
17179
17794
 
17180
- # <note markdown="1"> This operation is not supported by directory buckets.
17795
+ # <note markdown="1"> This operation is not supported for directory buckets.
17181
17796
  #
17182
17797
  # </note>
17183
17798
  #
@@ -17306,7 +17921,7 @@ module Aws::S3
17306
17921
  req.send_request(options)
17307
17922
  end
17308
17923
 
17309
- # <note markdown="1"> This operation is not supported by directory buckets.
17924
+ # <note markdown="1"> This operation is not supported for directory buckets.
17310
17925
  #
17311
17926
  # </note>
17312
17927
  #
@@ -17505,7 +18120,7 @@ module Aws::S3
17505
18120
  req.send_request(options)
17506
18121
  end
17507
18122
 
17508
- # <note markdown="1"> This operation is not supported by directory buckets.
18123
+ # <note markdown="1"> This operation is not supported for directory buckets.
17509
18124
  #
17510
18125
  # </note>
17511
18126
  #
@@ -17613,7 +18228,7 @@ module Aws::S3
17613
18228
  req.send_request(options)
17614
18229
  end
17615
18230
 
17616
- # <note markdown="1"> This operation is not supported by directory buckets.
18231
+ # <note markdown="1"> This operation is not supported for directory buckets.
17617
18232
  #
17618
18233
  # </note>
17619
18234
  #
@@ -17997,7 +18612,7 @@ module Aws::S3
17997
18612
  req.send_request(options)
17998
18613
  end
17999
18614
 
18000
- # <note markdown="1"> This operation is not supported by directory buckets.
18615
+ # <note markdown="1"> This operation is not supported for directory buckets.
18001
18616
  #
18002
18617
  # </note>
18003
18618
  #
@@ -18451,9 +19066,13 @@ module Aws::S3
18451
19066
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
18452
19067
  # for this API operation to the Zonal endpoint. These endpoints support
18453
19068
  # virtual-hosted-style requests in the format
18454
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
18455
- # Path-style requests are not supported. For more information, see
18456
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
19069
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
19070
+ # `. Path-style requests are not supported. For more information about
19071
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
19072
+ # directory buckets in Availability Zones][5] in the *Amazon S3 User
19073
+ # Guide*. For more information about endpoints in Local Zones, see
19074
+ # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
19075
+ # Guide*.
18457
19076
  #
18458
19077
  # </note>
18459
19078
  #
@@ -18470,15 +19089,15 @@ module Aws::S3
18470
19089
  # These permissions are required because Amazon S3 must decrypt and
18471
19090
  # read data from the encrypted file parts before it completes the
18472
19091
  # multipart upload. For more information about KMS permissions, see
18473
- # [Protecting data using server-side encryption with KMS][6] in the
19092
+ # [Protecting data using server-side encryption with KMS][7] in the
18474
19093
  # *Amazon S3 User Guide*. For information about the permissions
18475
19094
  # required to use the multipart upload API, see [Multipart upload
18476
- # and permissions][7] and [Multipart upload API and permissions][8]
19095
+ # and permissions][8] and [Multipart upload API and permissions][9]
18477
19096
  # in the *Amazon S3 User Guide*.
18478
19097
  #
18479
19098
  # * **Directory bucket permissions** - To grant access to this API
18480
19099
  # operation on a directory bucket, we recommend that you use the [
18481
- # `CreateSession` ][9] API operation for session-based
19100
+ # `CreateSession` ][10] API operation for session-based
18482
19101
  # authorization. Specifically, you grant the
18483
19102
  # `s3express:CreateSession` permission to the directory bucket in a
18484
19103
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -18489,7 +19108,7 @@ module Aws::S3
18489
19108
  # token for use. Amazon Web Services CLI or SDKs create session and
18490
19109
  # refresh the session token automatically to avoid service
18491
19110
  # interruptions when a session expires. For more information about
18492
- # authorization, see [ `CreateSession` ][9].
19111
+ # authorization, see [ `CreateSession` ][10].
18493
19112
  #
18494
19113
  # If the object is encrypted with SSE-KMS, you must also have the
18495
19114
  # `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
@@ -18505,7 +19124,7 @@ module Aws::S3
18505
19124
  # then Amazon Web Services S3 uses the `x-amz-content-sha256` header
18506
19125
  # as a checksum instead of `Content-MD5`. For more information see
18507
19126
  # [Authenticating Requests: Using the Authorization Header (Amazon Web
18508
- # Services Signature Version 4)][10].
19127
+ # Services Signature Version 4)][11].
18509
19128
  #
18510
19129
  # <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
18511
19130
  # You can use checksum algorithms to check object integrity.
@@ -18545,7 +19164,7 @@ module Aws::S3
18545
19164
  # * x-amz-server-side-encryption-customer-key
18546
19165
  #
18547
19166
  # * x-amz-server-side-encryption-customer-key-MD5
18548
- # For more information, see [Using Server-Side Encryption][11] in
19167
+ # For more information, see [Using Server-Side Encryption][12] in
18549
19168
  # the *Amazon S3 User Guide*.
18550
19169
  #
18551
19170
  # * <b>Directory buckets </b> - For directory buckets, there are only
@@ -18567,19 +19186,19 @@ module Aws::S3
18567
19186
  # HTTP Host header syntax
18568
19187
  #
18569
19188
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
18570
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
19189
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
18571
19190
  #
18572
19191
  # The following operations are related to `UploadPart`:
18573
19192
  #
18574
19193
  # * [CreateMultipartUpload][2]
18575
19194
  #
18576
- # * [CompleteMultipartUpload][12]
19195
+ # * [CompleteMultipartUpload][13]
18577
19196
  #
18578
- # * [AbortMultipartUpload][13]
19197
+ # * [AbortMultipartUpload][14]
18579
19198
  #
18580
- # * [ListParts][14]
19199
+ # * [ListParts][15]
18581
19200
  #
18582
- # * [ListMultipartUploads][15]
19201
+ # * [ListMultipartUploads][16]
18583
19202
  #
18584
19203
  #
18585
19204
  #
@@ -18588,16 +19207,17 @@ module Aws::S3
18588
19207
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
18589
19208
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
18590
19209
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
18591
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
18592
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
18593
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
18594
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
18595
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
18596
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
18597
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
18598
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
18599
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
18600
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19210
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
19211
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
19212
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
19213
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19214
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
19215
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
19216
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
19217
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19218
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19219
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19220
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
18601
19221
  #
18602
19222
  # @option params [String, StringIO, File] :body
18603
19223
  # Object data.
@@ -18607,10 +19227,10 @@ module Aws::S3
18607
19227
  #
18608
19228
  # **Directory buckets** - When you use this operation with a directory
18609
19229
  # bucket, you must use virtual-hosted-style requests in the format `
18610
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
18611
- # are not supported. Directory bucket names must be unique in the chosen
18612
- # Availability Zone. Bucket names must follow the format `
18613
- # bucket_base_name--az-id--x-s3` (for example, `
19230
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
19231
+ # requests are not supported. Directory bucket names must be unique in
19232
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
19233
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
18614
19234
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
18615
19235
  # naming restrictions, see [Directory bucket naming rules][1] in the
18616
19236
  # *Amazon S3 User Guide*.
@@ -18891,9 +19511,13 @@ module Aws::S3
18891
19511
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
18892
19512
  # for this API operation to the Zonal endpoint. These endpoints support
18893
19513
  # virtual-hosted-style requests in the format
18894
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
18895
- # Path-style requests are not supported. For more information, see
18896
- # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
19514
+ # `https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name
19515
+ # `. Path-style requests are not supported. For more information about
19516
+ # endpoints in Availability Zones, see [Regional and Zonal endpoints for
19517
+ # directory buckets in Availability Zones][5] in the *Amazon S3 User
19518
+ # Guide*. For more information about endpoints in Local Zones, see
19519
+ # [Available Local Zone for directory buckets][6] in the *Amazon S3 User
19520
+ # Guide*.
18897
19521
  #
18898
19522
  # </note>
18899
19523
  #
@@ -18903,7 +19527,7 @@ module Aws::S3
18903
19527
  # using IAM credentials (access key ID and secret access key for the
18904
19528
  # IAM identities). All headers with the `x-amz-` prefix, including
18905
19529
  # `x-amz-copy-source`, must be signed. For more information, see [REST
18906
- # Authentication][6].
19530
+ # Authentication][7].
18907
19531
  #
18908
19532
  # **Directory buckets** - You must use IAM credentials to authenticate
18909
19533
  # and authorize your access to the `UploadPartCopy` API operation,
@@ -18940,11 +19564,11 @@ module Aws::S3
18940
19564
  # permissions are required because Amazon S3 must decrypt and read
18941
19565
  # data from the encrypted file parts before it completes the
18942
19566
  # multipart upload. For more information about KMS permissions,
18943
- # see [Protecting data using server-side encryption with KMS][7]
19567
+ # see [Protecting data using server-side encryption with KMS][8]
18944
19568
  # in the *Amazon S3 User Guide*. For information about the
18945
19569
  # permissions required to use the multipart upload API, see
18946
- # [Multipart upload and permissions][8] and [Multipart upload API
18947
- # and permissions][9] in the *Amazon S3 User Guide*.
19570
+ # [Multipart upload and permissions][9] and [Multipart upload API
19571
+ # and permissions][10] in the *Amazon S3 User Guide*.
18948
19572
  # * **Directory bucket permissions** - You must have permissions in a
18949
19573
  # bucket policy or an IAM identity-based policy based on the source
18950
19574
  # and destination bucket types in an `UploadPartCopy` operation.
@@ -18967,14 +19591,14 @@ module Aws::S3
18967
19591
  # identity-based policies and KMS key policies for the KMS key.
18968
19592
  #
18969
19593
  # For example policies, see [Example bucket policies for S3 Express
18970
- # One Zone][10] and [Amazon Web Services Identity and Access
19594
+ # One Zone][11] and [Amazon Web Services Identity and Access
18971
19595
  # Management (IAM) identity-based policies for S3 Express One
18972
- # Zone][11] in the *Amazon S3 User Guide*.
19596
+ # Zone][12] in the *Amazon S3 User Guide*.
18973
19597
  #
18974
19598
  # Encryption
18975
19599
  # : * <b>General purpose buckets </b> - For information about using
18976
19600
  # server-side encryption with customer-provided encryption keys with
18977
- # the `UploadPartCopy` operation, see [CopyObject][12] and
19601
+ # the `UploadPartCopy` operation, see [CopyObject][13] and
18978
19602
  # [UploadPart][2].
18979
19603
  #
18980
19604
  # * <b>Directory buckets </b> - For directory buckets, there are only
@@ -18982,7 +19606,7 @@ module Aws::S3
18982
19606
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
18983
19607
  # server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
18984
19608
  # more information, see [Protecting data with server-side
18985
- # encryption][13] in the *Amazon S3 User Guide*.
19609
+ # encryption][14] in the *Amazon S3 User Guide*.
18986
19610
  #
18987
19611
  # <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
18988
19612
  # operation and an `UploadPartCopy` operation, the request headers
@@ -18994,7 +19618,7 @@ module Aws::S3
18994
19618
  # S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
18995
19619
  # objects from general purpose buckets to directory buckets, from
18996
19620
  # directory buckets to general purpose buckets, or between directory
18997
- # buckets, through [UploadPartCopy][14]. In this case, Amazon S3
19621
+ # buckets, through [UploadPartCopy][15]. In this case, Amazon S3
18998
19622
  # makes a call to KMS every time a copy request is made for a
18999
19623
  # KMS-encrypted object.
19000
19624
  #
@@ -19016,21 +19640,21 @@ module Aws::S3
19016
19640
  # HTTP Host header syntax
19017
19641
  #
19018
19642
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
19019
- # Bucket_name.s3express-az_id.region.amazonaws.com`.
19643
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
19020
19644
  #
19021
19645
  # The following operations are related to `UploadPartCopy`:
19022
19646
  #
19023
- # * [CreateMultipartUpload][15]
19647
+ # * [CreateMultipartUpload][16]
19024
19648
  #
19025
19649
  # * [UploadPart][2]
19026
19650
  #
19027
- # * [CompleteMultipartUpload][16]
19651
+ # * [CompleteMultipartUpload][17]
19028
19652
  #
19029
- # * [AbortMultipartUpload][17]
19653
+ # * [AbortMultipartUpload][18]
19030
19654
  #
19031
- # * [ListParts][18]
19655
+ # * [ListParts][19]
19032
19656
  #
19033
- # * [ListMultipartUploads][19]
19657
+ # * [ListMultipartUploads][20]
19034
19658
  #
19035
19659
  #
19036
19660
  #
@@ -19039,34 +19663,43 @@ module Aws::S3
19039
19663
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
19040
19664
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
19041
19665
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
19042
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
19043
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
19044
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
19045
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19046
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
19047
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
19048
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
19049
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
19050
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
19051
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
19052
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19053
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19054
- # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19055
- # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19666
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
19667
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
19668
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
19669
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
19670
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19671
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
19672
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
19673
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
19674
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
19675
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
19676
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
19677
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19678
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19679
+ # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19680
+ # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19056
19681
  #
19057
19682
  # @option params [required, String] :bucket
19058
19683
  # The bucket name.
19059
19684
  #
19060
19685
  # **Directory buckets** - When you use this operation with a directory
19061
19686
  # bucket, you must use virtual-hosted-style requests in the format `
19062
- # Bucket_name.s3express-az_id.region.amazonaws.com`. Path-style requests
19063
- # are not supported. Directory bucket names must be unique in the chosen
19064
- # Availability Zone. Bucket names must follow the format `
19065
- # bucket_base_name--az-id--x-s3` (for example, `
19687
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
19688
+ # requests are not supported. Directory bucket names must be unique in
19689
+ # the chosen Zone (Availability Zone or Local Zone). Bucket names must
19690
+ # follow the format ` bucket-base-name--zone-id--x-s3` (for example, `
19066
19691
  # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
19067
19692
  # naming restrictions, see [Directory bucket naming rules][1] in the
19068
19693
  # *Amazon S3 User Guide*.
19069
19694
  #
19695
+ # <note markdown="1"> Copying objects across different Amazon Web Services Regions isn't
19696
+ # supported when the source or destination bucket is in Amazon Web
19697
+ # Services Local Zones. The source and destination buckets must have the
19698
+ # same parent Amazon Web Services Region. Otherwise, you get an HTTP
19699
+ # `400 Bad Request` error with the error code `InvalidRequest`.
19700
+ #
19701
+ # </note>
19702
+ #
19070
19703
  # **Access points** - When you use this action with an access point, you
19071
19704
  # must provide the alias of the access point in place of the bucket name
19072
19705
  # or specify the access point ARN. When using the access point ARN, you
@@ -19338,45 +19971,45 @@ module Aws::S3
19338
19971
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
19339
19972
  #
19340
19973
  #
19341
- # @example Example: To upload a part by copying data from an existing object as data source
19974
+ # @example Example: To upload a part by copying byte range from an existing object as data source
19342
19975
  #
19343
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
19976
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
19977
+ # # data source.
19344
19978
  #
19345
19979
  # resp = client.upload_part_copy({
19346
19980
  # bucket: "examplebucket",
19347
19981
  # copy_source: "/bucketname/sourceobjectkey",
19982
+ # copy_source_range: "bytes=1-100000",
19348
19983
  # key: "examplelargeobject",
19349
- # part_number: 1,
19984
+ # part_number: 2,
19350
19985
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
19351
19986
  # })
19352
19987
  #
19353
19988
  # resp.to_h outputs the following:
19354
19989
  # {
19355
19990
  # copy_part_result: {
19356
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
19357
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
19991
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
19992
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
19358
19993
  # },
19359
19994
  # }
19360
19995
  #
19361
- # @example Example: To upload a part by copying byte range from an existing object as data source
19996
+ # @example Example: To upload a part by copying data from an existing object as data source
19362
19997
  #
19363
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
19364
- # # data source.
19998
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
19365
19999
  #
19366
20000
  # resp = client.upload_part_copy({
19367
20001
  # bucket: "examplebucket",
19368
20002
  # copy_source: "/bucketname/sourceobjectkey",
19369
- # copy_source_range: "bytes=1-100000",
19370
20003
  # key: "examplelargeobject",
19371
- # part_number: 2,
20004
+ # part_number: 1,
19372
20005
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
19373
20006
  # })
19374
20007
  #
19375
20008
  # resp.to_h outputs the following:
19376
20009
  # {
19377
20010
  # copy_part_result: {
19378
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
19379
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20011
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20012
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
19380
20013
  # },
19381
20014
  # }
19382
20015
  #
@@ -19429,7 +20062,7 @@ module Aws::S3
19429
20062
  req.send_request(options)
19430
20063
  end
19431
20064
 
19432
- # <note markdown="1"> This operation is not supported by directory buckets.
20065
+ # <note markdown="1"> This operation is not supported for directory buckets.
19433
20066
  #
19434
20067
  # </note>
19435
20068
  #
@@ -19838,7 +20471,7 @@ module Aws::S3
19838
20471
  tracer: tracer
19839
20472
  )
19840
20473
  context[:gem_name] = 'aws-sdk-s3'
19841
- context[:gem_version] = '1.172.0'
20474
+ context[:gem_version] = '1.176.1'
19842
20475
  Seahorse::Client::Request.new(handlers, context)
19843
20476
  end
19844
20477