aws-sdk-s3 1.150.0 → 1.160.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +65 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +89 -26
- data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
- data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +4 -4
- data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +4 -4
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
- data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
- data/lib/aws-sdk-s3/bucket_website.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +632 -351
- data/lib/aws-sdk-s3/client_api.rb +27 -3
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +5 -5
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/endpoint_parameters.rb +8 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
- data/lib/aws-sdk-s3/endpoints.rb +100 -1
- data/lib/aws-sdk-s3/file_downloader.rb +1 -1
- data/lib/aws-sdk-s3/file_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_upload.rb +24 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +3 -3
- data/lib/aws-sdk-s3/object.rb +66 -16
- data/lib/aws-sdk-s3/object_acl.rb +3 -3
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_summary.rb +38 -10
- data/lib/aws-sdk-s3/object_version.rb +40 -9
- data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/resource.rb +12 -10
- data/lib/aws-sdk-s3/types.rb +340 -62
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +1 -0
- data/sig/client.rbs +27 -1
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +7 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/object_version.rbs +6 -0
- data/sig/resource.rbs +4 -1
- data/sig/types.rbs +15 -0
- data/sig/waiters.rbs +12 -0
- metadata +6 -6
    
        data/lib/aws-sdk-s3/client.rb
    CHANGED
    
    | @@ -32,6 +32,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb' | |
| 32 32 | 
             
            require 'aws-sdk-core/plugins/request_compression.rb'
         | 
| 33 33 | 
             
            require 'aws-sdk-core/plugins/defaults_mode.rb'
         | 
| 34 34 | 
             
            require 'aws-sdk-core/plugins/recursion_detection.rb'
         | 
| 35 | 
            +
            require 'aws-sdk-core/plugins/telemetry.rb'
         | 
| 35 36 | 
             
            require 'aws-sdk-core/plugins/sign.rb'
         | 
| 36 37 | 
             
            require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
         | 
| 37 38 | 
             
            require 'aws-sdk-s3/plugins/accelerate.rb'
         | 
| @@ -104,6 +105,7 @@ module Aws::S3 | |
| 104 105 | 
             
                add_plugin(Aws::Plugins::RequestCompression)
         | 
| 105 106 | 
             
                add_plugin(Aws::Plugins::DefaultsMode)
         | 
| 106 107 | 
             
                add_plugin(Aws::Plugins::RecursionDetection)
         | 
| 108 | 
            +
                add_plugin(Aws::Plugins::Telemetry)
         | 
| 107 109 | 
             
                add_plugin(Aws::Plugins::Sign)
         | 
| 108 110 | 
             
                add_plugin(Aws::Plugins::Protocols::RestXml)
         | 
| 109 111 | 
             
                add_plugin(Aws::S3::Plugins::Accelerate)
         | 
| @@ -131,6 +133,11 @@ module Aws::S3 | |
| 131 133 |  | 
| 132 134 | 
             
                # @overload initialize(options)
         | 
| 133 135 | 
             
                #   @param [Hash] options
         | 
| 136 | 
            +
                #
         | 
| 137 | 
            +
                #   @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
         | 
| 138 | 
            +
                #     A list of plugins to apply to the client. Each plugin is either a
         | 
| 139 | 
            +
                #     class name or an instance of a plugin class.
         | 
| 140 | 
            +
                #
         | 
| 134 141 | 
             
                #   @option options [required, Aws::CredentialProvider] :credentials
         | 
| 135 142 | 
             
                #     Your AWS credentials. This can be an instance of any one of the
         | 
| 136 143 | 
             
                #     following classes:
         | 
| @@ -271,7 +278,6 @@ module Aws::S3 | |
| 271 278 | 
             
                #         'https://example.com'
         | 
| 272 279 | 
             
                #         'http://example.com:123'
         | 
| 273 280 | 
             
                #
         | 
| 274 | 
            -
                #
         | 
| 275 281 | 
             
                #   @option options [Integer] :endpoint_cache_max_entries (1000)
         | 
| 276 282 | 
             
                #     Used for the maximum size limit of the LRU cache storing endpoints data
         | 
| 277 283 | 
             
                #     for endpoint discovery enabled operations. Defaults to 1000.
         | 
| @@ -386,7 +392,6 @@ module Aws::S3 | |
| 386 392 | 
             
                #       throttling.  This is a provisional mode that may change behavior
         | 
| 387 393 | 
             
                #       in the future.
         | 
| 388 394 | 
             
                #
         | 
| 389 | 
            -
                #
         | 
| 390 395 | 
             
                #   @option options [Boolean] :s3_disable_multiregion_access_points (false)
         | 
| 391 396 | 
             
                #     When set to `false` this will option will raise errors when multi-region
         | 
| 392 397 | 
             
                #     access point ARNs are used.  Multi-region access points can potentially
         | 
| @@ -411,6 +416,15 @@ module Aws::S3 | |
| 411 416 | 
             
                #
         | 
| 412 417 | 
             
                #   @option options [String] :session_token
         | 
| 413 418 | 
             
                #
         | 
| 419 | 
            +
                #   @option options [Array] :sigv4a_signing_region_set
         | 
| 420 | 
            +
                #     A list of regions that should be signed with SigV4a signing. When
         | 
| 421 | 
            +
                #     not passed, a default `:sigv4a_signing_region_set` is searched for
         | 
| 422 | 
            +
                #     in the following locations:
         | 
| 423 | 
            +
                #
         | 
| 424 | 
            +
                #     * `Aws.config[:sigv4a_signing_region_set]`
         | 
| 425 | 
            +
                #     * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
         | 
| 426 | 
            +
                #     * `~/.aws/config`
         | 
| 427 | 
            +
                #
         | 
| 414 428 | 
             
                #   @option options [Boolean] :stub_responses (false)
         | 
| 415 429 | 
             
                #     Causes the client to return stubbed responses. By default
         | 
| 416 430 | 
             
                #     fake responses are generated and returned. You can specify
         | 
| @@ -420,6 +434,16 @@ module Aws::S3 | |
| 420 434 | 
             
                #     ** Please note ** When response stubbing is enabled, no HTTP
         | 
| 421 435 | 
             
                #     requests are made, and retries are disabled.
         | 
| 422 436 | 
             
                #
         | 
| 437 | 
            +
                #   @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
         | 
| 438 | 
            +
                #     Allows you to provide a telemetry provider, which is used to
         | 
| 439 | 
            +
                #     emit telemetry data. By default, uses `NoOpTelemetryProvider` which
         | 
| 440 | 
            +
                #     will not record or emit any telemetry data. The SDK supports the
         | 
| 441 | 
            +
                #     following telemetry providers:
         | 
| 442 | 
            +
                #
         | 
| 443 | 
            +
                #     * OpenTelemetry (OTel) - To use the OTel provider, install and require the
         | 
| 444 | 
            +
                #     `opentelemetry-sdk` gem and then, pass in an instance of a
         | 
| 445 | 
            +
                #     `Aws::Telemetry::OTelProvider` for telemetry provider.
         | 
| 446 | 
            +
                #
         | 
| 423 447 | 
             
                #   @option options [Aws::TokenProvider] :token_provider
         | 
| 424 448 | 
             
                #     A Bearer Token Provider. This can be an instance of any one of the
         | 
| 425 449 | 
             
                #     following classes:
         | 
| @@ -532,12 +556,20 @@ module Aws::S3 | |
| 532 556 | 
             
                # for the part storage, you should call the [ListParts][1] API operation
         | 
| 533 557 | 
             
                # and ensure that the parts list is empty.
         | 
| 534 558 | 
             
                #
         | 
| 535 | 
            -
                # <note markdown="1"> **Directory buckets** -  | 
| 536 | 
            -
                #  | 
| 537 | 
            -
                # | 
| 538 | 
            -
                #  | 
| 539 | 
            -
                #  | 
| 540 | 
            -
                # | 
| 559 | 
            +
                # <note markdown="1"> * **Directory buckets** - If multipart uploads in a directory bucket
         | 
| 560 | 
            +
                #   are in progress, you can't delete the bucket until all the
         | 
| 561 | 
            +
                #   in-progress multipart uploads are aborted or completed. To delete
         | 
| 562 | 
            +
                #   these in-progress multipart uploads, use the `ListMultipartUploads`
         | 
| 563 | 
            +
                #   operation to list the in-progress multipart uploads in the bucket
         | 
| 564 | 
            +
                #   and use the `AbortMultupartUpload` operation to abort all the
         | 
| 565 | 
            +
                #   in-progress multipart uploads.
         | 
| 566 | 
            +
                #
         | 
| 567 | 
            +
                # * **Directory buckets** - For directory buckets, you must make
         | 
| 568 | 
            +
                #   requests for this API operation to the Zonal endpoint. These
         | 
| 569 | 
            +
                #   endpoints support virtual-hosted-style requests in the format
         | 
| 570 | 
            +
                #   `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
         | 
| 571 | 
            +
                #   `. Path-style requests are not supported. For more information, see
         | 
| 572 | 
            +
                #   [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
         | 
| 541 573 | 
             
                #
         | 
| 542 574 | 
             
                #  </note>
         | 
| 543 575 | 
             
                #
         | 
| @@ -777,6 +809,12 @@ module Aws::S3 | |
| 777 809 | 
             
                #     interruptions when a session expires. For more information about
         | 
| 778 810 | 
             
                #     authorization, see [ `CreateSession` ][7].
         | 
| 779 811 | 
             
                #
         | 
| 812 | 
            +
                #   * If you provide an [additional checksum value][8] in your
         | 
| 813 | 
            +
                #     `MultipartUpload` requests and the object is encrypted with Key
         | 
| 814 | 
            +
                #     Management Service, you must have permission to use the
         | 
| 815 | 
            +
                #     `kms:Decrypt` action for the `CompleteMultipartUpload` request to
         | 
| 816 | 
            +
                #     succeed.
         | 
| 817 | 
            +
                #
         | 
| 780 818 | 
             
                # Special errors
         | 
| 781 819 | 
             
                # : * Error Code: `EntityTooSmall`
         | 
| 782 820 | 
             
                #
         | 
| @@ -816,15 +854,15 @@ module Aws::S3 | |
| 816 854 | 
             
                #
         | 
| 817 855 | 
             
                # The following operations are related to `CompleteMultipartUpload`:
         | 
| 818 856 | 
             
                #
         | 
| 819 | 
            -
                # * [CreateMultipartUpload][ | 
| 857 | 
            +
                # * [CreateMultipartUpload][9]
         | 
| 820 858 | 
             
                #
         | 
| 821 859 | 
             
                # * [UploadPart][1]
         | 
| 822 860 | 
             
                #
         | 
| 823 | 
            -
                # * [AbortMultipartUpload][ | 
| 861 | 
            +
                # * [AbortMultipartUpload][10]
         | 
| 824 862 | 
             
                #
         | 
| 825 | 
            -
                # * [ListParts][ | 
| 863 | 
            +
                # * [ListParts][11]
         | 
| 826 864 | 
             
                #
         | 
| 827 | 
            -
                # * [ListMultipartUploads][ | 
| 865 | 
            +
                # * [ListMultipartUploads][12]
         | 
| 828 866 | 
             
                #
         | 
| 829 867 | 
             
                #
         | 
| 830 868 | 
             
                #
         | 
| @@ -835,10 +873,11 @@ module Aws::S3 | |
| 835 873 | 
             
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
         | 
| 836 874 | 
             
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
         | 
| 837 875 | 
             
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
         | 
| 838 | 
            -
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 839 | 
            -
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 840 | 
            -
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 841 | 
            -
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 876 | 
            +
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
         | 
| 877 | 
            +
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
         | 
| 878 | 
            +
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
         | 
| 879 | 
            +
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
         | 
| 880 | 
            +
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
         | 
| 842 881 | 
             
                #
         | 
| 843 882 | 
             
                # @option params [required, String] :bucket
         | 
| 844 883 | 
             
                #   Name of the bucket to which the multipart upload was initiated.
         | 
| @@ -959,6 +998,26 @@ module Aws::S3 | |
| 959 998 | 
             
                #   you provide does not match the actual owner of the bucket, the request
         | 
| 960 999 | 
             
                #   fails with the HTTP status code `403 Forbidden` (access denied).
         | 
| 961 1000 | 
             
                #
         | 
| 1001 | 
            +
                # @option params [String] :if_none_match
         | 
| 1002 | 
            +
                #   Uploads the object only if the object key name does not already exist
         | 
| 1003 | 
            +
                #   in the bucket specified. Otherwise, Amazon S3 returns a `412
         | 
| 1004 | 
            +
                #   Precondition Failed` error.
         | 
| 1005 | 
            +
                #
         | 
| 1006 | 
            +
                #   If a conflicting operation occurs during the upload S3 returns a `409
         | 
| 1007 | 
            +
                #   ConditionalRequestConflict` response. On a 409 failure you should
         | 
| 1008 | 
            +
                #   re-initiate the multipart upload with `CreateMultipartUpload` and
         | 
| 1009 | 
            +
                #   re-upload each part.
         | 
| 1010 | 
            +
                #
         | 
| 1011 | 
            +
                #   Expects the '*' (asterisk) character.
         | 
| 1012 | 
            +
                #
         | 
| 1013 | 
            +
                #   For more information about conditional requests, see [RFC 7232][1], or
         | 
| 1014 | 
            +
                #   [Conditional requests][2] in the *Amazon S3 User Guide*.
         | 
| 1015 | 
            +
                #
         | 
| 1016 | 
            +
                #
         | 
| 1017 | 
            +
                #
         | 
| 1018 | 
            +
                #   [1]: https://tools.ietf.org/html/rfc7232
         | 
| 1019 | 
            +
                #   [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
         | 
| 1020 | 
            +
                #
         | 
| 962 1021 | 
             
                # @option params [String] :sse_customer_algorithm
         | 
| 963 1022 | 
             
                #   The server-side encryption (SSE) algorithm used to encrypt the object.
         | 
| 964 1023 | 
             
                #   This parameter is required only when the object was created using a
         | 
| @@ -1074,6 +1133,7 @@ module Aws::S3 | |
| 1074 1133 | 
             
                #     checksum_sha256: "ChecksumSHA256",
         | 
| 1075 1134 | 
             
                #     request_payer: "requester", # accepts requester
         | 
| 1076 1135 | 
             
                #     expected_bucket_owner: "AccountId",
         | 
| 1136 | 
            +
                #     if_none_match: "IfNoneMatch",
         | 
| 1077 1137 | 
             
                #     sse_customer_algorithm: "SSECustomerAlgorithm",
         | 
| 1078 1138 | 
             
                #     sse_customer_key: "SSECustomerKey",
         | 
| 1079 1139 | 
             
                #     sse_customer_key_md5: "SSECustomerKeyMD5",
         | 
| @@ -1120,12 +1180,20 @@ module Aws::S3 | |
| 1120 1180 | 
             
                # between directory buckets, and between general purpose buckets and
         | 
| 1121 1181 | 
             
                # directory buckets.
         | 
| 1122 1182 | 
             
                #
         | 
| 1123 | 
            -
                # <note markdown="1">  | 
| 1124 | 
            -
                #  | 
| 1125 | 
            -
                # | 
| 1126 | 
            -
                #  | 
| 1127 | 
            -
                #  | 
| 1128 | 
            -
                #  | 
| 1183 | 
            +
                # <note markdown="1"> * Amazon S3 supports copy operations using Multi-Region Access Points
         | 
| 1184 | 
            +
                #   only as a destination when using the Multi-Region Access Point ARN.
         | 
| 1185 | 
            +
                #
         | 
| 1186 | 
            +
                # * <b>Directory buckets </b> - For directory buckets, you must make
         | 
| 1187 | 
            +
                #   requests for this API operation to the Zonal endpoint. These
         | 
| 1188 | 
            +
                #   endpoints support virtual-hosted-style requests in the format
         | 
| 1189 | 
            +
                #   `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
         | 
| 1190 | 
            +
                #   `. Path-style requests are not supported. For more information, see
         | 
| 1191 | 
            +
                #   [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
         | 
| 1192 | 
            +
                #
         | 
