aws-sdk-s3 1.157.0 → 1.159.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -544,12 +544,20 @@ module Aws::S3
544
544
  # for the part storage, you should call the [ListParts][1] API operation
545
545
  # and ensure that the parts list is empty.
546
546
  #
547
- # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
548
- # for this API operation to the Zonal endpoint. These endpoints support
549
- # virtual-hosted-style requests in the format
550
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
551
- # Path-style requests are not supported. For more information, see
552
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
547
+ # <note markdown="1"> * **Directory buckets** - If multipart uploads in a directory bucket
548
+ # are in progress, you can't delete the bucket until all the
549
+ # in-progress multipart uploads are aborted or completed. To delete
550
+ # these in-progress multipart uploads, use the `ListMultipartUploads`
551
+ # operation to list the in-progress multipart uploads in the bucket
552
+ # and use the `AbortMultupartUpload` operation to abort all the
553
+ # in-progress multipart uploads.
554
+ #
555
+ # * **Directory buckets** - For directory buckets, you must make
556
+ # requests for this API operation to the Zonal endpoint. These
557
+ # endpoints support virtual-hosted-style requests in the format
558
+ # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
559
+ # `. Path-style requests are not supported. For more information, see
560
+ # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
553
561
  #
554
562
  # </note>
555
563
  #
@@ -789,6 +797,12 @@ module Aws::S3
789
797
  # interruptions when a session expires. For more information about
790
798
  # authorization, see [ `CreateSession` ][7].
791
799
  #
800
+ # * If you provide an [additional checksum value][8] in your
801
+ # `MultipartUpload` requests and the object is encrypted with Key
802
+ # Management Service, you must have permission to use the
803
+ # `kms:Decrypt` action for the `CompleteMultipartUpload` request to
804
+ # succeed.
805
+ #
792
806
  # Special errors
793
807
  # : * Error Code: `EntityTooSmall`
794
808
  #
@@ -828,15 +842,15 @@ module Aws::S3
828
842
  #
829
843
  # The following operations are related to `CompleteMultipartUpload`:
830
844
  #
831
- # * [CreateMultipartUpload][8]
845
+ # * [CreateMultipartUpload][9]
832
846
  #
833
847
  # * [UploadPart][1]
834
848
  #
835
- # * [AbortMultipartUpload][9]
849
+ # * [AbortMultipartUpload][10]
836
850
  #
837
- # * [ListParts][10]
851
+ # * [ListParts][11]
838
852
  #
839
- # * [ListMultipartUploads][11]
853
+ # * [ListMultipartUploads][12]
840
854
  #
841
855
  #
842
856
  #
@@ -847,10 +861,11 @@ module Aws::S3
847
861
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
848
862
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
849
863
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
850
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
851
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
852
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
853
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
864
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
865
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
866
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
867
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
868
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
854
869
  #
855
870
  # @option params [required, String] :bucket
856
871
  # Name of the bucket to which the multipart upload was initiated.
@@ -971,6 +986,26 @@ module Aws::S3
971
986
  # you provide does not match the actual owner of the bucket, the request
972
987
  # fails with the HTTP status code `403 Forbidden` (access denied).
973
988
  #
989
+ # @option params [String] :if_none_match
990
+ # Uploads the object only if the object key name does not already exist
991
+ # in the bucket specified. Otherwise, Amazon S3 returns a `412
992
+ # Precondition Failed` error.
993
+ #
994
+ # If a conflicting operation occurs during the upload S3 returns a `409
995
+ # ConditionalRequestConflict` response. On a 409 failure you should
996
+ # re-initiate the multipart upload with `CreateMultipartUpload` and
997
+ # re-upload each part.
998
+ #
999
+ # Expects the '*' (asterisk) character.
1000
+ #
1001
+ # For more information about conditional requests, see [RFC 7232][1], or
1002
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
1003
+ #
1004
+ #
1005
+ #
1006
+ # [1]: https://tools.ietf.org/html/rfc7232
1007
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
1008
+ #
974
1009
  # @option params [String] :sse_customer_algorithm
975
1010
  # The server-side encryption (SSE) algorithm used to encrypt the object.
976
1011
  # This parameter is required only when the object was created using a
@@ -1086,6 +1121,7 @@ module Aws::S3
1086
1121
  # checksum_sha256: "ChecksumSHA256",
1087
1122
  # request_payer: "requester", # accepts requester
1088
1123
  # expected_bucket_owner: "AccountId",
1124
+ # if_none_match: "IfNoneMatch",
1089
1125
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1090
1126
  # sse_customer_key: "SSECustomerKey",
1091
1127
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -1132,12 +1168,20 @@ module Aws::S3
1132
1168
  # between directory buckets, and between general purpose buckets and
1133
1169
  # directory buckets.
1134
1170
  #
1135
- # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
1136
- # requests for this API operation to the Zonal endpoint. These endpoints
1137
- # support virtual-hosted-style requests in the format
1138
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
1139
- # Path-style requests are not supported. For more information, see
1140
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
1171
+ # <note markdown="1"> * Amazon S3 supports copy operations using Multi-Region Access Points
1172
+ # only as a destination when using the Multi-Region Access Point ARN.
1173
+ #
1174
+ # * <b>Directory buckets </b> - For directory buckets, you must make
1175
+ # requests for this API operation to the Zonal endpoint. These
1176
+ # endpoints support virtual-hosted-style requests in the format
1177
+ # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
1178
+ # `. Path-style requests are not supported. For more information, see
1179
+ # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
1180
+ #
1181
+ # * VPC endpoints don't support cross-Region requests (including
1182
+ # copies). If you're using VPC endpoints, your source and destination
1183
+ # buckets should be in the same Amazon Web Services Region as your VPC
1184
+ # endpoint.
1141
1185
  #
1142
1186
  # </note>
1143
1187
  #
@@ -2454,24 +2498,23 @@ module Aws::S3
2454
2498
  # Version 4)][5] in the *Amazon S3 User Guide*.
2455
2499
  #
2456
2500
  # Permissions
2457
- # : * **General purpose bucket permissions** - For information about the
2458
- # permissions required to use the multipart upload API, see
2459
- # [Multipart upload and permissions][6] in the *Amazon S3 User
2460
- # Guide*.
2461
- #
2462
- # To perform a multipart upload with encryption by using an Amazon
2463
- # Web Services KMS key, the requester must have permission to the
2464
- # `kms:Decrypt` and `kms:GenerateDataKey*` actions on the key. These
2465
- # permissions are required because Amazon S3 must decrypt and read
2466
- # data from the encrypted file parts before it completes the
2467
- # multipart upload. For more information, see [Multipart upload API
2468
- # and permissions][7] and [Protecting data using server-side
2469
- # encryption with Amazon Web Services KMS][8] in the *Amazon S3 User
2470
- # Guide*.
2501
+ # : * **General purpose bucket permissions** - To perform a multipart
2502
+ # upload with encryption using an Key Management Service (KMS) KMS
2503
+ # key, the requester must have permission to the `kms:Decrypt` and
2504
+ # `kms:GenerateDataKey` actions on the key. The requester must also
2505
+ # have permissions for the `kms:GenerateDataKey` action for the
2506
+ # `CreateMultipartUpload` API. Then, the requester needs permissions
2507
+ # for the `kms:Decrypt` action on the `UploadPart` and
2508
+ # `UploadPartCopy` APIs. These permissions are required because
2509
+ # Amazon S3 must decrypt and read data from the encrypted file parts
2510
+ # before it completes the multipart upload. For more information,
2511
+ # see [Multipart upload API and permissions][6] and [Protecting data
2512
+ # using server-side encryption with Amazon Web Services KMS][7] in
2513
+ # the *Amazon S3 User Guide*.
2471
2514
  #
2472
2515
  # * **Directory bucket permissions** - To grant access to this API
2473
2516
  # operation on a directory bucket, we recommend that you use the [
2474
- # `CreateSession` ][9] API operation for session-based
2517
+ # `CreateSession` ][8] API operation for session-based
2475
2518
  # authorization. Specifically, you grant the
2476
2519
  # `s3express:CreateSession` permission to the directory bucket in a
2477
2520
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -2482,7 +2525,7 @@ module Aws::S3
2482
2525
  # token for use. Amazon Web Services CLI or SDKs create session and
2483
2526
  # refresh the session token automatically to avoid service
2484
2527
  # interruptions when a session expires. For more information about
