aws-sdk-s3 1.157.0 → 1.159.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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