| 1193 | 
            +
                # * VPC endpoints don't support cross-Region requests (including
         | 
| 1194 | 
            +
                #   copies). If you're using VPC endpoints, your source and destination
         | 
| 1195 | 
            +
                #   buckets should be in the same Amazon Web Services Region as your VPC
         | 
| 1196 | 
            +
                #   endpoint.
         | 
| 1129 1197 | 
             
                #
         | 
| 1130 1198 | 
             
                #  </note>
         | 
| 1131 1199 | 
             
                #
         | 
| @@ -1201,8 +1269,7 @@ module Aws::S3 | |
| 1201 1269 | 
             
                # : When the request is an HTTP 1.1 request, the response is chunk
         | 
| 1202 1270 | 
             
                #   encoded. When the request is not an HTTP 1.1 request, the response
         | 
| 1203 1271 | 
             
                #   would not contain the `Content-Length`. You always need to read the
         | 
| 1204 | 
            -
                #   entire response body to check if the copy succeeds. | 
| 1205 | 
            -
                #   connection alive while we copy the data.
         | 
| 1272 | 
            +
                #   entire response body to check if the copy succeeds.
         | 
| 1206 1273 | 
             
                #
         | 
| 1207 1274 | 
             
                #   * If the copy is successful, you receive a response with information
         | 
| 1208 1275 | 
             
                #     about the copied object.
         | 
| @@ -2328,33 +2395,33 @@ module Aws::S3 | |
| 2328 2395 | 
             
                #   * {Types::CreateBucketOutput#location #location} => String
         | 
| 2329 2396 | 
             
                #
         | 
| 2330 2397 | 
             
                #
         | 
| 2331 | 
            -
                # @example Example: To create a bucket 
         | 
| 2398 | 
            +
                # @example Example: To create a bucket in a specific region
         | 
| 2332 2399 | 
             
                #
         | 
| 2333 | 
            -
                #   # The following example creates a bucket.
         | 
| 2400 | 
            +
                #   # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
         | 
| 2334 2401 | 
             
                #
         | 
| 2335 2402 | 
             
                #   resp = client.create_bucket({
         | 
| 2336 2403 | 
             
                #     bucket: "examplebucket", 
         | 
| 2404 | 
            +
                #     create_bucket_configuration: {
         | 
| 2405 | 
            +
                #       location_constraint: "eu-west-1", 
         | 
| 2406 | 
            +
                #     }, 
         | 
| 2337 2407 | 
             
                #   })
         | 
| 2338 2408 | 
             
                #
         | 
| 2339 2409 | 
             
                #   resp.to_h outputs the following:
         | 
| 2340 2410 | 
             
                #   {
         | 
| 2341 | 
            -
                #     location: "/ | 
| 2411 | 
            +
                #     location: "http://examplebucket.<Region>.s3.amazonaws.com/", 
         | 
| 2342 2412 | 
             
                #   }
         | 
| 2343 2413 | 
             
                #
         | 
| 2344 | 
            -
                # @example Example: To create a bucket  | 
| 2414 | 
            +
                # @example Example: To create a bucket 
         | 
| 2345 2415 | 
             
                #
         | 
| 2346 | 
            -
                #   # The following example creates a bucket. | 
| 2416 | 
            +
                #   # The following example creates a bucket.
         | 
| 2347 2417 | 
             
                #
         | 
| 2348 2418 | 
             
                #   resp = client.create_bucket({
         | 
| 2349 2419 | 
             
                #     bucket: "examplebucket", 
         | 
| 2350 | 
            -
                #     create_bucket_configuration: {
         | 
| 2351 | 
            -
                #       location_constraint: "eu-west-1", 
         | 
| 2352 | 
            -
                #     }, 
         | 
| 2353 2420 | 
             
                #   })
         | 
| 2354 2421 | 
             
                #
         | 
| 2355 2422 | 
             
                #   resp.to_h outputs the following:
         | 
| 2356 2423 | 
             
                #   {
         | 
| 2357 | 
            -
                #     location: " | 
| 2424 | 
            +
                #     location: "/examplebucket", 
         | 
| 2358 2425 | 
             
                #   }
         | 
| 2359 2426 | 
             
                #
         | 
| 2360 2427 | 
             
                # @example Request syntax with placeholder values
         | 
| @@ -2443,24 +2510,23 @@ module Aws::S3 | |
| 2443 2510 | 
             
                #   Version 4)][5] in the *Amazon S3 User Guide*.
         | 
| 2444 2511 | 
             
                #
         | 
| 2445 2512 | 
             
                # Permissions
         | 
| 2446 | 
            -
                # : * **General purpose bucket permissions** -  | 
| 2447 | 
            -
                #      | 
| 2448 | 
            -
                #      | 
| 2449 | 
            -
                #      | 
| 2450 | 
            -
                #
         | 
| 2451 | 
            -
                #      | 
| 2452 | 
            -
                #      | 
| 2453 | 
            -
                #     ` | 
| 2454 | 
            -
                #      | 
| 2455 | 
            -
                #      | 
| 2456 | 
            -
                #      | 
| 2457 | 
            -
                #      | 
| 2458 | 
            -
                #      | 
| 2459 | 
            -
                #     Guide*.
         | 
| 2513 | 
            +
                # : * **General purpose bucket permissions** - To perform a multipart
         | 
| 2514 | 
            +
                #     upload with encryption using an Key Management Service (KMS) KMS
         | 
| 2515 | 
            +
                #     key, the requester must have permission to the `kms:Decrypt` and
         | 
| 2516 | 
            +
                #     `kms:GenerateDataKey` actions on the key. The requester must also
         | 
| 2517 | 
            +
                #     have permissions for the `kms:GenerateDataKey` action for the
         | 
| 2518 | 
            +
                #     `CreateMultipartUpload` API. Then, the requester needs permissions
         | 
| 2519 | 
            +
                #     for the `kms:Decrypt` action on the `UploadPart` and
         | 
| 2520 | 
            +
                #     `UploadPartCopy` APIs. These permissions are required because
         | 
| 2521 | 
            +
                #     Amazon S3 must decrypt and read data from the encrypted file parts
         | 
| 2522 | 
            +
                #     before it completes the multipart upload. For more information,
         | 
| 2523 | 
            +
                #     see [Multipart upload API and permissions][6] and [Protecting data
         | 
| 2524 | 
            +
                #     using server-side encryption with Amazon Web Services KMS][7] in
         | 
| 2525 | 
            +
                #     the *Amazon S3 User Guide*.
         | 
| 2460 2526 | 
             
                #
         | 
| 2461 2527 | 
             
                #   * **Directory bucket permissions** - To grant access to this API
         | 
| 2462 2528 | 
             
                #     operation on a directory bucket, we recommend that you use the [
         | 
| 2463 | 
            -
                #     `CreateSession` ][ | 
| 2529 | 
            +
                #     `CreateSession` ][8] API operation for session-based
         | 
| 2464 2530 | 
             
                #     authorization. Specifically, you grant the
         | 
| 2465 2531 | 
             
                #     `s3express:CreateSession` permission to the directory bucket in a
         | 
| 2466 2532 | 
             
                #     bucket policy or an IAM identity-based policy. Then, you make the
         | 
| @@ -2471,7 +2537,7 @@ module Aws::S3 | |
| 2471 2537 | 
             
                #     token for use. Amazon Web Services CLI or SDKs create session and
         | 
| 2472 2538 | 
             
                #     refresh the session token automatically to avoid service
         | 
| 2473 2539 | 
             
                #     interruptions when a session expires. For more information about
         | 
| 2474 | 
            -
                #     authorization, see [ `CreateSession` ][ | 
| 2540 | 
            +
                #     authorization, see [ `CreateSession` ][8].
         | 
| 2475 2541 | 
             
                #
         | 
| 2476 2542 | 
             
                # Encryption
         | 
| 2477 2543 | 
             
                # : * **General purpose buckets** - Server-side encryption is for data
         | 
| @@ -2498,7 +2564,7 @@ module Aws::S3 | |
| 2498 2564 | 
             
                #     the destination bucket, the encryption setting in your request
         | 
| 2499 2565 | 
             
                #     takes precedence. If you choose to provide your own encryption
         | 
| 2500 2566 | 
             
                #     key, the request headers you provide in [UploadPart][1] and
         | 
| 2501 | 
            -
                #     [UploadPartCopy][ | 
| 2567 | 
            +
                #     [UploadPartCopy][9] requests must match the headers you used in
         | 
| 2502 2568 | 
             
                #     the `CreateMultipartUpload` request.
         | 
| 2503 2569 | 
             
                #
         | 
| 2504 2570 | 
             
                #     * Use KMS keys (SSE-KMS) that include the Amazon Web Services
         | 
| @@ -2524,9 +2590,9 @@ module Aws::S3 | |
| 2524 2590 | 
             
                #         actions on the key. These permissions are required because
         | 
| 2525 2591 | 
             
                #         Amazon S3 must decrypt and read data from the encrypted file
         | 
| 2526 2592 | 
             
                #         parts before it completes the multipart upload. For more
         | 
| 2527 | 
            -
                #         information, see [Multipart upload API and permissions][ | 
| 2593 | 
            +
                #         information, see [Multipart upload API and permissions][6] and
         | 
| 2528 2594 | 
             
                #         [Protecting data using server-side encryption with Amazon Web
         | 
| 2529 | 
            -
                #         Services KMS][ | 
| 2595 | 
            +
                #         Services KMS][7] in the *Amazon S3 User Guide*.
         | 
| 2530 2596 | 
             
                #
         | 
| 2531 2597 | 
             
                #       * If your Identity and Access Management (IAM) user or role is
         | 
| 2532 2598 | 
             
                #         in the same Amazon Web Services account as the KMS key, then
         | 
| @@ -2541,13 +2607,13 @@ module Aws::S3 | |
| 2541 2607 | 
             
                #         For information about configuring any of the officially
         | 
| 2542 2608 | 
             
                #         supported Amazon Web Services SDKs and Amazon Web Services
         | 
| 2543 2609 | 
             
                #         CLI, see [Specifying the Signature Version in Request
         | 
| 2544 | 
            -
                #         Authentication][ | 
| 2610 | 
            +
                #         Authentication][10] in the *Amazon S3 User Guide*.
         | 
| 2545 2611 | 
             
                #
         | 
| 2546 2612 | 
             
                #        </note>
         | 
| 2547 2613 | 
             
                #
         | 
| 2548 2614 | 
             
                #       For more information about server-side encryption with KMS keys
         | 
| 2549 2615 | 
             
                #       (SSE-KMS), see [Protecting Data Using Server-Side Encryption
         | 
| 2550 | 
            -
                #       with KMS keys][ | 
| 2616 | 
            +
                #       with KMS keys][7] in the *Amazon S3 User Guide*.
         | 
| 2551 2617 | 
             
                #
         | 
| 2552 2618 | 
             
                #     * Use customer-provided encryption keys (SSE-C) – If you want to
         | 
| 2553 2619 | 
             
                #       manage your own encryption keys, provide all the following
         | 
| @@ -2562,7 +2628,7 @@ module Aws::S3 | |
| 2562 2628 | 
             
                #       For more information about server-side encryption with
         | 
| 2563 2629 | 
             
                #       customer-provided encryption keys (SSE-C), see [ Protecting data
         | 
| 2564 2630 | 
             
                #       using server-side encryption with customer-provided encryption
         | 
| 2565 | 
            -
                #       keys (SSE-C)][ | 
| 2631 | 
            +
                #       keys (SSE-C)][11] in the *Amazon S3 User Guide*.
         | 
| 2566 2632 | 
             
                #
         | 
| 2567 2633 | 
             
                #   * **Directory buckets** -For directory buckets, only server-side
         | 
| 2568 2634 | 
             
                #     encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
         | 
| @@ -2577,13 +2643,13 @@ module Aws::S3 | |
| 2577 2643 | 
             
                #
         | 
| 2578 2644 | 
             
                # * [UploadPart][1]
         | 
| 2579 2645 | 
             
                #
         | 
| 2580 | 
            -
                # * [CompleteMultipartUpload][ | 
| 2646 | 
            +
                # * [CompleteMultipartUpload][12]
         | 
| 2581 2647 | 
             
                #
         | 
| 2582 | 
            -
                # * [AbortMultipartUpload][ | 
| 2648 | 
            +
                # * [AbortMultipartUpload][13]
         | 
| 2583 2649 | 
             
                #
         | 
| 2584 | 
            -
                # * [ListParts][ | 
| 2650 | 
            +
                # * [ListParts][14]
         | 
| 2585 2651 | 
             
                #
         | 
| 2586 | 
            -
                # * [ListMultipartUploads][ | 
| 2652 | 
            +
                # * [ListMultipartUploads][15]
         | 
| 2587 2653 | 
             
                #
         | 
| 2588 2654 | 
             
                #
         | 
| 2589 2655 | 
             
                #
         | 
| @@ -2592,17 +2658,16 @@ module Aws::S3 | |
| 2592 2658 | 
             
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
         | 
| 2593 2659 | 
             
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
         | 
| 2594 2660 | 
             
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
         | 
| 2595 | 
            -
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 2596 | 
            -
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ | 
| 2597 | 
            -
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 2598 | 
            -
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 2599 | 
            -
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 2600 | 
            -
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 2601 | 
            -
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 2602 | 
            -
                # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 2603 | 
            -
                # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 2604 | 
            -
                # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 2605 | 
            -
                # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
         | 
| 2661 | 
            +
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
         | 
| 2662 | 
            +
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
         | 
| 2663 | 
            +
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
         | 
| 2664 | 
            +
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
         | 
| 2665 | 
            +
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
         | 
| 2666 | 
            +
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
         | 
| 2667 | 
            +
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
         | 
| 2668 | 
            +
                # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
         | 
| 2669 | 
            +
                # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
         | 
| 2670 | 
            +
                # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
         | 
| 2606 2671 | 
             
                #
         | 
| 2607 2672 | 
             
                # @option params [String] :acl
         | 
| 2608 2673 | 
             
                #   The canned ACL to apply to the object. Amazon S3 supports a set of
         | 
| @@ -4487,6 +4552,15 @@ module Aws::S3 | |
| 4487 4552 | 
             
                #   * {Types::DeleteObjectOutput#request_charged #request_charged} => String
         | 
| 4488 4553 | 
             
                #
         | 
| 4489 4554 | 
             
                #
         | 
| 4555 | 
            +
                # @example Example: To delete an object (from a non-versioned bucket)
         | 
| 4556 | 
            +
                #
         | 
| 4557 | 
            +
                #   # The following example deletes an object from a non-versioned bucket.
         | 
| 4558 | 
            +
                #
         | 
| 4559 | 
            +
                #   resp = client.delete_object({
         | 
| 4560 | 
            +
                #     bucket: "ExampleBucket", 
         | 
| 4561 | 
            +
                #     key: "HappyFace.jpg", 
         | 
| 4562 | 
            +
                #   })
         | 
| 4563 | 
            +
                #
         | 
| 4490 4564 | 
             
                # @example Example: To delete an object
         | 
| 4491 4565 | 
             
                #
         | 
| 4492 4566 | 
             
                #   # The following example deletes an object from an S3 bucket.
         | 
| @@ -4500,15 +4574,6 @@ module Aws::S3 | |
| 4500 4574 | 
             
                #   {
         | 
| 4501 4575 | 
             
                #   }
         | 
| 4502 4576 | 
             
                #
         | 
| 4503 | 
            -
                # @example Example: To delete an object (from a non-versioned bucket)
         | 
| 4504 | 
            -
                #
         | 
| 4505 | 
            -
                #   # The following example deletes an object from a non-versioned bucket.
         | 
| 4506 | 
            -
                #
         | 
| 4507 | 
            -
                #   resp = client.delete_object({
         | 
| 4508 | 
            -
                #     bucket: "ExampleBucket", 
         | 
| 4509 | 
            -
                #     key: "HappyFace.jpg", 
         | 
| 4510 | 
            -
                #   })
         | 
| 4511 | 
            -
                #
         | 
| 4512 4577 | 
             
                # @example Request syntax with placeholder values
         | 
| 4513 4578 | 
             
                #
         | 