2485
- # authorization, see [ `CreateSession` ][9].
2528
+ # authorization, see [ `CreateSession` ][8].
2486
2529
  #
2487
2530
  # Encryption
2488
2531
  # : * **General purpose buckets** - Server-side encryption is for data
@@ -2509,7 +2552,7 @@ module Aws::S3
2509
2552
  # the destination bucket, the encryption setting in your request
2510
2553
  # takes precedence. If you choose to provide your own encryption
2511
2554
  # key, the request headers you provide in [UploadPart][1] and
2512
- # [UploadPartCopy][10] requests must match the headers you used in
2555
+ # [UploadPartCopy][9] requests must match the headers you used in
2513
2556
  # the `CreateMultipartUpload` request.
2514
2557
  #
2515
2558
  # * Use KMS keys (SSE-KMS) that include the Amazon Web Services
@@ -2535,9 +2578,9 @@ module Aws::S3
2535
2578
  # actions on the key. These permissions are required because
2536
2579
  # Amazon S3 must decrypt and read data from the encrypted file
2537
2580
  # parts before it completes the multipart upload. For more
2538
- # information, see [Multipart upload API and permissions][7] and
2581
+ # information, see [Multipart upload API and permissions][6] and
2539
2582
  # [Protecting data using server-side encryption with Amazon Web
2540
- # Services KMS][8] in the *Amazon S3 User Guide*.
2583
+ # Services KMS][7] in the *Amazon S3 User Guide*.
2541
2584
  #
2542
2585
  # * If your Identity and Access Management (IAM) user or role is
2543
2586
  # in the same Amazon Web Services account as the KMS key, then
@@ -2552,13 +2595,13 @@ module Aws::S3
2552
2595
  # For information about configuring any of the officially
2553
2596
  # supported Amazon Web Services SDKs and Amazon Web Services
2554
2597
  # CLI, see [Specifying the Signature Version in Request
2555
- # Authentication][11] in the *Amazon S3 User Guide*.
2598
+ # Authentication][10] in the *Amazon S3 User Guide*.
2556
2599
  #
2557
2600
  # </note>
2558
2601
  #
2559
2602
  # For more information about server-side encryption with KMS keys
2560
2603
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption
2561
- # with KMS keys][8] in the *Amazon S3 User Guide*.
2604
+ # with KMS keys][7] in the *Amazon S3 User Guide*.
2562
2605
  #
2563
2606
  # * Use customer-provided encryption keys (SSE-C) – If you want to
2564
2607
  # manage your own encryption keys, provide all the following
@@ -2573,7 +2616,7 @@ module Aws::S3
2573
2616
  # For more information about server-side encryption with
2574
2617
  # customer-provided encryption keys (SSE-C), see [ Protecting data
2575
2618
  # using server-side encryption with customer-provided encryption
2576
- # keys (SSE-C)][12] in the *Amazon S3 User Guide*.
2619
+ # keys (SSE-C)][11] in the *Amazon S3 User Guide*.
2577
2620
  #
2578
2621
  # * **Directory buckets** -For directory buckets, only server-side
2579
2622
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
@@ -2588,13 +2631,13 @@ module Aws::S3
2588
2631
  #
2589
2632
  # * [UploadPart][1]
2590
2633
  #
2591
- # * [CompleteMultipartUpload][13]
2634
+ # * [CompleteMultipartUpload][12]
2592
2635
  #
2593
- # * [AbortMultipartUpload][14]
2636
+ # * [AbortMultipartUpload][13]
2594
2637
  #
2595
- # * [ListParts][15]
2638
+ # * [ListParts][14]
2596
2639
  #
2597
- # * [ListMultipartUploads][16]
2640
+ # * [ListMultipartUploads][15]
2598
2641
  #
2599
2642
  #
2600
2643
  #
@@ -2603,17 +2646,16 @@ module Aws::S3
2603
2646
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
2604
2647
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
2605
2648
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
2606
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
2607
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
2608
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2609
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
2610
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
2611
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
2612
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2613
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2614
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2615
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2616
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2649
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
2650
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2651
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
2652
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
2653
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
2654
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2655
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2656
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2657
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2658
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2617
2659
  #
2618
2660
  # @option params [String] :acl
2619
2661
  # The canned ACL to apply to the object. Amazon S3 supports a set of
@@ -4498,6 +4540,15 @@ module Aws::S3
4498
4540
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
4499
4541
  #
4500
4542
  #
4543
+ # @example Example: To delete an object (from a non-versioned bucket)
4544
+ #
4545
+ # # The following example deletes an object from a non-versioned bucket.
4546
+ #
4547
+ # resp = client.delete_object({
4548
+ # bucket: "ExampleBucket",
4549
+ # key: "HappyFace.jpg",
4550
+ # })
4551
+ #
4501
4552
  # @example Example: To delete an object
4502
4553
  #
4503
4554
  # # The following example deletes an object from an S3 bucket.
@@ -4511,15 +4562,6 @@ module Aws::S3
4511
4562
  # {
4512
4563
  # }
4513
4564
  #
4514
- # @example Example: To delete an object (from a non-versioned bucket)
4515
- #
4516
- # # The following example deletes an object from a non-versioned bucket.
4517
- #
4518
- # resp = client.delete_object({
4519
- # bucket: "ExampleBucket",
4520
- # key: "HappyFace.jpg",
4521
- # })
4522
- #
4523
4565
  # @example Request syntax with placeholder values
4524
4566
  #
4525
4567
  # resp = client.delete_object({
@@ -7663,6 +7705,15 @@ module Aws::S3
7663
7705
  # @option params [String] :checksum_mode
7664
7706
  # To retrieve the checksum, this mode must be enabled.
7665
7707
  #
7708
+ # In addition, if you enable checksum mode and the object is uploaded
7709
+ # with a [checksum][1] and encrypted with an Key Management Service
7710
+ # (KMS) key, you must have permission to use the `kms:Decrypt` action to
7711
+ # retrieve the checksum.
7712
+ #
7713
+ #
7714
+ #
7715
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
7716
+ #
7666
7717
  # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7667
7718
  #
7668
7719
  # * {Types::GetObjectOutput#body #body} => IO
@@ -7704,49 +7755,49 @@ module Aws::S3
7704
7755
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
7705
7756
  #
7706
7757
  #
7707
- # @example Example: To retrieve a byte range of an object
7758
+ # @example Example: To retrieve an object
7708
7759
  #
7709
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
7710
- # # specific byte range.
7760
+ # # The following example retrieves an object for an S3 bucket.
7711
7761
  #
7712
7762
  # resp = client.get_object({
7713
7763
  # bucket: "examplebucket",
7714
- # key: "SampleFile.txt",
7715
- # range: "bytes=0-9",
7764
+ # key: "HappyFace.jpg",
7716
7765
  # })
7717
7766
  #
7718
7767
  # resp.to_h outputs the following:
7719
7768
  # {
7720
7769
  # accept_ranges: "bytes",
7721
- # content_length: 10,
7722
- # content_range: "bytes 0-9/43",
7723
- # content_type: "text/plain",
7724
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
7725
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
7770
+ # content_length: 3191,
7771
+ # content_type: "image/jpeg",
7772
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
7773
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
7726
7774
  # metadata: {
7727
7775
  # },
7776
+ # tag_count: 2,
7728
7777
  # version_id: "null",
7729
7778
  # }
7730
7779
  #
7731
- # @example Example: To retrieve an object
7780
+ # @example Example: To retrieve a byte range of an object
7732
7781
  #
7733
- # # The following example retrieves an object for an S3 bucket.
7782
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
7783
+ # # specific byte range.
7734
7784
  #
7735
7785
  # resp = client.get_object({
7736
7786
  # bucket: "examplebucket",
7737
- # key: "HappyFace.jpg",
7787
+ # key: "SampleFile.txt",
7788
+ # range: "bytes=0-9",
7738
7789
  # })
7739
7790
  #
7740
7791
  # resp.to_h outputs the following:
7741
7792
  # {
7742
7793
  # accept_ranges: "bytes",
7743
- # content_length: 3191,
7744
- # content_type: "image/jpeg",
7745
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
7746
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
7794
+ # content_length: 10,
7795
+ # content_range: "bytes 0-9/43",
7796
+ # content_type: "text/plain",
7797
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
7798
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
7747
7799
  # metadata: {
