aws-sdk-s3 1.172.0 → 1.176.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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