| 4514 4579 | 
             
                #   resp = client.delete_object({
         | 
| @@ -4717,7 +4782,7 @@ module Aws::S3 | |
| 4717 4782 | 
             
                #       permission.
         | 
| 4718 4783 | 
             
                #
         | 
| 4719 4784 | 
             
                #     * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
         | 
| 4720 | 
            -
                #       specific version of an object from a  | 
| 4785 | 
            +
                #       specific version of an object from a versioning-enabled bucket,
         | 
| 4721 4786 | 
             
                #       you must specify the `s3:DeleteObjectVersion` permission.
         | 
| 4722 4787 | 
             
                #
         | 
| 4723 4788 | 
             
                #   * **Directory bucket permissions** - To grant access to this API
         | 
| @@ -4918,22 +4983,20 @@ module Aws::S3 | |
| 4918 4983 | 
             
                #   * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
         | 
| 4919 4984 | 
             
                #
         | 
| 4920 4985 | 
             
                #
         | 
| 4921 | 
            -
                # @example Example: To delete multiple  | 
| 4986 | 
            +
                # @example Example: To delete multiple objects from a versioned bucket
         | 
| 4922 4987 | 
             
                #
         | 
| 4923 | 
            -
                #   # The following example deletes objects from a bucket. The  | 
| 4924 | 
            -
                #   #  | 
| 4988 | 
            +
                #   # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
         | 
| 4989 | 
            +
                #   # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
         | 
| 4925 4990 | 
             
                #
         | 
| 4926 4991 | 
             
                #   resp = client.delete_objects({
         | 
| 4927 4992 | 
             
                #     bucket: "examplebucket", 
         | 
| 4928 4993 | 
             
                #     delete: {
         | 
| 4929 4994 | 
             
                #       objects: [
         | 
| 4930 4995 | 
             
                #         {
         | 
| 4931 | 
            -
                #           key: " | 
| 4932 | 
            -
                #           version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b", 
         | 
| 4996 | 
            +
                #           key: "objectkey1", 
         | 
| 4933 4997 | 
             
                #         }, 
         | 
| 4934 4998 | 
             
                #         {
         | 
| 4935 | 
            -
                #           key: " | 
| 4936 | 
            -
                #           version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd", 
         | 
| 4999 | 
            +
                #           key: "objectkey2", 
         | 
| 4937 5000 | 
             
                #         }, 
         | 
| 4938 5001 | 
             
                #       ], 
         | 
| 4939 5002 | 
             
                #       quiet: false, 
         | 
| @@ -4944,30 +5007,34 @@ module Aws::S3 | |
| 4944 5007 | 
             
                #   {
         | 
| 4945 5008 | 
             
                #     deleted: [
         | 
| 4946 5009 | 
             
                #       {
         | 
| 4947 | 
            -
                #          | 
| 4948 | 
            -
                #          | 
| 5010 | 
            +
                #         delete_marker: true, 
         | 
| 5011 | 
            +
                #         delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", 
         | 
| 5012 | 
            +
                #         key: "objectkey1", 
         | 
| 4949 5013 | 
             
                #       }, 
         | 
| 4950 5014 | 
             
                #       {
         | 
| 4951 | 
            -
                #          | 
| 4952 | 
            -
                #          | 
| 5015 | 
            +
                #         delete_marker: true, 
         | 
| 5016 | 
            +
                #         delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", 
         | 
| 5017 | 
            +
                #         key: "objectkey2", 
         | 
| 4953 5018 | 
             
                #       }, 
         | 
| 4954 5019 | 
             
                #     ], 
         | 
| 4955 5020 | 
             
                #   }
         | 
| 4956 5021 | 
             
                #
         | 
| 4957 | 
            -
                # @example Example: To delete multiple  | 
| 5022 | 
            +
                # @example Example: To delete multiple object versions from a versioned bucket
         | 
| 4958 5023 | 
             
                #
         | 
| 4959 | 
            -
                #   # The following example deletes objects from a bucket. The  | 
| 4960 | 
            -
                #   #  | 
| 5024 | 
            +
                #   # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
         | 
| 5025 | 
            +
                #   # versions and returns the key and versions of deleted objects in the response.
         | 
| 4961 5026 | 
             
                #
         | 
| 4962 5027 | 
             
                #   resp = client.delete_objects({
         | 
| 4963 5028 | 
             
                #     bucket: "examplebucket", 
         | 
| 4964 5029 | 
             
                #     delete: {
         | 
| 4965 5030 | 
             
                #       objects: [
         | 
| 4966 5031 | 
             
                #         {
         | 
| 4967 | 
            -
                #           key: " | 
| 5032 | 
            +
                #           key: "HappyFace.jpg", 
         | 
| 5033 | 
            +
                #           version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b", 
         | 
| 4968 5034 | 
             
                #         }, 
         | 
| 4969 5035 | 
             
                #         {
         | 
| 4970 | 
            -
                #           key: " | 
| 5036 | 
            +
                #           key: "HappyFace.jpg", 
         | 
| 5037 | 
            +
                #           version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd", 
         | 
| 4971 5038 | 
             
                #         }, 
         | 
| 4972 5039 | 
             
                #       ], 
         | 
| 4973 5040 | 
             
                #       quiet: false, 
         | 
| @@ -4978,14 +5045,12 @@ module Aws::S3 | |
| 4978 5045 | 
             
                #   {
         | 
| 4979 5046 | 
             
                #     deleted: [
         | 
| 4980 5047 | 
             
                #       {
         | 
| 4981 | 
            -
                #          | 
| 4982 | 
            -
                #          | 
| 4983 | 
            -
                #         key: "objectkey1", 
         | 
| 5048 | 
            +
                #         key: "HappyFace.jpg", 
         | 
| 5049 | 
            +
                #         version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd", 
         | 
| 4984 5050 | 
             
                #       }, 
         | 
| 4985 5051 | 
             
                #       {
         | 
| 4986 | 
            -
                #          | 
| 4987 | 
            -
                #          | 
| 4988 | 
            -
                #         key: "objectkey2", 
         | 
| 5052 | 
            +
                #         key: "HappyFace.jpg", 
         | 
| 5053 | 
            +
                #         version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b", 
         | 
| 4989 5054 | 
             
                #       }, 
         | 
| 4990 5055 | 
             
                #     ], 
         | 
| 4991 5056 | 
             
                #   }
         | 
| @@ -7652,6 +7717,15 @@ module Aws::S3 | |
| 7652 7717 | 
             
                # @option params [String] :checksum_mode
         | 
| 7653 7718 | 
             
                #   To retrieve the checksum, this mode must be enabled.
         | 
| 7654 7719 | 
             
                #
         | 
| 7720 | 
            +
                #   In addition, if you enable checksum mode and the object is uploaded
         | 
| 7721 | 
            +
                #   with a [checksum][1] and encrypted with an Key Management Service
         | 
| 7722 | 
            +
                #   (KMS) key, you must have permission to use the `kms:Decrypt` action to
         | 
| 7723 | 
            +
                #   retrieve the checksum.
         | 
| 7724 | 
            +
                #
         | 
| 7725 | 
            +
                #
         | 
| 7726 | 
            +
                #
         | 
| 7727 | 
            +
                #   [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
         | 
| 7728 | 
            +
                #
         | 
| 7655 7729 | 
             
                # @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 7656 7730 | 
             
                #
         | 
| 7657 7731 | 
             
                #   * {Types::GetObjectOutput#body #body} => IO
         | 
| @@ -7693,49 +7767,49 @@ module Aws::S3 | |
| 7693 7767 | 
             
                #   * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
         | 
| 7694 7768 | 
             
                #
         | 
| 7695 7769 | 
             
                #
         | 
| 7696 | 
            -
                # @example Example: To retrieve  | 
| 7770 | 
            +
                # @example Example: To retrieve an object
         | 
| 7697 7771 | 
             
                #
         | 
| 7698 | 
            -
                #   # The following example retrieves an object for an S3 bucket. | 
| 7699 | 
            -
                #   # specific byte range.
         | 
| 7772 | 
            +
                #   # The following example retrieves an object for an S3 bucket.
         | 
| 7700 7773 | 
             
                #
         | 
| 7701 7774 | 
             
                #   resp = client.get_object({
         | 
| 7702 7775 | 
             
                #     bucket: "examplebucket", 
         | 
| 7703 | 
            -
                #     key: " | 
| 7704 | 
            -
                #     range: "bytes=0-9", 
         | 
| 7776 | 
            +
                #     key: "HappyFace.jpg", 
         | 
| 7705 7777 | 
             
                #   })
         | 
| 7706 7778 | 
             
                #
         | 
| 7707 7779 | 
             
                #   resp.to_h outputs the following:
         | 
| 7708 7780 | 
             
                #   {
         | 
| 7709 7781 | 
             
                #     accept_ranges: "bytes", 
         | 
| 7710 | 
            -
                #     content_length:  | 
| 7711 | 
            -
                #      | 
| 7712 | 
            -
                #      | 
| 7713 | 
            -
                #      | 
| 7714 | 
            -
                #     last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"), 
         | 
| 7782 | 
            +
                #     content_length: 3191, 
         | 
| 7783 | 
            +
                #     content_type: "image/jpeg", 
         | 
| 7784 | 
            +
                #     etag: "\"6805f2cfc46c0f04559748bb039d69ae\"", 
         | 
| 7785 | 
            +
                #     last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"), 
         | 
| 7715 7786 | 
             
                #     metadata: {
         | 
| 7716 7787 | 
             
                #     }, 
         | 
| 7788 | 
            +
                #     tag_count: 2, 
         | 
| 7717 7789 | 
             
                #     version_id: "null", 
         | 
| 7718 7790 | 
             
                #   }
         | 
| 7719 7791 | 
             
                #
         | 
| 7720 | 
            -
                # @example Example: To retrieve an object
         | 
| 7792 | 
            +
                # @example Example: To retrieve a byte range of an object 
         | 
| 7721 7793 | 
             
                #
         | 
| 7722 | 
            -
                #   # The following example retrieves an object for an S3 bucket.
         | 
| 7794 | 
            +
                #   # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
         | 
| 7795 | 
            +
                #   # specific byte range.
         | 
| 7723 7796 | 
             
                #
         | 
| 7724 7797 | 
             
                #   resp = client.get_object({
         | 
| 7725 7798 | 
             
                #     bucket: "examplebucket", 
         | 
| 7726 | 
            -
                #     key: " | 
| 7799 | 
            +
                #     key: "SampleFile.txt", 
         | 
| 7800 | 
            +
                #     range: "bytes=0-9", 
         | 
| 7727 7801 | 
             
                #   })
         | 
| 7728 7802 | 
             
                #
         | 
| 7729 7803 | 
             
                #   resp.to_h outputs the following:
         | 
| 7730 7804 | 
             
                #   {
         | 
| 7731 7805 | 
             
                #     accept_ranges: "bytes", 
         | 
| 7732 | 
            -
                #     content_length:  | 
| 7733 | 
            -
                #      | 
| 7734 | 
            -
                #      | 
| 7735 | 
            -
                #      | 
| 7806 | 
            +
                #     content_length: 10, 
         | 
| 7807 | 
            +
                #     content_range: "bytes 0-9/43", 
         | 
| 7808 | 
            +
                #     content_type: "text/plain", 
         | 
| 7809 | 
            +
                #     etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"", 
         | 
| 7810 | 
            +
                #     last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"), 
         | 
| 7736 7811 | 
             
                #     metadata: {
         | 
| 7737 7812 | 
             
                #     }, 
         | 
| 7738 | 
            -
                #     tag_count: 2, 
         | 
| 7739 7813 | 
             
                #     version_id: "null", 
         | 
| 7740 7814 | 
             
                #   }
         | 
| 7741 7815 | 
             
                #
         | 
| @@ -8735,49 +8809,49 @@ module Aws::S3 | |
| 8735 8809 | 
             
                #   * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
         | 
| 8736 8810 | 
             
                #
         | 
| 8737 8811 | 
             
                #
         | 
| 8738 | 
            -
                # @example Example: To retrieve tag set of  | 
| 8812 | 
            +
                # @example Example: To retrieve tag set of an object
         | 
| 8739 8813 | 
             
                #
         | 
| 8740 | 
            -
                #   # The following example retrieves tag set of an object. | 
| 8814 | 
            +
                #   # The following example retrieves tag set of an object.
         | 
| 8741 8815 | 
             
                #
         | 
| 8742 8816 | 
             
                #   resp = client.get_object_tagging({
         | 
| 8743 8817 | 
             
                #     bucket: "examplebucket", 
         | 
| 8744 | 
            -
                #     key: " | 
| 8745 | 
            -
                #     version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI", 
         | 
| 8818 | 
            +
                #     key: "HappyFace.jpg", 
         | 
| 8746 8819 | 
             
                #   })
         | 
| 8747 8820 | 
             
                #
         | 
| 8748 8821 | 
             
                #   resp.to_h outputs the following:
         | 
| 8749 8822 | 
             
                #   {
         | 
| 8750 8823 | 
             
                #     tag_set: [
         | 
| 8751 8824 | 
             
                #       {
         | 
| 8752 | 
            -
                #         key: " | 
| 8753 | 
            -
                #         value: " | 
| 8825 | 
            +
                #         key: "Key4", 
         | 
| 8826 | 
            +
                #         value: "Value4", 
         | 
| 8827 | 
            +
                #       }, 
         | 
| 8828 | 
            +
                #       {
         | 
| 8829 | 
            +
                #         key: "Key3", 
         | 
| 8830 | 
            +
                #         value: "Value3", 
         | 
| 8754 8831 | 
             
                #       }, 
         | 
| 8755 8832 | 
             
                #     ], 
         | 
| 8756 | 
            -
                #     version_id: " | 
| 8833 | 
            +
                #     version_id: "null", 
         | 
| 8757 8834 | 
             
                #   }
         | 
| 8758 8835 | 
             
                #
         | 
| 8759 | 
            -
                # @example Example: To retrieve tag set of  | 
| 8836 | 
            +
                # @example Example: To retrieve tag set of a specific object version
         | 
| 8760 8837 | 
             
                #
         | 
| 8761 | 
            -
                #   # The following example retrieves tag set of an object.
         | 
| 8838 | 
            +
                #   # The following example retrieves tag set of an object. The request specifies object version.
         | 
| 8762 8839 | 
             
                #
         | 
| 8763 8840 | 
             
                #   resp = client.get_object_tagging({
         | 
| 8764 8841 | 
             
                #     bucket: "examplebucket", 
         | 
| 8765 | 
            -
                #     key: " | 
| 8842 | 
            +
                #     key: "exampleobject", 
         | 
| 8843 | 
            +
                #     version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI", 
         | 
| 8766 8844 | 
             
                #   })
         | 
| 8767 8845 | 
             
                #
         | 
| 8768 8846 | 
             
                #   resp.to_h outputs the following:
         | 
| 8769 8847 | 
             
                #   {
         | 
| 8770 8848 | 
             
                #     tag_set: [
         | 
| 8771 8849 | 
             
                #       {
         | 
| 8772 | 
            -
                #         key: " | 
| 8773 | 
            -
                #         value: " | 
| 8774 | 
            -
                #       }, 
         | 
| 8775 | 
            -
                #       {
         | 
| 8776 | 
            -
                #         key: "Key3", 
         | 
| 8777 | 
            -
                #         value: "Value3", 
         | 
| 8850 | 
            +
                #         key: "Key1", 
         | 
| 8851 | 
            +
                #         value: "Value1", 
         | 
| 8778 8852 | 
             
                #       }, 
         | 
| 8779 8853 | 
             
                #     ], 
         | 
| 8780 | 
            -
                #     version_id: " | 
| 8854 | 
            +
                #     version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI", 
         | 
| 8781 8855 | 
             
                #   }
         | 
| 8782 8856 | 
             
                #
         | 
| 8783 8857 | 
             
                # @example Request syntax with placeholder values
         | 
| @@ -8986,29 +9060,24 @@ module Aws::S3 | |
| 8986 9060 | 
             
                # have permission to access it. The action returns a `200 OK` if the
         | 