7748
7800
  # },
7749
- # tag_count: 2,
7750
7801
  # version_id: "null",
7751
7802
  # }
7752
7803
  #
@@ -8746,49 +8797,49 @@ module Aws::S3
8746
8797
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
8747
8798
  #
8748
8799
  #
8749
- # @example Example: To retrieve tag set of a specific object version
8800
+ # @example Example: To retrieve tag set of an object
8750
8801
  #
8751
- # # The following example retrieves tag set of an object. The request specifies object version.
8802
+ # # The following example retrieves tag set of an object.
8752
8803
  #
8753
8804
  # resp = client.get_object_tagging({
8754
8805
  # bucket: "examplebucket",
8755
- # key: "exampleobject",
8756
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
8806
+ # key: "HappyFace.jpg",
8757
8807
  # })
8758
8808
  #
8759
8809
  # resp.to_h outputs the following:
8760
8810
  # {
8761
8811
  # tag_set: [
8762
8812
  # {
8763
- # key: "Key1",
8764
- # value: "Value1",
8813
+ # key: "Key4",
8814
+ # value: "Value4",
8815
+ # },
8816
+ # {
8817
+ # key: "Key3",
8818
+ # value: "Value3",
8765
8819
  # },
8766
8820
  # ],
8767
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
8821
+ # version_id: "null",
8768
8822
  # }
8769
8823
  #
8770
- # @example Example: To retrieve tag set of an object
8824
+ # @example Example: To retrieve tag set of a specific object version
8771
8825
  #
8772
- # # The following example retrieves tag set of an object.
8826
+ # # The following example retrieves tag set of an object. The request specifies object version.
8773
8827
  #
8774
8828
  # resp = client.get_object_tagging({
8775
8829
  # bucket: "examplebucket",
8776
- # key: "HappyFace.jpg",
8830
+ # key: "exampleobject",
8831
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
8777
8832
  # })
8778
8833
  #
8779
8834
  # resp.to_h outputs the following:
8780
8835
  # {
8781
8836
  # tag_set: [
8782
8837
  # {
8783
- # key: "Key4",
8784
- # value: "Value4",
8785
- # },
8786
- # {
8787
- # key: "Key3",
8788
- # value: "Value3",
8838
+ # key: "Key1",
8839
+ # value: "Value1",
8789
8840
  # },
8790
8841
  # ],
8791
- # version_id: "null",
8842
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
8792
8843
  # }
8793
8844
  #
8794
8845
  # @example Request syntax with placeholder values
@@ -8997,29 +9048,24 @@ module Aws::S3
8997
9048
  # have permission to access it. The action returns a `200 OK` if the
8998
9049
  # bucket exists and you have permission to access it.
8999
9050
  #
9000
- # If the bucket does not exist or you do not have permission to access
9051
+ # <note markdown="1"> If the bucket does not exist or you do not have permission to access
9001
9052
  # it, the `HEAD` request returns a generic `400 Bad Request`, `403
9002
9053
  # Forbidden` or `404 Not Found` code. A message body is not included, so
9003
9054
  # you cannot determine the exception beyond these HTTP response codes.
9004
9055
  #
9005
- # <note markdown="1"> <b>Directory buckets </b> - You must make requests for this API
9006
- # operation to the Zonal endpoint. These endpoints support
9007
- # virtual-hosted-style requests in the format
9008
- # `https://bucket_name.s3express-az_id.region.amazonaws.com`. Path-style
9009
- # requests are not supported. For more information, see [Regional and
9010
- # Zonal endpoints][1] in the *Amazon S3 User Guide*.
9011
- #
9012
9056
  # </note>
9013
9057
  #
9014
9058
  # Authentication and authorization
9015
9059
  #
9016
- # : All `HeadBucket` requests must be authenticated and signed by using
9017
- # IAM credentials (access key ID and secret access key for the IAM
9018
- # identities). All headers with the `x-amz-` prefix, including
9060
+ # : **General purpose buckets** - Request to public buckets that grant
9061
+ # the s3:ListBucket permission publicly do not need to be signed. All
9062
+ # other `HeadBucket` requests must be authenticated and signed by
9063
+ # using IAM credentials (access key ID and secret access key for the
9064
+ # IAM identities). All headers with the `x-amz-` prefix, including
9019
9065
  # `x-amz-copy-source`, must be signed. For more information, see [REST
9020
- # Authentication][2].
9066
+ # Authentication][1].
9021
9067
  #
9022
- # **Directory bucket** - You must use IAM credentials to authenticate
9068
+ # **Directory buckets** - You must use IAM credentials to authenticate
9023
9069
  # and authorize your access to the `HeadBucket` API operation, instead
9024
9070
  # of using the temporary security credentials through the
9025
9071
  # `CreateSession` API operation.
@@ -9035,7 +9081,7 @@ module Aws::S3
9035
9081
  # you must have permissions to perform the `s3:ListBucket` action.
9036
9082
  # The bucket owner has this permission by default and can grant this
9037
9083
  # permission to others. For more information about permissions, see
9038
- # [Managing access permissions to your Amazon S3 resources][3] in
9084
+ # [Managing access permissions to your Amazon S3 resources][2] in
9039
9085
  # the *Amazon S3 User Guide*.
9040
9086
  #
9041
9087
  # * **Directory bucket permissions** - You must have the <b>
@@ -9046,9 +9092,9 @@ module Aws::S3
9046
9092
  # `ReadOnly` on the bucket.
9047
9093
  #
9048
9094
  # For more information about example bucket policies, see [Example
9049
- # bucket policies for S3 Express One Zone][4] and [Amazon Web
9095
+ # bucket policies for S3 Express One Zone][3] and [Amazon Web
9050
9096
  # Services Identity and Access Management (IAM) identity-based
9051
- # policies for S3 Express One Zone][5] in the *Amazon S3 User
9097
+ # policies for S3 Express One Zone][4] in the *Amazon S3 User
9052
9098
  # Guide*.
9053
9099
  #
9054
9100
  # HTTP Host header syntax
@@ -9056,13 +9102,21 @@ module Aws::S3
9056
9102
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
9057
9103
  # Bucket_name.s3express-az_id.region.amazonaws.com`.
9058
9104
  #
9105
+ # <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
9106
+ # These endpoints support virtual-hosted-style requests in the format
9107
+ # `https://bucket_name.s3express-az_id.region.amazonaws.com`.
9108
+ # Path-style requests are not supported. For more information, see
9109
+ # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
9059
9110
  #
9111
+ # </note>
9060
9112
  #
9061
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
9062
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
9063
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9064
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
9065
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
9113
+ #
9114
+ #
9115
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
9116
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9117
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
9118
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
9119
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
9066
9120
  #
9067
9121
  # @option params [required, String] :bucket
9068
9122
  # The bucket name.
@@ -9170,7 +9224,7 @@ module Aws::S3
9170
9224
  # returning the object itself. This operation is useful if you're
9171
9225
  # interested only in an object's metadata.
9172
9226
  #
9173
- # A `HEAD` request has the same options as a `GET` operation on an
9227
+ # <note markdown="1"> A `HEAD` request has the same options as a `GET` operation on an
9174
9228
  # object. The response is identical to the `GET` response except that
9175
9229
  # there is no response body. Because of this, if the `HEAD` request
9176
9230
  # generates an error, it returns a generic code, such as `400 Bad
@@ -9178,18 +9232,11 @@ module Aws::S3
9178
9232
  # `412 Precondition Failed`, or `304 Not Modified`. It's not possible
9179
9233
  # to retrieve the exact exception of these error codes.
9180
9234
  #
9235
+ # </note>
9236
+ #
9181
9237
  # Request headers are limited to 8 KB in size. For more information, see
9182
9238
  # [Common Request Headers][1].
9183
9239
  #
9184
- # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
9185
- # for this API operation to the Zonal endpoint. These endpoints support
9186
- # virtual-hosted-style requests in the format
9187
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
9188
- # Path-style requests are not supported. For more information, see
9189
- # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
9190
- #
9191
- # </note>
9192
- #
9193
9240
  # Permissions
9194
9241
  #
9195
9242
  # :
@@ -9198,7 +9245,7 @@ module Aws::S3
9198
9245
  # have the `s3:GetObject` permission. You need the relevant read
9199
9246
  # object (or version) permission for this operation. For more
9200
9247
  # information, see [Actions, resources, and condition keys for
9201
- # Amazon S3][3] in the *Amazon S3 User Guide*.
9248
+ # Amazon S3][2] in the *Amazon S3 User Guide*.
9202
9249
  #
9203
9250
  # If the object you request doesn't exist, the error that Amazon S3
9204
9251
  # returns depends on whether you also have the `s3:ListBucket`
@@ -9212,7 +9259,7 @@ module Aws::S3
9212
9259
  #
9213
9260
  # * **Directory bucket permissions** - To grant access to this API
9214
9261
  # operation on a directory bucket, we recommend that you use the [
9215
- # `CreateSession` ][4] API operation for session-based
9262
+ # `CreateSession` ][3] API operation for session-based
9216
9263
  # authorization. Specifically, you grant the
9217
9264
  # `s3express:CreateSession` permission to the directory bucket in a
9218
9265
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -9223,7 +9270,7 @@ module Aws::S3
9223
9270
  # token for use. Amazon Web Services CLI or SDKs create session and
9224
9271
  # refresh the session token automatically to avoid service
9225
9272
  # interruptions when a session expires. For more information about
9226
- # authorization, see [ `CreateSession` ][4].
9273
+ # authorization, see [ `CreateSession` ][3].
9227
9274
  #
9228
9275
  # Encryption
9229
9276
  # : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
@@ -9255,7 +9302,7 @@ module Aws::S3
9255
9302
  # * `x-amz-server-side-encryption-customer-key-MD5`
9256
9303
  #
9257
9304
  # For more information about SSE-C, see [Server-Side Encryption (Using
9258
- # Customer-Provided Encryption Keys)][5] in the *Amazon S3 User
9305
+ # Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
9259
9306
  # Guide*.
9260
9307
  #
9261
9308
  # <note markdown="1"> **Directory bucket permissions** - For directory buckets, only
@@ -9289,6 +9336,15 @@ module Aws::S3
9289
9336
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
9290
9337
  # Bucket_name.s3express-az_id.region.amazonaws.com`.
9291
9338
  #
9339
+ # <note markdown="1"> For directory buckets, you must make requests for this API operation
9340
+ # to the Zonal endpoint. These endpoints support virtual-hosted-style
9341
+ # requests in the format
9342
+ # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
9343
+ # `. Path-style requests are not supported. For more information, see
9344
+ # [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
9345
+ #
9346
+ # </note>
9347
+ #
9292
9348
  # The following actions are related to `HeadObject`:
9293
9349
  #
9294
9350
  # * [GetObject][6]
@@ -9298,10 +9354,10 @@ module Aws::S3
9298
9354
  #
9299
9355
  #
9300
9356
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
9301
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
9302
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
9303
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
9304
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9357
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
9358
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
9359
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9360
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
9305
9361
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
9306
9362
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
9307
9363
  #
@@ -9519,10 +9575,14 @@ module Aws::S3
9519
9575
  # @option params [String] :checksum_mode
9520
9576
  # To retrieve the checksum, this parameter must be enabled.
9521
9577
  #
9522
- # In addition, if you enable `ChecksumMode` and the object is encrypted
9523
- # with Amazon Web Services Key Management Service (Amazon Web Services
9524
- # KMS), you must have permission to use the `kms:Decrypt` action for the
9525
- # request to succeed.
9578
+ # In addition, if you enable checksum mode and the object is uploaded
9579
+ # with a [checksum][1] and encrypted with an Key Management Service
9580
+ # (KMS) key, you must have permission to use the `kms:Decrypt` action to
9581
+ # retrieve the checksum.
9582
+ #
9583
+ #
9584
+ #
9585
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
9526
9586
  #
9527
9587
  # @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9528
9588
  #
@@ -10076,10 +10136,28 @@ module Aws::S3
10076
10136
  #
10077
10137
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
10078
10138
  #
10139
+ # @option params [Integer] :max_buckets
10140
+ # Maximum number of buckets to be returned in response. When the number
10141
+ # is more than the count of buckets that are owned by an Amazon Web
10142
+ # Services account, return all the buckets in response.
10143
+ #
10144
+ # @option params [String] :continuation_token
10145
+ # `ContinuationToken` indicates to Amazon S3 that the list is being
10146
+ # continued on this bucket with a token. `ContinuationToken` is
10147
+ # obfuscated and is not a real key. You can use this `ContinuationToken`
10148
+ # for pagination of the list results.
10149
+ #
10150
+ # Length Constraints: Minimum length of 0. Maximum length of 1024.
10151
+ #
10152
+ # Required: No.
10153
+ #
10079
10154
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10080
10155
  #
10081
10156
  # * {Types::ListBucketsOutput#buckets #buckets} => Array&lt;Types::Bucket&gt;
10082
10157
  # * {Types::ListBucketsOutput#owner #owner} => Types::Owner
10158
+ # * {Types::ListBucketsOutput#continuation_token #continuation_token} => String
10159
+ #
10160
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
10083
10161
  #
10084
10162
  #
10085
10163
  # @example Example: To list all buckets
@@ -10111,6 +10189,13 @@ module Aws::S3
10111
10189
  # },
10112
10190
  # }
10113
10191
  #
10192
+ # @example Request syntax with placeholder values
10193
+ #
10194
+ # resp = client.list_buckets({
10195
+ # max_buckets: 1,
10196
+ # continuation_token: "Token",
10197
+ # })
10198
+ #
10114
10199
  # @example Response structure
10115
10200
  #
10116
10201
  # resp.buckets #=> Array
@@ -10118,6 +10203,7 @@ module Aws::S3
10118
10203
  # resp.buckets[0].creation_date #=> Time
10119
10204
  # resp.owner.display_name #=> String
10120
10205
  # resp.owner.id #=> String
10206
+ # resp.continuation_token #=> String
10121
10207
  #
10122
10208
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets AWS API Documentation
10123
10209
  #
@@ -10166,9 +10252,9 @@ module Aws::S3
10166
10252
  #
10167
10253
  # @option params [String] :continuation_token
10168
10254
  # `ContinuationToken` indicates to Amazon S3 that the list is being
10169
- # continued on this bucket with a token. `ContinuationToken` is
10170
- # obfuscated and is not a real key. You can use this `ContinuationToken`
10171
- # for pagination of the list results.
10255
+ # continued on buckets in this account with a token. `ContinuationToken`
10256
+ # is obfuscated and is not a real bucket name. You can use this
10257
+ # `ContinuationToken` for the pagination of the list results.
10172
10258
  #
10173
10259
  # @option params [Integer] :max_directory_buckets
10174
10260
  # Maximum number of buckets to be returned in response. When the number
@@ -10212,7 +10298,11 @@ module Aws::S3
10212
10298
  #
10213
10299
  # <note markdown="1"> **Directory buckets** - If multipart uploads in a directory bucket are
10214
10300
  # in progress, you can't delete the bucket until all the in-progress
10215
- # multipart uploads are aborted or completed.
10301
+ # multipart uploads are aborted or completed. To delete these
10302
+ # in-progress multipart uploads, use the `ListMultipartUploads`
10303
+ # operation to list the in-progress multipart uploads in the bucket and
10304
+ # use the `AbortMultupartUpload` operation to abort all the in-progress
10305
+ # multipart uploads.
10216
10306
  #
10217
10307
  # </note>
10218
10308
  #
@@ -10378,12 +10468,26 @@ module Aws::S3
10378
10468
  # </note>
10379
10469
  #
10380
10470
  # @option params [String] :encoding_type
10381
- # Requests Amazon S3 to encode the object keys in the response and
10382
- # specifies the encoding method to use. An object key can contain any
10383
- # Unicode character; however, the XML 1.0 parser cannot parse some
10384
- # characters, such as characters with an ASCII value from 0 to 10. For
10385
- # characters that are not supported in XML 1.0, you can add this
10386
- # parameter to request that Amazon S3 encode the keys in the response.
10471
+ # Encoding type used by Amazon S3 to encode the [object keys][1] in the
10472
+ # response. Responses are encoded only in UTF-8. An object key can
10473
+ # contain any Unicode character. However, the XML 1.0 parser can't
10474
+ # parse certain characters, such as characters with an ASCII value from
10475
+ # 0 to 10. For characters that aren't supported in XML 1.0, you can add
10476
+ # this parameter to request that Amazon S3 encode the keys in the
10477
+ # response. For more information about characters to avoid in object key
10478
+ # names, see [Object key naming guidelines][2].
10479
+ #
10480
+ # <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
10481
+ # in an object's key name will be percent-encoded according to UTF-8
10482
+ # code values. For example, the object `test_file(3).png` will appear as
10483
+ # `test_file%283%29.png`.
10484
+ #
10485
+ # </note>
10486
+ #
10487
+ #
10488
+ #
10489
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
10490
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
10387
10491
  #