| 8987 9061 | 
             
                # bucket exists and you have permission to access it.
         | 
| 8988 9062 | 
             
                #
         | 
| 8989 | 
            -
                # If the bucket does not exist or you do not have permission to access
         | 
| 9063 | 
            +
                # <note markdown="1"> If the bucket does not exist or you do not have permission to access
         | 
| 8990 9064 | 
             
                # it, the `HEAD` request returns a generic `400 Bad Request`, `403
         | 
| 8991 9065 | 
             
                # Forbidden` or `404 Not Found` code. A message body is not included, so
         | 
| 8992 9066 | 
             
                # you cannot determine the exception beyond these HTTP response codes.
         | 
| 8993 9067 | 
             
                #
         | 
| 8994 | 
            -
                # <note markdown="1"> <b>Directory buckets </b> - You must make requests for this API
         | 
| 8995 | 
            -
                # operation to the Zonal endpoint. These endpoints support
         | 
| 8996 | 
            -
                # virtual-hosted-style requests in the format
         | 
| 8997 | 
            -
                # `https://bucket_name.s3express-az_id.region.amazonaws.com`. Path-style
         | 
| 8998 | 
            -
                # requests are not supported. For more information, see [Regional and
         | 
| 8999 | 
            -
                # Zonal endpoints][1] in the *Amazon S3 User Guide*.
         | 
| 9000 | 
            -
                #
         | 
| 9001 9068 | 
             
                #  </note>
         | 
| 9002 9069 | 
             
                #
         | 
| 9003 9070 | 
             
                # Authentication and authorization
         | 
| 9004 9071 | 
             
                #
         | 
| 9005 | 
            -
                # :  | 
| 9006 | 
            -
                #    | 
| 9007 | 
            -
                #    | 
| 9072 | 
            +
                # : **General purpose buckets** - Request to public buckets that grant
         | 
| 9073 | 
            +
                #   the s3:ListBucket permission publicly do not need to be signed. All
         | 
| 9074 | 
            +
                #   other `HeadBucket` requests must be authenticated and signed by
         | 
| 9075 | 
            +
                #   using IAM credentials (access key ID and secret access key for the
         | 
| 9076 | 
            +
                #   IAM identities). All headers with the `x-amz-` prefix, including
         | 
| 9008 9077 | 
             
                #   `x-amz-copy-source`, must be signed. For more information, see [REST
         | 
| 9009 | 
            -
                #   Authentication][ | 
| 9078 | 
            +
                #   Authentication][1].
         | 
| 9010 9079 | 
             
                #
         | 
| 9011 | 
            -
                #   **Directory  | 
| 9080 | 
            +
                #   **Directory buckets** - You must use IAM credentials to authenticate
         | 
| 9012 9081 | 
             
                #   and authorize your access to the `HeadBucket` API operation, instead
         | 
| 9013 9082 | 
             
                #   of using the temporary security credentials through the
         | 
| 9014 9083 | 
             
                #   `CreateSession` API operation.
         | 
| @@ -9024,7 +9093,7 @@ module Aws::S3 | |
| 9024 9093 | 
             
                #     you must have permissions to perform the `s3:ListBucket` action.
         | 
| 9025 9094 | 
             
                #     The bucket owner has this permission by default and can grant this
         | 
| 9026 9095 | 
             
                #     permission to others. For more information about permissions, see
         | 
| 9027 | 
            -
                #     [Managing access permissions to your Amazon S3 resources][ | 
| 9096 | 
            +
                #     [Managing access permissions to your Amazon S3 resources][2] in
         | 
| 9028 9097 | 
             
                #     the *Amazon S3 User Guide*.
         | 
| 9029 9098 | 
             
                #
         | 
| 9030 9099 | 
             
                #   * **Directory bucket permissions** - You must have the <b>
         | 
| @@ -9035,9 +9104,9 @@ module Aws::S3 | |
| 9035 9104 | 
             
                #     `ReadOnly` on the bucket.
         | 
| 9036 9105 | 
             
                #
         | 
| 9037 9106 | 
             
                #     For more information about example bucket policies, see [Example
         | 
| 9038 | 
            -
                #     bucket policies for S3 Express One Zone][ | 
| 9107 | 
            +
                #     bucket policies for S3 Express One Zone][3] and [Amazon Web
         | 
| 9039 9108 | 
             
                #     Services Identity and Access Management (IAM) identity-based
         | 
| 9040 | 
            -
                #     policies for S3 Express One Zone][ | 
| 9109 | 
            +
                #     policies for S3 Express One Zone][4] in the *Amazon S3 User
         | 
| 9041 9110 | 
             
                #     Guide*.
         | 
| 9042 9111 | 
             
                #
         | 
| 9043 9112 | 
             
                # HTTP Host header syntax
         | 
| @@ -9045,13 +9114,21 @@ module Aws::S3 | |
| 9045 9114 | 
             
                # : <b>Directory buckets </b> - The HTTP Host header syntax is `
         | 
| 9046 9115 | 
             
                #   Bucket_name.s3express-az_id.region.amazonaws.com`.
         | 
| 9047 9116 | 
             
                #
         | 
| 9117 | 
            +
                #   <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
         | 
| 9118 | 
            +
                #   These endpoints support virtual-hosted-style requests in the format
         | 
| 9119 | 
            +
                #   `https://bucket_name.s3express-az_id.region.amazonaws.com`.
         | 
| 9120 | 
            +
                #   Path-style requests are not supported. For more information, see
         | 
| 9121 | 
            +
                #   [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
         | 
| 9122 | 
            +
                #
         | 
| 9123 | 
            +
                #    </note>
         | 
| 9048 9124 | 
             
                #
         | 
| 9049 9125 | 
             
                #
         | 
| 9050 | 
            -
                # | 
| 9051 | 
            -
                # [ | 
| 9052 | 
            -
                # [ | 
| 9053 | 
            -
                # [ | 
| 9054 | 
            -
                # [ | 
| 9126 | 
            +
                #
         | 
| 9127 | 
            +
                # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
         | 
| 9128 | 
            +
                # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
         | 
| 9129 | 
            +
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
         | 
| 9130 | 
            +
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
         | 
| 9131 | 
            +
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
         | 
| 9055 9132 | 
             
                #
         | 
| 9056 9133 | 
             
                # @option params [required, String] :bucket
         | 
| 9057 9134 | 
             
                #   The bucket name.
         | 
| @@ -9159,7 +9236,7 @@ module Aws::S3 | |
| 9159 9236 | 
             
                # returning the object itself. This operation is useful if you're
         | 
| 9160 9237 | 
             
                # interested only in an object's metadata.
         | 
| 9161 9238 | 
             
                #
         | 
| 9162 | 
            -
                # A `HEAD` request has the same options as a `GET` operation on an
         | 
| 9239 | 
            +
                # <note markdown="1"> A `HEAD` request has the same options as a `GET` operation on an
         | 
| 9163 9240 | 
             
                # object. The response is identical to the `GET` response except that
         | 
| 9164 9241 | 
             
                # there is no response body. Because of this, if the `HEAD` request
         | 
| 9165 9242 | 
             
                # generates an error, it returns a generic code, such as `400 Bad
         | 
| @@ -9167,18 +9244,11 @@ module Aws::S3 | |
| 9167 9244 | 
             
                # `412 Precondition Failed`, or `304 Not Modified`. It's not possible
         | 
| 9168 9245 | 
             
                # to retrieve the exact exception of these error codes.
         | 
| 9169 9246 | 
             
                #
         | 
| 9247 | 
            +
                #  </note>
         | 
| 9248 | 
            +
                #
         | 
| 9170 9249 | 
             
                # Request headers are limited to 8 KB in size. For more information, see
         | 
| 9171 9250 | 
             
                # [Common Request Headers][1].
         | 
| 9172 9251 | 
             
                #
         | 
| 9173 | 
            -
                # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
         | 
| 9174 | 
            -
                # for this API operation to the Zonal endpoint. These endpoints support
         | 
| 9175 | 
            -
                # virtual-hosted-style requests in the format
         | 
| 9176 | 
            -
                # `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
         | 
| 9177 | 
            -
                # Path-style requests are not supported. For more information, see
         | 
| 9178 | 
            -
                # [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
         | 
| 9179 | 
            -
                #
         | 
| 9180 | 
            -
                #  </note>
         | 
| 9181 | 
            -
                #
         | 
| 9182 9252 | 
             
                # Permissions
         | 
| 9183 9253 | 
             
                #
         | 
| 9184 9254 | 
             
                # :
         | 
| @@ -9187,7 +9257,7 @@ module Aws::S3 | |
| 9187 9257 | 
             
                #     have the `s3:GetObject` permission. You need the relevant read
         | 
| 9188 9258 | 
             
                #     object (or version) permission for this operation. For more
         | 
| 9189 9259 | 
             
                #     information, see [Actions, resources, and condition keys for
         | 
| 9190 | 
            -
                #     Amazon S3][ | 
| 9260 | 
            +
                #     Amazon S3][2] in the *Amazon S3 User Guide*.
         | 
| 9191 9261 | 
             
                #
         | 
| 9192 9262 | 
             
                #     If the object you request doesn't exist, the error that Amazon S3
         | 
| 9193 9263 | 
             
                #     returns depends on whether you also have the `s3:ListBucket`
         | 
| @@ -9201,7 +9271,7 @@ module Aws::S3 | |
| 9201 9271 | 
             
                #
         | 
| 9202 9272 | 
             
                #   * **Directory bucket permissions** - To grant access to this API
         | 
| 9203 9273 | 
             
                #     operation on a directory bucket, we recommend that you use the [
         | 
| 9204 | 
            -
                #     `CreateSession` ][ | 
| 9274 | 
            +
                #     `CreateSession` ][3] API operation for session-based
         | 
| 9205 9275 | 
             
                #     authorization. Specifically, you grant the
         | 
| 9206 9276 | 
             
                #     `s3express:CreateSession` permission to the directory bucket in a
         | 
| 9207 9277 | 
             
                #     bucket policy or an IAM identity-based policy. Then, you make the
         | 
| @@ -9212,7 +9282,7 @@ module Aws::S3 | |
| 9212 9282 | 
             
                #     token for use. Amazon Web Services CLI or SDKs create session and
         | 
| 9213 9283 | 
             
                #     refresh the session token automatically to avoid service
         | 
| 9214 9284 | 
             
                #     interruptions when a session expires. For more information about
         | 
| 9215 | 
            -
                #     authorization, see [ `CreateSession` ][ | 
| 9285 | 
            +
                #     authorization, see [ `CreateSession` ][3].
         | 
| 9216 9286 | 
             
                #
         | 
| 9217 9287 | 
             
                # Encryption
         | 
| 9218 9288 | 
             
                # : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
         | 
| @@ -9244,7 +9314,7 @@ module Aws::S3 | |
| 9244 9314 | 
             
                #   * `x-amz-server-side-encryption-customer-key-MD5`
         | 
| 9245 9315 | 
             
                #
         | 
| 9246 9316 | 
             
                #   For more information about SSE-C, see [Server-Side Encryption (Using
         | 
| 9247 | 
            -
                #   Customer-Provided Encryption Keys)][ | 
| 9317 | 
            +
                #   Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
         | 
| 9248 9318 | 
             
                #   Guide*.
         | 
| 9249 9319 | 
             
                #
         | 
| 9250 9320 | 
             
                #   <note markdown="1"> **Directory bucket permissions** - For directory buckets, only
         | 
| @@ -9278,6 +9348,15 @@ module Aws::S3 | |
| 9278 9348 | 
             
                # : <b>Directory buckets </b> - The HTTP Host header syntax is `
         | 
| 9279 9349 | 
             
                #   Bucket_name.s3express-az_id.region.amazonaws.com`.
         | 
| 9280 9350 | 
             
                #
         | 
| 9351 | 
            +
                #   <note markdown="1"> For directory buckets, you must make requests for this API operation
         | 
| 9352 | 
            +
                #   to the Zonal endpoint. These endpoints support virtual-hosted-style
         | 
| 9353 | 
            +
                #   requests in the format
         | 
| 9354 | 
            +
                #   `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
         | 
| 9355 | 
            +
                #   `. Path-style requests are not supported. For more information, see
         | 
| 9356 | 
            +
                #   [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
         | 
| 9357 | 
            +
                #
         | 
| 9358 | 
            +
                #    </note>
         | 
| 9359 | 
            +
                #
         | 
| 9281 9360 | 
             
                # The following actions are related to `HeadObject`:
         | 
| 9282 9361 | 
             
                #
         | 
| 9283 9362 | 
             
                # * [GetObject][6]
         | 
| @@ -9287,10 +9366,10 @@ module Aws::S3 | |
| 9287 9366 | 
             
                #
         | 
| 9288 9367 | 
             
                #
         | 
| 9289 9368 | 
             
                # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
         | 
| 9290 | 
            -
                # [2]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 9291 | 
            -
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 9292 | 
            -
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 9293 | 
            -
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 9369 | 
            +
                # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
         | 
| 9370 | 
            +
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
         | 
| 9371 | 
            +
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
         | 
| 9372 | 
            +
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
         | 
| 9294 9373 | 
             
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
         | 
| 9295 9374 | 
             
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
         | 
| 9296 9375 | 
             
                #
         | 
| @@ -9423,6 +9502,24 @@ module Aws::S3 | |
| 9423 9502 | 
             
                #   the Range is not satisfiable, S3 returns a `416 - Requested Range Not
         | 
| 9424 9503 | 
             
                #   Satisfiable` error.
         | 
| 9425 9504 | 
             
                #
         | 
| 9505 | 
            +
                # @option params [String] :response_cache_control
         | 
| 9506 | 
            +
                #   Sets the `Cache-Control` header of the response.
         | 
| 9507 | 
            +
                #
         | 
| 9508 | 
            +
                # @option params [String] :response_content_disposition
         | 
| 9509 | 
            +
                #   Sets the `Content-Disposition` header of the response.
         | 
| 9510 | 
            +
                #
         | 
| 9511 | 
            +
                # @option params [String] :response_content_encoding
         | 
| 9512 | 
            +
                #   Sets the `Content-Encoding` header of the response.
         | 
| 9513 | 
            +
                #
         | 
| 9514 | 
            +
                # @option params [String] :response_content_language
         | 
| 9515 | 
            +
                #   Sets the `Content-Language` header of the response.
         | 
| 9516 | 
            +
                #
         | 
| 9517 | 
            +
                # @option params [String] :response_content_type
         | 
| 9518 | 
            +
                #   Sets the `Content-Type` header of the response.
         | 
| 9519 | 
            +
                #
         | 
| 9520 | 
            +
                # @option params [Time,DateTime,Date,Integer,String] :response_expires
         | 
| 9521 | 
            +
                #   Sets the `Expires` header of the response.
         | 
| 9522 | 
            +
                #
         | 
| 9426 9523 | 
             
                # @option params [String] :version_id
         | 
| 9427 9524 | 
             
                #   Version ID used to reference a specific version of the object.
         | 
| 9428 9525 | 
             
                #
         | 
| @@ -9490,10 +9587,14 @@ module Aws::S3 | |
| 9490 9587 | 
             
                # @option params [String] :checksum_mode
         | 
| 9491 9588 | 
             
                #   To retrieve the checksum, this parameter must be enabled.
         | 
| 9492 9589 | 
             
                #
         | 
| 9493 | 
            -
                #   In addition, if you enable  | 
| 9494 | 
            -
                #   with  | 
| 9495 | 
            -
                #   KMS), you must have permission to use the `kms:Decrypt` action  | 
| 9496 | 
            -
                #    | 
| 9590 | 
            +
                #   In addition, if you enable checksum mode and the object is uploaded
         | 
| 9591 | 
            +
                #   with a [checksum][1] and encrypted with an Key Management Service
         | 
| 9592 | 
            +
                #   (KMS) key, you must have permission to use the `kms:Decrypt` action to
         | 
| 9593 | 
            +
                #   retrieve the checksum.
         | 
| 9594 | 
            +
                #
         | 
| 9595 | 
            +
                #
         | 
| 9596 | 
            +
                #
         | 