10388
10492
  # @option params [String] :key_marker
10389
10493
  # Specifies the multipart upload after which listing should begin.
@@ -10675,12 +10779,26 @@ module Aws::S3
10675
10779
  # the response.
10676
10780
  #
10677
10781
  # @option params [String] :encoding_type
10678
- # Requests Amazon S3 to encode the object keys in the response and
10679
- # specifies the encoding method to use. An object key can contain any
10680
- # Unicode character; however, the XML 1.0 parser cannot parse some
10681
- # characters, such as characters with an ASCII value from 0 to 10. For
10682
- # characters that are not supported in XML 1.0, you can add this
10683
- # parameter to request that Amazon S3 encode the keys in the response.
10782
+ # Encoding type used by Amazon S3 to encode the [object keys][1] in the
10783
+ # response. Responses are encoded only in UTF-8. An object key can
10784
+ # contain any Unicode character. However, the XML 1.0 parser can't
10785
+ # parse certain characters, such as characters with an ASCII value from
10786
+ # 0 to 10. For characters that aren't supported in XML 1.0, you can add
10787
+ # this parameter to request that Amazon S3 encode the keys in the
10788
+ # response. For more information about characters to avoid in object key
10789
+ # names, see [Object key naming guidelines][2].
10790
+ #
10791
+ # <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
10792
+ # in an object's key name will be percent-encoded according to UTF-8
10793
+ # code values. For example, the object `test_file(3).png` will appear as
10794
+ # `test_file%283%29.png`.
10795
+ #
10796
+ # </note>
10797
+ #
10798
+ #
10799
+ #
10800
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
10801
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
10684
10802
  #
10685
10803
  # @option params [String] :key_marker
10686
10804
  # Specifies the key to start with when listing objects in a bucket.
@@ -10934,12 +11052,26 @@ module Aws::S3
10934
11052
  # A delimiter is a character that you use to group keys.
10935
11053
  #
10936
11054
  # @option params [String] :encoding_type
10937
- # Requests Amazon S3 to encode the object keys in the response and
10938
- # specifies the encoding method to use. An object key can contain any
10939
- # Unicode character; however, the XML 1.0 parser cannot parse some
10940
- # characters, such as characters with an ASCII value from 0 to 10. For
10941
- # characters that are not supported in XML 1.0, you can add this
10942
- # parameter to request that Amazon S3 encode the keys in the response.
11055
+ # Encoding type used by Amazon S3 to encode the [object keys][1] in the
11056
+ # response. Responses are encoded only in UTF-8. An object key can
11057
+ # contain any Unicode character. However, the XML 1.0 parser can't
11058
+ # parse certain characters, such as characters with an ASCII value from
11059
+ # 0 to 10. For characters that aren't supported in XML 1.0, you can add
11060
+ # this parameter to request that Amazon S3 encode the keys in the
11061
+ # response. For more information about characters to avoid in object key
11062
+ # names, see [Object key naming guidelines][2].
11063
+ #
11064
+ # <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
11065
+ # in an object's key name will be percent-encoded according to UTF-8
11066
+ # code values. For example, the object `test_file(3).png` will appear as
11067
+ # `test_file%283%29.png`.
11068
+ #
11069
+ # </note>
11070
+ #
11071
+ #
11072
+ #
11073
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
11074
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
10943
11075
  #
10944
11076
  # @option params [String] :marker
10945
11077
  # Marker is where you want Amazon S3 to start listing from. Amazon S3
@@ -11081,12 +11213,20 @@ module Aws::S3
11081
11213
  # programmatically][1] in the *Amazon S3 User Guide*. To get a list of
11082
11214
  # your buckets, see [ListBuckets][2].
11083
11215
  #
11084
- # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
11085
- # for this API operation to the Zonal endpoint. These endpoints support
11086
- # virtual-hosted-style requests in the format
11087
- # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
11088
- # Path-style requests are not supported. For more information, see
11089
- # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
11216
+ # <note markdown="1"> * **General purpose bucket** - For general purpose buckets,
11217
+ # `ListObjectsV2` doesn't return prefixes that are related only to
11218
+ # in-progress multipart uploads.
11219
+ #
11220
+ # * **Directory buckets** - For directory buckets, `ListObjectsV2`
11221
+ # response includes the prefixes that are related only to in-progress
11222
+ # multipart uploads.
11223
+ #
11224
+ # * **Directory buckets** - For directory buckets, you must make
11225
+ # requests for this API operation to the Zonal endpoint. These
11226
+ # endpoints support virtual-hosted-style requests in the format
11227
+ # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
11228
+ # `. Path-style requests are not supported. For more information, see
11229
+ # [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
11090
11230
  #
11091
11231
  # </note>
11092
11232
  #
@@ -11215,10 +11355,26 @@ module Aws::S3
11215
11355
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
11216
11356
  #
11217
11357
  # @option params [String] :encoding_type
11218
- # Encoding type used by Amazon S3 to encode object keys in the response.
11219
- # If using `url`, non-ASCII characters used in an object's key name
11220
- # will be URL encoded. For example, the object `test_file(3).png` will
11221
- # appear as `test_file%283%29.png`.
11358
+ # Encoding type used by Amazon S3 to encode the [object keys][1] in the
11359
+ # response. Responses are encoded only in UTF-8. An object key can
11360
+ # contain any Unicode character. However, the XML 1.0 parser can't
11361
+ # parse certain characters, such as characters with an ASCII value from
11362
+ # 0 to 10. For characters that aren't supported in XML 1.0, you can add
11363
+ # this parameter to request that Amazon S3 encode the keys in the
11364
+ # response. For more information about characters to avoid in object key
11365
+ # names, see [Object key naming guidelines][2].
11366
+ #
11367
+ # <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
11368
+ # in an object's key name will be percent-encoded according to UTF-8
11369
+ # code values. For example, the object `test_file(3).png` will appear as
11370
+ # `test_file%283%29.png`.
11371
+ #
11372
+ # </note>
11373
+ #
11374
+ #
11375
+ #
11376
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
11377
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
11222
11378
  #
11223
11379
  # @option params [Integer] :max_keys
11224
11380
  # Sets the maximum number of keys returned in the response. By default,
@@ -12437,9 +12593,15 @@ module Aws::S3
12437
12593
  # S3 does not validate the KMS key ID provided in PutBucketEncryption
12438
12594
  # requests.
12439
12595
  #
12440
- # This action requires Amazon Web Services Signature Version 4. For more
12441
- # information, see [ Authenticating Requests (Amazon Web Services
12442
- # Signature Version 4)][3].
12596
+ # If you're specifying a customer managed KMS key, we recommend using a
12597
+ # fully qualified KMS key ARN. If you use a KMS key alias instead, then
12598
+ # KMS resolves the key within the requester’s account. This behavior can
12599
+ # result in data that's encrypted with a KMS key that belongs to the
12600
+ # requester, and not the bucket owner.
12601
+ #
12602
+ # Also, this action requires Amazon Web Services Signature Version 4.
12603
+ # For more information, see [ Authenticating Requests (Amazon Web
12604
+ # Services Signature Version 4)][3].
12443
12605
  #
12444
12606
  # To use this operation, you must have permission to perform the
12445
12607
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
@@ -14507,6 +14669,14 @@ module Aws::S3
14507
14669
  #
14508
14670
  # </note>
14509
14671
  #
14672
+ # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
14673
+ # take a short amount of time for the change to be fully propagated. We
14674
+ # recommend that you wait for 15 minutes after enabling versioning
14675
+ # before issuing write operations (`PUT` or `DELETE`) on objects in the
14676
+ # bucket.
14677
+ #
14678
+ # </note>
14679
+ #
14510
14680
  # Sets the versioning state of an existing bucket.
14511
14681
  #
14512
14682
  # You can set the versioning state with one of the following values:
@@ -15182,6 +15352,25 @@ module Aws::S3
15182
15352
  #
15183
15353
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
15184
15354
  #
15355
+ # @option params [String] :if_none_match
15356
+ # Uploads the object only if the object key name does not already exist
15357
+ # in the bucket specified. Otherwise, Amazon S3 returns a `412
15358
+ # Precondition Failed` error.
15359
+ #
15360
+ # If a conflicting operation occurs during the upload S3 returns a `409
15361
+ # ConditionalRequestConflict` response. On a 409 failure you should
15362
+ # retry the upload.
15363
+ #
15364
+ # Expects the '*' (asterisk) character.
15365
+ #
15366
+ # For more information about conditional requests, see [RFC 7232][1], or
15367
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
15368
+ #
15369
+ #
15370
+ #
15371
+ # [1]: https://tools.ietf.org/html/rfc7232
15372
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
15373
+ #
15185
15374
  # @option params [String] :grant_full_control
15186
15375
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
15187
15376
  # object.
@@ -15445,82 +15634,57 @@ module Aws::S3
15445
15634
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
15446
15635
  #
15447
15636
  #
15448
- # @example Example: To upload an object
15637
+ # @example Example: To upload an object (specify optional headers)
15449
15638
  #
15450
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
15451
- # # syntax. S3 returns VersionId of the newly created object.
15639
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
15640
+ # # storage class and use server-side encryption.
15452
15641
  #
15453
15642
  # resp = client.put_object({
15454
15643
  # body: "HappyFace.jpg",
15455
15644
  # bucket: "examplebucket",
15456
15645
  # key: "HappyFace.jpg",
15646
+ # server_side_encryption: "AES256",
15647
+ # storage_class: "STANDARD_IA",
15457
15648
  # })
15458
15649
  #
15459
15650
  # resp.to_h outputs the following:
15460
15651
  # {
15461
15652
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15462
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
15653
+ # server_side_encryption: "AES256",
15654
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
15463
15655
  # }
15464
15656
  #
15465
- # @example Example: To upload an object and specify server-side encryption and object tags
15657
+ # @example Example: To create an object.
15466
15658
  #
15467
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
15468
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
15659
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
15469
15660
  #
15470
15661
  # resp = client.put_object({
15471
15662
  # body: "filetoupload",
15472
15663
  # bucket: "examplebucket",
15473
- # key: "exampleobject",
15474
- # server_side_encryption: "AES256",
15475
- # tagging: "key1=value1&key2=value2",
15664
+ # key: "objectkey",
15476
15665
  # })
15477
15666
  #
15478
15667
  # resp.to_h outputs the following:
15479
15668
  # {
15480
15669
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15481
- # server_side_encryption: "AES256",
15482
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
15670
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
15483
15671
  # }
15484
15672
  #
15485
- # @example Example: To upload an object (specify optional headers)
15673
+ # @example Example: To upload an object
15486
15674
  #
15487
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
15488
- # # storage class and use server-side encryption.
15675
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
15676
+ # # syntax. S3 returns VersionId of the newly created object.
15489
15677
  #
15490
15678
  # resp = client.put_object({
15491
15679
  # body: "HappyFace.jpg",
15492
15680
  # bucket: "examplebucket",
15493
15681
  # key: "HappyFace.jpg",
15494
- # server_side_encryption: "AES256",
15495
- # storage_class: "STANDARD_IA",
15496
15682
  # })
15497
15683
  #
15498
15684
  # resp.to_h outputs the following:
15499
15685
  # {
15500
15686
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15501
- # server_side_encryption: "AES256",
15502
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
15503
- # }
15504
- #
15505
- # @example Example: To upload object and specify user-defined metadata
15506
- #
15507
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
15508
- # # enabled, S3 returns version ID in response.
15509
- #
15510
- # resp = client.put_object({
15511
- # body: "filetoupload",
15512
- # bucket: "examplebucket",
15513
- # key: "exampleobject",
15514
- # metadata: {
15515
- # "metadata1" => "value1",
15516
- # "metadata2" => "value2",
15517
- # },
15518
- # })
15519
- #
15520
- # resp.to_h outputs the following:
15521
- # {
15522
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15523
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
15687
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
15524
15688
  # }
15525
15689
  #
15526
15690
  # @example Example: To upload an object and specify optional tags
@@ -15559,20 +15723,45 @@ module Aws::S3
15559
15723
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
15560
15724
  # }
15561
15725
  #
15562
- # @example Example: To create an object.
15726
+ # @example Example: To upload object and specify user-defined metadata
15563
15727
  #
15564
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
15728
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
15729
+ # # enabled, S3 returns version ID in response.
15565
15730
  #
15566
15731
  # resp = client.put_object({
15567
15732
  # body: "filetoupload",
15568
15733
  # bucket: "examplebucket",
15569
- # key: "objectkey",
15734
+ # key: "exampleobject",
15735
+ # metadata: {
15736
+ # "metadata1" => "value1",
15737
+ # "metadata2" => "value2",
15738
+ # },
15570
15739
  # })
15571
15740
  #
15572
15741
  # resp.to_h outputs the following:
15573
15742
  # {
15574
15743
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15575
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
15744
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
15745
+ # }
15746
+ #
15747
+ # @example Example: To upload an object and specify server-side encryption and object tags
15748
+ #
15749
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
15750
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
15751
+ #
15752
+ # resp = client.put_object({
15753
+ # body: "filetoupload",
15754
+ # bucket: "examplebucket",
15755
+ # key: "exampleobject",
15756
+ # server_side_encryption: "AES256",
15757
+ # tagging: "key1=value1&key2=value2",
15758
+ # })
15759
+ #
15760
+ # resp.to_h outputs the following:
15761
+ # {
15762
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15763
+ # server_side_encryption: "AES256",
15764
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
15576
15765
  # }
15577
15766
  #
15578
15767
  # @example Streaming a file from disk
@@ -15600,6 +15789,7 @@ module Aws::S3
15600
15789
  # checksum_sha1: "ChecksumSHA1",
15601
15790
  # checksum_sha256: "ChecksumSHA256",
15602
15791
  # expires: Time.now,
15792
+ # if_none_match: "IfNoneMatch",
15603
15793
  # grant_full_control: "GrantFullControl",
15604
15794
  # grant_read: "GrantRead",
15605
15795
  # grant_read_acp: "GrantReadACP",
@@ -16699,6 +16889,10 @@ module Aws::S3
16699
16889
  #
16700
16890
  # </note>
16701
16891
  #
16892
+ # The `SELECT` job type for the RestoreObject operation is no longer
16893
+ # available to new customers. Existing customers of Amazon S3 Select can
16894
+ # continue to use the feature as usual. [Learn more][1]
16895
+ #
16702
16896
  # Restores an archived copy of an object back into Amazon S3
16703
16897
  #
16704
16898
  # This functionality is not supported for Amazon S3 on Outposts.
@@ -16712,11 +16906,11 @@ module Aws::S3
16712
16906
  # For more information about the `S3` structure in the request body, see
16713
16907
  # the following:
16714
16908
  #
16715
- # * [PutObject][1]
16909
+ # * [PutObject][2]
16716
16910
  #
16717
- # * [Managing Access with ACLs][2] in the *Amazon S3 User Guide*
16911
+ # * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
16718
16912
  #
16719
- # * [Protecting Data Using Server-Side Encryption][3] in the *Amazon S3
16913
+ # * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
16720
16914
  # User Guide*
16721
16915
  #
16722
16916
  # Permissions
@@ -16725,8 +16919,8 @@ module Aws::S3
16725
16919
  # `s3:RestoreObject` action. The bucket owner has this permission by
16726
16920
  # default and can grant this permission to others. For more
16727
16921
  # information about permissions, see [Permissions Related to Bucket
16728
- # Subresource Operations][4] and [Managing Access Permissions to Your
16729
- # Amazon S3 Resources][5] in the *Amazon S3 User Guide*.
16922
+ # Subresource Operations][5] and [Managing Access Permissions to Your
16923
+ # Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
16730
16924
  #
16731
16925
  # Restoring objects
16732
16926
  #
@@ -16789,11 +16983,11 @@ module Aws::S3
16789
16983
  #
16790
16984
  # For more information about archive retrieval options and provisioned
16791
16985
  # capacity for `Expedited` data access, see [Restoring Archived
16792
- # Objects][6] in the *Amazon S3 User Guide*.
16986
+ # Objects][7] in the *Amazon S3 User Guide*.
16793
16987
  #