| 9597 | 
            +
                #   [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
         | 
| 9497 9598 | 
             
                #
         | 
| 9498 9599 | 
             
                # @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 9499 9600 | 
             
                #
         | 
| @@ -9565,6 +9666,12 @@ module Aws::S3 | |
| 9565 9666 | 
             
                #     if_unmodified_since: Time.now,
         | 
| 9566 9667 | 
             
                #     key: "ObjectKey", # required
         | 
| 9567 9668 | 
             
                #     range: "Range",
         | 
| 9669 | 
            +
                #     response_cache_control: "ResponseCacheControl",
         | 
| 9670 | 
            +
                #     response_content_disposition: "ResponseContentDisposition",
         | 
| 9671 | 
            +
                #     response_content_encoding: "ResponseContentEncoding",
         | 
| 9672 | 
            +
                #     response_content_language: "ResponseContentLanguage",
         | 
| 9673 | 
            +
                #     response_content_type: "ResponseContentType",
         | 
| 9674 | 
            +
                #     response_expires: Time.now,
         | 
| 9568 9675 | 
             
                #     version_id: "ObjectVersionId",
         | 
| 9569 9676 | 
             
                #     sse_customer_algorithm: "SSECustomerAlgorithm",
         | 
| 9570 9677 | 
             
                #     sse_customer_key: "SSECustomerKey",
         | 
| @@ -10041,10 +10148,28 @@ module Aws::S3 | |
| 10041 10148 | 
             
                #
         | 
| 10042 10149 | 
             
                # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
         | 
| 10043 10150 | 
             
                #
         | 
| 10151 | 
            +
                # @option params [Integer] :max_buckets
         | 
| 10152 | 
            +
                #   Maximum number of buckets to be returned in response. When the number
         | 
| 10153 | 
            +
                #   is more than the count of buckets that are owned by an Amazon Web
         | 
| 10154 | 
            +
                #   Services account, return all the buckets in response.
         | 
| 10155 | 
            +
                #
         | 
| 10156 | 
            +
                # @option params [String] :continuation_token
         | 
| 10157 | 
            +
                #   `ContinuationToken` indicates to Amazon S3 that the list is being
         | 
| 10158 | 
            +
                #   continued on this bucket with a token. `ContinuationToken` is
         | 
| 10159 | 
            +
                #   obfuscated and is not a real key. You can use this `ContinuationToken`
         | 
| 10160 | 
            +
                #   for pagination of the list results.
         | 
| 10161 | 
            +
                #
         | 
| 10162 | 
            +
                #   Length Constraints: Minimum length of 0. Maximum length of 1024.
         | 
| 10163 | 
            +
                #
         | 
| 10164 | 
            +
                #   Required: No.
         | 
| 10165 | 
            +
                #
         | 
| 10044 10166 | 
             
                # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 10045 10167 | 
             
                #
         | 
| 10046 10168 | 
             
                #   * {Types::ListBucketsOutput#buckets #buckets} => Array<Types::Bucket>
         | 
| 10047 10169 | 
             
                #   * {Types::ListBucketsOutput#owner #owner} => Types::Owner
         | 
| 10170 | 
            +
                #   * {Types::ListBucketsOutput#continuation_token #continuation_token} => String
         | 
| 10171 | 
            +
                #
         | 
| 10172 | 
            +
                # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
         | 
| 10048 10173 | 
             
                #
         | 
| 10049 10174 | 
             
                #
         | 
| 10050 10175 | 
             
                # @example Example: To list all buckets
         | 
| @@ -10076,6 +10201,13 @@ module Aws::S3 | |
| 10076 10201 | 
             
                #     }, 
         | 
| 10077 10202 | 
             
                #   }
         | 
| 10078 10203 | 
             
                #
         | 
| 10204 | 
            +
                # @example Request syntax with placeholder values
         | 
| 10205 | 
            +
                #
         | 
| 10206 | 
            +
                #   resp = client.list_buckets({
         | 
| 10207 | 
            +
                #     max_buckets: 1,
         | 
| 10208 | 
            +
                #     continuation_token: "Token",
         | 
| 10209 | 
            +
                #   })
         | 
| 10210 | 
            +
                #
         | 
| 10079 10211 | 
             
                # @example Response structure
         | 
| 10080 10212 | 
             
                #
         | 
| 10081 10213 | 
             
                #   resp.buckets #=> Array
         | 
| @@ -10083,6 +10215,7 @@ module Aws::S3 | |
| 10083 10215 | 
             
                #   resp.buckets[0].creation_date #=> Time
         | 
| 10084 10216 | 
             
                #   resp.owner.display_name #=> String
         | 
| 10085 10217 | 
             
                #   resp.owner.id #=> String
         | 
| 10218 | 
            +
                #   resp.continuation_token #=> String
         | 
| 10086 10219 | 
             
                #
         | 
| 10087 10220 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets AWS API Documentation
         | 
| 10088 10221 | 
             
                #
         | 
| @@ -10131,9 +10264,9 @@ module Aws::S3 | |
| 10131 10264 | 
             
                #
         | 
| 10132 10265 | 
             
                # @option params [String] :continuation_token
         | 
| 10133 10266 | 
             
                #   `ContinuationToken` indicates to Amazon S3 that the list is being
         | 
| 10134 | 
            -
                #   continued on this  | 
| 10135 | 
            -
                #   obfuscated and is not a real  | 
| 10136 | 
            -
                #   for pagination of the list results.
         | 
| 10267 | 
            +
                #   continued on buckets in this account with a token. `ContinuationToken`
         | 
| 10268 | 
            +
                #   is obfuscated and is not a real bucket name. You can use this
         | 
| 10269 | 
            +
                #   `ContinuationToken` for the pagination of the list results.
         | 
| 10137 10270 | 
             
                #
         | 
| 10138 10271 | 
             
                # @option params [Integer] :max_directory_buckets
         | 
| 10139 10272 | 
             
                #   Maximum number of buckets to be returned in response. When the number
         | 
| @@ -10177,7 +10310,11 @@ module Aws::S3 | |
| 10177 10310 | 
             
                #
         | 
| 10178 10311 | 
             
                # <note markdown="1"> **Directory buckets** - If multipart uploads in a directory bucket are
         | 
| 10179 10312 | 
             
                # in progress, you can't delete the bucket until all the in-progress
         | 
| 10180 | 
            -
                # multipart uploads are aborted or completed.
         | 
| 10313 | 
            +
                # multipart uploads are aborted or completed. To delete these
         | 
| 10314 | 
            +
                # in-progress multipart uploads, use the `ListMultipartUploads`
         | 
| 10315 | 
            +
                # operation to list the in-progress multipart uploads in the bucket and
         | 
| 10316 | 
            +
                # use the `AbortMultupartUpload` operation to abort all the in-progress
         | 
| 10317 | 
            +
                # multipart uploads.
         | 
| 10181 10318 | 
             
                #
         | 
| 10182 10319 | 
             
                #  </note>
         | 
| 10183 10320 | 
             
                #
         | 
| @@ -10343,12 +10480,26 @@ module Aws::S3 | |
| 10343 10480 | 
             
                #    </note>
         | 
| 10344 10481 | 
             
                #
         | 
| 10345 10482 | 
             
                # @option params [String] :encoding_type
         | 
| 10346 | 
            -
                #    | 
| 10347 | 
            -
                #    | 
| 10348 | 
            -
                #   Unicode character | 
| 10349 | 
            -
                #   characters, such as characters with an ASCII value from | 
| 10350 | 
            -
                #   characters that  | 
| 10351 | 
            -
                #   parameter to request that Amazon S3 encode the keys in the | 
| 10483 | 
            +
                #   Encoding type used by Amazon S3 to encode the [object keys][1] in the
         | 
| 10484 | 
            +
                #   response. Responses are encoded only in UTF-8. An object key can
         | 
| 10485 | 
            +
                #   contain any Unicode character. However, the XML 1.0 parser can't
         | 
| 10486 | 
            +
                #   parse certain characters, such as characters with an ASCII value from
         | 
| 10487 | 
            +
                #   0 to 10. For characters that aren't supported in XML 1.0, you can add
         | 
| 10488 | 
            +
                #   this parameter to request that Amazon S3 encode the keys in the
         | 
| 10489 | 
            +
                #   response. For more information about characters to avoid in object key
         | 
| 10490 | 
            +
                #   names, see [Object key naming guidelines][2].
         | 
| 10491 | 
            +
                #
         | 
| 10492 | 
            +
                #   <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
         | 
| 10493 | 
            +
                #   in an object's key name will be percent-encoded according to UTF-8
         | 
| 10494 | 
            +
                #   code values. For example, the object `test_file(3).png` will appear as
         | 
| 10495 | 
            +
                #   `test_file%283%29.png`.
         | 
| 10496 | 
            +
                #
         | 
| 10497 | 
            +
                #    </note>
         | 
| 10498 | 
            +
                #
         | 
| 10499 | 
            +
                #
         | 
| 10500 | 
            +
                #
         | 
| 10501 | 
            +
                #   [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
         | 
| 10502 | 
            +
                #   [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
         | 
| 10352 10503 | 
             
                #
         | 
| 10353 10504 | 
             
                # @option params [String] :key_marker
         | 
| 10354 10505 | 
             
                #   Specifies the multipart upload after which listing should begin.
         | 
| @@ -10640,12 +10791,26 @@ module Aws::S3 | |
| 10640 10791 | 
             
                #   the response.
         | 
| 10641 10792 | 
             
                #
         | 
| 10642 10793 | 
             
                # @option params [String] :encoding_type
         | 
| 10643 | 
            -
                #    | 
| 10644 | 
            -
                #    | 
| 10645 | 
            -
                #   Unicode character | 
| 10646 | 
            -
                #   characters, such as characters with an ASCII value from | 
| 10647 | 
            -
                #   characters that  | 
| 10648 | 
            -
                #   parameter to request that Amazon S3 encode the keys in the | 
| 10794 | 
            +
                #   Encoding type used by Amazon S3 to encode the [object keys][1] in the
         | 
| 10795 | 
            +
                #   response. Responses are encoded only in UTF-8. An object key can
         | 
| 10796 | 
            +
                #   contain any Unicode character. However, the XML 1.0 parser can't
         | 
| 10797 | 
            +
                #   parse certain characters, such as characters with an ASCII value from
         | 
| 10798 | 
            +
                #   0 to 10. For characters that aren't supported in XML 1.0, you can add
         | 
| 10799 | 
            +
                #   this parameter to request that Amazon S3 encode the keys in the
         | 
| 10800 | 
            +
                #   response. For more information about characters to avoid in object key
         | 
| 10801 | 
            +
                #   names, see [Object key naming guidelines][2].
         | 
| 10802 | 
            +
                #
         | 
| 10803 | 
            +
                #   <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
         | 
| 10804 | 
            +
                #   in an object's key name will be percent-encoded according to UTF-8
         | 
| 10805 | 
            +
                #   code values. For example, the object `test_file(3).png` will appear as
         | 
| 10806 | 
            +
                #   `test_file%283%29.png`.
         | 
| 10807 | 
            +
                #
         | 
| 10808 | 
            +
                #    </note>
         | 
| 10809 | 
            +
                #
         | 
| 10810 | 
            +
                #
         | 
| 10811 | 
            +
                #
         | 
| 10812 | 
            +
                #   [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
         | 
| 10813 | 
            +
                #   [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
         | 
| 10649 10814 | 
             
                #
         | 
| 10650 10815 | 
             
                # @option params [String] :key_marker
         | 
| 10651 10816 | 
             
                #   Specifies the key to start with when listing objects in a bucket.
         | 
| @@ -10899,12 +11064,26 @@ module Aws::S3 | |
| 10899 11064 | 
             
                #   A delimiter is a character that you use to group keys.
         | 
| 10900 11065 | 
             
                #
         | 
| 10901 11066 | 
             
                # @option params [String] :encoding_type
         | 
| 10902 | 
            -
                #    | 
| 10903 | 
            -
                #    | 
| 10904 | 
            -
                #   Unicode character | 
| 10905 | 
            -
                #   characters, such as characters with an ASCII value from | 
| 10906 | 
            -
                #   characters that  | 
| 10907 | 
            -
                #   parameter to request that Amazon S3 encode the keys in the | 
| 11067 | 
            +
                #   Encoding type used by Amazon S3 to encode the [object keys][1] in the
         | 
| 11068 | 
            +
                #   response. Responses are encoded only in UTF-8. An object key can
         | 
| 11069 | 
            +
                #   contain any Unicode character. However, the XML 1.0 parser can't
         | 
| 11070 | 
            +
                #   parse certain characters, such as characters with an ASCII value from
         | 
| 11071 | 
            +
                #   0 to 10. For characters that aren't supported in XML 1.0, you can add
         | 
| 11072 | 
            +
                #   this parameter to request that Amazon S3 encode the keys in the
         | 
| 11073 | 
            +
                #   response. For more information about characters to avoid in object key
         | 
| 11074 | 
            +
                #   names, see [Object key naming guidelines][2].
         | 
| 11075 | 
            +
                #
         | 
| 11076 | 
            +
                #   <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
         | 
| 11077 | 
            +
                #   in an object's key name will be percent-encoded according to UTF-8
         | 
| 11078 | 
            +
                #   code values. For example, the object `test_file(3).png` will appear as
         | 
| 11079 | 
            +
                #   `test_file%283%29.png`.
         | 
| 11080 | 
            +
                #
         | 
| 11081 | 
            +
                #    </note>
         | 
| 11082 | 
            +
                #
         | 
| 11083 | 
            +
                #
         | 
| 11084 | 
            +
                #
         | 
| 11085 | 
            +
                #   [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
         | 
| 11086 | 
            +
                #   [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
         | 
| 10908 11087 | 
             
                #
         | 
| 10909 11088 | 
             
                # @option params [String] :marker
         | 
| 10910 11089 | 
             
                #   Marker is where you want Amazon S3 to start listing from. Amazon S3
         | 
| @@ -11046,12 +11225,20 @@ module Aws::S3 | |
| 11046 11225 | 
             
                # programmatically][1] in the *Amazon S3 User Guide*. To get a list of
         | 
| 11047 11226 | 
             
                # your buckets, see [ListBuckets][2].
         | 
| 11048 11227 | 
             
                #
         | 
| 11049 | 
            -
                # <note markdown="1"> ** | 
| 11050 | 
            -
                #  | 
| 11051 | 
            -
                # | 
| 11052 | 
            -
                # | 
| 11053 | 
            -
                #  | 
| 11054 | 
            -
                #  | 
| 11228 | 
            +
                # <note markdown="1"> * **General purpose bucket** - For general purpose buckets,
         | 
| 11229 | 
            +
                #   `ListObjectsV2` doesn't return prefixes that are related only to
         | 
| 11230 | 
            +
                #   in-progress multipart uploads.
         | 
| 11231 | 
            +
                #
         | 
| 11232 | 
            +
                # * **Directory buckets** - For directory buckets, `ListObjectsV2`
         | 
| 11233 | 
            +
                #   response includes the prefixes that are related only to in-progress
         | 
| 11234 | 
            +
                #   multipart uploads.
         | 
| 11235 | 
            +
                #
         | 
| 11236 | 
            +
                # * **Directory buckets** - For directory buckets, you must make
         | 
| 11237 | 
            +
                #   requests for this API operation to the Zonal endpoint. These
         | 
| 11238 | 
            +
                #   endpoints support virtual-hosted-style requests in the format
         | 
| 11239 | 
            +
                #   `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
         | 
| 11240 | 
            +
                #   `. Path-style requests are not supported. For more information, see
         | 
| 11241 | 
            +
                #   [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
         | 
| 11055 11242 | 
             
                #
         | 
| 11056 11243 | 
             
                #  </note>
         | 
| 11057 11244 | 
             
                #
         | 
| @@ -11180,10 +11367,26 @@ module Aws::S3 | |
| 11180 11367 | 
             
                #   [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
         | 
| 11181 11368 | 
             
                #
         | 
| 11182 11369 | 
             
                # @option params [String] :encoding_type
         | 
| 11183 | 
            -
                #   Encoding type used by Amazon S3 to encode object keys in the | 
| 11184 | 
            -
                #    | 
| 11185 | 
            -
                #    | 
| 11186 | 
            -
                #    | 
| 11370 | 
            +
                #   Encoding type used by Amazon S3 to encode the [object keys][1] in the
         | 
| 11371 | 
            +
                #   response. Responses are encoded only in UTF-8. An object key can
         | 
| 11372 | 
            +
                #   contain any Unicode character. However, the XML 1.0 parser can't
         | 
| 11373 | 
            +
                #   parse certain characters, such as characters with an ASCII value from
         | 
| 11374 | 
            +
                #   0 to 10. For characters that aren't supported in XML 1.0, you can add
         | 
| 11375 | 
            +
                #   this parameter to request that Amazon S3 encode the keys in the
         | 
| 11376 | 
            +
                #   response. For more information about characters to avoid in object key
         | 
| 11377 | 
            +
                #   names, see [Object key naming guidelines][2].
         | 
| 11378 | 
            +
                #
         | 
| 11379 | 
            +
                #   <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
         | 
| 11380 | 
            +
                #   in an object's key name will be percent-encoded according to UTF-8
         | 
| 11381 | 
            +
                #   code values. For example, the object `test_file(3).png` will appear as
         | 
| 11382 | 
            +
                #   `test_file%283%29.png`.
         | 
| 11383 | 
            +
                #
         | 
| 11384 | 
            +
                #    </note>
         | 
| 11385 | 
            +
                #
         | 
| 11386 | 
            +
                #
         | 
| 11387 | 
            +
                #
         | 
| 11388 | 
            +
                #   [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
         | 
| 11389 | 
            +
                #   [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
         | 
| 11187 11390 | 
             
                #
         | 
| 11188 11391 | 
             
                # @option params [Integer] :max_keys
         | 
| 11189 11392 | 
             
                #   Sets the maximum number of keys returned in the response. By default,
         | 
| @@ -12402,9 +12605,15 @@ module Aws::S3 | |
| 12402 12605 | 
             
                # S3 does not validate the KMS key ID provided in PutBucketEncryption
         | 
| 12403 12606 | 
             
                # requests.
         | 
| 12404 12607 | 
             
                #
         | 
| 12405 | 
            -
                #  | 
| 12406 | 
            -
                #  | 
| 12407 | 
            -
                #  | 
| 12608 | 
            +
                # If you're specifying a customer managed KMS key, we recommend using a
         | 
| 12609 | 
            +
                # fully qualified KMS key ARN. If you use a KMS key alias instead, then
         | 
| 12610 | 
            +
                # KMS resolves the key within the requester’s account. This behavior can
         | 
| 12611 | 
            +
                # result in data that's encrypted with a KMS key that belongs to the
         | 
| 12612 | 
            +
                # requester, and not the bucket owner.
         | 
| 12613 | 
            +
                #
         | 
| 12614 | 
            +
                #  Also, this action requires Amazon Web Services Signature Version 4.
         | 
| 12615 | 
            +
                # For more information, see [ Authenticating Requests (Amazon Web
         | 
| 12616 | 
            +
                # Services Signature Version 4)][3].
         | 
| 12408 12617 | 
             
                #
         | 
| 12409 12618 | 
             
                # To use this operation, you must have permission to perform the
         | 
| 12410 12619 | 
             
                # `s3:PutEncryptionConfiguration` action. The bucket owner has this
         | 
| @@ -14472,6 +14681,14 @@ module Aws::S3 | |
| 14472 14681 | 
             
                #
         | 
| 14473 14682 | 
             
                #  </note>
         | 
| 14474 14683 | 
             
                #
         | 
| 14684 | 
            +
                # <note markdown="1"> When you enable versioning on a bucket for the first time, it might
         | 
| 14685 | 
            +
                # take a short amount of time for the change to be fully propagated. We
         | 
| 14686 | 
            +
                # recommend that you wait for 15 minutes after enabling versioning
         | 
| 14687 | 
            +
                # before issuing write operations (`PUT` or `DELETE`) on objects in the
         | 
| 14688 | 
            +
                # bucket.
         | 
| 14689 | 
            +
                #
         | 
| 14690 | 
            +
                #  </note>
         | 
| 14691 | 
            +
                #
         | 
| 14475 14692 | 
             
                # Sets the versioning state of an existing bucket.
         | 
| 14476 14693 | 
             
                #
         | 
| 14477 14694 | 
             
                # You can set the versioning state with one of the following values:
         | 
| @@ -15147,6 +15364,25 @@ module Aws::S3 | |
| 15147 15364 | 
             
                #
         | 
| 15148 15365 | 
             
                #   [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
         | 
| 15149 15366 | 
             
                #
         | 
| 15367 | 
            +
                # @option params [String] :if_none_match
         | 
| 15368 | 
            +
                #   Uploads the object only if the object key name does not already exist
         | 
| 15369 | 
            +
                #   in the bucket specified. Otherwise, Amazon S3 returns a `412
         | 
| 15370 | 
            +
                #   Precondition Failed` error.
         | 
| 15371 | 
            +
                #
         | 
| 15372 | 
            +
                #   If a conflicting operation occurs during the upload S3 returns a `409
         | 
| 15373 | 
            +
                #   ConditionalRequestConflict` response. On a 409 failure you should
         | 
| 15374 | 
            +
                #   retry the upload.
         | 
| 15375 | 
            +
                #
         | 
| 15376 | 
            +
                #   Expects the '*' (asterisk) character.
         | 
| 15377 | 
            +
                #
         | 
| 15378 | 
            +
                #   For more information about conditional requests, see [RFC 7232][1], or
         | 
| 15379 | 
            +
                #   [Conditional requests][2] in the *Amazon S3 User Guide*.
         | 
| 15380 | 
            +
                #
         | 
| 15381 | 
            +
                #
         | 
| 15382 | 
            +
                #
         | 
| 15383 | 
            +
                #   [1]: https://tools.ietf.org/html/rfc7232
         | 
| 15384 | 
            +
                #   [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
         | 
| 15385 | 
            +
                #
         | 
| 15150 15386 | 
             
                # @option params [String] :grant_full_control
         | 
| 15151 15387 | 
             
                #   Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
         | 
| 15152 15388 | 
             
                #   object.
         | 
| @@ -15410,62 +15646,75 @@ module Aws::S3 | |
| 15410 15646 | 
             
                #   * {Types::PutObjectOutput#request_charged #request_charged} => String
         | 
| 15411 15647 | 
             
                #
         | 
| 15412 15648 | 
             
                #
         | 
| 15413 | 
            -
                # @example Example: To upload an object
         | 
| 15649 | 
            +
                # @example Example: To upload an object (specify optional headers)
         | 
| 15414 15650 | 
             
                #
         | 
| 15415 | 
            -
                #   # The following example uploads an object  | 
| 15416 | 
            -
                #   #  | 
| 15651 | 
            +
                #   # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
         | 
| 15652 | 
            +
                #   # storage class and use server-side encryption.
         | 
| 15417 15653 | 
             
                #
         | 
| 15418 15654 | 
             
                #   resp = client.put_object({
         | 
| 15419 15655 | 
             
                #     body: "HappyFace.jpg", 
         | 
| 15420 15656 | 
             
                #     bucket: "examplebucket", 
         | 
| 15421 15657 | 
             
                #     key: "HappyFace.jpg", 
         | 
| 15658 | 
            +
                #     server_side_encryption: "AES256", 
         | 
| 15659 | 
            +
                #     storage_class: "STANDARD_IA", 
         | 
| 15422 15660 | 
             
                #   })
         | 
| 15423 15661 | 
             
                #
         | 
| 15424 15662 | 
             
                #   resp.to_h outputs the following:
         | 
| 15425 15663 | 
             
                #   {
         | 
| 15426 15664 | 
             
                #     etag: "\"6805f2cfc46c0f04559748bb039d69ae\"", 
         | 
| 15427 | 
            -
                #      | 
| 15665 | 
            +
                #     server_side_encryption: "AES256", 
         | 
| 15666 | 
            +
                #     version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp", 
         | 
| 15428 15667 | 
             
                #   }
         | 
| 15429 15668 | 
             
                #
         | 
| 15430 | 
            -
                # @example Example: To  | 
| 15669 | 
            +
                # @example Example: To create an object.
         | 
| 15431 15670 | 
             
                #
         | 
| 15432 | 
            -
                #   # The following example  | 
| 15433 | 
            -
                # | 
| 15671 | 
            +
                #   # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
         | 
| 15672 | 
            +
                #
         | 
| 15673 | 
            +
                #   resp = client.put_object({
         | 
| 15674 | 
            +
                #     body: "filetoupload", 
         | 
| 15675 | 
            +
                #     bucket: "examplebucket", 
         | 
| 15676 | 
            +
                #     key: "objectkey", 
         | 
| 15677 | 
            +
                #   })
         | 
| 15678 | 
            +
                #
         | 
| 15679 | 
            +
                #   resp.to_h outputs the following:
         | 
| 15680 | 
            +
                #   {
         | 
| 15681 | 
            +
                #     etag: "\"6805f2cfc46c0f04559748bb039d69ae\"", 
         | 
| 15682 | 
            +
                #     version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ", 
         | 
| 15683 | 
            +
                #   }
         | 
| 15684 | 
            +
                #
         | 
| 15685 | 
            +
                # @example Example: To upload an object
         | 
| 15686 | 
            +
                #
         | 
| 15687 | 
            +
                #   # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
         | 
| 15688 | 
            +
                #   # syntax. S3 returns VersionId of the newly created object.
         | 
| 15434 15689 | 
             
                #
         | 
| 15435 15690 | 
             
                #   resp = client.put_object({
         | 
| 15436 15691 | 
             
                #     body: "HappyFace.jpg", 
         | 
| 15437 15692 | 
             
                #     bucket: "examplebucket", 
         | 
| 15438 15693 | 
             
                #     key: "HappyFace.jpg", 
         | 
| 15439 | 
            -
                #     server_side_encryption: "AES256", 
         | 
| 15440 | 
            -
                #     storage_class: "STANDARD_IA", 
         | 
| 15441 15694 | 
             
                #   })
         | 
| 15442 15695 | 
             
                #
         | 
| 15443 15696 | 
             
                #   resp.to_h outputs the following:
         | 
| 15444 15697 | 
             
                #   {
         | 
| 15445 15698 | 
             
                #     etag: "\"6805f2cfc46c0f04559748bb039d69ae\"", 
         | 
| 15446 | 
            -
                #      | 
| 15447 | 
            -
                #     version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp", 
         | 
| 15699 | 
            +
                #     version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk", 
         | 
| 15448 15700 | 
             
                #   }
         | 
| 15449 15701 | 
             
                #
         | 
| 15450 | 
            -
                # @example Example: To upload object and specify  | 
| 15702 | 
            +
                # @example Example: To upload an object and specify optional tags
         | 
| 15451 15703 | 
             
                #
         | 
| 15452 | 
            -
                #   # The following example  | 
| 15453 | 
            -
                #   #  | 
| 15704 | 
            +
                #   # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
         | 
| 15705 | 
            +
                #   # S3 returns version ID of the newly created object.
         | 
| 15454 15706 | 
             
                #
         | 
| 15455 15707 | 
             
                #   resp = client.put_object({
         | 
| 15456 | 
            -
                #     body: " | 
| 15708 | 
            +
                #     body: "c:\\HappyFace.jpg", 
         | 
| 15457 15709 | 
             
                #     bucket: "examplebucket", 
         | 
| 15458 | 
            -
                #     key: " | 
| 15459 | 
            -
                #      | 
| 15460 | 
            -
                #       "metadata1" => "value1", 
         | 
| 15461 | 
            -
                #       "metadata2" => "value2", 
         | 
| 15462 | 
            -
                #     }, 
         | 
| 15710 | 
            +
                #     key: "HappyFace.jpg", 
         | 
| 15711 | 
            +
                #     tagging: "key1=value1&key2=value2", 
         | 
| 15463 15712 | 
             
                #   })
         | 
| 15464 15713 | 
             
                #
         | 
| 15465 15714 | 
             
                #   resp.to_h outputs the following:
         | 
| 15466 15715 | 
             
                #   {
         | 
| 15467 15716 | 
             
                #     etag: "\"6805f2cfc46c0f04559748bb039d69ae\"", 
         | 
| 15468 | 
            -
                #     version_id: " | 
| 15717 | 
            +
                #     version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a", 
         | 
| 15469 15718 | 
             
                #   }
         | 
| 15470 15719 | 
             
                #
         | 
| 15471 15720 | 
             
                # @example Example: To upload an object and specify canned ACL.
         | 
| @@ -15486,20 +15735,25 @@ module Aws::S3 | |
| 15486 15735 | 
             
                #     version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr", 
         | 
| 15487 15736 | 
             
                #   }
         | 
| 15488 15737 | 
             
                #
         | 
| 15489 | 
            -
                # @example Example: To  | 
| 15738 | 
            +
                # @example Example: To upload object and specify user-defined metadata
         | 
| 15490 15739 | 
             
                #
         | 
| 15491 | 
            -
                #   # The following example creates an object.  | 
| 15740 | 
            +
                #   # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
         | 
| 15741 | 
            +
                #   # enabled, S3 returns version ID in response.
         | 
| 15492 15742 | 
             
                #
         | 
| 15493 15743 | 
             
                #   resp = client.put_object({
         | 
| 15494 15744 | 
             
                #     body: "filetoupload", 
         | 
| 15495 15745 | 
             
                #     bucket: "examplebucket", 
         | 
| 15496 | 
            -
                #     key: " | 
| 15746 | 
            +
                #     key: "exampleobject", 
         | 
| 15747 | 
            +
                #     metadata: {
         | 
| 15748 | 
            +
                #       "metadata1" => "value1", 
         | 
| 15749 | 
            +
                #       "metadata2" => "value2", 
         | 
| 15750 | 
            +
                #     }, 
         | 
| 15497 15751 | 
             
                #   })
         | 
| 15498 15752 | 
             
                #
         | 
| 15499 15753 | 
             
                #   resp.to_h outputs the following:
         | 
| 15500 15754 | 
             
                #   {
         | 
| 15501 15755 | 
             
                #     etag: "\"6805f2cfc46c0f04559748bb039d69ae\"", 
         | 
| 15502 | 
            -
                #     version_id: " | 
| 15756 | 
            +
                #     version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0", 
         | 
| 15503 15757 | 
             
                #   }
         | 
| 15504 15758 | 
             
                #
         | 
| 15505 15759 | 
             
                # @example Example: To upload an object and specify server-side encryption and object tags
         | 
| @@ -15522,24 +15776,6 @@ module Aws::S3 | |
| 15522 15776 | 
             
                #     version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt", 
         | 
| 15523 15777 | 
             
                #   }
         | 
| 15524 15778 | 
             
                #
         | 
| 15525 | 
            -
                # @example Example: To upload an object and specify optional tags
         | 
| 15526 | 
            -
                #
         | 
| 15527 | 
            -
                #   # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
         | 
| 15528 | 
            -
                #   # S3 returns version ID of the newly created object.
         | 
| 15529 | 
            -
                #
         | 
| 15530 | 
            -
                #   resp = client.put_object({
         | 
| 15531 | 
            -
                #     body: "c:\\HappyFace.jpg", 
         | 
| 15532 | 
            -
                #     bucket: "examplebucket", 
         | 
| 15533 | 
            -
                #     key: "HappyFace.jpg", 
         | 
| 15534 | 
            -
                #     tagging: "key1=value1&key2=value2", 
         | 
| 15535 | 
            -
                #   })
         | 
| 15536 | 
            -
                #
         | 
| 15537 | 
            -
                #   resp.to_h outputs the following:
         | 
| 15538 | 
            -
                #   {
         | 
| 15539 | 
            -
                #     etag: "\"6805f2cfc46c0f04559748bb039d69ae\"", 
         | 
| 15540 | 
            -
                #     version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a", 
         | 
| 15541 | 
            -
                #   }
         | 
| 15542 | 
            -
                #
         | 
| 15543 15779 | 
             
                # @example Streaming a file from disk
         | 