16794
16988
  # You can use Amazon S3 restore speed upgrade to change the restore
16795
16989
  # speed to a faster speed while it is in progress. For more
16796
- # information, see [ Upgrading the speed of an in-progress restore][7]
16990
+ # information, see [ Upgrading the speed of an in-progress restore][8]
16797
16991
  # in the *Amazon S3 User Guide*.
16798
16992
  #
16799
16993
  # To get the status of object restoration, you can send a `HEAD`
@@ -16801,7 +16995,7 @@ module Aws::S3
16801
16995
  # provides information about the restoration status, in the response.
16802
16996
  # You can use Amazon S3 event notifications to notify you when a
16803
16997
  # restore is initiated or completed. For more information, see
16804
- # [Configuring Amazon S3 Event Notifications][8] in the *Amazon S3
16998
+ # [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
16805
16999
  # User Guide*.
16806
17000
  #
16807
17001
  # After restoring an archived object, you can update the restoration
@@ -16817,8 +17011,8 @@ module Aws::S3
16817
17011
  # restore an object copy for 10 days, but the object is scheduled to
16818
17012
  # expire in 3 days, Amazon S3 deletes the object in 3 days. For more
16819
17013
  # information about lifecycle configuration, see
16820
- # [PutBucketLifecycleConfiguration][9] and [Object Lifecycle
16821
- # Management][10] in *Amazon S3 User Guide*.
17014
+ # [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
17015
+ # Management][11] in *Amazon S3 User Guide*.
16822
17016
  #
16823
17017
  # Responses
16824
17018
  #
@@ -16856,23 +17050,24 @@ module Aws::S3
16856
17050
  #
16857
17051
  # The following operations are related to `RestoreObject`:
16858
17052
  #
16859
- # * [PutBucketLifecycleConfiguration][9]
17053
+ # * [PutBucketLifecycleConfiguration][10]
16860
17054
  #
16861
- # * [GetBucketNotificationConfiguration][11]
17055
+ # * [GetBucketNotificationConfiguration][12]
16862
17056
  #
16863
17057
  #
16864
17058
  #
16865
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
16866
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
16867
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
16868
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
16869
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
16870
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
16871
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
16872
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
16873
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
16874
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
16875
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
17059
+ # [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
17060
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
17061
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
17062
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
17063
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
17064
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
17065
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
17066
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
17067
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
17068
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
17069
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
17070
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
16876
17071
  #
16877
17072
  # @option params [required, String] :bucket
16878
17073
  # The bucket name containing the object to restore.
@@ -17084,6 +17279,10 @@ module Aws::S3
17084
17279
  #
17085
17280
  # </note>
17086
17281
  #
17282
+ # The SelectObjectContent operation is no longer available to new
17283
+ # customers. Existing customers of Amazon S3 Select can continue to use
17284
+ # the operation as usual. [Learn more][1]
17285
+ #
17087
17286
  # This action filters the contents of an Amazon S3 object based on a
17088
17287
  # simple structured query language (SQL) statement. In the request,
17089
17288
  # along with the SQL expression, you must also specify a data
@@ -17095,7 +17294,7 @@ module Aws::S3
17095
17294
  # This functionality is not supported for Amazon S3 on Outposts.
17096
17295
  #
17097
17296
  # For more information about Amazon S3 Select, see [Selecting Content
17098
- # from Objects][1] and [SELECT Command][2] in the *Amazon S3 User
17297
+ # from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
17099
17298
  # Guide*.
17100
17299
  #
17101
17300
  #
@@ -17105,7 +17304,7 @@ module Aws::S3
17105
17304
  # : You must have the `s3:GetObject` permission for this
17106
17305
  # operation. Amazon S3 Select does not support anonymous access. For
17107
17306
  # more information about permissions, see [Specifying Permissions in a
17108
- # Policy][3] in the *Amazon S3 User Guide*.
17307
+ # Policy][4] in the *Amazon S3 User Guide*.
17109
17308
  #
17110
17309
  # Object Data Formats
17111
17310
  #
@@ -17130,31 +17329,31 @@ module Aws::S3
17130
17329
  #
17131
17330
  # For objects that are encrypted with customer-provided encryption
17132
17331
  # keys (SSE-C), you must use HTTPS, and you must use the headers
17133
- # that are documented in the [GetObject][4]. For more information
17332
+ # that are documented in the [GetObject][5]. For more information
17134
17333
  # about SSE-C, see [Server-Side Encryption (Using Customer-Provided
17135
- # Encryption Keys)][5] in the *Amazon S3 User Guide*.
17334
+ # Encryption Keys)][6] in the *Amazon S3 User Guide*.
17136
17335
  #
17137
17336
  # For objects that are encrypted with Amazon S3 managed keys
17138
17337
  # (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
17139
17338
  # encryption is handled transparently, so you don't need to specify
17140
17339
  # anything. For more information about server-side encryption,
17141
17340
  # including SSE-S3 and SSE-KMS, see [Protecting Data Using
17142
- # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
17341
+ # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
17143
17342
  #
17144
17343
  # Working with the Response Body
17145
17344
  #
17146
17345
  # : Given the response size is unknown, Amazon S3 Select streams the
17147
17346
  # response as a series of messages and includes a `Transfer-Encoding`
17148
17347
  # header with `chunked` as its value in the response. For more
17149
- # information, see [Appendix: SelectObjectContent Response][7].
17348
+ # information, see [Appendix: SelectObjectContent Response][8].
17150
17349
  #
17151
17350
  # GetObject Support
17152
17351
  #
17153
17352
  # : The `SelectObjectContent` action does not support the following
17154
- # `GetObject` functionality. For more information, see [GetObject][4].
17353
+ # `GetObject` functionality. For more information, see [GetObject][5].
17155
17354
  #
17156
17355
  # * `Range`: Although you can specify a scan range for an Amazon S3
17157
- # Select request (see [SelectObjectContentRequest - ScanRange][8] in
17356
+ # Select request (see [SelectObjectContentRequest - ScanRange][9] in
17158
17357
  # the request parameters), you cannot specify the range of bytes of
17159
17358
  # an object to return.
17160
17359
  #
@@ -17165,36 +17364,37 @@ module Aws::S3
17165
17364
  # storage classes, nor objects in the `ARCHIVE_ACCESS` or
17166
17365
  # `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
17167
17366
  # storage class. For more information about storage classes, see
17168
- # [Using Amazon S3 storage classes][9] in the *Amazon S3 User
17367
+ # [Using Amazon S3 storage classes][10] in the *Amazon S3 User
17169
17368
  # Guide*.
17170
17369
  #
17171
17370
  # Special Errors
17172
17371
  #
17173
17372
  # : For a list of special errors for this operation, see [List of SELECT
17174
- # Object Content Error Codes][10]
17373
+ # Object Content Error Codes][11]
17175
17374
  #
17176
17375
  # The following operations are related to `SelectObjectContent`:
17177
17376
  #
17178
- # * [GetObject][4]
17377
+ # * [GetObject][5]
17179
17378
  #
17180
- # * [GetBucketLifecycleConfiguration][11]
17379
+ # * [GetBucketLifecycleConfiguration][12]
17181
17380
  #
17182
- # * [PutBucketLifecycleConfiguration][12]
17381
+ # * [PutBucketLifecycleConfiguration][13]
17183
17382
  #
17184
17383
  #
17185
17384
  #
17186
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
17187
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
17188
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
17189
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
17190
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
17191
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
17192
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
17193
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
17194
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
17195
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
17196
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
17197
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
17385
+ # [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
17386
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
17387
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
17388
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
17389
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
17390
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
17391
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
17392
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
17393
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
17394
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
17395
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
17396
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
17397
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
17198
17398
  #
17199
17399
  # @option params [required, String] :bucket
17200
17400
  # The S3 bucket.
@@ -17541,14 +17741,27 @@ module Aws::S3
17541
17741
  # </note>
17542
17742
  #
17543
17743
  # Permissions