| 15544 15780 | 
             
                #   # upload file from disk in a single request, may not exceed 5GB
         | 
| 15545 15781 | 
             
                #   File.open('/source/file/path', 'rb') do |file|
         | 
| @@ -15565,6 +15801,7 @@ module Aws::S3 | |
| 15565 15801 | 
             
                #     checksum_sha1: "ChecksumSHA1",
         | 
| 15566 15802 | 
             
                #     checksum_sha256: "ChecksumSHA256",
         | 
| 15567 15803 | 
             
                #     expires: Time.now,
         | 
| 15804 | 
            +
                #     if_none_match: "IfNoneMatch",
         | 
| 15568 15805 | 
             
                #     grant_full_control: "GrantFullControl",
         | 
| 15569 15806 | 
             
                #     grant_read: "GrantRead",
         | 
| 15570 15807 | 
             
                #     grant_read_acp: "GrantReadACP",
         | 
| @@ -16664,6 +16901,10 @@ module Aws::S3 | |
| 16664 16901 | 
             
                #
         | 
| 16665 16902 | 
             
                #  </note>
         | 
| 16666 16903 | 
             
                #
         | 
| 16904 | 
            +
                # The `SELECT` job type for the RestoreObject operation is no longer
         | 
| 16905 | 
            +
                # available to new customers. Existing customers of Amazon S3 Select can
         | 
| 16906 | 
            +
                # continue to use the feature as usual. [Learn more][1]
         | 
| 16907 | 
            +
                #
         | 
| 16667 16908 | 
             
                # Restores an archived copy of an object back into Amazon S3
         | 
| 16668 16909 | 
             
                #
         | 
| 16669 16910 | 
             
                # This functionality is not supported for Amazon S3 on Outposts.
         | 
| @@ -16677,11 +16918,11 @@ module Aws::S3 | |
| 16677 16918 | 
             
                # For more information about the `S3` structure in the request body, see
         | 
| 16678 16919 | 
             
                # the following:
         | 
| 16679 16920 | 
             
                #
         | 
| 16680 | 
            -
                # * [PutObject][ | 
| 16921 | 
            +
                # * [PutObject][2]
         | 
| 16681 16922 | 
             
                #
         | 
| 16682 | 
            -
                # * [Managing Access with ACLs][ | 
| 16923 | 
            +
                # * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
         | 
| 16683 16924 | 
             
                #
         | 
| 16684 | 
            -
                # * [Protecting Data Using Server-Side Encryption][ | 
| 16925 | 
            +
                # * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
         | 
| 16685 16926 | 
             
                #   User Guide*
         | 
| 16686 16927 | 
             
                #
         | 
| 16687 16928 | 
             
                # Permissions
         | 
| @@ -16690,8 +16931,8 @@ module Aws::S3 | |
| 16690 16931 | 
             
                #   `s3:RestoreObject` action. The bucket owner has this permission by
         | 
| 16691 16932 | 
             
                #   default and can grant this permission to others. For more
         | 
| 16692 16933 | 
             
                #   information about permissions, see [Permissions Related to Bucket
         | 
| 16693 | 
            -
                #   Subresource Operations][ | 
| 16694 | 
            -
                #   Amazon S3 Resources][ | 
| 16934 | 
            +
                #   Subresource Operations][5] and [Managing Access Permissions to Your
         | 
| 16935 | 
            +
                #   Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
         | 
| 16695 16936 | 
             
                #
         | 
| 16696 16937 | 
             
                # Restoring objects
         | 
| 16697 16938 | 
             
                #
         | 
| @@ -16754,11 +16995,11 @@ module Aws::S3 | |
| 16754 16995 | 
             
                #
         | 
| 16755 16996 | 
             
                #   For more information about archive retrieval options and provisioned
         | 
| 16756 16997 | 
             
                #   capacity for `Expedited` data access, see [Restoring Archived
         | 
| 16757 | 
            -
                #   Objects][ | 
| 16998 | 
            +
                #   Objects][7] in the *Amazon S3 User Guide*.
         | 
| 16758 16999 | 
             
                #
         | 
| 16759 17000 | 
             
                #   You can use Amazon S3 restore speed upgrade to change the restore
         | 
| 16760 17001 | 
             
                #   speed to a faster speed while it is in progress. For more
         | 
| 16761 | 
            -
                #   information, see [ Upgrading the speed of an in-progress restore][ | 
| 17002 | 
            +
                #   information, see [ Upgrading the speed of an in-progress restore][8]
         | 
| 16762 17003 | 
             
                #   in the *Amazon S3 User Guide*.
         | 
| 16763 17004 | 
             
                #
         | 
| 16764 17005 | 
             
                #   To get the status of object restoration, you can send a `HEAD`
         | 
| @@ -16766,7 +17007,7 @@ module Aws::S3 | |
| 16766 17007 | 
             
                #   provides information about the restoration status, in the response.
         | 
| 16767 17008 | 
             
                #   You can use Amazon S3 event notifications to notify you when a
         | 
| 16768 17009 | 
             
                #   restore is initiated or completed. For more information, see
         | 
| 16769 | 
            -
                #   [Configuring Amazon S3 Event Notifications][ | 
| 17010 | 
            +
                #   [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
         | 
| 16770 17011 | 
             
                #   User Guide*.
         | 
| 16771 17012 | 
             
                #
         | 
| 16772 17013 | 
             
                #   After restoring an archived object, you can update the restoration
         | 
| @@ -16782,8 +17023,8 @@ module Aws::S3 | |
| 16782 17023 | 
             
                #   restore an object copy for 10 days, but the object is scheduled to
         | 
| 16783 17024 | 
             
                #   expire in 3 days, Amazon S3 deletes the object in 3 days. For more
         | 
| 16784 17025 | 
             
                #   information about lifecycle configuration, see
         | 
| 16785 | 
            -
                #   [PutBucketLifecycleConfiguration][ | 
| 16786 | 
            -
                #   Management][ | 
| 17026 | 
            +
                #   [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
         | 
| 17027 | 
            +
                #   Management][11] in *Amazon S3 User Guide*.
         | 
| 16787 17028 | 
             
                #
         | 
| 16788 17029 | 
             
                # Responses
         | 
| 16789 17030 | 
             
                #
         | 
| @@ -16821,23 +17062,24 @@ module Aws::S3 | |
| 16821 17062 | 
             
                #
         | 
| 16822 17063 | 
             
                # The following operations are related to `RestoreObject`:
         | 
| 16823 17064 | 
             
                #
         | 
| 16824 | 
            -
                # * [PutBucketLifecycleConfiguration][ | 
| 17065 | 
            +
                # * [PutBucketLifecycleConfiguration][10]
         | 
| 16825 17066 | 
             
                #
         | 
| 16826 | 
            -
                # * [GetBucketNotificationConfiguration][ | 
| 17067 | 
            +
                # * [GetBucketNotificationConfiguration][12]
         | 
| 16827 17068 | 
             
                #
         | 
| 16828 17069 | 
             
                #
         | 
| 16829 17070 | 
             
                #
         | 
| 16830 | 
            -
                # [1]:  | 
| 16831 | 
            -
                # [2]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 16832 | 
            -
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ | 
| 16833 | 
            -
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 16834 | 
            -
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3- | 
| 16835 | 
            -
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 16836 | 
            -
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html | 
| 16837 | 
            -
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ | 
| 16838 | 
            -
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 16839 | 
            -
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 16840 | 
            -
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17071 | 
            +
                # [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
         | 
| 17072 | 
            +
                # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
         | 
| 17073 | 
            +
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
         | 
| 17074 | 
            +
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
         | 
| 17075 | 
            +
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
         | 
| 17076 | 
            +
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
         | 
| 17077 | 
            +
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
         | 
| 17078 | 
            +
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
         | 
| 17079 | 
            +
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
         | 
| 17080 | 
            +
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
         | 
| 17081 | 
            +
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
         | 
| 17082 | 
            +
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
         | 
| 16841 17083 | 
             
                #
         | 
| 16842 17084 | 
             
                # @option params [required, String] :bucket
         | 
| 16843 17085 | 
             
                #   The bucket name containing the object to restore.
         | 
| @@ -17049,6 +17291,10 @@ module Aws::S3 | |
| 17049 17291 | 
             
                #
         | 
| 17050 17292 | 
             
                #  </note>
         | 
| 17051 17293 | 
             
                #
         | 
| 17294 | 
            +
                # The SelectObjectContent operation is no longer available to new
         | 
| 17295 | 
            +
                # customers. Existing customers of Amazon S3 Select can continue to use
         | 
| 17296 | 
            +
                # the operation as usual. [Learn more][1]
         | 
| 17297 | 
            +
                #
         | 
| 17052 17298 | 
             
                # This action filters the contents of an Amazon S3 object based on a
         | 
| 17053 17299 | 
             
                # simple structured query language (SQL) statement. In the request,
         | 
| 17054 17300 | 
             
                # along with the SQL expression, you must also specify a data
         | 
| @@ -17060,7 +17306,7 @@ module Aws::S3 | |
| 17060 17306 | 
             
                # This functionality is not supported for Amazon S3 on Outposts.
         | 
| 17061 17307 | 
             
                #
         | 
| 17062 17308 | 
             
                # For more information about Amazon S3 Select, see [Selecting Content
         | 
| 17063 | 
            -
                # from Objects][ | 
| 17309 | 
            +
                # from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
         | 
| 17064 17310 | 
             
                # Guide*.
         | 
| 17065 17311 | 
             
                #
         | 
| 17066 17312 | 
             
                #
         | 
| @@ -17070,7 +17316,7 @@ module Aws::S3 | |
| 17070 17316 | 
             
                # : You must have the `s3:GetObject` permission for this
         | 
| 17071 17317 | 
             
                #   operation. Amazon S3 Select does not support anonymous access. For
         | 
| 17072 17318 | 
             
                #   more information about permissions, see [Specifying Permissions in a
         | 
| 17073 | 
            -
                #   Policy][ | 
| 17319 | 
            +
                #   Policy][4] in the *Amazon S3 User Guide*.
         | 
| 17074 17320 | 
             
                #
         | 
| 17075 17321 | 
             
                # Object Data Formats
         | 
| 17076 17322 | 
             
                #
         | 
| @@ -17095,31 +17341,31 @@ module Aws::S3 | |
| 17095 17341 | 
             
                #
         | 
| 17096 17342 | 
             
                #     For objects that are encrypted with customer-provided encryption
         | 
| 17097 17343 | 
             
                #     keys (SSE-C), you must use HTTPS, and you must use the headers
         | 
| 17098 | 
            -
                #     that are documented in the [GetObject][ | 
| 17344 | 
            +
                #     that are documented in the [GetObject][5]. For more information
         | 
| 17099 17345 | 
             
                #     about SSE-C, see [Server-Side Encryption (Using Customer-Provided
         | 
| 17100 | 
            -
                #     Encryption Keys)][ | 
| 17346 | 
            +
                #     Encryption Keys)][6] in the *Amazon S3 User Guide*.
         | 
| 17101 17347 | 
             
                #
         | 
| 17102 17348 | 
             
                #     For objects that are encrypted with Amazon S3 managed keys
         | 
| 17103 17349 | 
             
                #     (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
         | 
| 17104 17350 | 
             
                #     encryption is handled transparently, so you don't need to specify
         | 
| 17105 17351 | 
             
                #     anything. For more information about server-side encryption,
         | 
| 17106 17352 | 
             
                #     including SSE-S3 and SSE-KMS, see [Protecting Data Using
         | 
| 17107 | 
            -
                #     Server-Side Encryption][ | 
| 17353 | 
            +
                #     Server-Side Encryption][7] in the *Amazon S3 User Guide*.
         | 
| 17108 17354 | 
             
                #
         | 
| 17109 17355 | 
             
                # Working with the Response Body
         | 
| 17110 17356 | 
             
                #
         | 
| 17111 17357 | 
             
                # : Given the response size is unknown, Amazon S3 Select streams the
         | 
| 17112 17358 | 
             
                #   response as a series of messages and includes a `Transfer-Encoding`
         | 
| 17113 17359 | 
             
                #   header with `chunked` as its value in the response. For more
         | 
| 17114 | 
            -
                #   information, see [Appendix: SelectObjectContent Response][ | 
| 17360 | 
            +
                #   information, see [Appendix: SelectObjectContent Response][8].
         | 
| 17115 17361 | 
             
                #
         | 
| 17116 17362 | 
             
                # GetObject Support
         | 
| 17117 17363 | 
             
                #
         | 
| 17118 17364 | 
             
                # : The `SelectObjectContent` action does not support the following
         | 
| 17119 | 
            -
                #   `GetObject` functionality. For more information, see [GetObject][ | 
| 17365 | 
            +
                #   `GetObject` functionality. For more information, see [GetObject][5].
         | 
| 17120 17366 | 
             
                #
         | 
| 17121 17367 | 
             
                #   * `Range`: Although you can specify a scan range for an Amazon S3
         | 
| 17122 | 
            -
                #     Select request (see [SelectObjectContentRequest - ScanRange][ | 
| 17368 | 
            +
                #     Select request (see [SelectObjectContentRequest - ScanRange][9] in
         | 
| 17123 17369 | 
             
                #     the request parameters), you cannot specify the range of bytes of
         | 
| 17124 17370 | 
             
                #     an object to return.
         | 
| 17125 17371 | 
             
                #
         | 
| @@ -17130,36 +17376,37 @@ module Aws::S3 | |
| 17130 17376 | 
             
                #     storage classes, nor objects in the `ARCHIVE_ACCESS` or
         | 
| 17131 17377 | 
             
                #     `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
         | 
| 17132 17378 | 
             
                #     storage class. For more information about storage classes, see
         | 
| 17133 | 
            -
                #     [Using Amazon S3 storage classes][ | 
| 17379 | 
            +
                #     [Using Amazon S3 storage classes][10] in the *Amazon S3 User
         | 
| 17134 17380 | 
             
                #     Guide*.
         | 
| 17135 17381 | 
             
                #
         | 
| 17136 17382 | 
             
                # Special Errors
         | 
| 17137 17383 | 
             
                #
         | 
| 17138 17384 | 
             
                # : For a list of special errors for this operation, see [List of SELECT
         | 
| 17139 | 
            -
                #   Object Content Error Codes][ | 
| 17385 | 
            +
                #   Object Content Error Codes][11]
         | 
| 17140 17386 | 
             
                #
         | 
| 17141 17387 | 
             
                # The following operations are related to `SelectObjectContent`:
         | 
| 17142 17388 | 
             
                #
         | 
| 17143 | 
            -
                # * [GetObject][ | 
| 17389 | 
            +
                # * [GetObject][5]
         | 
| 17144 17390 | 
             
                #
         | 
| 17145 | 
            -
                # * [GetBucketLifecycleConfiguration][ | 
| 17391 | 
            +
                # * [GetBucketLifecycleConfiguration][12]
         | 
| 17146 17392 | 
             
                #
         | 
| 17147 | 
            -
                # * [PutBucketLifecycleConfiguration][ | 
| 17393 | 
            +
                # * [PutBucketLifecycleConfiguration][13]
         | 
| 17148 17394 | 
             
                #
         | 
| 17149 17395 | 
             
                #
         | 
| 17150 17396 | 
             
                #
         | 
| 17151 | 
            -
                # [1]:  | 
| 17152 | 
            -
                # [2]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17153 | 
            -
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17154 | 
            -
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17155 | 
            -
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17156 | 
            -
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ | 
| 17157 | 
            -
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17158 | 
            -
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 17159 | 
            -
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17160 | 
            -
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17161 | 
            -
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 17162 | 
            -
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 17397 | 
            +
                # [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
         | 
| 17398 | 
            +
                # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
         | 
| 17399 | 
            +
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
         | 
| 17400 | 
            +
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
         | 
| 17401 | 
            +
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
         | 
| 17402 | 
            +
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
         | 
| 17403 | 
            +
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
         | 
| 17404 | 
            +
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
         | 
| 17405 | 
            +
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
         | 
| 17406 | 
            +
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
         | 
| 17407 | 
            +
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
         | 