17544
- # : * **General purpose bucket permissions** - For information on the
17545
- # permissions required to use the multipart upload API, see
17546
- # [Multipart Upload and Permissions][6] in the *Amazon S3 User
17547
- # Guide*.
17744
+ # : * **General purpose bucket permissions** - To perform a multipart
17745
+ # upload with encryption using an Key Management Service key, the
17746
+ # requester must have permission to the `kms:Decrypt` and
17747
+ # `kms:GenerateDataKey` actions on the key. The requester must also
17748
+ # have permissions for the `kms:GenerateDataKey` action for the
17749
+ # `CreateMultipartUpload` API. Then, the requester needs permissions
17750
+ # for the `kms:Decrypt` action on the `UploadPart` and
17751
+ # `UploadPartCopy` APIs.
17752
+ #
17753
+ # These permissions are required because Amazon S3 must decrypt and
17754
+ # read data from the encrypted file parts before it completes the
17755
+ # multipart upload. For more information about KMS permissions, see
17756
+ # [Protecting data using server-side encryption with KMS][6] in the
17757
+ # *Amazon S3 User Guide*. For information about the permissions
17758
+ # required to use the multipart upload API, see [Multipart upload
17759
+ # and permissions][7] and [Multipart upload API and permissions][8]
17760
+ # in the *Amazon S3 User Guide*.
17548
17761
  #
17549
17762
  # * **Directory bucket permissions** - To grant access to this API
17550
17763
  # operation on a directory bucket, we recommend that you use the [
17551
- # `CreateSession` ][7] API operation for session-based
17764
+ # `CreateSession` ][9] API operation for session-based
17552
17765
  # authorization. Specifically, you grant the
17553
17766
  # `s3express:CreateSession` permission to the directory bucket in a
17554
17767
  # bucket policy or an IAM identity-based policy. Then, you make the
@@ -17559,7 +17772,7 @@ module Aws::S3
17559
17772
  # token for use. Amazon Web Services CLI or SDKs create session and
17560
17773
  # refresh the session token automatically to avoid service
17561
17774
  # interruptions when a session expires. For more information about
17562
- # authorization, see [ `CreateSession` ][7].
17775
+ # authorization, see [ `CreateSession` ][9].
17563
17776
  #
17564
17777
  # Data integrity
17565
17778
  #
@@ -17571,7 +17784,7 @@ module Aws::S3
17571
17784
  # then Amazon Web Services S3 uses the `x-amz-content-sha256` header
17572
17785
  # as a checksum instead of `Content-MD5`. For more information see
17573
17786
  # [Authenticating Requests: Using the Authorization Header (Amazon Web
17574
- # Services Signature Version 4)][8].
17787
+ # Services Signature Version 4)][10].
17575
17788
  #
17576
17789
  # <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
17577
17790
  # You can use checksum algorithms to check object integrity.
@@ -17616,7 +17829,7 @@ module Aws::S3
17616
17829
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
17617
17830
  # supported.
17618
17831
  #
17619
- # For more information, see [Using Server-Side Encryption][9] in the
17832
+ # For more information, see [Using Server-Side Encryption][11] in the
17620
17833
  # *Amazon S3 User Guide*.
17621
17834
  #
17622
17835
  # Special errors
@@ -17639,13 +17852,13 @@ module Aws::S3
17639
17852
  #
17640
17853
  # * [CreateMultipartUpload][2]
17641
17854
  #
17642
- # * [CompleteMultipartUpload][10]
17855
+ # * [CompleteMultipartUpload][12]
17643
17856
  #
17644
- # * [AbortMultipartUpload][11]
17857
+ # * [AbortMultipartUpload][13]
17645
17858
  #
17646
- # * [ListParts][12]
17859
+ # * [ListParts][14]
17647
17860
  #
17648
- # * [ListMultipartUploads][13]
17861
+ # * [ListMultipartUploads][15]
17649
17862
  #
17650
17863
  #
17651
17864
  #
@@ -17654,14 +17867,16 @@ module Aws::S3
17654
17867
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
17655
17868
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
17656
17869
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
17657
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
17658
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
17659
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
17660
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
17661
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
17662
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
17663
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
17664
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
17870
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
17871
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
17872
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
17873
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
17874
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
17875
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
17876
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
17877
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
17878
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
17879
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
17665
17880
  #
17666
17881
  # @option params [String, StringIO, File] :body
17667
17882
  # Object data.
@@ -17994,9 +18209,21 @@ module Aws::S3
17994
18209
  # have the <b> <code>s3:PutObject</code> </b> permission to write
17995
18210
  # the object copy to the destination bucket.
17996
18211
  #
17997
- # For information about permissions required to use the multipart
17998
- # upload API, see [Multipart upload API and permissions][7] in the
17999
- # *Amazon S3 User Guide*.
18212
+ # * To perform a multipart upload with encryption using an Key
18213
+ # Management Service key, the requester must have permission to
18214
+ # the `kms:Decrypt` and `kms:GenerateDataKey` actions on the key.
18215
+ # The requester must also have permissions for the
18216
+ # `kms:GenerateDataKey` action for the `CreateMultipartUpload`
18217
+ # API. Then, the requester needs permissions for the `kms:Decrypt`
18218
+ # action on the `UploadPart` and `UploadPartCopy` APIs. These
18219
+ # permissions are required because Amazon S3 must decrypt and read
18220
+ # data from the encrypted file parts before it completes the
18221
+ # multipart upload. For more information about KMS permissions,
18222
+ # see [Protecting data using server-side encryption with KMS][7]
18223
+ # in the *Amazon S3 User Guide*. For information about the
18224
+ # permissions required to use the multipart upload API, see
18225
+ # [Multipart upload and permissions][8] and [Multipart upload API
18226
+ # and permissions][9] in the *Amazon S3 User Guide*.
18000
18227
  #
18001
18228
  # * **Directory bucket permissions** - You must have permissions in a
18002
18229
  # bucket policy or an IAM identity-based policy based on the source
@@ -18017,14 +18244,14 @@ module Aws::S3
18017
18244
  # set to `ReadOnly` on the copy destination.
18018
18245
  #
18019
18246
  # For example policies, see [Example bucket policies for S3 Express
18020
- # One Zone][8] and [Amazon Web Services Identity and Access
18247
+ # One Zone][10] and [Amazon Web Services Identity and Access
18021
18248
  # Management (IAM) identity-based policies for S3 Express One
18022
- # Zone][9] in the *Amazon S3 User Guide*.
18249
+ # Zone][11] in the *Amazon S3 User Guide*.
18023
18250
  #
18024
18251
  # Encryption
18025
18252
  # : * <b>General purpose buckets </b> - For information about using
18026
18253
  # server-side encryption with customer-provided encryption keys with
18027
- # the `UploadPartCopy` operation, see [CopyObject][10] and
18254
+ # the `UploadPartCopy` operation, see [CopyObject][12] and
18028
18255
  # [UploadPart][2].
18029
18256
  #
18030
18257
  # * <b>Directory buckets </b> - For directory buckets, only
@@ -18054,17 +18281,17 @@ module Aws::S3
18054
18281
  #
18055
18282
  # The following operations are related to `UploadPartCopy`:
18056
18283
  #
18057
- # * [CreateMultipartUpload][11]
18284
+ # * [CreateMultipartUpload][13]
18058
18285
  #
18059
18286
  # * [UploadPart][2]
18060
18287
  #
18061
- # * [CompleteMultipartUpload][12]
18288
+ # * [CompleteMultipartUpload][14]
18062
18289
  #
18063
- # * [AbortMultipartUpload][13]
18290
+ # * [AbortMultipartUpload][15]
18064
18291
  #
18065
- # * [ListParts][14]
18292
+ # * [ListParts][16]
18066
18293
  #
18067
- # * [ListMultipartUploads][15]
18294
+ # * [ListMultipartUploads][17]
18068
18295
  #
18069
18296
  #
18070
18297
  #
@@ -18074,15 +18301,17 @@ module Aws::S3
18074
18301
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
18075
18302
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
18076
18303
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
18077
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
18078
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
18079
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
18080
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
18081
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
18082
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
18083
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
18084
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
18085
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
18304
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
18305
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
18306
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
18307
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
18308
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
18309
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
18310
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
18311
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
18312
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
18313
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
18314
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
18086
18315
  #
18087
18316
  # @option params [required, String] :bucket
18088
18317
  # The bucket name.
@@ -18863,7 +19092,7 @@ module Aws::S3
18863
19092
  params: params,
18864
19093
  config: config)
18865
19094
  context[:gem_name] = 'aws-sdk-s3'
18866
- context[:gem_version] = '1.157.0'
19095
+ context[:gem_version] = '1.159.0'
18867
19096
  Seahorse::Client::Request.new(handlers, context)
18868
19097
  end
18869
19098