| 17408 | 
            +
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
         | 
| 17409 | 
            +
                # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
         | 
| 17163 17410 | 
             
                #
         | 
| 17164 17411 | 
             
                # @option params [required, String] :bucket
         | 
| 17165 17412 | 
             
                #   The S3 bucket.
         | 
| @@ -17506,14 +17753,27 @@ module Aws::S3 | |
| 17506 17753 | 
             
                #  </note>
         | 
| 17507 17754 | 
             
                #
         | 
| 17508 17755 | 
             
                # Permissions
         | 
| 17509 | 
            -
                # : * **General purpose bucket permissions** -  | 
| 17510 | 
            -
                #      | 
| 17511 | 
            -
                #      | 
| 17512 | 
            -
                #      | 
| 17756 | 
            +
                # : * **General purpose bucket permissions** - To perform a multipart
         | 
| 17757 | 
            +
                #     upload with encryption using an Key Management Service key, the
         | 
| 17758 | 
            +
                #     requester must have permission to the `kms:Decrypt` and
         | 
| 17759 | 
            +
                #     `kms:GenerateDataKey` actions on the key. The requester must also
         | 
| 17760 | 
            +
                #     have permissions for the `kms:GenerateDataKey` action for the
         | 
| 17761 | 
            +
                #     `CreateMultipartUpload` API. Then, the requester needs permissions
         | 
| 17762 | 
            +
                #     for the `kms:Decrypt` action on the `UploadPart` and
         | 
| 17763 | 
            +
                #     `UploadPartCopy` APIs.
         | 
| 17764 | 
            +
                #
         | 
| 17765 | 
            +
                #     These permissions are required because Amazon S3 must decrypt and
         | 
| 17766 | 
            +
                #     read data from the encrypted file parts before it completes the
         | 
| 17767 | 
            +
                #     multipart upload. For more information about KMS permissions, see
         | 
| 17768 | 
            +
                #     [Protecting data using server-side encryption with KMS][6] in the
         | 
| 17769 | 
            +
                #     *Amazon S3 User Guide*. For information about the permissions
         | 
| 17770 | 
            +
                #     required to use the multipart upload API, see [Multipart upload
         | 
| 17771 | 
            +
                #     and permissions][7] and [Multipart upload API and permissions][8]
         | 
| 17772 | 
            +
                #     in the *Amazon S3 User Guide*.
         | 
| 17513 17773 | 
             
                #
         | 
| 17514 17774 | 
             
                #   * **Directory bucket permissions** - To grant access to this API
         | 
| 17515 17775 | 
             
                #     operation on a directory bucket, we recommend that you use the [
         | 
| 17516 | 
            -
                #     `CreateSession` ][ | 
| 17776 | 
            +
                #     `CreateSession` ][9] API operation for session-based
         | 
| 17517 17777 | 
             
                #     authorization. Specifically, you grant the
         | 
| 17518 17778 | 
             
                #     `s3express:CreateSession` permission to the directory bucket in a
         | 
| 17519 17779 | 
             
                #     bucket policy or an IAM identity-based policy. Then, you make the
         | 
| @@ -17524,7 +17784,7 @@ module Aws::S3 | |
| 17524 17784 | 
             
                #     token for use. Amazon Web Services CLI or SDKs create session and
         | 
| 17525 17785 | 
             
                #     refresh the session token automatically to avoid service
         | 
| 17526 17786 | 
             
                #     interruptions when a session expires. For more information about
         | 
| 17527 | 
            -
                #     authorization, see [ `CreateSession` ][ | 
| 17787 | 
            +
                #     authorization, see [ `CreateSession` ][9].
         | 
| 17528 17788 | 
             
                #
         | 
| 17529 17789 | 
             
                # Data integrity
         | 
| 17530 17790 | 
             
                #
         | 
| @@ -17536,7 +17796,7 @@ module Aws::S3 | |
| 17536 17796 | 
             
                #   then Amazon Web Services S3 uses the `x-amz-content-sha256` header
         | 
| 17537 17797 | 
             
                #   as a checksum instead of `Content-MD5`. For more information see
         | 
| 17538 17798 | 
             
                #   [Authenticating Requests: Using the Authorization Header (Amazon Web
         | 
| 17539 | 
            -
                #   Services Signature Version 4)][ | 
| 17799 | 
            +
                #   Services Signature Version 4)][10].
         | 
| 17540 17800 | 
             
                #
         | 
| 17541 17801 | 
             
                #   <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
         | 
| 17542 17802 | 
             
                #   You can use checksum algorithms to check object integrity.
         | 
| @@ -17581,7 +17841,7 @@ module Aws::S3 | |
| 17581 17841 | 
             
                #     encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
         | 
| 17582 17842 | 
             
                #     supported.
         | 
| 17583 17843 | 
             
                #
         | 
| 17584 | 
            -
                #   For more information, see [Using Server-Side Encryption][ | 
| 17844 | 
            +
                #   For more information, see [Using Server-Side Encryption][11] in the
         | 
| 17585 17845 | 
             
                #   *Amazon S3 User Guide*.
         | 
| 17586 17846 | 
             
                #
         | 
| 17587 17847 | 
             
                # Special errors
         | 
| @@ -17604,13 +17864,13 @@ module Aws::S3 | |
| 17604 17864 | 
             
                #
         | 
| 17605 17865 | 
             
                # * [CreateMultipartUpload][2]
         | 
| 17606 17866 | 
             
                #
         | 
| 17607 | 
            -
                # * [CompleteMultipartUpload][ | 
| 17867 | 
            +
                # * [CompleteMultipartUpload][12]
         | 
| 17608 17868 | 
             
                #
         | 
| 17609 | 
            -
                # * [AbortMultipartUpload][ | 
| 17869 | 
            +
                # * [AbortMultipartUpload][13]
         | 
| 17610 17870 | 
             
                #
         | 
| 17611 | 
            -
                # * [ListParts][ | 
| 17871 | 
            +
                # * [ListParts][14]
         | 
| 17612 17872 | 
             
                #
         | 
| 17613 | 
            -
                # * [ListMultipartUploads][ | 
| 17873 | 
            +
                # * [ListMultipartUploads][15]
         | 
| 17614 17874 | 
             
                #
         | 
| 17615 17875 | 
             
                #
         | 
| 17616 17876 | 
             
                #
         | 
| @@ -17619,14 +17879,16 @@ module Aws::S3 | |
| 17619 17879 | 
             
                # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
         | 
| 17620 17880 | 
             
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
         | 
| 17621 17881 | 
             
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
         | 
| 17622 | 
            -
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17623 | 
            -
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17624 | 
            -
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17625 | 
            -
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17626 | 
            -
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 17627 | 
            -
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 17628 | 
            -
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 17629 | 
            -
                # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 17882 | 
            +
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
         | 
| 17883 | 
            +
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
         | 
| 17884 | 
            +
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
         | 
| 17885 | 
            +
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
         | 
| 17886 | 
            +
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
         | 
| 17887 | 
            +
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
         | 
| 17888 | 
            +
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
         | 
| 17889 | 
            +
                # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
         | 
| 17890 | 
            +
                # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
         | 
| 17891 | 
            +
                # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
         | 
| 17630 17892 | 
             
                #
         | 
| 17631 17893 | 
             
                # @option params [String, StringIO, File] :body
         | 
| 17632 17894 | 
             
                #   Object data.
         | 
| @@ -17959,9 +18221,21 @@ module Aws::S3 | |
| 17959 18221 | 
             
                #       have the <b> <code>s3:PutObject</code> </b> permission to write
         | 
| 17960 18222 | 
             
                #       the object copy to the destination bucket.
         | 
| 17961 18223 | 
             
                #
         | 
| 17962 | 
            -
                #      | 
| 17963 | 
            -
                # | 
| 17964 | 
            -
                # | 
| 18224 | 
            +
                #     * To perform a multipart upload with encryption using an Key
         | 
| 18225 | 
            +
                #       Management Service key, the requester must have permission to
         | 
| 18226 | 
            +
                #       the `kms:Decrypt` and `kms:GenerateDataKey` actions on the key.
         | 
| 18227 | 
            +
                #       The requester must also have permissions for the
         | 
| 18228 | 
            +
                #       `kms:GenerateDataKey` action for the `CreateMultipartUpload`
         | 
| 18229 | 
            +
                #       API. Then, the requester needs permissions for the `kms:Decrypt`
         | 
| 18230 | 
            +
                #       action on the `UploadPart` and `UploadPartCopy` APIs. These
         | 
| 18231 | 
            +
                #       permissions are required because Amazon S3 must decrypt and read
         | 
| 18232 | 
            +
                #       data from the encrypted file parts before it completes the
         | 
| 18233 | 
            +
                #       multipart upload. For more information about KMS permissions,
         | 
| 18234 | 
            +
                #       see [Protecting data using server-side encryption with KMS][7]
         | 
| 18235 | 
            +
                #       in the *Amazon S3 User Guide*. For information about the
         | 
| 18236 | 
            +
                #       permissions required to use the multipart upload API, see
         | 
| 18237 | 
            +
                #       [Multipart upload and permissions][8] and [Multipart upload API
         | 
| 18238 | 
            +
                #       and permissions][9] in the *Amazon S3 User Guide*.
         | 
| 17965 18239 | 
             
                #
         | 
| 17966 18240 | 
             
                #   * **Directory bucket permissions** - You must have permissions in a
         | 
| 17967 18241 | 
             
                #     bucket policy or an IAM identity-based policy based on the source
         | 
| @@ -17970,9 +18244,9 @@ module Aws::S3 | |
| 17970 18244 | 
             
                #     * If the source object that you want to copy is in a directory
         | 
| 17971 18245 | 
             
                #       bucket, you must have the <b>
         | 
| 17972 18246 | 
             
                #       <code>s3express:CreateSession</code> </b> permission in the
         | 
| 17973 | 
            -
                #       `Action` element of a policy to read the object | 
| 17974 | 
            -
                #        | 
| 17975 | 
            -
                #        | 
| 18247 | 
            +
                #       `Action` element of a policy to read the object. By default, the
         | 
| 18248 | 
            +
                #       session is in the `ReadWrite` mode. If you want to restrict the
         | 
| 18249 | 
            +
                #       access, you can explicitly set the `s3express:SessionMode`
         | 
| 17976 18250 | 
             
                #       condition key to `ReadOnly` on the copy source bucket.
         | 
| 17977 18251 | 
             
                #
         | 
| 17978 18252 | 
             
                #     * If the copy destination is a directory bucket, you must have the
         | 
| @@ -17982,14 +18256,14 @@ module Aws::S3 | |
| 17982 18256 | 
             
                #       set to `ReadOnly` on the copy destination.
         | 
| 17983 18257 | 
             
                #
         | 
| 17984 18258 | 
             
                #     For example policies, see [Example bucket policies for S3 Express
         | 
| 17985 | 
            -
                #     One Zone][ | 
| 18259 | 
            +
                #     One Zone][10] and [Amazon Web Services Identity and Access
         | 
| 17986 18260 | 
             
                #     Management (IAM) identity-based policies for S3 Express One
         | 
| 17987 | 
            -
                #     Zone][ | 
| 18261 | 
            +
                #     Zone][11] in the *Amazon S3 User Guide*.
         | 
| 17988 18262 | 
             
                #
         | 
| 17989 18263 | 
             
                # Encryption
         | 
| 17990 18264 | 
             
                # : * <b>General purpose buckets </b> - For information about using
         | 
| 17991 18265 | 
             
                #     server-side encryption with customer-provided encryption keys with
         | 
| 17992 | 
            -
                #     the `UploadPartCopy` operation, see [CopyObject][ | 
| 18266 | 
            +
                #     the `UploadPartCopy` operation, see [CopyObject][12] and
         | 
| 17993 18267 | 
             
                #     [UploadPart][2].
         | 
| 17994 18268 | 
             
                #
         | 
| 17995 18269 | 
             
                #   * <b>Directory buckets </b> - For directory buckets, only
         | 
| @@ -18019,17 +18293,17 @@ module Aws::S3 | |
| 18019 18293 | 
             
                #
         | 
| 18020 18294 | 
             
                # The following operations are related to `UploadPartCopy`:
         | 
| 18021 18295 | 
             
                #
         | 
| 18022 | 
            -
                # * [CreateMultipartUpload][ | 
| 18296 | 
            +
                # * [CreateMultipartUpload][13]
         | 
| 18023 18297 | 
             
                #
         | 
| 18024 18298 | 
             
                # * [UploadPart][2]
         | 
| 18025 18299 | 
             
                #
         | 
| 18026 | 
            -
                # * [CompleteMultipartUpload][ | 
| 18300 | 
            +
                # * [CompleteMultipartUpload][14]
         | 
| 18027 18301 | 
             
                #
         | 
| 18028 | 
            -
                # * [AbortMultipartUpload][ | 
| 18302 | 
            +
                # * [AbortMultipartUpload][15]
         | 
| 18029 18303 | 
             
                #
         | 
| 18030 | 
            -
                # * [ListParts][ | 
| 18304 | 
            +
                # * [ListParts][16]
         | 
| 18031 18305 | 
             
                #
         | 
| 18032 | 
            -
                # * [ListMultipartUploads][ | 
| 18306 | 
            +
                # * [ListMultipartUploads][17]
         | 
| 18033 18307 | 
             
                #
         | 
| 18034 18308 | 
             
                #
         | 
| 18035 18309 | 
             
                #
         | 
| @@ -18039,15 +18313,17 @@ module Aws::S3 | |
| 18039 18313 | 
             
                # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
         | 
| 18040 18314 | 
             
                # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
         | 
| 18041 18315 | 
             
                # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
         | 
| 18042 | 
            -
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 18043 | 
            -
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 18044 | 
            -
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ | 
| 18045 | 
            -
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 18046 | 
            -
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/ | 
| 18047 | 
            -
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 18048 | 
            -
                # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 18049 | 
            -
                # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 18050 | 
            -
                # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/ | 
| 18316 | 
            +
                # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
         | 
| 18317 | 
            +
                # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
         | 
| 18318 | 
            +
                # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
         | 
| 18319 | 
            +
                # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
         | 
| 18320 | 
            +
                # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
         | 
| 18321 | 
            +
                # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
         | 
| 18322 | 
            +
                # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
         | 
| 18323 | 
            +
                # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
         | 
| 18324 | 
            +
                # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
         | 
| 18325 | 
            +
                # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
         | 
| 18326 | 
            +
                # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
         | 
| 18051 18327 | 
             
                #
         | 
| 18052 18328 | 
             
                # @option params [required, String] :bucket
         | 
| 18053 18329 | 
             
                #   The bucket name.
         | 
| @@ -18821,14 +19097,19 @@ module Aws::S3 | |
| 18821 19097 | 
             
                # @api private
         | 
| 18822 19098 | 
             
                def build_request(operation_name, params = {})
         | 
| 18823 19099 | 
             
                  handlers = @handlers.for(operation_name)
         | 
| 19100 | 
            +
                  tracer = config.telemetry_provider.tracer_provider.tracer(
         | 
| 19101 | 
            +
                    Aws::Telemetry.module_to_tracer_name('Aws::S3')
         | 
| 19102 | 
            +
                  )
         | 
| 18824 19103 | 
             
                  context = Seahorse::Client::RequestContext.new(
         | 
| 18825 19104 | 
             
                    operation_name: operation_name,
         | 
| 18826 19105 | 
             
                    operation: config.api.operation(operation_name),
         | 
| 18827 19106 | 
             
                    client: self,
         | 
| 18828 19107 | 
             
                    params: params,
         | 
| 18829 | 
            -
                    config: config | 
| 19108 | 
            +
                    config: config,
         | 
| 19109 | 
            +
                    tracer: tracer
         | 
| 19110 | 
            +
                  )
         | 
| 18830 19111 | 
             
                  context[:gem_name] = 'aws-sdk-s3'
         | 
| 18831 | 
            -
                  context[:gem_version] = '1. | 
| 19112 | 
            +
                  context[:gem_version] = '1.160.0'
         | 
| 18832 19113 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 18833 19114 | 
             
                end
         | 
| 18834 19115 |  |