aws-sdk-s3 1.188.0 → 1.205.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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +119 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +43 -4
  5. data/lib/aws-sdk-s3/bucket_versioning.rb +33 -0
  6. data/lib/aws-sdk-s3/client.rb +1943 -252
  7. data/lib/aws-sdk-s3/client_api.rb +289 -0
  8. data/lib/aws-sdk-s3/customizations/object.rb +76 -86
  9. data/lib/aws-sdk-s3/customizations.rb +3 -1
  10. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  11. data/lib/aws-sdk-s3/endpoint_parameters.rb +17 -17
  12. data/lib/aws-sdk-s3/endpoint_provider.rb +220 -50
  13. data/lib/aws-sdk-s3/endpoints.rb +110 -0
  14. data/lib/aws-sdk-s3/errors.rb +11 -0
  15. data/lib/aws-sdk-s3/file_downloader.rb +197 -134
  16. data/lib/aws-sdk-s3/file_uploader.rb +9 -13
  17. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  18. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  19. data/lib/aws-sdk-s3/multipart_file_uploader.rb +92 -107
  20. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
  21. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  22. data/lib/aws-sdk-s3/object.rb +110 -35
  23. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  24. data/lib/aws-sdk-s3/object_summary.rb +72 -20
  25. data/lib/aws-sdk-s3/object_version.rb +7 -9
  26. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
  27. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  28. data/lib/aws-sdk-s3/resource.rb +6 -0
  29. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  30. data/lib/aws-sdk-s3/types.rb +1490 -189
  31. data/lib/aws-sdk-s3.rb +1 -1
  32. data/sig/bucket.rbs +12 -3
  33. data/sig/client.rbs +170 -31
  34. data/sig/errors.rbs +2 -0
  35. data/sig/multipart_upload.rbs +1 -1
  36. data/sig/object.rbs +15 -10
  37. data/sig/object_summary.rbs +11 -9
  38. data/sig/resource.rbs +8 -1
  39. data/sig/types.rbs +215 -29
  40. metadata +7 -4
@@ -137,8 +137,8 @@ module Aws::S3
137
137
  # class name or an instance of a plugin class.
138
138
  #
139
139
  # @option options [required, Aws::CredentialProvider] :credentials
140
- # Your AWS credentials. This can be an instance of any one of the
141
- # following classes:
140
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
141
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
142
142
  #
143
143
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
144
144
  # credentials.
@@ -166,22 +166,24 @@ module Aws::S3
166
166
  # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
167
167
  # from the Cognito Identity service.
168
168
  #
169
- # When `:credentials` are not configured directly, the following
170
- # locations will be searched for credentials:
169
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
171
170
  #
172
171
  # * `Aws.config[:credentials]`
172
+ #
173
173
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
174
174
  # `:account_id` options.
175
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
176
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
175
+ #
176
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
177
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
178
+ #
177
179
  # * `~/.aws/credentials`
180
+ #
178
181
  # * `~/.aws/config`
179
- # * EC2/ECS IMDS instance profile - When used by default, the timeouts
180
- # are very aggressive. Construct and pass an instance of
181
- # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
182
- # enable retries and extended timeouts. Instance profile credential
183
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
184
- # to true.
182
+ #
183
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
184
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
185
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
186
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
185
187
  #
186
188
  # @option options [required, String] :region
187
189
  # The AWS region to connect to. The configured `:region` is
@@ -219,6 +221,11 @@ module Aws::S3
219
221
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
220
222
  # not retry instead of sleeping.
221
223
  #
224
+ # @option options [Array<String>] :auth_scheme_preference
225
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
226
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
227
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
228
+ #
222
229
  # @option options [Boolean] :client_side_monitoring (false)
223
230
  # When `true`, client-side metrics will be collected for all API requests from
224
231
  # this client.
@@ -262,7 +269,7 @@ module Aws::S3
262
269
  # When set to 'true' the request body will not be compressed
263
270
  # for supported operations.
264
271
  #
265
- # @option options [Boolean] :disable_s3_express_session_auth
272
+ # @option options [boolean] :disable_s3_express_session_auth
266
273
  # Parameter to indicate whether S3Express session auth should be disabled
267
274
  #
268
275
  # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
@@ -333,8 +340,8 @@ module Aws::S3
333
340
  # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
334
341
  #
335
342
  # @option options [String] :profile ("default")
336
- # Used when loading credentials from the shared credentials file
337
- # at HOME/.aws/credentials. When not specified, 'default' is used.
343
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
344
+ # When not specified, 'default' is used.
338
345
  #
339
346
  # @option options [String] :request_checksum_calculation ("when_supported")
340
347
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -466,8 +473,8 @@ module Aws::S3
466
473
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
467
474
  #
468
475
  # @option options [Aws::TokenProvider] :token_provider
469
- # A Bearer Token Provider. This can be an instance of any one of the
470
- # following classes:
476
+ # Your Bearer token used for authentication. This can be any class that includes and implements
477
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
471
478
  #
472
479
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
473
480
  # tokens.
@@ -643,6 +650,10 @@ module Aws::S3
643
650
  #
644
651
  # * [ListMultipartUploads][9]
645
652
  #
653
+ # You must URL encode any signed header values that contain spaces. For
654
+ # example, if your header value is `my file.txt`, containing two spaces
655
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
656
+ #
646
657
  #
647
658
  #
648
659
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
@@ -917,6 +928,10 @@ module Aws::S3
917
928
  #
918
929
  # * [ListMultipartUploads][13]
919
930
  #
931
+ # You must URL encode any signed header values that contain spaces. For
932
+ # example, if your header value is `my file.txt`, containing two spaces
933
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
934
+ #
920
935
  #
921
936
  #
922
937
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
@@ -1264,7 +1279,7 @@ module Aws::S3
1264
1279
  # resp.checksum_sha1 #=> String
1265
1280
  # resp.checksum_sha256 #=> String
1266
1281
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1267
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1282
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
1268
1283
  # resp.version_id #=> String
1269
1284
  # resp.ssekms_key_id #=> String
1270
1285
  # resp.bucket_key_enabled #=> Boolean
@@ -1281,6 +1296,18 @@ module Aws::S3
1281
1296
 
1282
1297
  # Creates a copy of an object that is already stored in Amazon S3.
1283
1298
  #
1299
+ # End of support notice: As of October 1, 2025, Amazon S3 has
1300
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
1301
+ # you attempt to use an Email Grantee ACL in a request after October 1,
1302
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
1303
+ # error.
1304
+ #
1305
+ # This change affects the following Amazon Web Services Regions: US
1306
+ # East
1307
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
1308
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
1309
+ # (Ireland), and South America (São Paulo).
1310
+ #
1284
1311
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
1285
1312
  # create a copy of your object up to 5 GB in size in a single atomic
1286
1313
  # action using this API. However, to copy an object greater than 5 GB,
@@ -1448,6 +1475,10 @@ module Aws::S3
1448
1475
  #
1449
1476
  # * [GetObject][12]
1450
1477
  #
1478
+ # You must URL encode any signed header values that contain spaces. For
1479
+ # example, if your header value is `my file.txt`, containing two spaces
1480
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
1481
+ #
1451
1482
  #
1452
1483
  #
1453
1484
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html
@@ -1768,6 +1799,37 @@ module Aws::S3
1768
1799
  #
1769
1800
  # </note>
1770
1801
  #
1802
+ # @option params [String] :if_match
1803
+ # Copies the object if the entity tag (ETag) of the destination object
1804
+ # matches the specified tag. If the ETag values do not match, the
1805
+ # operation returns a `412 Precondition Failed` error. If a concurrent
1806
+ # operation occurs during the upload S3 returns a `409
1807
+ # ConditionalRequestConflict` response. On a 409 failure you should
1808
+ # fetch the object's ETag and retry the upload.
1809
+ #
1810
+ # Expects the ETag value as a string.
1811
+ #
1812
+ # For more information about conditional requests, see [RFC 7232][1].
1813
+ #
1814
+ #
1815
+ #
1816
+ # [1]: https://tools.ietf.org/html/rfc7232
1817
+ #
1818
+ # @option params [String] :if_none_match
1819
+ # Copies the object only if the object key name at the destination does
1820
+ # not already exist in the bucket specified. Otherwise, Amazon S3
1821
+ # returns a `412 Precondition Failed` error. If a concurrent operation
1822
+ # occurs during the upload S3 returns a `409 ConditionalRequestConflict`
1823
+ # response. On a 409 failure you should retry the upload.
1824
+ #
1825
+ # Expects the '*' (asterisk) character.
1826
+ #
1827
+ # For more information about conditional requests, see [RFC 7232][1].
1828
+ #
1829
+ #
1830
+ #
1831
+ # [1]: https://tools.ietf.org/html/rfc7232
1832
+ #
1771
1833
  # @option params [required, String] :key
1772
1834
  # The key of the destination object.
1773
1835
  #
@@ -1914,6 +1976,14 @@ module Aws::S3
1914
1976
  # key is the same customer managed key that you specified for the
1915
1977
  # directory bucket's default encryption configuration.
1916
1978
  #
1979
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
1980
+ # in Amazon FSx file systems using S3 access points, the only valid
1981
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
1982
+ # systems have encryption configured by default and are encrypted at
1983
+ # rest. Data is automatically encrypted before being written to the
1984
+ # file system, and automatically decrypted as it is read. These
1985
+ # processes are handled transparently by Amazon FSx.
1986
+ #
1917
1987
  #
1918
1988
  #
1919
1989
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
@@ -2291,14 +2361,16 @@ module Aws::S3
2291
2361
  # grant_read: "GrantRead",
2292
2362
  # grant_read_acp: "GrantReadACP",
2293
2363
  # grant_write_acp: "GrantWriteACP",
2364
+ # if_match: "IfMatch",
2365
+ # if_none_match: "IfNoneMatch",
2294
2366
  # key: "ObjectKey", # required
2295
2367
  # metadata: {
2296
2368
  # "MetadataKey" => "MetadataValue",
2297
2369
  # },
2298
2370
  # metadata_directive: "COPY", # accepts COPY, REPLACE
2299
2371
  # tagging_directive: "COPY", # accepts COPY, REPLACE
2300
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2301
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
2372
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
2373
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
2302
2374
  # website_redirect_location: "WebsiteRedirectLocation",
2303
2375
  # sse_customer_algorithm: "SSECustomerAlgorithm",
2304
2376
  # sse_customer_key: "SSECustomerKey",
@@ -2331,7 +2403,7 @@ module Aws::S3
2331
2403
  # resp.expiration #=> String
2332
2404
  # resp.copy_source_version_id #=> String
2333
2405
  # resp.version_id #=> String
2334
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
2406
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
2335
2407
  # resp.sse_customer_algorithm #=> String
2336
2408
  # resp.sse_customer_key_md5 #=> String
2337
2409
  # resp.ssekms_key_id #=> String
@@ -2348,6 +2420,18 @@ module Aws::S3
2348
2420
  req.send_request(options)
2349
2421
  end
2350
2422
 
2423
+ # End of support notice: As of October 1, 2025, Amazon S3 has
2424
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
2425
+ # you attempt to use an Email Grantee ACL in a request after October 1,
2426
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
2427
+ # error.
2428
+ #
2429
+ # This change affects the following Amazon Web Services Regions: US
2430
+ # East
2431
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
2432
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
2433
+ # (Ireland), and South America (São Paulo).
2434
+ #
2351
2435
  # <note markdown="1"> This action creates an Amazon S3 bucket. To create an Amazon S3 on
2352
2436
  # Outposts bucket, see [ `CreateBucket` ][1].
2353
2437
  #
@@ -2469,6 +2553,10 @@ module Aws::S3
2469
2553
  #
2470
2554
  # * [DeleteBucket][13]
2471
2555
  #
2556
+ # You must URL encode any signed header values that contain spaces. For
2557
+ # example, if your header value is `my file.txt`, containing two spaces
2558
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
2559
+ #
2472
2560
  #
2473
2561
  #
2474
2562
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
@@ -2603,6 +2691,7 @@ module Aws::S3
2603
2691
  # @return [Types::CreateBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2604
2692
  #
2605
2693
  # * {Types::CreateBucketOutput#location #location} => String
2694
+ # * {Types::CreateBucketOutput#bucket_arn #bucket_arn} => String
2606
2695
  #
2607
2696
  #
2608
2697
  # @example Example: To create a bucket in a specific region
@@ -2649,6 +2738,12 @@ module Aws::S3
2649
2738
  # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
2650
2739
  # type: "Directory", # accepts Directory
2651
2740
  # },
2741
+ # tags: [
2742
+ # {
2743
+ # key: "ObjectKey", # required
2744
+ # value: "Value", # required
2745
+ # },
2746
+ # ],
2652
2747
  # },
2653
2748
  # grant_full_control: "GrantFullControl",
2654
2749
  # grant_read: "GrantRead",
@@ -2662,6 +2757,7 @@ module Aws::S3
2662
2757
  # @example Response structure
2663
2758
  #
2664
2759
  # resp.location #=> String
2760
+ # resp.bucket_arn #=> String
2665
2761
  #
2666
2762
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket AWS API Documentation
2667
2763
  #
@@ -2672,8 +2768,8 @@ module Aws::S3
2672
2768
  req.send_request(options)
2673
2769
  end
2674
2770
 
2675
- # Creates a metadata table configuration for a general purpose bucket.
2676
- # For more information, see [Accelerating data discovery with S3
2771
+ # Creates an S3 Metadata V2 metadata configuration for a general purpose
2772
+ # bucket. For more information, see [Accelerating data discovery with S3
2677
2773
  # Metadata][1] in the *Amazon S3 User Guide*.
2678
2774
  #
2679
2775
  # Permissions
@@ -2682,14 +2778,31 @@ module Aws::S3
2682
2778
  # more information, see [Setting up permissions for configuring
2683
2779
  # metadata tables][2] in the *Amazon S3 User Guide*.
2684
2780
  #
2781
+ # If you want to encrypt your metadata tables with server-side
2782
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2783
+ # need additional permissions in your KMS key policy. For more
2784
+ # information, see [ Setting up permissions for configuring metadata
2785
+ # tables][2] in the *Amazon S3 User Guide*.
2786
+ #
2685
2787
  # If you also want to integrate your table bucket with Amazon Web
2686
2788
  # Services analytics services so that you can query your metadata
2687
2789
  # table, you need additional permissions. For more information, see [
2688
2790
  # Integrating Amazon S3 Tables with Amazon Web Services analytics
2689
2791
  # services][3] in the *Amazon S3 User Guide*.
2690
2792
  #
2793
+ # To query your metadata tables, you need additional permissions. For
2794
+ # more information, see [ Permissions for querying metadata tables][4]
2795
+ # in the *Amazon S3 User Guide*.
2796
+ #
2691
2797
  # * `s3:CreateBucketMetadataTableConfiguration`
2692
2798
  #
2799
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
2800
+ # operations.
2801
+ #
2802
+ # </note>
2803
+ #
2804
+ # * `s3tables:CreateTableBucket`
2805
+ #
2693
2806
  # * `s3tables:CreateNamespace`
2694
2807
  #
2695
2808
  # * `s3tables:GetTable`
@@ -2698,24 +2811,158 @@ module Aws::S3
2698
2811
  #
2699
2812
  # * `s3tables:PutTablePolicy`
2700
2813
  #
2814
+ # * `s3tables:PutTableEncryption`
2815
+ #
2816
+ # * `kms:DescribeKey`
2817
+ #
2701
2818
  # The following operations are related to
2702
- # `CreateBucketMetadataTableConfiguration`:
2819
+ # `CreateBucketMetadataConfiguration`:
2820
+ #
2821
+ # * [DeleteBucketMetadataConfiguration][5]
2822
+ #
2823
+ # * [GetBucketMetadataConfiguration][6]
2824
+ #
2825
+ # * [UpdateBucketMetadataInventoryTableConfiguration][7]
2703
2826
  #
2704
- # * [DeleteBucketMetadataTableConfiguration][4]
2827
+ # * [UpdateBucketMetadataJournalTableConfiguration][8]
2705
2828
  #
2706
- # * [GetBucketMetadataTableConfiguration][5]
2829
+ # You must URL encode any signed header values that contain spaces. For
2830
+ # example, if your header value is `my file.txt`, containing two spaces
2831
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
2707
2832
  #
2708
2833
  #
2709
2834
  #
2710
2835
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2711
2836
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2712
2837
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2713
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2714
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2838
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-bucket-query-permissions.html
2839
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
2840
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
2841
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
2842
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
2843
+ #
2844
+ # @option params [required, String] :bucket
2845
+ # The general purpose bucket that you want to create the metadata
2846
+ # configuration for.
2847
+ #
2848
+ # @option params [String] :content_md5
2849
+ # The `Content-MD5` header for the metadata configuration.
2850
+ #
2851
+ # @option params [String] :checksum_algorithm
2852
+ # The checksum algorithm to use with your metadata configuration.
2853
+ #
2854
+ # @option params [required, Types::MetadataConfiguration] :metadata_configuration
2855
+ # The contents of your metadata configuration.
2856
+ #
2857
+ # @option params [String] :expected_bucket_owner
2858
+ # The expected owner of the general purpose bucket that corresponds to
2859
+ # your metadata configuration.
2860
+ #
2861
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2862
+ #
2863
+ # @example Request syntax with placeholder values
2864
+ #
2865
+ # resp = client.create_bucket_metadata_configuration({
2866
+ # bucket: "BucketName", # required
2867
+ # content_md5: "ContentMD5",
2868
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2869
+ # metadata_configuration: { # required
2870
+ # journal_table_configuration: { # required
2871
+ # record_expiration: { # required
2872
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
2873
+ # days: 1,
2874
+ # },
2875
+ # encryption_configuration: {
2876
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2877
+ # kms_key_arn: "KmsKeyArn",
2878
+ # },
2879
+ # },
2880
+ # inventory_table_configuration: {
2881
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
2882
+ # encryption_configuration: {
2883
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2884
+ # kms_key_arn: "KmsKeyArn",
2885
+ # },
2886
+ # },
2887
+ # },
2888
+ # expected_bucket_owner: "AccountId",
2889
+ # })
2890
+ #
2891
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfiguration AWS API Documentation
2892
+ #
2893
+ # @overload create_bucket_metadata_configuration(params = {})
2894
+ # @param [Hash] params ({})
2895
+ def create_bucket_metadata_configuration(params = {}, options = {})
2896
+ req = build_request(:create_bucket_metadata_configuration, params)
2897
+ req.send_request(options)
2898
+ end
2899
+
2900
+ # We recommend that you create your S3 Metadata configurations by using
2901
+ # the V2 [CreateBucketMetadataConfiguration][1] API operation. We no
2902
+ # longer recommend using the V1 `CreateBucketMetadataTableConfiguration`
2903
+ # API operation.
2904
+ #
2905
+ # If you created your S3 Metadata configuration before July 15, 2025,
2906
+ # we
2907
+ # recommend that you delete and re-create your configuration by using
2908
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
2909
+ # table records and create a live inventory table.
2910
+ #
2911
+ # Creates a V1 S3 Metadata configuration for a general purpose bucket.
2912
+ # For more information, see [Accelerating data discovery with S3
2913
+ # Metadata][2] in the *Amazon S3 User Guide*.
2914
+ #
2915
+ # Permissions
2916
+ #
2917
+ # : To use this operation, you must have the following permissions. For
2918
+ # more information, see [Setting up permissions for configuring
2919
+ # metadata tables][3] in the *Amazon S3 User Guide*.
2920
+ #
2921
+ # If you want to encrypt your metadata tables with server-side
2922
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2923
+ # need additional permissions. For more information, see [ Setting up
2924
+ # permissions for configuring metadata tables][3] in the *Amazon S3
2925
+ # User Guide*.
2926
+ #
2927
+ # If you also want to integrate your table bucket with Amazon Web
2928
+ # Services analytics services so that you can query your metadata
2929
+ # table, you need additional permissions. For more information, see [
2930
+ # Integrating Amazon S3 Tables with Amazon Web Services analytics
2931
+ # services][4] in the *Amazon S3 User Guide*.
2932
+ #
2933
+ # * `s3:CreateBucketMetadataTableConfiguration`
2934
+ #
2935
+ # * `s3tables:CreateNamespace`
2936
+ #
2937
+ # * `s3tables:GetTable`
2938
+ #
2939
+ # * `s3tables:CreateTable`
2940
+ #
2941
+ # * `s3tables:PutTablePolicy`
2942
+ #
2943
+ # The following operations are related to
2944
+ # `CreateBucketMetadataTableConfiguration`:
2945
+ #
2946
+ # * [DeleteBucketMetadataTableConfiguration][5]
2947
+ #
2948
+ # * [GetBucketMetadataTableConfiguration][6]
2949
+ #
2950
+ # You must URL encode any signed header values that contain spaces. For
2951
+ # example, if your header value is `my file.txt`, containing two spaces
2952
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
2953
+ #
2954
+ #
2955
+ #
2956
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
2957
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2958
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2959
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2960
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2961
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2715
2962
  #
2716
2963
  # @option params [required, String] :bucket
2717
2964
  # The general purpose bucket that you want to create the metadata table
2718
- # configuration in.
2965
+ # configuration for.
2719
2966
  #
2720
2967
  # @option params [String] :content_md5
2721
2968
  # The `Content-MD5` header for the metadata table configuration.
@@ -2727,8 +2974,8 @@ module Aws::S3
2727
2974
  # The contents of your metadata table configuration.
2728
2975
  #
2729
2976
  # @option params [String] :expected_bucket_owner
2730
- # The expected owner of the general purpose bucket that contains your
2731
- # metadata table configuration.
2977
+ # The expected owner of the general purpose bucket that corresponds to
2978
+ # your metadata table configuration.
2732
2979
  #
2733
2980
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2734
2981
  #
@@ -2756,6 +3003,18 @@ module Aws::S3
2756
3003
  req.send_request(options)
2757
3004
  end
2758
3005
 
3006
+ # End of support notice: As of October 1, 2025, Amazon S3 has
3007
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
3008
+ # you attempt to use an Email Grantee ACL in a request after October 1,
3009
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
3010
+ # error.
3011
+ #
3012
+ # This change affects the following Amazon Web Services Regions: US
3013
+ # East
3014
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
3015
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
3016
+ # (Ireland), and South America (São Paulo).
3017
+ #
2759
3018
  # This action initiates a multipart upload and returns an upload ID.
2760
3019
  # This upload ID is used to associate all of the parts in the specific
2761
3020
  # multipart upload. You specify this upload ID in each of your
@@ -2990,6 +3249,10 @@ module Aws::S3
2990
3249
  #
2991
3250
  # * [ListMultipartUploads][19]
2992
3251
  #
3252
+ # You must URL encode any signed header values that contain spaces. For
3253
+ # example, if your header value is `my file.txt`, containing two spaces
3254
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
3255
+ #
2993
3256
  #
2994
3257
  #
2995
3258
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
@@ -3372,7 +3635,7 @@ module Aws::S3
3372
3635
  #
3373
3636
  # @option params [String] :server_side_encryption
3374
3637
  # The server-side encryption algorithm used when you store this object
3375
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3638
+ # in Amazon S3 or Amazon FSx.
3376
3639
  #
3377
3640
  # * <b>Directory buckets </b> - For directory buckets, there are only
3378
3641
  # two supported options for server-side encryption: server-side
@@ -3414,6 +3677,14 @@ module Aws::S3
3414
3677
  #
3415
3678
  # </note>
3416
3679
  #
3680
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
3681
+ # in Amazon FSx file systems using S3 access points, the only valid
3682
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
3683
+ # systems have encryption configured by default and are encrypted at
3684
+ # rest. Data is automatically encrypted before being written to the
3685
+ # file system, and automatically decrypted as it is read. These
3686
+ # processes are handled transparently by Amazon FSx.
3687
+ #
3417
3688
  #
3418
3689
  #
3419
3690
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -3671,8 +3942,8 @@ module Aws::S3
3671
3942
  # metadata: {
3672
3943
  # "MetadataKey" => "MetadataValue",
3673
3944
  # },
3674
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
3675
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
3945
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3946
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
3676
3947
  # website_redirect_location: "WebsiteRedirectLocation",
3677
3948
  # sse_customer_algorithm: "SSECustomerAlgorithm",
3678
3949
  # sse_customer_key: "SSECustomerKey",
@@ -3697,7 +3968,7 @@ module Aws::S3
3697
3968
  # resp.bucket #=> String
3698
3969
  # resp.key #=> String
3699
3970
  # resp.upload_id #=> String
3700
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
3971
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3701
3972
  # resp.sse_customer_algorithm #=> String
3702
3973
  # resp.sse_customer_key_md5 #=> String
3703
3974
  # resp.ssekms_key_id #=> String
@@ -3862,6 +4133,10 @@ module Aws::S3
3862
4133
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
3863
4134
  # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
3864
4135
  #
4136
+ # You must URL encode any signed header values that contain spaces. For
4137
+ # example, if your header value is `my file.txt`, containing two spaces
4138
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4139
+ #
3865
4140
  #
3866
4141
  #
3867
4142
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html
@@ -3904,6 +4179,14 @@ module Aws::S3
3904
4179
  # SSE-S3. For more information, see [Protecting data with server-side
3905
4180
  # encryption][1] in the *Amazon S3 User Guide*.
3906
4181
  #
4182
+ # <b>S3 access points for Amazon FSx </b> - When accessing data stored
4183
+ # in Amazon FSx file systems using S3 access points, the only valid
4184
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
4185
+ # systems have encryption configured by default and are encrypted at
4186
+ # rest. Data is automatically encrypted before being written to the file
4187
+ # system, and automatically decrypted as it is read. These processes are
4188
+ # handled transparently by Amazon FSx.
4189
+ #
3907
4190
  #
3908
4191
  #
3909
4192
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
@@ -3984,7 +4267,7 @@ module Aws::S3
3984
4267
  # resp = client.create_session({
3985
4268
  # session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
3986
4269
  # bucket: "BucketName", # required
3987
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
4270
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3988
4271
  # ssekms_key_id: "SSEKMSKeyId",
3989
4272
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
3990
4273
  # bucket_key_enabled: false,
@@ -3992,7 +4275,7 @@ module Aws::S3
3992
4275
  #
3993
4276
  # @example Response structure
3994
4277
  #
3995
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
4278
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3996
4279
  # resp.ssekms_key_id #=> String
3997
4280
  # resp.ssekms_encryption_context #=> String
3998
4281
  # resp.bucket_key_enabled #=> Boolean
@@ -4056,6 +4339,10 @@ module Aws::S3
4056
4339
  #
4057
4340
  # * [DeleteObject][5]
4058
4341
  #
4342
+ # You must URL encode any signed header values that contain spaces. For
4343
+ # example, if your header value is `my file.txt`, containing two spaces
4344
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4345
+ #
4059
4346
  #
4060
4347
  #
4061
4348
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -4146,6 +4433,10 @@ module Aws::S3
4146
4433
  #
4147
4434
  # * [PutBucketAnalyticsConfiguration][6]
4148
4435
  #
4436
+ # You must URL encode any signed header values that contain spaces. For
4437
+ # example, if your header value is `my file.txt`, containing two spaces
4438
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4439
+ #
4149
4440
  #
4150
4441
  #
4151
4442
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -4205,6 +4496,10 @@ module Aws::S3
4205
4496
  #
4206
4497
  # * [RESTOPTIONSobject][3]
4207
4498
  #
4499
+ # You must URL encode any signed header values that contain spaces. For
4500
+ # example, if your header value is `my file.txt`, containing two spaces
4501
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4502
+ #
4208
4503
  #
4209
4504
  #
4210
4505
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
@@ -4293,6 +4588,10 @@ module Aws::S3
4293
4588
  #
4294
4589
  # * [GetBucketEncryption][7]
4295
4590
  #
4591
+ # You must URL encode any signed header values that contain spaces. For
4592
+ # example, if your header value is `my file.txt`, containing two spaces
4593
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4594
+ #
4296
4595
  #
4297
4596
  #
4298
4597
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
@@ -4386,6 +4685,10 @@ module Aws::S3
4386
4685
  #
4387
4686
  # * [ListBucketIntelligentTieringConfigurations][4]
4388
4687
  #
4688
+ # You must URL encode any signed header values that contain spaces. For
4689
+ # example, if your header value is `my file.txt`, containing two spaces
4690
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4691
+ #
4389
4692
  #
4390
4693
  #
4391
4694
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -4400,6 +4703,11 @@ module Aws::S3
4400
4703
  # @option params [required, String] :id
4401
4704
  # The ID used to identify the S3 Intelligent-Tiering configuration.
4402
4705
  #
4706
+ # @option params [String] :expected_bucket_owner
4707
+ # The account ID of the expected bucket owner. If the account ID that
4708
+ # you provide does not match the actual owner of the bucket, the request
4709
+ # fails with the HTTP status code `403 Forbidden` (access denied).
4710
+ #
4403
4711
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4404
4712
  #
4405
4713
  # @example Request syntax with placeholder values
@@ -4407,6 +4715,7 @@ module Aws::S3
4407
4715
  # resp = client.delete_bucket_intelligent_tiering_configuration({
4408
4716
  # bucket: "BucketName", # required
4409
4717
  # id: "IntelligentTieringId", # required
4718
+ # expected_bucket_owner: "AccountId",
4410
4719
  # })
4411
4720
  #
4412
4721
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration AWS API Documentation
@@ -4422,7 +4731,7 @@ module Aws::S3
4422
4731
  #
4423
4732
  # </note>
4424
4733
  #
4425
- # Deletes an inventory configuration (identified by the inventory ID)
4734
+ # Deletes an S3 Inventory configuration (identified by the inventory ID)
4426
4735
  # from the bucket.
4427
4736
  #
4428
4737
  # To use this operation, you must have permissions to perform the
@@ -4443,6 +4752,10 @@ module Aws::S3
4443
4752
  #
4444
4753
  # * [ListBucketInventoryConfigurations][6]
4445
4754
  #
4755
+ # You must URL encode any signed header values that contain spaces. For
4756
+ # example, if your header value is `my file.txt`, containing two spaces
4757
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4758
+ #
4446
4759
  #
4447
4760
  #
4448
4761
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -4543,6 +4856,10 @@ module Aws::S3
4543
4856
  #
4544
4857
  # * [GetBucketLifecycleConfiguration][7]
4545
4858
  #
4859
+ # You must URL encode any signed header values that contain spaces. For
4860
+ # example, if your header value is `my file.txt`, containing two spaces
4861
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4862
+ #
4546
4863
  #
4547
4864
  #
4548
4865
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
@@ -4593,10 +4910,18 @@ module Aws::S3
4593
4910
  req.send_request(options)
4594
4911
  end
4595
4912
 
4596
- # Deletes a metadata table configuration from a general purpose bucket.
4913
+ # Deletes an S3 Metadata configuration from a general purpose bucket.
4597
4914
  # For more information, see [Accelerating data discovery with S3
4598
4915
  # Metadata][1] in the *Amazon S3 User Guide*.
4599
4916
  #
4917
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4918
+ # with V1 or V2 metadata configurations. However, if you try to use the
4919
+ # V1 `DeleteBucketMetadataTableConfiguration` API operation with V2
4920
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
4921
+ # error.
4922
+ #
4923
+ # </note>
4924
+ #
4600
4925
  # Permissions
4601
4926
  #
4602
4927
  # : To use this operation, you must have the
@@ -4604,19 +4929,115 @@ module Aws::S3
4604
4929
  # information, see [Setting up permissions for configuring metadata
4605
4930
  # tables][2] in the *Amazon S3 User Guide*.
4606
4931
  #
4932
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
4933
+ # operations.
4934
+ #
4935
+ # </note>
4936
+ #
4607
4937
  # The following operations are related to
4608
- # `DeleteBucketMetadataTableConfiguration`:
4938
+ # `DeleteBucketMetadataConfiguration`:
4939
+ #
4940
+ # * [CreateBucketMetadataConfiguration][3]
4941
+ #
4942
+ # * [GetBucketMetadataConfiguration][4]
4609
4943
  #
4610
- # * [CreateBucketMetadataTableConfiguration][3]
4944
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
4611
4945
  #
4612
- # * [GetBucketMetadataTableConfiguration][4]
4946
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
4947
+ #
4948
+ # You must URL encode any signed header values that contain spaces. For
4949
+ # example, if your header value is `my file.txt`, containing two spaces
4950
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4613
4951
  #
4614
4952
  #
4615
4953
  #
4616
4954
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4617
4955
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4618
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4619
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4956
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4957
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
4958
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
4959
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
4960
+ #
4961
+ # @option params [required, String] :bucket
4962
+ # The general purpose bucket that you want to remove the metadata
4963
+ # configuration from.
4964
+ #
4965
+ # @option params [String] :expected_bucket_owner
4966
+ # The expected bucket owner of the general purpose bucket that you want
4967
+ # to remove the metadata table configuration from.
4968
+ #
4969
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4970
+ #
4971
+ # @example Request syntax with placeholder values
4972
+ #
4973
+ # resp = client.delete_bucket_metadata_configuration({
4974
+ # bucket: "BucketName", # required
4975
+ # expected_bucket_owner: "AccountId",
4976
+ # })
4977
+ #
4978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfiguration AWS API Documentation
4979
+ #
4980
+ # @overload delete_bucket_metadata_configuration(params = {})
4981
+ # @param [Hash] params ({})
4982
+ def delete_bucket_metadata_configuration(params = {}, options = {})
4983
+ req = build_request(:delete_bucket_metadata_configuration, params)
4984
+ req.send_request(options)
4985
+ end
4986
+
4987
+ # We recommend that you delete your S3 Metadata configurations by using
4988
+ # the V2 [DeleteBucketMetadataTableConfiguration][1] API operation. We
4989
+ # no longer recommend using the V1
4990
+ # `DeleteBucketMetadataTableConfiguration` API operation.
4991
+ #
4992
+ # If you created your S3 Metadata configuration before July 15, 2025,
4993
+ # we
4994
+ # recommend that you delete and re-create your configuration by using
4995
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
4996
+ # table records and create a live inventory table.
4997
+ #
4998
+ # Deletes a V1 S3 Metadata configuration from a general purpose bucket.
4999
+ # For more information, see [Accelerating data discovery with S3
5000
+ # Metadata][3] in the *Amazon S3 User Guide*.
5001
+ #
5002
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
5003
+ # with V1 or V2 metadata table configurations. However, if you try to
5004
+ # use the V1 `DeleteBucketMetadataTableConfiguration` API operation with
5005
+ # V2 configurations, you will receive an HTTP `405 Method Not Allowed`
5006
+ # error.
5007
+ #
5008
+ # Make sure that you update your processes to use the new V2 API
5009
+ # operations (`CreateBucketMetadataConfiguration`,
5010
+ # `GetBucketMetadataConfiguration`, and
5011
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
5012
+ #
5013
+ # </note>
5014
+ #
5015
+ # Permissions
5016
+ #
5017
+ # : To use this operation, you must have the
5018
+ # `s3:DeleteBucketMetadataTableConfiguration` permission. For more
5019
+ # information, see [Setting up permissions for configuring metadata
5020
+ # tables][4] in the *Amazon S3 User Guide*.
5021
+ #
5022
+ # The following operations are related to
5023
+ # `DeleteBucketMetadataTableConfiguration`:
5024
+ #
5025
+ # * [CreateBucketMetadataTableConfiguration][5]
5026
+ #
5027
+ # * [GetBucketMetadataTableConfiguration][6]
5028
+ #
5029
+ # You must URL encode any signed header values that contain spaces. For
5030
+ # example, if your header value is `my file.txt`, containing two spaces
5031
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5032
+ #
5033
+ #
5034
+ #
5035
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
5036
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
5037
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
5038
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
5039
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
5040
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4620
5041
  #
4621
5042
  # @option params [required, String] :bucket
4622
5043
  # The general purpose bucket that you want to remove the metadata table
@@ -4673,6 +5094,10 @@ module Aws::S3
4673
5094
  #
4674
5095
  # * [Monitoring Metrics with Amazon CloudWatch][3]
4675
5096
  #
5097
+ # You must URL encode any signed header values that contain spaces. For
5098
+ # example, if your header value is `my file.txt`, containing two spaces
5099
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5100
+ #
4676
5101
  #
4677
5102
  #
4678
5103
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -4733,6 +5158,10 @@ module Aws::S3
4733
5158
  #
4734
5159
  # * PutBucketOwnershipControls
4735
5160
  #
5161
+ # You must URL encode any signed header values that contain spaces. For
5162
+ # example, if your header value is `my file.txt`, containing two spaces
5163
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5164
+ #
4736
5165
  #
4737
5166
  #
4738
5167
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -4829,6 +5258,10 @@ module Aws::S3
4829
5258
  #
4830
5259
  # * [DeleteObject][6]
4831
5260
  #
5261
+ # You must URL encode any signed header values that contain spaces. For
5262
+ # example, if your header value is `my file.txt`, containing two spaces
5263
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5264
+ #
4832
5265
  #
4833
5266
  #
4834
5267
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -4921,6 +5354,10 @@ module Aws::S3
4921
5354
  #
4922
5355
  # * [GetBucketReplication][5]
4923
5356
  #
5357
+ # You must URL encode any signed header values that contain spaces. For
5358
+ # example, if your header value is `my file.txt`, containing two spaces
5359
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5360
+ #
4924
5361
  #
4925
5362
  #
4926
5363
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -4968,7 +5405,14 @@ module Aws::S3
4968
5405
  #
4969
5406
  # </note>
4970
5407
  #
4971
- # Deletes the tags from the bucket.
5408
+ # Deletes tags from the general purpose bucket if attribute based access
5409
+ # control (ABAC) is not enabled for the bucket. When you [enable ABAC
5410
+ # for a general purpose bucket][1], you can no longer use this operation
5411
+ # for that bucket and must use [UntagResource][2] instead.
5412
+ #
5413
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
5414
+ # general purpose bucket][1], you can no longer use this operation for
5415
+ # that bucket and must use [UntagResource][2] instead.
4972
5416
  #
4973
5417
  # To use this operation, you must have permission to perform the
4974
5418
  # `s3:PutBucketTagging` action. By default, the bucket owner has this
@@ -4976,14 +5420,20 @@ module Aws::S3
4976
5420
  #
4977
5421
  # The following operations are related to `DeleteBucketTagging`:
4978
5422
  #
4979
- # * [GetBucketTagging][1]
5423
+ # * [GetBucketTagging][3]
4980
5424
  #
4981
- # * [PutBucketTagging][2]
5425
+ # * [PutBucketTagging][4]
4982
5426
  #
5427
+ # You must URL encode any signed header values that contain spaces. For
5428
+ # example, if your header value is `my file.txt`, containing two spaces
5429
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4983
5430
  #
4984
5431
  #
4985
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
4986
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
5432
+ #
5433
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
5434
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
5435
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
5436
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
4987
5437
  #
4988
5438
  # @option params [required, String] :bucket
4989
5439
  # The bucket that has the tag set to be removed.
@@ -5046,6 +5496,10 @@ module Aws::S3
5046
5496
  #
5047
5497
  # * [PutBucketWebsite][3]
5048
5498
  #
5499
+ # You must URL encode any signed header values that contain spaces. For
5500
+ # example, if your header value is `my file.txt`, containing two spaces
5501
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5502
+ #
5049
5503
  #
5050
5504
  #
5051
5505
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
@@ -5168,6 +5622,12 @@ module Aws::S3
5168
5622
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
5169
5623
  # specific version of an object from a versioning-enabled bucket,
5170
5624
  # you must have the `s3:DeleteObjectVersion` permission.
5625
+ #
5626
+ # <note markdown="1"> If the `s3:DeleteObject` or `s3:DeleteObjectVersion` permissions
5627
+ # are explicitly denied in your bucket policy, attempts to delete
5628
+ # any unversioned objects result in a `403 Access Denied` error.
5629
+ #
5630
+ # </note>
5171
5631
  # * **Directory bucket permissions** - To grant access to this API
5172
5632
  # operation on a directory bucket, we recommend that you use the [
5173
5633
  # `CreateSession` ][8] API operation for session-based
@@ -5194,6 +5654,16 @@ module Aws::S3
5194
5654
  #
5195
5655
  # ^
5196
5656
  #
5657
+ # You must URL encode any signed header values that contain spaces. For
5658
+ # example, if your header value is `my file.txt`, containing two spaces
5659
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5660
+ #
5661
+ # <note markdown="1"> The `If-Match` header is supported for both general purpose and
5662
+ # directory buckets. `IfMatchLastModifiedTime` and `IfMatchSize` is only
5663
+ # supported for directory buckets.
5664
+ #
5665
+ # </note>
5666
+ #
5197
5667
  #
5198
5668
  #
5199
5669
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html
@@ -5304,17 +5774,15 @@ module Aws::S3
5304
5774
  # fails with the HTTP status code `403 Forbidden` (access denied).
5305
5775
  #
5306
5776
  # @option params [String] :if_match
5307
- # The `If-Match` header field makes the request method conditional on
5308
- # ETags. If the ETag value does not match, the operation returns a `412
5309
- # Precondition Failed` error. If the ETag matches or if the object
5310
- # doesn't exist, the operation will return a `204 Success (No Content)
5311
- # response`.
5312
- #
5313
- # For more information about conditional requests, see [RFC 7232][1].
5777
+ # Deletes the object if the ETag (entity tag) value provided during the
5778
+ # delete operation matches the ETag of the object in S3. If the ETag
5779
+ # values do not match, the operation returns a `412 Precondition Failed`
5780
+ # error.
5314
5781
  #
5315
- # <note markdown="1"> This functionality is only supported for directory buckets.
5782
+ # Expects the ETag value as a string. `If-Match` does accept a string
5783
+ # value of an '*' (asterisk) character to denote a match of any ETag.
5316
5784
  #
5317
- # </note>
5785
+ # For more information about conditional requests, see [RFC 7232][1].
5318
5786
  #
5319
5787
  #
5320
5788
  #
@@ -5425,6 +5893,10 @@ module Aws::S3
5425
5893
  #
5426
5894
  # * [GetObjectTagging][3]
5427
5895
  #
5896
+ # You must URL encode any signed header values that contain spaces. For
5897
+ # example, if your header value is `my file.txt`, containing two spaces
5898
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5899
+ #
5428
5900
  #
5429
5901
  #
5430
5902
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
@@ -5595,6 +6067,12 @@ module Aws::S3
5595
6067
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
5596
6068
  # specific version of an object from a versioning-enabled bucket,
5597
6069
  # you must specify the `s3:DeleteObjectVersion` permission.
6070
+ #
6071
+ # <note markdown="1"> If the `s3:DeleteObject` or `s3:DeleteObjectVersion` permissions
6072
+ # are explicitly denied in your bucket policy, attempts to delete
6073
+ # any unversioned objects result in a `403 Access Denied` error.
6074
+ #
6075
+ # </note>
5598
6076
  # * **Directory bucket permissions** - To grant access to this API
5599
6077
  # operation on a directory bucket, we recommend that you use the [
5600
6078
  # `CreateSession` ][4] API operation for session-based
@@ -5639,6 +6117,10 @@ module Aws::S3
5639
6117
  #
5640
6118
  # * [AbortMultipartUpload][9]
5641
6119
  #
6120
+ # You must URL encode any signed header values that contain spaces. For
6121
+ # example, if your header value is `my file.txt`, containing two spaces
6122
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6123
+ #
5642
6124
  #
5643
6125
  #
5644
6126
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -5935,6 +6417,10 @@ module Aws::S3
5935
6417
  #
5936
6418
  # * [GetBucketPolicyStatus][6]
5937
6419
  #
6420
+ # You must URL encode any signed header values that contain spaces. For
6421
+ # example, if your header value is `my file.txt`, containing two spaces
6422
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6423
+ #
5938
6424
  #
5939
6425
  #
5940
6426
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -5971,6 +6457,49 @@ module Aws::S3
5971
6457
  req.send_request(options)
5972
6458
  end
5973
6459
 
6460
+ # Returns the attribute-based access control (ABAC) property of the
6461
+ # general purpose bucket. If the bucket ABAC is enabled, you can use
6462
+ # tags for bucket access control. For more information, see [Enabling
6463
+ # ABAC in general purpose buckets][1]. Whether ABAC is enabled or
6464
+ # disabled, you can use tags for cost tracking. For more information,
6465
+ # see [Using tags with S3 general purpose buckets][2].
6466
+ #
6467
+ #
6468
+ #
6469
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
6470
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
6471
+ #
6472
+ # @option params [required, String] :bucket
6473
+ # The name of the general purpose bucket.
6474
+ #
6475
+ # @option params [String] :expected_bucket_owner
6476
+ # The Amazon Web Services account ID of the general purpose bucket's
6477
+ # owner.
6478
+ #
6479
+ # @return [Types::GetBucketAbacOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6480
+ #
6481
+ # * {Types::GetBucketAbacOutput#abac_status #abac_status} => Types::AbacStatus
6482
+ #
6483
+ # @example Request syntax with placeholder values
6484
+ #
6485
+ # resp = client.get_bucket_abac({
6486
+ # bucket: "BucketName", # required
6487
+ # expected_bucket_owner: "AccountId",
6488
+ # })
6489
+ #
6490
+ # @example Response structure
6491
+ #
6492
+ # resp.abac_status.status #=> String, one of "Enabled", "Disabled"
6493
+ #
6494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbac AWS API Documentation
6495
+ #
6496
+ # @overload get_bucket_abac(params = {})
6497
+ # @param [Hash] params ({})
6498
+ def get_bucket_abac(params = {}, options = {})
6499
+ req = build_request(:get_bucket_abac, params)
6500
+ req.send_request(options)
6501
+ end
6502
+
5974
6503
  # <note markdown="1"> This operation is not supported for directory buckets.
5975
6504
  #
5976
6505
  # </note>
@@ -6007,6 +6536,10 @@ module Aws::S3
6007
6536
  #
6008
6537
  # ^
6009
6538
  #
6539
+ # You must URL encode any signed header values that contain spaces. For
6540
+ # example, if your header value is `my file.txt`, containing two spaces
6541
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6542
+ #
6010
6543
  #
6011
6544
  #
6012
6545
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -6067,6 +6600,19 @@ module Aws::S3
6067
6600
  req.send_request(options)
6068
6601
  end
6069
6602
 
6603
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
6604
+ # stop returning `DisplayName`. Update your applications to use
6605
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
6606
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
6607
+ # resource naming) as a direct replacement of `DisplayName`.
6608
+ #
6609
+ # This change affects the following Amazon Web Services Regions: US
6610
+ # East
6611
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
6612
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
6613
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
6614
+ # America (São Paulo) Region.
6615
+ #
6070
6616
  # <note markdown="1"> This operation is not supported for directory buckets.
6071
6617
  #
6072
6618
  # </note>
@@ -6096,6 +6642,10 @@ module Aws::S3
6096
6642
  #
6097
6643
  # </note>
6098
6644
  #
6645
+ # You must URL encode any signed header values that contain spaces. For
6646
+ # example, if your header value is `my file.txt`, containing two spaces
6647
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6648
+ #
6099
6649
  # The following operations are related to `GetBucketAcl`:
6100
6650
  #
6101
6651
  # * [ListObjects][3]
@@ -6191,6 +6741,10 @@ module Aws::S3
6191
6741
  #
6192
6742
  # * [PutBucketAnalyticsConfiguration][6]
6193
6743
  #
6744
+ # You must URL encode any signed header values that contain spaces. For
6745
+ # example, if your header value is `my file.txt`, containing two spaces
6746
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6747
+ #
6194
6748
  #
6195
6749
  #
6196
6750
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -6279,6 +6833,10 @@ module Aws::S3
6279
6833
  #
6280
6834
  # * [DeleteBucketCors][4]
6281
6835
  #
6836
+ # You must URL encode any signed header values that contain spaces. For
6837
+ # example, if your header value is `my file.txt`, containing two spaces
6838
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6839
+ #
6282
6840
  #
6283
6841
  #
6284
6842
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
@@ -6371,17 +6929,19 @@ module Aws::S3
6371
6929
 
6372
6930
  # Returns the default encryption configuration for an Amazon S3 bucket.
6373
6931
  # By default, all buckets have a default encryption configuration that
6374
- # uses server-side encryption with Amazon S3 managed keys (SSE-S3).
6932
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). This
6933
+ # operation also returns the [BucketKeyEnabled][1] and
6934
+ # [BlockedEncryptionTypes][2] statuses.
6375
6935
  #
6376
6936
  # <note markdown="1"> * **General purpose buckets** - For information about the bucket
6377
6937
  # default encryption feature, see [Amazon S3 Bucket Default
6378
- # Encryption][1] in the *Amazon S3 User Guide*.
6938
+ # Encryption][3] in the *Amazon S3 User Guide*.
6379
6939
  #
6380
6940
  # * **Directory buckets** - For directory buckets, there are only two
6381
6941
  # supported options for server-side encryption: SSE-S3 and SSE-KMS.
6382
6942
  # For information about the default encryption configuration in
6383
6943
  # directory buckets, see [Setting default server-side encryption
6384
- # behavior for directory buckets][2].
6944
+ # behavior for directory buckets][4].
6385
6945
  #
6386
6946
  # </note>
6387
6947
  #
@@ -6391,8 +6951,8 @@ module Aws::S3
6391
6951
  # policy. The bucket owner has this permission by default. The
6392
6952
  # bucket owner can grant this permission to others. For more
6393
6953
  # information about permissions, see [Permissions Related to Bucket
6394
- # Operations][3] and [Managing Access Permissions to Your Amazon S3
6395
- # Resources][4].
6954
+ # Operations][5] and [Managing Access Permissions to Your Amazon S3
6955
+ # Resources][6].
6396
6956
  #
6397
6957
  # * **Directory bucket permissions** - To grant access to this API
6398
6958
  # operation, you must have the
@@ -6402,7 +6962,7 @@ module Aws::S3
6402
6962
  # only be performed by the Amazon Web Services account that owns the
6403
6963
  # resource. For more information about directory bucket policies and
6404
6964
  # permissions, see [Amazon Web Services Identity and Access
6405
- # Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
6965
+ # Management (IAM) for S3 Express One Zone][7] in the *Amazon S3
6406
6966
  # User Guide*.
6407
6967
  #
6408
6968
  # HTTP Host header syntax
@@ -6412,19 +6972,25 @@ module Aws::S3
6412
6972
  #
6413
6973
  # The following operations are related to `GetBucketEncryption`:
6414
6974
  #
6415
- # * [PutBucketEncryption][6]
6975
+ # * [PutBucketEncryption][8]
6416
6976
  #
6417
- # * [DeleteBucketEncryption][7]
6977
+ # * [DeleteBucketEncryption][9]
6418
6978
  #
6979
+ # You must URL encode any signed header values that contain spaces. For
6980
+ # example, if your header value is `my file.txt`, containing two spaces
6981
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6419
6982
  #
6420
6983
  #
6421
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
6422
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
6423
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6424
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6425
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6426
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
6427
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
6984
+ #
6985
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_BucketKeyEnabled.html
6986
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_BlockedEncryptionTypes.html
6987
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html
6988
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
6989
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6990
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6991
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6992
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
6993
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
6428
6994
  #
6429
6995
  # @option params [required, String] :bucket
6430
6996
  # The name of the bucket from which the server-side encryption
@@ -6470,9 +7036,11 @@ module Aws::S3
6470
7036
  # @example Response structure
6471
7037
  #
6472
7038
  # resp.server_side_encryption_configuration.rules #=> Array
6473
- # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
7039
+ # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
6474
7040
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
6475
7041
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
7042
+ # resp.server_side_encryption_configuration.rules[0].blocked_encryption_types.encryption_type #=> Array
7043
+ # resp.server_side_encryption_configuration.rules[0].blocked_encryption_types.encryption_type[0] #=> String, one of "NONE", "SSE-C"
6476
7044
  #
6477
7045
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption AWS API Documentation
6478
7046
  #
@@ -6518,6 +7086,10 @@ module Aws::S3
6518
7086
  #
6519
7087
  # * [ListBucketIntelligentTieringConfigurations][4]
6520
7088
  #
7089
+ # You must URL encode any signed header values that contain spaces. For
7090
+ # example, if your header value is `my file.txt`, containing two spaces
7091
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7092
+ #
6521
7093
  #
6522
7094
  #
6523
7095
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -6532,6 +7104,11 @@ module Aws::S3
6532
7104
  # @option params [required, String] :id
6533
7105
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6534
7106
  #
7107
+ # @option params [String] :expected_bucket_owner
7108
+ # The account ID of the expected bucket owner. If the account ID that
7109
+ # you provide does not match the actual owner of the bucket, the request
7110
+ # fails with the HTTP status code `403 Forbidden` (access denied).
7111
+ #
6535
7112
  # @return [Types::GetBucketIntelligentTieringConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6536
7113
  #
6537
7114
  # * {Types::GetBucketIntelligentTieringConfigurationOutput#intelligent_tiering_configuration #intelligent_tiering_configuration} => Types::IntelligentTieringConfiguration
@@ -6541,6 +7118,7 @@ module Aws::S3
6541
7118
  # resp = client.get_bucket_intelligent_tiering_configuration({
6542
7119
  # bucket: "BucketName", # required
6543
7120
  # id: "IntelligentTieringId", # required
7121
+ # expected_bucket_owner: "AccountId",
6544
7122
  # })
6545
7123
  #
6546
7124
  # @example Response structure
@@ -6571,7 +7149,7 @@ module Aws::S3
6571
7149
  #
6572
7150
  # </note>
6573
7151
  #
6574
- # Returns an inventory configuration (identified by the inventory
7152
+ # Returns an S3 Inventory configuration (identified by the inventory
6575
7153
  # configuration ID) from the bucket.
6576
7154
  #
6577
7155
  # To use this operation, you must have permissions to perform the
@@ -6593,6 +7171,10 @@ module Aws::S3
6593
7171
  #
6594
7172
  # * [PutBucketInventoryConfiguration][6]
6595
7173
  #
7174
+ # You must URL encode any signed header values that contain spaces. For
7175
+ # example, if your header value is `my file.txt`, containing two spaces
7176
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7177
+ #
6596
7178
  #
6597
7179
  #
6598
7180
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -6689,6 +7271,10 @@ module Aws::S3
6689
7271
  #
6690
7272
  # * [DeleteBucketLifecycle][6]
6691
7273
  #
7274
+ # You must URL encode any signed header values that contain spaces. For
7275
+ # example, if your header value is `my file.txt`, containing two spaces
7276
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7277
+ #
6692
7278
  #
6693
7279
  #
6694
7280
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
@@ -6850,6 +7436,10 @@ module Aws::S3
6850
7436
  #
6851
7437
  # * [DeleteBucketLifecycle][8]
6852
7438
  #
7439
+ # You must URL encode any signed header values that contain spaces. For
7440
+ # example, if your header value is `my file.txt`, containing two spaces
7441
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7442
+ #
6853
7443
  #
6854
7444
  #
6855
7445
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
@@ -6954,13 +7544,25 @@ module Aws::S3
6954
7544
  req.send_request(options)
6955
7545
  end
6956
7546
 
6957
- # <note markdown="1"> This operation is not supported for directory buckets.
6958
- #
6959
- # </note>
7547
+ # Using the `GetBucketLocation` operation is no longer a best practice.
7548
+ # To return the Region that a bucket resides in, we recommend that you
7549
+ # use the [HeadBucket][1] operation instead. For backward compatibility,
7550
+ # Amazon S3 continues to support the `GetBucketLocation` operation.
6960
7551
  #
6961
7552
  # Returns the Region the bucket resides in. You set the bucket's Region
6962
7553
  # using the `LocationConstraint` request parameter in a `CreateBucket`
6963
- # request. For more information, see [CreateBucket][1].
7554
+ # request. For more information, see [CreateBucket][2].
7555
+ #
7556
+ # <note markdown="1"> In a bucket's home Region, calls to the `GetBucketLocation` operation
7557
+ # are governed by the bucket's policy. In other Regions, the bucket
7558
+ # policy doesn't apply, which means that cross-account access won't be
7559
+ # authorized. However, calls to the `HeadBucket` operation always return
7560
+ # the bucket’s location through an HTTP response header, whether access
7561
+ # to the bucket is authorized or not. Therefore, we recommend using the
7562
+ # `HeadBucket` operation for bucket Region discovery and to avoid using
7563
+ # the `GetBucketLocation` operation.
7564
+ #
7565
+ # </note>
6964
7566
  #
6965
7567
  # When you use this API operation with an access point, provide the
6966
7568
  # alias of the access point in place of the bucket name.
@@ -6970,11 +7572,9 @@ module Aws::S3
6970
7572
  # bucket name. If the Object Lambda access point alias in a request is
6971
7573
  # not valid, the error code `InvalidAccessPointAliasError` is returned.
6972
7574
  # For more information about `InvalidAccessPointAliasError`, see [List
6973
- # of Error Codes][2].
7575
+ # of Error Codes][3].
6974
7576
  #
6975
- # <note markdown="1"> We recommend that you use [HeadBucket][3] to return the Region that a
6976
- # bucket resides in. For backward compatibility, Amazon S3 continues to
6977
- # support GetBucketLocation.
7577
+ # <note markdown="1"> This operation is not supported for directory buckets.
6978
7578
  #
6979
7579
  # </note>
6980
7580
  #
@@ -6982,13 +7582,17 @@ module Aws::S3
6982
7582
  #
6983
7583
  # * [GetObject][4]
6984
7584
  #
6985
- # * [CreateBucket][1]
7585
+ # * [CreateBucket][2]
6986
7586
  #
7587
+ # You must URL encode any signed header values that contain spaces. For
7588
+ # example, if your header value is `my file.txt`, containing two spaces
7589
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6987
7590
  #
6988
7591
  #
6989
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
6990
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
6991
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
7592
+ #
7593
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
7594
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
7595
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
6992
7596
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6993
7597
  #
6994
7598
  # @option params [required, String] :bucket
@@ -7051,6 +7655,19 @@ module Aws::S3
7051
7655
  req.send_request(options)
7052
7656
  end
7053
7657
 
7658
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
7659
+ # stop returning `DisplayName`. Update your applications to use
7660
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
7661
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
7662
+ # resource naming) as a direct replacement of `DisplayName`.
7663
+ #
7664
+ # This change affects the following Amazon Web Services Regions: US
7665
+ # East
7666
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
7667
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
7668
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
7669
+ # America (São Paulo) Region.
7670
+ #
7054
7671
  # <note markdown="1"> This operation is not supported for directory buckets.
7055
7672
  #
7056
7673
  # </note>
@@ -7064,6 +7681,10 @@ module Aws::S3
7064
7681
  #
7065
7682
  # * [PutBucketLogging][2]
7066
7683
  #
7684
+ # You must URL encode any signed header values that contain spaces. For
7685
+ # example, if your header value is `my file.txt`, containing two spaces
7686
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7687
+ #
7067
7688
  #
7068
7689
  #
7069
7690
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
@@ -7110,10 +7731,18 @@ module Aws::S3
7110
7731
  req.send_request(options)
7111
7732
  end
7112
7733
 
7113
- # Retrieves the metadata table configuration for a general purpose
7114
- # bucket. For more information, see [Accelerating data discovery with S3
7734
+ # Retrieves the S3 Metadata configuration for a general purpose bucket.
7735
+ # For more information, see [Accelerating data discovery with S3
7115
7736
  # Metadata][1] in the *Amazon S3 User Guide*.
7116
7737
  #
7738
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7739
+ # V1 or V2 metadata configurations. However, if you try to use the V1
7740
+ # `GetBucketMetadataTableConfiguration` API operation with V2
7741
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7742
+ # error.
7743
+ #
7744
+ # </note>
7745
+ #
7117
7746
  # Permissions
7118
7747
  #
7119
7748
  # : To use this operation, you must have the
@@ -7121,27 +7750,144 @@ module Aws::S3
7121
7750
  # information, see [Setting up permissions for configuring metadata
7122
7751
  # tables][2] in the *Amazon S3 User Guide*.
7123
7752
  #
7753
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
7754
+ # operations.
7755
+ #
7756
+ # </note>
7757
+ #
7124
7758
  # The following operations are related to
7125
- # `GetBucketMetadataTableConfiguration`:
7759
+ # `GetBucketMetadataConfiguration`:
7760
+ #
7761
+ # * [CreateBucketMetadataConfiguration][3]
7762
+ #
7763
+ # * [DeleteBucketMetadataConfiguration][4]
7764
+ #
7765
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
7126
7766
  #
7127
- # * [CreateBucketMetadataTableConfiguration][3]
7767
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
7128
7768
  #
7129
- # * [DeleteBucketMetadataTableConfiguration][4]
7769
+ # You must URL encode any signed header values that contain spaces. For
7770
+ # example, if your header value is `my file.txt`, containing two spaces
7771
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7130
7772
  #
7131
7773
  #
7132
7774
  #
7133
7775
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7134
7776
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7135
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7136
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7777
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7778
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
7779
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
7780
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
7781
+ #
7782
+ # @option params [required, String] :bucket
7783
+ # The general purpose bucket that corresponds to the metadata
7784
+ # configuration that you want to retrieve.
7785
+ #
7786
+ # @option params [String] :expected_bucket_owner
7787
+ # The expected owner of the general purpose bucket that you want to
7788
+ # retrieve the metadata table configuration for.
7789
+ #
7790
+ # @return [Types::GetBucketMetadataConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7791
+ #
7792
+ # * {Types::GetBucketMetadataConfigurationOutput#get_bucket_metadata_configuration_result #get_bucket_metadata_configuration_result} => Types::GetBucketMetadataConfigurationResult
7793
+ #
7794
+ # @example Request syntax with placeholder values
7795
+ #
7796
+ # resp = client.get_bucket_metadata_configuration({
7797
+ # bucket: "BucketName", # required
7798
+ # expected_bucket_owner: "AccountId",
7799
+ # })
7800
+ #
7801
+ # @example Response structure
7802
+ #
7803
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_type #=> String, one of "aws", "customer"
7804
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_arn #=> String
7805
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_namespace #=> String
7806
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_status #=> String
7807
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_code #=> String
7808
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_message #=> String
7809
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_name #=> String
7810
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_arn #=> String
7811
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.expiration #=> String, one of "ENABLED", "DISABLED"
7812
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.days #=> Integer
7813
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.configuration_state #=> String, one of "ENABLED", "DISABLED"
7814
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_status #=> String
7815
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_code #=> String
7816
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_message #=> String
7817
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_name #=> String
7818
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_arn #=> String
7819
+ #
7820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfiguration AWS API Documentation
7821
+ #
7822
+ # @overload get_bucket_metadata_configuration(params = {})
7823
+ # @param [Hash] params ({})
7824
+ def get_bucket_metadata_configuration(params = {}, options = {})
7825
+ req = build_request(:get_bucket_metadata_configuration, params)
7826
+ req.send_request(options)
7827
+ end
7828
+
7829
+ # We recommend that you retrieve your S3 Metadata configurations by
7830
+ # using the V2 [GetBucketMetadataTableConfiguration][1] API operation.
7831
+ # We no longer recommend using the V1
7832
+ # `GetBucketMetadataTableConfiguration` API operation.
7833
+ #
7834
+ # If you created your S3 Metadata configuration before July 15, 2025,
7835
+ # we
7836
+ # recommend that you delete and re-create your configuration by using
7837
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
7838
+ # table records and create a live inventory table.
7839
+ #
7840
+ # Retrieves the V1 S3 Metadata configuration for a general purpose
7841
+ # bucket. For more information, see [Accelerating data discovery with S3
7842
+ # Metadata][3] in the *Amazon S3 User Guide*.
7843
+ #
7844
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7845
+ # V1 or V2 metadata table configurations. However, if you try to use the
7846
+ # V1 `GetBucketMetadataTableConfiguration` API operation with V2
7847
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7848
+ # error.
7849
+ #
7850
+ # Make sure that you update your processes to use the new V2 API
7851
+ # operations (`CreateBucketMetadataConfiguration`,
7852
+ # `GetBucketMetadataConfiguration`, and
7853
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
7854
+ #
7855
+ # </note>
7856
+ #
7857
+ # Permissions
7858
+ #
7859
+ # : To use this operation, you must have the
7860
+ # `s3:GetBucketMetadataTableConfiguration` permission. For more
7861
+ # information, see [Setting up permissions for configuring metadata
7862
+ # tables][4] in the *Amazon S3 User Guide*.
7863
+ #
7864
+ # The following operations are related to
7865
+ # `GetBucketMetadataTableConfiguration`:
7866
+ #
7867
+ # * [CreateBucketMetadataTableConfiguration][5]
7868
+ #
7869
+ # * [DeleteBucketMetadataTableConfiguration][6]
7870
+ #
7871
+ # You must URL encode any signed header values that contain spaces. For
7872
+ # example, if your header value is `my file.txt`, containing two spaces
7873
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7874
+ #
7875
+ #
7876
+ #
7877
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
7878
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7879
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7880
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7881
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7882
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7137
7883
  #
7138
7884
  # @option params [required, String] :bucket
7139
- # The general purpose bucket that contains the metadata table
7885
+ # The general purpose bucket that corresponds to the metadata table
7140
7886
  # configuration that you want to retrieve.
7141
7887
  #
7142
7888
  # @option params [String] :expected_bucket_owner
7143
7889
  # The expected owner of the general purpose bucket that you want to
7144
- # retrieve the metadata table configuration from.
7890
+ # retrieve the metadata table configuration for.
7145
7891
  #
7146
7892
  # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7147
7893
  #
@@ -7202,6 +7948,10 @@ module Aws::S3
7202
7948
  #
7203
7949
  # * [Monitoring Metrics with Amazon CloudWatch][3]
7204
7950
  #
7951
+ # You must URL encode any signed header values that contain spaces. For
7952
+ # example, if your header value is `my file.txt`, containing two spaces
7953
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7954
+ #
7205
7955
  #
7206
7956
  #
7207
7957
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -7425,6 +8175,10 @@ module Aws::S3
7425
8175
  #
7426
8176
  # ^
7427
8177
  #
8178
+ # You must URL encode any signed header values that contain spaces. For
8179
+ # example, if your header value is `my file.txt`, containing two spaces
8180
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8181
+ #
7428
8182
  #
7429
8183
  #
7430
8184
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
@@ -7514,6 +8268,21 @@ module Aws::S3
7514
8268
  # permission. For more information about Amazon S3 permissions, see
7515
8269
  # [Specifying permissions in a policy][1].
7516
8270
  #
8271
+ # <note markdown="1"> A bucket doesn't have `OwnershipControls` settings in the following
8272
+ # cases:
8273
+ #
8274
+ # * The bucket was created before the `BucketOwnerEnforced` ownership
8275
+ # setting was introduced and you've never explicitly applied this
8276
+ # value
8277
+ #
8278
+ # * You've manually deleted the bucket ownership control value using
8279
+ # the `DeleteBucketOwnershipControls` API operation.
8280
+ #
8281
+ # By default, Amazon S3 sets `OwnershipControls` for all newly created
8282
+ # buckets.
8283
+ #
8284
+ # </note>
8285
+ #
7517
8286
  # For information about Amazon S3 Object Ownership, see [Using Object
7518
8287
  # Ownership][2].
7519
8288
  #
@@ -7523,6 +8292,10 @@ module Aws::S3
7523
8292
  #
7524
8293
  # * DeleteBucketOwnershipControls
7525
8294
  #
8295
+ # You must URL encode any signed header values that contain spaces. For
8296
+ # example, if your header value is `my file.txt`, containing two spaces
8297
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8298
+ #
7526
8299
  #
7527
8300
  #
7528
8301
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html
@@ -7634,6 +8407,10 @@ module Aws::S3
7634
8407
  #
7635
8408
  # ^
7636
8409
  #
8410
+ # You must URL encode any signed header values that contain spaces. For
8411
+ # example, if your header value is `my file.txt`, containing two spaces
8412
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8413
+ #
7637
8414
  #
7638
8415
  #
7639
8416
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -7704,7 +8481,7 @@ module Aws::S3
7704
8481
  #
7705
8482
  # resp.to_h outputs the following:
7706
8483
  # {
7707
- # policy: "{\"Version\":\"2008-10-17\",\"Id\":\"LogPolicy\",\"Statement\":[{\"Sid\":\"Enables the log delivery group to publish logs to your bucket \",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"111122223333\"},\"Action\":[\"s3:GetBucketAcl\",\"s3:GetObjectAcl\",\"s3:PutObject\"],\"Resource\":[\"arn:aws:s3:::policytest1/*\",\"arn:aws:s3:::policytest1\"]}]}",
8484
+ # policy: "{\"Version\":\"2008-10-17\",&TCX5-2025-waiver;\"Id\":\"LogPolicy\",\"Statement\":[{\"Sid\":\"Enables the log delivery group to publish logs to your bucket \",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"111122223333\"},\"Action\":[\"s3:GetBucketAcl\",\"s3:GetObjectAcl\",\"s3:PutObject\"],\"Resource\":[\"arn:aws:s3:::policytest1/*\",\"arn:aws:s3:::policytest1\"]}]}",
7708
8485
  # }
7709
8486
  #
7710
8487
  # @example Request syntax with placeholder values
@@ -7750,6 +8527,10 @@ module Aws::S3
7750
8527
  #
7751
8528
  # * [DeletePublicAccessBlock][6]
7752
8529
  #
8530
+ # You must URL encode any signed header values that contain spaces. For
8531
+ # example, if your header value is `my file.txt`, containing two spaces
8532
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8533
+ #
7753
8534
  #
7754
8535
  #
7755
8536
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -7824,6 +8605,10 @@ module Aws::S3
7824
8605
  #
7825
8606
  # * [DeleteBucketReplication][5]
7826
8607
  #
8608
+ # You must URL encode any signed header values that contain spaces. For
8609
+ # example, if your header value is `my file.txt`, containing two spaces
8610
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8611
+ #
7827
8612
  #
7828
8613
  #
7829
8614
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
@@ -7897,7 +8682,7 @@ module Aws::S3
7897
8682
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
7898
8683
  # resp.replication_configuration.rules[0].destination.bucket #=> String
7899
8684
  # resp.replication_configuration.rules[0].destination.account #=> String
7900
- # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
8685
+ # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
7901
8686
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
7902
8687
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
7903
8688
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -7929,6 +8714,10 @@ module Aws::S3
7929
8714
  #
7930
8715
  # ^
7931
8716
  #
8717
+ # You must URL encode any signed header values that contain spaces. For
8718
+ # example, if your header value is `my file.txt`, containing two spaces
8719
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8720
+ #
7932
8721
  #
7933
8722
  #
7934
8723
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
@@ -7985,7 +8774,11 @@ module Aws::S3
7985
8774
  #
7986
8775
  # </note>
7987
8776
  #
7988
- # Returns the tag set associated with the bucket.
8777
+ # Returns the tag set associated with the general purpose bucket.
8778
+ #
8779
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
8780
+ # general purpose bucket][1], you can no longer use this operation for
8781
+ # that bucket and must use [ListTagsForResource][2] instead.
7989
8782
  #
7990
8783
  # To use this operation, you must have permission to perform the
7991
8784
  # `s3:GetBucketTagging` action. By default, the bucket owner has this
@@ -8001,14 +8794,20 @@ module Aws::S3
8001
8794
  #
8002
8795
  # The following operations are related to `GetBucketTagging`:
8003
8796
  #
8004
- # * [PutBucketTagging][1]
8797
+ # * [PutBucketTagging][3]
8005
8798
  #
8006
- # * [DeleteBucketTagging][2]
8799
+ # * [DeleteBucketTagging][4]
8007
8800
  #
8801
+ # You must URL encode any signed header values that contain spaces. For
8802
+ # example, if your header value is `my file.txt`, containing two spaces
8803
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8008
8804
  #
8009
8805
  #
8010
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
8011
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
8806
+ #
8807
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
8808
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html
8809
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
8810
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
8012
8811
  #
8013
8812
  # @option params [required, String] :bucket
8014
8813
  # The name of the bucket for which to get the tagging information.
@@ -8089,6 +8888,10 @@ module Aws::S3
8089
8888
  #
8090
8889
  # * [DeleteObject][3]
8091
8890
  #
8891
+ # You must URL encode any signed header values that contain spaces. For
8892
+ # example, if your header value is `my file.txt`, containing two spaces
8893
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8894
+ #
8092
8895
  #
8093
8896
  #
8094
8897
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
@@ -8165,6 +8968,10 @@ module Aws::S3
8165
8968
  #
8166
8969
  # * [PutBucketWebsite][3]
8167
8970
  #
8971
+ # You must URL encode any signed header values that contain spaces. For
8972
+ # example, if your header value is `my file.txt`, containing two spaces
8973
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8974
+ #
8168
8975
  #
8169
8976
  #
8170
8977
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
@@ -8399,6 +9206,10 @@ module Aws::S3
8399
9206
  #
8400
9207
  # * [GetObjectAcl][10]
8401
9208
  #
9209
+ # You must URL encode any signed header values that contain spaces. For
9210
+ # example, if your header value is `my file.txt`, containing two spaces
9211
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
9212
+ #
8402
9213
  #
8403
9214
  #
8404
9215
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
@@ -8879,14 +9690,14 @@ module Aws::S3
8879
9690
  # resp.expires #=> Time
8880
9691
  # resp.expires_string #=> String
8881
9692
  # resp.website_redirect_location #=> String
8882
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
9693
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
8883
9694
  # resp.metadata #=> Hash
8884
9695
  # resp.metadata["MetadataKey"] #=> String
8885
9696
  # resp.sse_customer_algorithm #=> String
8886
9697
  # resp.sse_customer_key_md5 #=> String
8887
9698
  # resp.ssekms_key_id #=> String
8888
9699
  # resp.bucket_key_enabled #=> Boolean
8889
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
9700
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
8890
9701
  # resp.request_charged #=> String, one of "requester"
8891
9702
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
8892
9703
  # resp.parts_count #=> Integer
@@ -8904,6 +9715,19 @@ module Aws::S3
8904
9715
  req.send_request(options, &block)
8905
9716
  end
8906
9717
 
9718
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
9719
+ # stop returning `DisplayName`. Update your applications to use
9720
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
9721
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
9722
+ # resource naming) as a direct replacement of `DisplayName`.
9723
+ #
9724
+ # This change affects the following Amazon Web Services Regions: US
9725
+ # East
9726
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
9727
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
9728
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
9729
+ # America (São Paulo) Region.
9730
+ #
8907
9731
  # <note markdown="1"> This operation is not supported for directory buckets.
8908
9732
  #
8909
9733
  # </note>
@@ -8938,6 +9762,10 @@ module Aws::S3
8938
9762
  #
8939
9763
  # * [PutObject][6]
8940
9764
  #
9765
+ # You must URL encode any signed header values that contain spaces. For
9766
+ # example, if your header value is `my file.txt`, containing two spaces
9767
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
9768
+ #
8941
9769
  #
8942
9770
  #
8943
9771
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping
@@ -9261,6 +10089,10 @@ module Aws::S3
9261
10089
  #
9262
10090
  # * [ListParts][16]
9263
10091
  #
10092
+ # You must URL encode any signed header values that contain spaces. For
10093
+ # example, if your header value is `my file.txt`, containing two spaces
10094
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10095
+ #
9264
10096
  #
9265
10097
  #
9266
10098
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -9465,7 +10297,7 @@ module Aws::S3
9465
10297
  # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9466
10298
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9467
10299
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9468
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
10300
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
9469
10301
  # resp.object_size #=> Integer
9470
10302
  #
9471
10303
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes AWS API Documentation
@@ -9492,6 +10324,10 @@ module Aws::S3
9492
10324
  #
9493
10325
  # ^
9494
10326
  #
10327
+ # You must URL encode any signed header values that contain spaces. For
10328
+ # example, if your header value is `my file.txt`, containing two spaces
10329
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10330
+ #
9495
10331
  #
9496
10332
  #
9497
10333
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -9590,6 +10426,10 @@ module Aws::S3
9590
10426
  #
9591
10427
  # ^
9592
10428
  #
10429
+ # You must URL encode any signed header values that contain spaces. For
10430
+ # example, if your header value is `my file.txt`, containing two spaces
10431
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10432
+ #
9593
10433
  #
9594
10434
  #
9595
10435
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -9662,6 +10502,10 @@ module Aws::S3
9662
10502
  #
9663
10503
  # ^
9664
10504
  #
10505
+ # You must URL encode any signed header values that contain spaces. For
10506
+ # example, if your header value is `my file.txt`, containing two spaces
10507
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10508
+ #
9665
10509
  #
9666
10510
  #
9667
10511
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -9774,6 +10618,10 @@ module Aws::S3
9774
10618
  #
9775
10619
  # * [PutObjectTagging][4]
9776
10620
  #
10621
+ # You must URL encode any signed header values that contain spaces. For
10622
+ # example, if your header value is `my file.txt`, containing two spaces
10623
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10624
+ #
9777
10625
  #
9778
10626
  #
9779
10627
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
@@ -9940,6 +10788,10 @@ module Aws::S3
9940
10788
  #
9941
10789
  # ^
9942
10790
  #
10791
+ # You must URL encode any signed header values that contain spaces. For
10792
+ # example, if your header value is `my file.txt`, containing two spaces
10793
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10794
+ #
9943
10795
  #
9944
10796
  #
9945
10797
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
@@ -10048,6 +10900,10 @@ module Aws::S3
10048
10900
  #
10049
10901
  # * [DeletePublicAccessBlock][6]
10050
10902
  #
10903
+ # You must URL encode any signed header values that contain spaces. For
10904
+ # example, if your header value is `my file.txt`, containing two spaces
10905
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10906
+ #
10051
10907
  #
10052
10908
  #
10053
10909
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -10094,13 +10950,19 @@ module Aws::S3
10094
10950
  end
10095
10951
 
10096
10952
  # You can use this operation to determine if a bucket exists and if you
10097
- # have permission to access it. The action returns a `200 OK` if the
10098
- # bucket exists and you have permission to access it.
10099
- #
10100
- # <note markdown="1"> If the bucket does not exist or you do not have permission to access
10953
+ # have permission to access it. The action returns a `200 OK` HTTP
10954
+ # status code if the bucket exists and you have permission to access it.
10955
+ # You can make a `HeadBucket` call on any bucket name to any Region in
10956
+ # the partition, and regardless of the permissions on the bucket, you
10957
+ # will receive a response header with the correct bucket location so
10958
+ # that you can then make a proper, signed request to the appropriate
10959
+ # Regional endpoint.
10960
+ #
10961
+ # <note markdown="1"> If the bucket doesn't exist or you don't have permission to access
10101
10962
  # it, the `HEAD` request returns a generic `400 Bad Request`, `403
10102
- # Forbidden` or `404 Not Found` code. A message body is not included, so
10103
- # you cannot determine the exception beyond these HTTP response codes.
10963
+ # Forbidden`, or `404 Not Found` HTTP status code. A message body isn't
10964
+ # included, so you can't determine the exception beyond these HTTP
10965
+ # response codes.
10104
10966
  #
10105
10967
  # </note>
10106
10968
  #
@@ -10163,6 +11025,10 @@ module Aws::S3
10163
11025
  #
10164
11026
  # </note>
10165
11027
  #
11028
+ # You must URL encode any signed header values that contain spaces. For
11029
+ # example, if your header value is `my file.txt`, containing two spaces
11030
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11031
+ #
10166
11032
  #
10167
11033
  #
10168
11034
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
@@ -10232,6 +11098,7 @@ module Aws::S3
10232
11098
  #
10233
11099
  # @return [Types::HeadBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10234
11100
  #
11101
+ # * {Types::HeadBucketOutput#bucket_arn #bucket_arn} => String
10235
11102
  # * {Types::HeadBucketOutput#bucket_location_type #bucket_location_type} => String
10236
11103
  # * {Types::HeadBucketOutput#bucket_location_name #bucket_location_name} => String
10237
11104
  # * {Types::HeadBucketOutput#bucket_region #bucket_region} => String
@@ -10255,6 +11122,7 @@ module Aws::S3
10255
11122
  #
10256
11123
  # @example Response structure
10257
11124
  #
11125
+ # resp.bucket_arn #=> String
10258
11126
  # resp.bucket_location_type #=> String, one of "AvailabilityZone", "LocalZone"
10259
11127
  # resp.bucket_location_name #=> String
10260
11128
  # resp.bucket_region #=> String
@@ -10421,6 +11289,10 @@ module Aws::S3
10421
11289
  #
10422
11290
  # * [GetObjectAttributes][9]
10423
11291
  #
11292
+ # You must URL encode any signed header values that contain spaces. For
11293
+ # example, if your header value is `my file.txt`, containing two spaces
11294
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11295
+ #
10424
11296
  #
10425
11297
  #
10426
11298
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
@@ -10700,6 +11572,7 @@ module Aws::S3
10700
11572
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
10701
11573
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
10702
11574
  # * {Types::HeadObjectOutput#parts_count #parts_count} => Integer
11575
+ # * {Types::HeadObjectOutput#tag_count #tag_count} => Integer
10703
11576
  # * {Types::HeadObjectOutput#object_lock_mode #object_lock_mode} => String
10704
11577
  # * {Types::HeadObjectOutput#object_lock_retain_until_date #object_lock_retain_until_date} => Time
10705
11578
  # * {Types::HeadObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
@@ -10779,17 +11652,18 @@ module Aws::S3
10779
11652
  # resp.expires #=> Time
10780
11653
  # resp.expires_string #=> String
10781
11654
  # resp.website_redirect_location #=> String
10782
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
11655
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
10783
11656
  # resp.metadata #=> Hash
10784
11657
  # resp.metadata["MetadataKey"] #=> String
10785
11658
  # resp.sse_customer_algorithm #=> String
10786
11659
  # resp.sse_customer_key_md5 #=> String
10787
11660
  # resp.ssekms_key_id #=> String
10788
11661
  # resp.bucket_key_enabled #=> Boolean
10789
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
11662
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
10790
11663
  # resp.request_charged #=> String, one of "requester"
10791
11664
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
10792
11665
  # resp.parts_count #=> Integer
11666
+ # resp.tag_count #=> Integer
10793
11667
  # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
10794
11668
  # resp.object_lock_retain_until_date #=> Time
10795
11669
  # resp.object_lock_legal_hold_status #=> String, one of "ON", "OFF"
@@ -10844,6 +11718,10 @@ module Aws::S3
10844
11718
  #
10845
11719
  # * [PutBucketAnalyticsConfiguration][6]
10846
11720
  #
11721
+ # You must URL encode any signed header values that contain spaces. For
11722
+ # example, if your header value is `my file.txt`, containing two spaces
11723
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11724
+ #
10847
11725
  #
10848
11726
  #
10849
11727
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -10945,6 +11823,10 @@ module Aws::S3
10945
11823
  #
10946
11824
  # * [GetBucketIntelligentTieringConfiguration][4]
10947
11825
  #
11826
+ # You must URL encode any signed header values that contain spaces. For
11827
+ # example, if your header value is `my file.txt`, containing two spaces
11828
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11829
+ #
10948
11830
  #
10949
11831
  #
10950
11832
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -10960,6 +11842,11 @@ module Aws::S3
10960
11842
  # The `ContinuationToken` that represents a placeholder from where this
10961
11843
  # request should begin.
10962
11844
  #
11845
+ # @option params [String] :expected_bucket_owner
11846
+ # The account ID of the expected bucket owner. If the account ID that
11847
+ # you provide does not match the actual owner of the bucket, the request
11848
+ # fails with the HTTP status code `403 Forbidden` (access denied).
11849
+ #
10963
11850
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10964
11851
  #
10965
11852
  # * {Types::ListBucketIntelligentTieringConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -10972,6 +11859,7 @@ module Aws::S3
10972
11859
  # resp = client.list_bucket_intelligent_tiering_configurations({
10973
11860
  # bucket: "BucketName", # required
10974
11861
  # continuation_token: "Token",
11862
+ # expected_bucket_owner: "AccountId",
10975
11863
  # })
10976
11864
  #
10977
11865
  # @example Response structure
@@ -11006,8 +11894,8 @@ module Aws::S3
11006
11894
  #
11007
11895
  # </note>
11008
11896
  #
11009
- # Returns a list of inventory configurations for the bucket. You can
11010
- # have up to 1,000 analytics configurations per bucket.
11897
+ # Returns a list of S3 Inventory configurations for the bucket. You can
11898
+ # have up to 1,000 inventory configurations per bucket.
11011
11899
  #
11012
11900
  # This action supports list pagination and does not return more than 100
11013
11901
  # configurations at a time. Always check the `IsTruncated` element in
@@ -11037,6 +11925,10 @@ module Aws::S3
11037
11925
  #
11038
11926
  # * [PutBucketInventoryConfiguration][6]
11039
11927
  #
11928
+ # You must URL encode any signed header values that contain spaces. For
11929
+ # example, if your header value is `my file.txt`, containing two spaces
11930
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11931
+ #
11040
11932
  #
11041
11933
  #
11042
11934
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -11141,6 +12033,10 @@ module Aws::S3
11141
12033
  #
11142
12034
  # * [DeleteBucketMetricsConfiguration][6]
11143
12035
  #
12036
+ # You must URL encode any signed header values that contain spaces. For
12037
+ # example, if your header value is `my file.txt`, containing two spaces
12038
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12039
+ #
11144
12040
  #
11145
12041
  #
11146
12042
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -11206,6 +12102,19 @@ module Aws::S3
11206
12102
  req.send_request(options)
11207
12103
  end
11208
12104
 
12105
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
12106
+ # stop returning `DisplayName`. Update your applications to use
12107
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
12108
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
12109
+ # resource naming) as a direct replacement of `DisplayName`.
12110
+ #
12111
+ # This change affects the following Amazon Web Services Regions: US
12112
+ # East
12113
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12114
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12115
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12116
+ # America (São Paulo) Region.
12117
+ #
11209
12118
  # <note markdown="1"> This operation is not supported for directory buckets.
11210
12119
  #
11211
12120
  # </note>
@@ -11226,6 +12135,10 @@ module Aws::S3
11226
12135
  # rejected for Amazon Web Services accounts with a general purpose
11227
12136
  # bucket quota greater than 10,000.
11228
12137
  #
12138
+ # You must URL encode any signed header values that contain spaces. For
12139
+ # example, if your header value is `my file.txt`, containing two spaces
12140
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12141
+ #
11229
12142
  #
11230
12143
  #
11231
12144
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
@@ -11330,6 +12243,7 @@ module Aws::S3
11330
12243
  # resp.buckets[0].name #=> String
11331
12244
  # resp.buckets[0].creation_date #=> Time
11332
12245
  # resp.buckets[0].bucket_region #=> String
12246
+ # resp.buckets[0].bucket_arn #=> String
11333
12247
  # resp.owner.display_name #=> String
11334
12248
  # resp.owner.id #=> String
11335
12249
  # resp.continuation_token #=> String
@@ -11383,6 +12297,10 @@ module Aws::S3
11383
12297
  #
11384
12298
  # </note>
11385
12299
  #
12300
+ # You must URL encode any signed header values that contain spaces. For
12301
+ # example, if your header value is `my file.txt`, containing two spaces
12302
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12303
+ #
11386
12304
  #
11387
12305
  #
11388
12306
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
@@ -11421,6 +12339,7 @@ module Aws::S3
11421
12339
  # resp.buckets[0].name #=> String
11422
12340
  # resp.buckets[0].creation_date #=> Time
11423
12341
  # resp.buckets[0].bucket_region #=> String
12342
+ # resp.buckets[0].bucket_arn #=> String
11424
12343
  # resp.continuation_token #=> String
11425
12344
  #
11426
12345
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListDirectoryBuckets AWS API Documentation
@@ -11432,6 +12351,19 @@ module Aws::S3
11432
12351
  req.send_request(options)
11433
12352
  end
11434
12353
 
12354
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
12355
+ # stop returning `DisplayName`. Update your applications to use
12356
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
12357
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
12358
+ # resource naming) as a direct replacement of `DisplayName`.
12359
+ #
12360
+ # This change affects the following Amazon Web Services Regions: US
12361
+ # East
12362
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12363
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12364
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12365
+ # America (São Paulo) Region.
12366
+ #
11435
12367
  # This operation lists in-progress multipart uploads in a bucket. An
11436
12368
  # in-progress multipart upload is a multipart upload that has been
11437
12369
  # initiated by the `CreateMultipartUpload` request, but has not yet been
@@ -11540,6 +12472,10 @@ module Aws::S3
11540
12472
  #
11541
12473
  # * [AbortMultipartUpload][10]
11542
12474
  #
12475
+ # You must URL encode any signed header values that contain spaces. For
12476
+ # example, if your header value is `my file.txt`, containing two spaces
12477
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12478
+ #
11543
12479
  #
11544
12480
  #
11545
12481
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
@@ -11608,6 +12544,9 @@ module Aws::S3
11608
12544
  # beginning of the key. The keys that are grouped under `CommonPrefixes`
11609
12545
  # result element are not returned elsewhere in the response.
11610
12546
  #
12547
+ # `CommonPrefixes` is filtered out from results if it is not
12548
+ # lexicographically greater than the key-marker.
12549
+ #
11611
12550
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
11612
12551
  # supported delimiter.
11613
12552
  #
@@ -11857,7 +12796,7 @@ module Aws::S3
11857
12796
  # resp.uploads[0].upload_id #=> String
11858
12797
  # resp.uploads[0].key #=> String
11859
12798
  # resp.uploads[0].initiated #=> Time
11860
- # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12799
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
11861
12800
  # resp.uploads[0].owner.display_name #=> String
11862
12801
  # resp.uploads[0].owner.id #=> String
11863
12802
  # resp.uploads[0].initiator.id #=> String
@@ -11878,6 +12817,19 @@ module Aws::S3
11878
12817
  req.send_request(options)
11879
12818
  end
11880
12819
 
12820
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
12821
+ # stop returning `DisplayName`. Update your applications to use
12822
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
12823
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
12824
+ # resource naming) as a direct replacement of `DisplayName`.
12825
+ #
12826
+ # This change affects the following Amazon Web Services Regions: US
12827
+ # East
12828
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12829
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12830
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12831
+ # America (São Paulo) Region.
12832
+ #
11881
12833
  # <note markdown="1"> This operation is not supported for directory buckets.
11882
12834
  #
11883
12835
  # </note>
@@ -11907,6 +12859,10 @@ module Aws::S3
11907
12859
  #
11908
12860
  # * [DeleteObject][4]
11909
12861
  #
12862
+ # You must URL encode any signed header values that contain spaces. For
12863
+ # example, if your header value is `my file.txt`, containing two spaces
12864
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12865
+ #
11910
12866
  #
11911
12867
  #
11912
12868
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
@@ -11925,6 +12881,9 @@ module Aws::S3
11925
12881
  # the `max-keys` limitation. These keys are not returned elsewhere in
11926
12882
  # the response.
11927
12883
  #
12884
+ # `CommonPrefixes` is filtered out from results if it is not
12885
+ # lexicographically greater than the key-marker.
12886
+ #
11928
12887
  # @option params [String] :encoding_type
11929
12888
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
11930
12889
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12118,6 +13077,19 @@ module Aws::S3
12118
13077
  req.send_request(options)
12119
13078
  end
12120
13079
 
13080
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
13081
+ # stop returning `DisplayName`. Update your applications to use
13082
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
13083
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
13084
+ # resource naming) as a direct replacement of `DisplayName`.
13085
+ #
13086
+ # This change affects the following Amazon Web Services Regions: US
13087
+ # East
13088
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13089
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13090
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13091
+ # America (São Paulo) Region.
13092
+ #
12121
13093
  # <note markdown="1"> This operation is not supported for directory buckets.
12122
13094
  #
12123
13095
  # </note>
@@ -12144,6 +13116,10 @@ module Aws::S3
12144
13116
  #
12145
13117
  # * [ListBuckets][5]
12146
13118
  #
13119
+ # You must URL encode any signed header values that contain spaces. For
13120
+ # example, if your header value is `my file.txt`, containing two spaces
13121
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13122
+ #
12147
13123
  #
12148
13124
  #
12149
13125
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
@@ -12200,6 +13176,9 @@ module Aws::S3
12200
13176
  # @option params [String] :delimiter
12201
13177
  # A delimiter is a character that you use to group keys.
12202
13178
  #
13179
+ # `CommonPrefixes` is filtered out from results if it is not
13180
+ # lexicographically greater than the key-marker.
13181
+ #
12203
13182
  # @option params [String] :encoding_type
12204
13183
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
12205
13184
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12331,7 +13310,7 @@ module Aws::S3
12331
13310
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12332
13311
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12333
13312
  # resp.contents[0].size #=> Integer
12334
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
13313
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12335
13314
  # resp.contents[0].owner.display_name #=> String
12336
13315
  # resp.contents[0].owner.id #=> String
12337
13316
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12354,6 +13333,19 @@ module Aws::S3
12354
13333
  req.send_request(options)
12355
13334
  end
12356
13335
 
13336
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
13337
+ # stop returning `DisplayName`. Update your applications to use
13338
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
13339
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
13340
+ # resource naming) as a direct replacement of `DisplayName`.
13341
+ #
13342
+ # This change affects the following Amazon Web Services Regions: US
13343
+ # East
13344
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13345
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13346
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13347
+ # America (São Paulo) Region.
13348
+ #
12357
13349
  # Returns some or all (up to 1,000) of the objects in a bucket with each
12358
13350
  # request. You can use the request parameters as selection criteria to
12359
13351
  # return a subset of the objects in a bucket. A `200 OK` response can
@@ -12434,6 +13426,10 @@ module Aws::S3
12434
13426
  #
12435
13427
  # * [CreateBucket][11]
12436
13428
  #
13429
+ # You must URL encode any signed header values that contain spaces. For
13430
+ # example, if your header value is `my file.txt`, containing two spaces
13431
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13432
+ #
12437
13433
  #
12438
13434
  #
12439
13435
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html
@@ -12494,6 +13490,9 @@ module Aws::S3
12494
13490
  # @option params [String] :delimiter
12495
13491
  # A delimiter is a character that you use to group keys.
12496
13492
  #
13493
+ # `CommonPrefixes` is filtered out from results if it is not
13494
+ # lexicographically greater than the `StartAfter` value.
13495
+ #
12497
13496
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
12498
13497
  # supported delimiter.
12499
13498
  #
@@ -12674,7 +13673,7 @@ module Aws::S3
12674
13673
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12675
13674
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12676
13675
  # resp.contents[0].size #=> Integer
12677
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
13676
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12678
13677
  # resp.contents[0].owner.display_name #=> String
12679
13678
  # resp.contents[0].owner.id #=> String
12680
13679
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12701,6 +13700,19 @@ module Aws::S3
12701
13700
  req.send_request(options)
12702
13701
  end
12703
13702
 
13703
+ # End of support notice: Beginning November 21, 2025, Amazon S3 will
13704
+ # stop returning `DisplayName`. Update your applications to use
13705
+ # canonical IDs (unique identifier for Amazon Web Services accounts),
13706
+ # Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full
13707
+ # resource naming) as a direct replacement of `DisplayName`.
13708
+ #
13709
+ # This change affects the following Amazon Web Services Regions: US
13710
+ # East
13711
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13712
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13713
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13714
+ # America (São Paulo) Region.
13715
+ #
12704
13716
  # Lists the parts that have been uploaded for a specific multipart
12705
13717
  # upload.
12706
13718
  #
@@ -12780,6 +13792,10 @@ module Aws::S3
12780
13792
  #
12781
13793
  # * [ListMultipartUploads][11]
12782
13794
  #
13795
+ # You must URL encode any signed header values that contain spaces. For
13796
+ # example, if your header value is `my file.txt`, containing two spaces
13797
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13798
+ #
12783
13799
  #
12784
13800
  #
12785
13801
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
@@ -13016,7 +14032,7 @@ module Aws::S3
13016
14032
  # resp.initiator.display_name #=> String
13017
14033
  # resp.owner.display_name #=> String
13018
14034
  # resp.owner.id #=> String
13019
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
14035
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
13020
14036
  # resp.request_charged #=> String, one of "requester"
13021
14037
  # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
13022
14038
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
@@ -13030,6 +14046,83 @@ module Aws::S3
13030
14046
  req.send_request(options)
13031
14047
  end
13032
14048
 
14049
+ # Sets the attribute-based access control (ABAC) property of the general
14050
+ # purpose bucket. When you enable ABAC, you can use tags for bucket
14051
+ # access control. Additionally, when ABAC is enabled, you must use the
14052
+ # [TagResource][1], [UntagResource][2], and [ListTagsForResource][3]
14053
+ # actions to manage bucket tags, and you can nolonger use the
14054
+ # [PutBucketTagging][4] and [DeleteBucketTagging][5] actions to tag the
14055
+ # bucket. You must also have the correct permissions for these actions.
14056
+ # For more information, see [Enabling ABAC in general purpose
14057
+ # buckets][6].
14058
+ #
14059
+ #
14060
+ #
14061
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html
14062
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
14063
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html
14064
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
14065
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
14066
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
14067
+ #
14068
+ # @option params [required, String] :bucket
14069
+ # The name of the general purpose bucket.
14070
+ #
14071
+ # @option params [String] :content_md5
14072
+ # The MD5 hash of the `PutBucketAbac` request body.
14073
+ #
14074
+ # For requests made using the Amazon Web Services Command Line Interface
14075
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
14076
+ # automatically.
14077
+ #
14078
+ # @option params [String] :checksum_algorithm
14079
+ # Indicates the algorithm that you want Amazon S3 to use to create the
14080
+ # checksum. For more information, see [ Checking object integrity][1] in
14081
+ # the *Amazon S3 User Guide*.
14082
+ #
14083
+ #
14084
+ #
14085
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14086
+ #
14087
+ # @option params [String] :expected_bucket_owner
14088
+ # The Amazon Web Services account ID of the general purpose bucket's
14089
+ # owner.
14090
+ #
14091
+ # @option params [required, Types::AbacStatus] :abac_status
14092
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14093
+ # for the general purpose bucket, you can use tags to manage access to
14094
+ # the general purpose buckets as well as for cost tracking purposes.
14095
+ # When ABAC is disabled for the general purpose buckets, you can only
14096
+ # use tags for cost tracking purposes. For more information, see [Using
14097
+ # tags with S3 general purpose buckets][1].
14098
+ #
14099
+ #
14100
+ #
14101
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
14102
+ #
14103
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
14104
+ #
14105
+ # @example Request syntax with placeholder values
14106
+ #
14107
+ # resp = client.put_bucket_abac({
14108
+ # bucket: "BucketName", # required
14109
+ # content_md5: "ContentMD5",
14110
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
14111
+ # expected_bucket_owner: "AccountId",
14112
+ # abac_status: { # required
14113
+ # status: "Enabled", # accepts Enabled, Disabled
14114
+ # },
14115
+ # })
14116
+ #
14117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAbac AWS API Documentation
14118
+ #
14119
+ # @overload put_bucket_abac(params = {})
14120
+ # @param [Hash] params ({})
14121
+ def put_bucket_abac(params = {}, options = {})
14122
+ req = build_request(:put_bucket_abac, params)
14123
+ req.send_request(options)
14124
+ end
14125
+
13033
14126
  # <note markdown="1"> This operation is not supported for directory buckets.
13034
14127
  #
13035
14128
  # </note>
@@ -13072,6 +14165,10 @@ module Aws::S3
13072
14165
  #
13073
14166
  # * [CreateBucket][5]
13074
14167
  #
14168
+ # You must URL encode any signed header values that contain spaces. For
14169
+ # example, if your header value is `my file.txt`, containing two spaces
14170
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14171
+ #
13075
14172
  #
13076
14173
  #
13077
14174
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -13129,6 +14226,18 @@ module Aws::S3
13129
14226
  req.send_request(options)
13130
14227
  end
13131
14228
 
14229
+ # End of support notice: As of October 1, 2025, Amazon S3 has
14230
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
14231
+ # you attempt to use an Email Grantee ACL in a request after October 1,
14232
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
14233
+ # error.
14234
+ #
14235
+ # This change affects the following Amazon Web Services Regions: US
14236
+ # East
14237
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
14238
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
14239
+ # (Ireland), and South America (São Paulo).
14240
+ #
13132
14241
  # <note markdown="1"> This operation is not supported for directory buckets.
13133
14242
  #
13134
14243
  # </note>
@@ -13235,7 +14344,10 @@ module Aws::S3
13235
14344
  # Grantee Values
13236
14345
  #
13237
14346
  # : You can specify the person (grantee) to whom you're assigning
13238
- # access rights (using request elements) in the following ways:
14347
+ # access rights (using request elements) in the following ways. For
14348
+ # examples of how to specify these grantee values in JSON format, see
14349
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
14350
+ # access logging][6] in the *Amazon S3 User Guide*.
13239
14351
  #
13240
14352
  # * By the person's ID:
13241
14353
  #
@@ -13285,11 +14397,15 @@ module Aws::S3
13285
14397
  #
13286
14398
  # The following operations are related to `PutBucketAcl`:
13287
14399
  #
13288
- # * [CreateBucket][6]
14400
+ # * [CreateBucket][7]
13289
14401
  #
13290
- # * [DeleteBucket][7]
14402
+ # * [DeleteBucket][8]
14403
+ #
14404
+ # * [GetObjectAcl][9]
13291
14405
  #
13292
- # * [GetObjectAcl][8]
14406
+ # You must URL encode any signed header values that contain spaces. For
14407
+ # example, if your header value is `my file.txt`, containing two spaces
14408
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13293
14409
  #
13294
14410
  #
13295
14411
  #
@@ -13298,9 +14414,10 @@ module Aws::S3
13298
14414
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
13299
14415
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
13300
14416
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
13301
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13302
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13303
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
14417
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
14418
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14419
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
14420
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
13304
14421
  #
13305
14422
  # @option params [String] :acl
13306
14423
  # The canned ACL to apply to the bucket.
@@ -13484,6 +14601,10 @@ module Aws::S3
13484
14601
  #
13485
14602
  # * [ListBucketAnalyticsConfigurations][7]
13486
14603
  #
14604
+ # You must URL encode any signed header values that contain spaces. For
14605
+ # example, if your header value is `my file.txt`, containing two spaces
14606
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14607
+ #
13487
14608
  #
13488
14609
  #
13489
14610
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
@@ -13609,6 +14730,10 @@ module Aws::S3
13609
14730
  #
13610
14731
  # * [RESTOPTIONSobject][4]
13611
14732
  #
14733
+ # You must URL encode any signed header values that contain spaces. For
14734
+ # example, if your header value is `my file.txt`, containing two spaces
14735
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14736
+ #
13612
14737
  #
13613
14738
  #
13614
14739
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
@@ -13740,7 +14865,8 @@ module Aws::S3
13740
14865
  end
13741
14866
 
13742
14867
  # This operation configures default encryption and Amazon S3 Bucket Keys
13743
- # for an existing bucket.
14868
+ # for an existing bucket. You can also [block encryption types][1] using
14869
+ # this operation.
13744
14870
  #
13745
14871
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13746
14872
  # requests for this API operation to the Regional endpoint. These
@@ -13748,9 +14874,9 @@ module Aws::S3
13748
14874
  # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
13749
14875
  # Virtual-hosted-style requests aren't supported. For more information
13750
14876
  # about endpoints in Availability Zones, see [Regional and Zonal
13751
- # endpoints for directory buckets in Availability Zones][1] in the
14877
+ # endpoints for directory buckets in Availability Zones][2] in the
13752
14878
  # *Amazon S3 User Guide*. For more information about endpoints in Local
13753
- # Zones, see [Concepts for directory buckets in Local Zones][2] in the
14879
+ # Zones, see [Concepts for directory buckets in Local Zones][3] in the
13754
14880
  # *Amazon S3 User Guide*.
13755
14881
  #
13756
14882
  # </note>
@@ -13765,12 +14891,12 @@ module Aws::S3
13765
14891
  # keys (SSE-KMS) or dual-layer server-side encryption with Amazon
13766
14892
  # Web Services KMS keys (DSSE-KMS). If you specify default
13767
14893
  # encryption by using SSE-KMS, you can also configure [Amazon S3
13768
- # Bucket Keys][3]. For information about the bucket default
13769
- # encryption feature, see [Amazon S3 Bucket Default Encryption][4]
14894
+ # Bucket Keys][4]. For information about the bucket default
14895
+ # encryption feature, see [Amazon S3 Bucket Default Encryption][5]
13770
14896
  # in the *Amazon S3 User Guide*.
13771
14897
  #
13772
14898
  # * If you use PutBucketEncryption to set your [default bucket
13773
- # encryption][4] to SSE-KMS, you should verify that your KMS key ID
14899
+ # encryption][5] to SSE-KMS, you should verify that your KMS key ID
13774
14900
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
13775
14901
  # PutBucketEncryption requests.
13776
14902
  # * <b>Directory buckets </b> - You can optionally configure default
@@ -13784,28 +14910,28 @@ module Aws::S3
13784
14910
  # encrypted with the desired encryption settings. For more
13785
14911
  # information about the encryption overriding behaviors in directory
13786
14912
  # buckets, see [Specifying server-side encryption with KMS for new
13787
- # object uploads][5].
14913
+ # object uploads][6].
13788
14914
  #
13789
14915
  # * Your SSE-KMS configuration can only support 1 [customer managed
13790
- # key][6] per directory bucket's lifetime. The [Amazon Web Services
13791
- # managed key][7] (`aws/s3`) isn't supported.
14916
+ # key][7] per directory bucket's lifetime. The [Amazon Web Services
14917
+ # managed key][8] (`aws/s3`) isn't supported.
13792
14918
  #
13793
14919
  # * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
13794
14920
  # in a directory bucket and can’t be disabled. S3 Bucket Keys
13795
14921
  # aren't supported, when you copy SSE-KMS encrypted objects from
13796
14922
  # general purpose buckets to directory buckets, from directory
13797
14923
  # buckets to general purpose buckets, or between directory buckets,
13798
- # through [CopyObject][8], [UploadPartCopy][9], [the Copy operation
13799
- # in Batch Operations][10], or [the import jobs][11]. In this case,
14924
+ # through [CopyObject][9], [UploadPartCopy][10], [the Copy operation
14925
+ # in Batch Operations][11], or [the import jobs][12]. In this case,
13800
14926
  # Amazon S3 makes a call to KMS every time a copy request is made
13801
14927
  # for a KMS-encrypted object.
13802
14928
  #
13803
- # * When you specify an [KMS customer managed key][6] for encryption
14929
+ # * When you specify an [KMS customer managed key][7] for encryption
13804
14930
  # in your directory bucket, only use the key ID or key ARN. The key
13805
14931
  # alias format of the KMS key isn't supported.
13806
14932
  #
13807
14933
  # * For directory buckets, if you use PutBucketEncryption to set your
13808
- # [default bucket encryption][4] to SSE-KMS, Amazon S3 validates the
14934
+ # [default bucket encryption][5] to SSE-KMS, Amazon S3 validates the
13809
14935
  # KMS key ID provided in PutBucketEncryption requests.
13810
14936
  #
13811
14937
  # </note>
@@ -13818,7 +14944,7 @@ module Aws::S3
13818
14944
  #
13819
14945
  # Also, this action requires Amazon Web Services Signature Version 4.
13820
14946
  # For more information, see [ Authenticating Requests (Amazon Web
13821
- # Services Signature Version 4)][12].
14947
+ # Services Signature Version 4)][13].
13822
14948
  #
13823
14949
  # Permissions
13824
14950
  # : * **General purpose bucket permissions** - The
@@ -13826,8 +14952,8 @@ module Aws::S3
13826
14952
  # policy. The bucket owner has this permission by default. The
13827
14953
  # bucket owner can grant this permission to others. For more
13828
14954
  # information about permissions, see [Permissions Related to Bucket
13829
- # Operations][13] and [Managing Access Permissions to Your Amazon S3
13830
- # Resources][14] in the *Amazon S3 User Guide*.
14955
+ # Operations][14] and [Managing Access Permissions to Your Amazon S3
14956
+ # Resources][15] in the *Amazon S3 User Guide*.
13831
14957
  #
13832
14958
  # * **Directory bucket permissions** - To grant access to this API
13833
14959
  # operation, you must have the
@@ -13837,7 +14963,7 @@ module Aws::S3
13837
14963
  # only be performed by the Amazon Web Services account that owns the
13838
14964
  # resource. For more information about directory bucket policies and
13839
14965
  # permissions, see [Amazon Web Services Identity and Access
13840
- # Management (IAM) for S3 Express One Zone][15] in the *Amazon S3
14966
+ # Management (IAM) for S3 Express One Zone][16] in the *Amazon S3
13841
14967
  # User Guide*.
13842
14968
  #
13843
14969
  # To set a directory bucket default encryption with SSE-KMS, you
@@ -13852,29 +14978,34 @@ module Aws::S3
13852
14978
  #
13853
14979
  # The following operations are related to `PutBucketEncryption`:
13854
14980
  #
13855
- # * [GetBucketEncryption][16]
14981
+ # * [GetBucketEncryption][17]
13856
14982
  #
13857
- # * [DeleteBucketEncryption][17]
14983
+ # * [DeleteBucketEncryption][18]
13858
14984
  #
14985
+ # You must URL encode any signed header values that contain spaces. For
14986
+ # example, if your header value is `my file.txt`, containing two spaces
14987
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13859
14988
  #
13860
14989
  #
13861
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
13862
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
13863
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
13864
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
13865
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
13866
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
13867
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
13868
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
13869
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
13870
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
13871
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
13872
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
13873
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13874
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13875
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
13876
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
13877
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
14990
+ #
14991
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_BlockedEncryptionTypes.html
14992
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
14993
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14994
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
14995
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
14996
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
14997
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
14998
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
14999
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
15000
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
15001
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
15002
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
15003
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
15004
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
15005
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
15006
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
15007
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
15008
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
13878
15009
  #
13879
15010
  # @option params [required, String] :bucket
13880
15011
  # Specifies default encryption for a bucket using server-side encryption
@@ -13954,10 +15085,13 @@ module Aws::S3
13954
15085
  # rules: [ # required
13955
15086
  # {
13956
15087
  # apply_server_side_encryption_by_default: {
13957
- # sse_algorithm: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
15088
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
13958
15089
  # kms_master_key_id: "SSEKMSKeyId",
13959
15090
  # },
13960
15091
  # bucket_key_enabled: false,
15092
+ # blocked_encryption_types: {
15093
+ # encryption_type: ["NONE"], # accepts NONE, SSE-C
15094
+ # },
13961
15095
  # },
13962
15096
  # ],
13963
15097
  # },
@@ -14037,6 +15171,10 @@ module Aws::S3
14037
15171
  # not have the `s3:PutIntelligentTieringConfiguration` bucket
14038
15172
  # permission to set the configuration on the bucket.
14039
15173
  #
15174
+ # You must URL encode any signed header values that contain spaces. For
15175
+ # example, if your header value is `my file.txt`, containing two spaces
15176
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15177
+ #
14040
15178
  #
14041
15179
  #
14042
15180
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -14051,6 +15189,11 @@ module Aws::S3
14051
15189
  # @option params [required, String] :id
14052
15190
  # The ID used to identify the S3 Intelligent-Tiering configuration.
14053
15191
  #
15192
+ # @option params [String] :expected_bucket_owner
15193
+ # The account ID of the expected bucket owner. If the account ID that
15194
+ # you provide does not match the actual owner of the bucket, the request
15195
+ # fails with the HTTP status code `403 Forbidden` (access denied).
15196
+ #
14054
15197
  # @option params [required, Types::IntelligentTieringConfiguration] :intelligent_tiering_configuration
14055
15198
  # Container for S3 Intelligent-Tiering configuration.
14056
15199
  #
@@ -14061,6 +15204,7 @@ module Aws::S3
14061
15204
  # resp = client.put_bucket_intelligent_tiering_configuration({
14062
15205
  # bucket: "BucketName", # required
14063
15206
  # id: "IntelligentTieringId", # required
15207
+ # expected_bucket_owner: "AccountId",
14064
15208
  # intelligent_tiering_configuration: { # required
14065
15209
  # id: "IntelligentTieringId", # required
14066
15210
  # filter: {
@@ -14102,7 +15246,7 @@ module Aws::S3
14102
15246
  #
14103
15247
  # </note>
14104
15248
  #
14105
- # This implementation of the `PUT` action adds an inventory
15249
+ # This implementation of the `PUT` action adds an S3 Inventory
14106
15250
  # configuration (identified by the inventory ID) to the bucket. You can
14107
15251
  # have up to 1,000 inventory configurations per bucket.
14108
15252
  #
@@ -14176,6 +15320,10 @@ module Aws::S3
14176
15320
  #
14177
15321
  # * [ListBucketInventoryConfigurations][10]
14178
15322
  #
15323
+ # You must URL encode any signed header values that contain spaces. For
15324
+ # example, if your header value is `my file.txt`, containing two spaces
15325
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15326
+ #
14179
15327
  #
14180
15328
  #
14181
15329
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
@@ -14313,6 +15461,10 @@ module Aws::S3
14313
15461
  #
14314
15462
  # * [Managing Access Permissions to your Amazon S3 Resources][3]
14315
15463
  #
15464
+ # You must URL encode any signed header values that contain spaces. For
15465
+ # example, if your header value is `my file.txt`, containing two spaces
15466
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15467
+ #
14316
15468
  #
14317
15469
  #
14318
15470
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
@@ -14522,6 +15674,10 @@ module Aws::S3
14522
15674
  #
14523
15675
  # * [DeleteBucketLifecycle][10]
14524
15676
  #
15677
+ # You must URL encode any signed header values that contain spaces. For
15678
+ # example, if your header value is `my file.txt`, containing two spaces
15679
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15680
+ #
14525
15681
  #
14526
15682
  #
14527
15683
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html
@@ -14699,6 +15855,18 @@ module Aws::S3
14699
15855
  req.send_request(options)
14700
15856
  end
14701
15857
 
15858
+ # End of support notice: As of October 1, 2025, Amazon S3 has
15859
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
15860
+ # you attempt to use an Email Grantee ACL in a request after October 1,
15861
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
15862
+ # error.
15863
+ #
15864
+ # This change affects the following Amazon Web Services Regions: US
15865
+ # East
15866
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
15867
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
15868
+ # (Ireland), and South America (São Paulo).
15869
+ #
14702
15870
  # <note markdown="1"> This operation is not supported for directory buckets.
14703
15871
  #
14704
15872
  # </note>
@@ -14722,7 +15890,10 @@ module Aws::S3
14722
15890
  # Grantee Values
14723
15891
  #
14724
15892
  # : You can specify the person (grantee) to whom you're assigning
14725
- # access rights (by using request elements) in the following ways:
15893
+ # access rights (by using request elements) in the following ways. For
15894
+ # examples of how to specify these grantee values in JSON format, see
15895
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
15896
+ # access logging][2] in the *Amazon S3 User Guide*.
14726
15897
  #
14727
15898
  # * By the person's ID:
14728
15899
  #
@@ -14753,30 +15924,35 @@ module Aws::S3
14753
15924
  # />`
14754
15925
  #
14755
15926
  # For more information about server access logging, see [Server Access
14756
- # Logging][2] in the *Amazon S3 User Guide*.
15927
+ # Logging][3] in the *Amazon S3 User Guide*.
14757
15928
  #
14758
- # For more information about creating a bucket, see [CreateBucket][3].
15929
+ # For more information about creating a bucket, see [CreateBucket][4].
14759
15930
  # For more information about returning the logging status of a bucket,
14760
- # see [GetBucketLogging][4].
15931
+ # see [GetBucketLogging][5].
14761
15932
  #
14762
15933
  # The following operations are related to `PutBucketLogging`:
14763
15934
  #
14764
- # * [PutObject][5]
15935
+ # * [PutObject][6]
15936
+ #
15937
+ # * [DeleteBucket][7]
14765
15938
  #
14766
- # * [DeleteBucket][6]
15939
+ # * [CreateBucket][4]
14767
15940
  #
14768
- # * [CreateBucket][3]
15941
+ # * [GetBucketLogging][5]
14769
15942
  #
14770
- # * [GetBucketLogging][4]
15943
+ # You must URL encode any signed header values that contain spaces. For
15944
+ # example, if your header value is `my file.txt`, containing two spaces
15945
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14771
15946
  #
14772
15947
  #
14773
15948
  #
14774
15949
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
14775
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
14776
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14777
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
14778
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
14779
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
15950
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
15951
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
15952
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
15953
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
15954
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
15955
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
14780
15956
  #
14781
15957
  # @option params [required, String] :bucket
14782
15958
  # The name of the bucket for which to set the logging parameters.
@@ -14921,6 +16097,10 @@ module Aws::S3
14921
16097
  #
14922
16098
  # * HTTP Status Code: HTTP 400 Bad Request
14923
16099
  #
16100
+ # You must URL encode any signed header values that contain spaces. For
16101
+ # example, if your header value is `my file.txt`, containing two spaces
16102
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16103
+ #
14924
16104
  #
14925
16105
  #
14926
16106
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -15140,6 +16320,10 @@ module Aws::S3
15140
16320
  #
15141
16321
  # ^
15142
16322
  #
16323
+ # You must URL encode any signed header values that contain spaces. For
16324
+ # example, if your header value is `my file.txt`, containing two spaces
16325
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16326
+ #
15143
16327
  #
15144
16328
  #
15145
16329
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
@@ -15274,6 +16458,10 @@ module Aws::S3
15274
16458
  #
15275
16459
  # * DeleteBucketOwnershipControls
15276
16460
  #
16461
+ # You must URL encode any signed header values that contain spaces. For
16462
+ # example, if your header value is `my file.txt`, containing two spaces
16463
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16464
+ #
15277
16465
  #
15278
16466
  #
15279
16467
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html
@@ -15414,6 +16602,10 @@ module Aws::S3
15414
16602
  #
15415
16603
  # * [DeleteBucket][8]
15416
16604
  #
16605
+ # You must URL encode any signed header values that contain spaces. For
16606
+ # example, if your header value is `my file.txt`, containing two spaces
16607
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16608
+ #
15417
16609
  #
15418
16610
  #
15419
16611
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -15622,6 +16814,10 @@ module Aws::S3
15622
16814
  #
15623
16815
  # * [DeleteBucketReplication][11]
15624
16816
  #
16817
+ # You must URL encode any signed header values that contain spaces. For
16818
+ # example, if your header value is `my file.txt`, containing two spaces
16819
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16820
+ #
15625
16821
  #
15626
16822
  #
15627
16823
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
@@ -15748,7 +16944,7 @@ module Aws::S3
15748
16944
  # destination: { # required
15749
16945
  # bucket: "BucketName", # required
15750
16946
  # account: "AccountId",
15751
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
16947
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
15752
16948
  # access_control_translation: {
15753
16949
  # owner: "Destination", # required, accepts Destination
15754
16950
  # },
@@ -15803,6 +16999,10 @@ module Aws::S3
15803
16999
  #
15804
17000
  # * [GetBucketRequestPayment][3]
15805
17001
  #
17002
+ # You must URL encode any signed header values that contain spaces. For
17003
+ # example, if your header value is `my file.txt`, containing two spaces
17004
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17005
+ #
15806
17006
  #
15807
17007
  #
15808
17008
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
@@ -15888,7 +17088,15 @@ module Aws::S3
15888
17088
  #
15889
17089
  # </note>
15890
17090
  #
15891
- # Sets the tags for a bucket.
17091
+ # Sets the tags for a general purpose bucket if attribute based access
17092
+ # control (ABAC) is not enabled for the bucket. When you [enable ABAC
17093
+ # for a general purpose bucket][1], you can no longer use this operation
17094
+ # for that bucket and must use the [TagResource][2] or
17095
+ # [UntagResource][3] operations instead.
17096
+ #
17097
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
17098
+ # general purpose bucket][1], you can no longer use this operation for
17099
+ # that bucket and must use [TagResource][2] instead.
15892
17100
  #
15893
17101
  # Use tags to organize your Amazon Web Services bill to reflect your own
15894
17102
  # cost structure. To do this, sign up to get your Amazon Web Services
@@ -15898,8 +17106,8 @@ module Aws::S3
15898
17106
  # several resources with a specific application name, and then organize
15899
17107
  # your billing information to see the total cost of that application
15900
17108
  # across several services. For more information, see [Cost Allocation
15901
- # and Tagging][1] and [Using Cost Allocation in Amazon S3 Bucket
15902
- # Tags][2].
17109
+ # and Tagging][4] and [Using Cost Allocation in Amazon S3 Bucket
17110
+ # Tags][5].
15903
17111
  #
15904
17112
  # <note markdown="1"> When this operation sets the tags for a bucket, it will overwrite any
15905
17113
  # current tags the bucket already has. You cannot use this operation to
@@ -15911,16 +17119,16 @@ module Aws::S3
15911
17119
  # `s3:PutBucketTagging` action. The bucket owner has this permission by
15912
17120
  # default and can grant this permission to others. For more information
15913
17121
  # about permissions, see [Permissions Related to Bucket Subresource
15914
- # Operations][3] and [Managing Access Permissions to Your Amazon S3
15915
- # Resources][4].
17122
+ # Operations][6] and [Managing Access Permissions to Your Amazon S3
17123
+ # Resources][7].
15916
17124
  #
15917
17125
  # `PutBucketTagging` has the following special errors. For more Amazon
15918
- # S3 errors see, [Error Responses][5].
17126
+ # S3 errors see, [Error Responses][8].
15919
17127
  #
15920
17128
  # * `InvalidTag` - The tag provided was not a valid tag. This error can
15921
17129
  # occur if the tag did not pass input validation. For more
15922
17130
  # information, see [Using Cost Allocation in Amazon S3 Bucket
15923
- # Tags][2].
17131
+ # Tags][5].
15924
17132
  #
15925
17133
  # * `MalformedXML` - The XML provided does not match the schema.
15926
17134
  #
@@ -15932,19 +17140,26 @@ module Aws::S3
15932
17140
  #
15933
17141
  # The following operations are related to `PutBucketTagging`:
15934
17142
  #
15935
- # * [GetBucketTagging][6]
17143
+ # * [GetBucketTagging][9]
15936
17144
  #
15937
- # * [DeleteBucketTagging][7]
17145
+ # * [DeleteBucketTagging][10]
15938
17146
  #
17147
+ # You must URL encode any signed header values that contain spaces. For
17148
+ # example, if your header value is `my file.txt`, containing two spaces
17149
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15939
17150
  #
15940
17151
  #
15941
- # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
15942
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html
15943
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
15944
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
15945
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
15946
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
15947
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
17152
+ #
17153
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
17154
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html
17155
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
17156
+ # [4]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
17157
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html
17158
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
17159
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
17160
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
17161
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
17162
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
15948
17163
  #
15949
17164
  # @option params [required, String] :bucket
15950
17165
  # The bucket name.
@@ -16086,6 +17301,10 @@ module Aws::S3
16086
17301
  #
16087
17302
  # * [GetBucketVersioning][1]
16088
17303
  #
17304
+ # You must URL encode any signed header values that contain spaces. For
17305
+ # example, if your header value is `my file.txt`, containing two spaces
17306
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17307
+ #
16089
17308
  #
16090
17309
  #
16091
17310
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
@@ -16129,6 +17348,17 @@ module Aws::S3
16129
17348
  # @option params [String] :mfa
16130
17349
  # The concatenation of the authentication device's serial number, a
16131
17350
  # space, and the value that is displayed on your authentication device.
17351
+ # The serial number is the number that uniquely identifies the MFA
17352
+ # device. For physical MFA devices, this is the unique serial number
17353
+ # that's provided with the device. For virtual MFA devices, the serial
17354
+ # number is the device ARN. For more information, see [Enabling
17355
+ # versioning on buckets][1] and [Configuring MFA delete][2] in the
17356
+ # *Amazon Simple Storage Service User Guide*.
17357
+ #
17358
+ #
17359
+ #
17360
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html
17361
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html
16132
17362
  #
16133
17363
  # @option params [required, Types::VersioningConfiguration] :versioning_configuration
16134
17364
  # Container for setting the versioning state.
@@ -16250,6 +17480,10 @@ module Aws::S3
16250
17480
  #
16251
17481
  # The maximum request length is limited to 128 KB.
16252
17482
  #
17483
+ # You must URL encode any signed header values that contain spaces. For
17484
+ # example, if your header value is `my file.txt`, containing two spaces
17485
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17486
+ #
16253
17487
  #
16254
17488
  #
16255
17489
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
@@ -16360,6 +17594,18 @@ module Aws::S3
16360
17594
  req.send_request(options)
16361
17595
  end
16362
17596
 
17597
+ # End of support notice: As of October 1, 2025, Amazon S3 has
17598
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
17599
+ # you attempt to use an Email Grantee ACL in a request after October 1,
17600
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
17601
+ # error.
17602
+ #
17603
+ # This change affects the following Amazon Web Services Regions: US
17604
+ # East
17605
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
17606
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
17607
+ # (Ireland), and South America (São Paulo).
17608
+ #
16363
17609
  # Adds an object to a bucket.
16364
17610
  #
16365
17611
  # <note markdown="1"> * Amazon S3 never adds partial objects; if you receive a success
@@ -16489,6 +17735,10 @@ module Aws::S3
16489
17735
  #
16490
17736
  # * [DeleteObject][10]
16491
17737
  #
17738
+ # You must URL encode any signed header values that contain spaces. For
17739
+ # example, if your header value is `my file.txt`, containing two spaces
17740
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17741
+ #
16492
17742
  #
16493
17743
  #
16494
17744
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -16868,8 +18118,7 @@ module Aws::S3
16868
18118
  #
16869
18119
  # @option params [String] :server_side_encryption
16870
18120
  # The server-side encryption algorithm that was used when you store this
16871
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
16872
- # `aws:kms:dsse`).
18121
+ # object in Amazon S3 or Amazon FSx.
16873
18122
  #
16874
18123
  # * <b>General purpose buckets </b> - You have four mutually exclusive
16875
18124
  # options to protect data using server-side encryption in Amazon S3,
@@ -16923,6 +18172,14 @@ module Aws::S3
16923
18172
  #
16924
18173
  # </note>
16925
18174
  #
18175
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
18176
+ # in Amazon FSx file systems using S3 access points, the only valid
18177
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
18178
+ # systems have encryption configured by default and are encrypted at
18179
+ # rest. Data is automatically encrypted before being written to the
18180
+ # file system, and automatically decrypted as it is read. These
18181
+ # processes are handled transparently by Amazon FSx.
18182
+ #
16926
18183
  #
16927
18184
  #
16928
18185
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -17336,8 +18593,8 @@ module Aws::S3
17336
18593
  # metadata: {
17337
18594
  # "MetadataKey" => "MetadataValue",
17338
18595
  # },
17339
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
17340
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
18596
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
18597
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
17341
18598
  # website_redirect_location: "WebsiteRedirectLocation",
17342
18599
  # sse_customer_algorithm: "SSECustomerAlgorithm",
17343
18600
  # sse_customer_key: "SSECustomerKey",
@@ -17363,7 +18620,7 @@ module Aws::S3
17363
18620
  # resp.checksum_sha1 #=> String
17364
18621
  # resp.checksum_sha256 #=> String
17365
18622
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
17366
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
18623
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
17367
18624
  # resp.version_id #=> String
17368
18625
  # resp.sse_customer_algorithm #=> String
17369
18626
  # resp.sse_customer_key_md5 #=> String
@@ -17382,6 +18639,18 @@ module Aws::S3
17382
18639
  req.send_request(options)
17383
18640
  end
17384
18641
 
18642
+ # End of support notice: As of October 1, 2025, Amazon S3 has
18643
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
18644
+ # you attempt to use an Email Grantee ACL in a request after October 1,
18645
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
18646
+ # error.
18647
+ #
18648
+ # This change affects the following Amazon Web Services Regions: US
18649
+ # East
18650
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
18651
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
18652
+ # (Ireland), and South America (São Paulo).
18653
+ #
17385
18654
  # <note markdown="1"> This operation is not supported for directory buckets.
17386
18655
  #
17387
18656
  # </note>
@@ -17479,7 +18748,10 @@ module Aws::S3
17479
18748
  # Grantee Values
17480
18749
  #
17481
18750
  # : You can specify the person (grantee) to whom you're assigning
17482
- # access rights (using request elements) in the following ways:
18751
+ # access rights (using request elements) in the following ways. For
18752
+ # examples of how to specify these grantee values in JSON format, see
18753
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
18754
+ # access logging][6] in the *Amazon S3 User Guide*.
17483
18755
  #
17484
18756
  # * By the person's ID:
17485
18757
  #
@@ -17535,9 +18807,13 @@ module Aws::S3
17535
18807
  #
17536
18808
  # The following operations are related to `PutObjectAcl`:
17537
18809
  #
17538
- # * [CopyObject][6]
18810
+ # * [CopyObject][7]
17539
18811
  #
17540
- # * [GetObject][7]
18812
+ # * [GetObject][8]
18813
+ #
18814
+ # You must URL encode any signed header values that contain spaces. For
18815
+ # example, if your header value is `my file.txt`, containing two spaces
18816
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17541
18817
  #
17542
18818
  #
17543
18819
  #
@@ -17546,8 +18822,9 @@ module Aws::S3
17546
18822
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
17547
18823
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
17548
18824
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
17549
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
17550
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
18825
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
18826
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
18827
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
17551
18828
  #
17552
18829
  # @option params [String] :acl
17553
18830
  # The canned ACL to apply to the object. For more information, see
@@ -17762,6 +19039,10 @@ module Aws::S3
17762
19039
  #
17763
19040
  # This functionality is not supported for Amazon S3 on Outposts.
17764
19041
  #
19042
+ # You must URL encode any signed header values that contain spaces. For
19043
+ # example, if your header value is `my file.txt`, containing two spaces
19044
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19045
+ #
17765
19046
  #
17766
19047
  #
17767
19048
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -17894,6 +19175,10 @@ module Aws::S3
17894
19175
  #
17895
19176
  # </note>
17896
19177
  #
19178
+ # You must URL encode any signed header values that contain spaces. For
19179
+ # example, if your header value is `my file.txt`, containing two spaces
19180
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19181
+ #
17897
19182
  #
17898
19183
  #
17899
19184
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -18005,6 +19290,10 @@ module Aws::S3
18005
19290
  #
18006
19291
  # This functionality is not supported for Amazon S3 on Outposts.
18007
19292
  #
19293
+ # You must URL encode any signed header values that contain spaces. For
19294
+ # example, if your header value is `my file.txt`, containing two spaces
19295
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19296
+ #
18008
19297
  #
18009
19298
  #
18010
19299
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -18169,6 +19458,10 @@ module Aws::S3
18169
19458
  #
18170
19459
  # * [DeleteObjectTagging][5]
18171
19460
  #
19461
+ # You must URL encode any signed header values that contain spaces. For
19462
+ # example, if your header value is `my file.txt`, containing two spaces
19463
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19464
+ #
18172
19465
  #
18173
19466
  #
18174
19467
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
@@ -18245,21 +19538,9 @@ module Aws::S3
18245
19538
  # fails with the HTTP status code `403 Forbidden` (access denied).
18246
19539
  #
18247
19540
  # @option params [String] :request_payer
18248
- # Confirms that the requester knows that they will be charged for the
18249
- # request. Bucket owners need not specify this parameter in their
18250
- # requests. If either the source or destination S3 bucket has Requester
18251
- # Pays enabled, the requester will pay for corresponding charges to copy
18252
- # the object. For information about downloading objects from Requester
18253
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
18254
- # in the *Amazon S3 User Guide*.
18255
- #
18256
- # <note markdown="1"> This functionality is not supported for directory buckets.
18257
- #
18258
- # </note>
18259
- #
18260
- #
18261
- #
18262
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
19541
+ # Confirms that the requester knows that she or he will be charged for
19542
+ # the tagging object request. Bucket owners need not specify this
19543
+ # parameter in their requests.
18263
19544
  #
18264
19545
  # @return [Types::PutObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
18265
19546
  #
@@ -18355,6 +19636,10 @@ module Aws::S3
18355
19636
  #
18356
19637
  # * [Using Amazon S3 Block Public Access][6]
18357
19638
  #
19639
+ # You must URL encode any signed header values that contain spaces. For
19640
+ # example, if your header value is `my file.txt`, containing two spaces
19641
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19642
+ #
18358
19643
  #
18359
19644
  #
18360
19645
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -18433,6 +19718,183 @@ module Aws::S3
18433
19718
  req.send_request(options)
18434
19719
  end
18435
19720
 
19721
+ # Renames an existing object in a directory bucket that uses the S3
19722
+ # Express One Zone storage class. You can use `RenameObject` by
19723
+ # specifying an existing object’s name as the source and the new name of
19724
+ # the object as the destination within the same directory bucket.
19725
+ #
19726
+ # <note markdown="1"> `RenameObject` is only supported for objects stored in the S3 Express
19727
+ # One Zone storage class.
19728
+ #
19729
+ # </note>
19730
+ #
19731
+ # To prevent overwriting an object, you can use the `If-None-Match`
19732
+ # conditional header.
19733
+ #
19734
+ # * **If-None-Match** - Renames the object only if an object with the
19735
+ # specified name does not already exist in the directory bucket. If
19736
+ # you don't want to overwrite an existing object, you can add the
19737
+ # `If-None-Match` conditional header with the value `‘*’` in the
19738
+ # `RenameObject` request. Amazon S3 then returns a `412 Precondition
19739
+ # Failed` error if the object with the specified name already exists.
19740
+ # For more information, see [RFC 7232][1].
19741
+ #
19742
+ # ^
19743
+ #
19744
+ # Permissions
19745
+ #
19746
+ # : To grant access to the `RenameObject` operation on a directory
19747
+ # bucket, we recommend that you use the `CreateSession` operation for
19748
+ # session-based authorization. Specifically, you grant the
19749
+ # `s3express:CreateSession` permission to the directory bucket in a
19750
+ # bucket policy or an IAM identity-based policy. Then, you make the
19751
+ # `CreateSession` API call on the directory bucket to obtain a session
19752
+ # token. With the session token in your request header, you can make
19753
+ # API requests to this operation. After the session token expires, you
19754
+ # make another `CreateSession` API call to generate a new session
19755
+ # token for use. The Amazon Web Services CLI and SDKs will create and
19756
+ # manage your session including refreshing the session token
19757
+ # automatically to avoid service interruptions when a session expires.
19758
+ # In your bucket policy, you can specify the `s3express:SessionMode`
19759
+ # condition key to control who can create a `ReadWrite` or `ReadOnly`
19760
+ # session. A `ReadWrite` session is required for executing all the
19761
+ # Zonal endpoint API operations, including `RenameObject`. For more
19762
+ # information about authorization, see [ `CreateSession` ][2]. To
19763
+ # learn more about Zonal endpoint API operations, see [Authorizing
19764
+ # Zonal endpoint API operations with CreateSession][3] in the *Amazon
19765
+ # S3 User Guide*.
19766
+ #
19767
+ # HTTP Host header syntax
19768
+ #
19769
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is `
19770
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
19771
+ #
19772
+ # You must URL encode any signed header values that contain spaces. For
19773
+ # example, if your header value is `my file.txt`, containing two spaces
19774
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19775
+ #
19776
+ #
19777
+ #
19778
+ # [1]: https://datatracker.ietf.org/doc/rfc7232/
19779
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
19780
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-create-session.html
19781
+ #
19782
+ # @option params [required, String] :bucket
19783
+ # The bucket name of the directory bucket containing the object.
19784
+ #
19785
+ # You must use virtual-hosted-style requests in the format
19786
+ # `Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
19787
+ # requests are not supported. Directory bucket names must be unique in
19788
+ # the chosen Availability Zone. Bucket names must follow the format
19789
+ # `bucket-base-name--zone-id--x-s3 ` (for example,
19790
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
19791
+ # naming restrictions, see [Directory bucket naming rules][1] in the
19792
+ # *Amazon S3 User Guide*.
19793
+ #
19794
+ #
19795
+ #
19796
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
19797
+ #
19798
+ # @option params [required, String] :key
19799
+ # Key name of the object to rename.
19800
+ #
19801
+ # @option params [required, String] :rename_source
19802
+ # Specifies the source for the rename operation. The value must be URL
19803
+ # encoded.
19804
+ #
19805
+ # @option params [String] :destination_if_match
19806
+ # Renames the object only if the ETag (entity tag) value provided during
19807
+ # the operation matches the ETag of the object in S3. The `If-Match`
19808
+ # header field makes the request method conditional on ETags. If the
19809
+ # ETag values do not match, the operation returns a `412 Precondition
19810
+ # Failed` error.
19811
+ #
19812
+ # Expects the ETag value as a string.
19813
+ #
19814
+ # @option params [String] :destination_if_none_match
19815
+ # Renames the object only if the destination does not already exist in
19816
+ # the specified directory bucket. If the object does exist when you send
19817
+ # a request with `If-None-Match:*`, the S3 API will return a `412
19818
+ # Precondition Failed` error, preventing an overwrite. The
19819
+ # `If-None-Match` header prevents overwrites of existing data by
19820
+ # validating that there's not an object with the same key name already
19821
+ # in your directory bucket.
19822
+ #
19823
+ # Expects the `*` character (asterisk).
19824
+ #
19825
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_modified_since
19826
+ # Renames the object if the destination exists and if it has been
19827
+ # modified since the specified time.
19828
+ #
19829
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_unmodified_since
19830
+ # Renames the object if it hasn't been modified since the specified
19831
+ # time.
19832
+ #
19833
+ # @option params [String] :source_if_match
19834
+ # Renames the object if the source exists and if its entity tag (ETag)
19835
+ # matches the specified ETag.
19836
+ #
19837
+ # @option params [String] :source_if_none_match
19838
+ # Renames the object if the source exists and if its entity tag (ETag)
19839
+ # is different than the specified ETag. If an asterisk (`*`) character
19840
+ # is provided, the operation will fail and return a `412 Precondition
19841
+ # Failed` error.
19842
+ #
19843
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_modified_since
19844
+ # Renames the object if the source exists and if it has been modified
19845
+ # since the specified time.
19846
+ #
19847
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_unmodified_since
19848
+ # Renames the object if the source exists and hasn't been modified
19849
+ # since the specified time.
19850
+ #
19851
+ # @option params [String] :client_token
19852
+ # A unique string with a max of 64 ASCII characters in the ASCII range
19853
+ # of 33 - 126.
19854
+ #
19855
+ # <note markdown="1"> `RenameObject` supports idempotency using a client token. To make an
19856
+ # idempotent API request using `RenameObject`, specify a client token in
19857
+ # the request. You should not reuse the same client token for other API
19858
+ # requests. If you retry a request that completed successfully using the
19859
+ # same client token and the same parameters, the retry succeeds without
19860
+ # performing any further actions. If you retry a successful request
19861
+ # using the same client token, but one or more of the parameters are
19862
+ # different, the retry fails and an `IdempotentParameterMismatch` error
19863
+ # is returned.
19864
+ #
19865
+ # </note>
19866
+ #
19867
+ # **A suitable default value is auto-generated.** You should normally
19868
+ # not need to pass this option.**
19869
+ #
19870
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
19871
+ #
19872
+ # @example Request syntax with placeholder values
19873
+ #
19874
+ # resp = client.rename_object({
19875
+ # bucket: "BucketName", # required
19876
+ # key: "ObjectKey", # required
19877
+ # rename_source: "RenameSource", # required
19878
+ # destination_if_match: "IfMatch",
19879
+ # destination_if_none_match: "IfNoneMatch",
19880
+ # destination_if_modified_since: Time.now,
19881
+ # destination_if_unmodified_since: Time.now,
19882
+ # source_if_match: "RenameSourceIfMatch",
19883
+ # source_if_none_match: "RenameSourceIfNoneMatch",
19884
+ # source_if_modified_since: Time.now,
19885
+ # source_if_unmodified_since: Time.now,
19886
+ # client_token: "ClientToken",
19887
+ # })
19888
+ #
19889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObject AWS API Documentation
19890
+ #
19891
+ # @overload rename_object(params = {})
19892
+ # @param [Hash] params ({})
19893
+ def rename_object(params = {}, options = {})
19894
+ req = build_request(:rename_object, params)
19895
+ req.send_request(options)
19896
+ end
19897
+
18436
19898
  # <note markdown="1"> This operation is not supported for directory buckets.
18437
19899
  #
18438
19900
  # </note>
@@ -18595,6 +20057,10 @@ module Aws::S3
18595
20057
  #
18596
20058
  # * [GetBucketNotificationConfiguration][11]
18597
20059
  #
20060
+ # You must URL encode any signed header values that contain spaces. For
20061
+ # example, if your header value is `my file.txt`, containing two spaces
20062
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20063
+ #
18598
20064
  #
18599
20065
  #
18600
20066
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
@@ -18763,7 +20229,7 @@ module Aws::S3
18763
20229
  # bucket_name: "BucketName", # required
18764
20230
  # prefix: "LocationPrefix", # required
18765
20231
  # encryption: {
18766
- # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
20232
+ # encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
18767
20233
  # kms_key_id: "SSEKMSKeyId",
18768
20234
  # kms_context: "KMSContext",
18769
20235
  # },
@@ -18794,7 +20260,7 @@ module Aws::S3
18794
20260
  # value: "MetadataValue",
18795
20261
  # },
18796
20262
  # ],
18797
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
20263
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
18798
20264
  # },
18799
20265
  # },
18800
20266
  # },
@@ -18918,6 +20384,10 @@ module Aws::S3
18918
20384
  #
18919
20385
  # * [PutBucketLifecycleConfiguration][12]
18920
20386
  #
20387
+ # You must URL encode any signed header values that contain spaces. For
20388
+ # example, if your header value is `my file.txt`, containing two spaces
20389
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20390
+ #
18921
20391
  #
18922
20392
  #
18923
20393
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
@@ -19238,6 +20708,190 @@ module Aws::S3
19238
20708
  req.send_request(options, &block)
19239
20709
  end
19240
20710
 
20711
+ # Enables or disables a live inventory table for an S3 Metadata
20712
+ # configuration on a general purpose bucket. For more information, see
20713
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20714
+ # User Guide*.
20715
+ #
20716
+ # Permissions
20717
+ #
20718
+ # : To use this operation, you must have the following permissions. For
20719
+ # more information, see [Setting up permissions for configuring
20720
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20721
+ #
20722
+ # If you want to encrypt your inventory table with server-side
20723
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
20724
+ # need additional permissions in your KMS key policy. For more
20725
+ # information, see [ Setting up permissions for configuring metadata
20726
+ # tables][2] in the *Amazon S3 User Guide*.
20727
+ #
20728
+ # * `s3:UpdateBucketMetadataInventoryTableConfiguration`
20729
+ #
20730
+ # * `s3tables:CreateTableBucket`
20731
+ #
20732
+ # * `s3tables:CreateNamespace`
20733
+ #
20734
+ # * `s3tables:GetTable`
20735
+ #
20736
+ # * `s3tables:CreateTable`
20737
+ #
20738
+ # * `s3tables:PutTablePolicy`
20739
+ #
20740
+ # * `s3tables:PutTableEncryption`
20741
+ #
20742
+ # * `kms:DescribeKey`
20743
+ #
20744
+ # The following operations are related to
20745
+ # `UpdateBucketMetadataInventoryTableConfiguration`:
20746
+ #
20747
+ # * [CreateBucketMetadataConfiguration][3]
20748
+ #
20749
+ # * [DeleteBucketMetadataConfiguration][4]
20750
+ #
20751
+ # * [GetBucketMetadataConfiguration][5]
20752
+ #
20753
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
20754
+ #
20755
+ # You must URL encode any signed header values that contain spaces. For
20756
+ # example, if your header value is `my file.txt`, containing two spaces
20757
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20758
+ #
20759
+ #
20760
+ #
20761
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20762
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20763
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20764
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20765
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20766
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
20767
+ #
20768
+ # @option params [required, String] :bucket
20769
+ # The general purpose bucket that corresponds to the metadata
20770
+ # configuration that you want to enable or disable an inventory table
20771
+ # for.
20772
+ #
20773
+ # @option params [String] :content_md5
20774
+ # The `Content-MD5` header for the inventory table configuration.
20775
+ #
20776
+ # @option params [String] :checksum_algorithm
20777
+ # The checksum algorithm to use with your inventory table configuration.
20778
+ #
20779
+ # @option params [required, Types::InventoryTableConfigurationUpdates] :inventory_table_configuration
20780
+ # The contents of your inventory table configuration.
20781
+ #
20782
+ # @option params [String] :expected_bucket_owner
20783
+ # The expected owner of the general purpose bucket that corresponds to
20784
+ # the metadata table configuration that you want to enable or disable an
20785
+ # inventory table for.
20786
+ #
20787
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20788
+ #
20789
+ # @example Request syntax with placeholder values
20790
+ #
20791
+ # resp = client.update_bucket_metadata_inventory_table_configuration({
20792
+ # bucket: "BucketName", # required
20793
+ # content_md5: "ContentMD5",
20794
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20795
+ # inventory_table_configuration: { # required
20796
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
20797
+ # encryption_configuration: {
20798
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
20799
+ # kms_key_arn: "KmsKeyArn",
20800
+ # },
20801
+ # },
20802
+ # expected_bucket_owner: "AccountId",
20803
+ # })
20804
+ #
20805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfiguration AWS API Documentation
20806
+ #
20807
+ # @overload update_bucket_metadata_inventory_table_configuration(params = {})
20808
+ # @param [Hash] params ({})
20809
+ def update_bucket_metadata_inventory_table_configuration(params = {}, options = {})
20810
+ req = build_request(:update_bucket_metadata_inventory_table_configuration, params)
20811
+ req.send_request(options)
20812
+ end
20813
+
20814
+ # Enables or disables journal table record expiration for an S3 Metadata
20815
+ # configuration on a general purpose bucket. For more information, see
20816
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20817
+ # User Guide*.
20818
+ #
20819
+ # Permissions
20820
+ #
20821
+ # : To use this operation, you must have the
20822
+ # `s3:UpdateBucketMetadataJournalTableConfiguration` permission. For
20823
+ # more information, see [Setting up permissions for configuring
20824
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20825
+ #
20826
+ # The following operations are related to
20827
+ # `UpdateBucketMetadataJournalTableConfiguration`:
20828
+ #
20829
+ # * [CreateBucketMetadataConfiguration][3]
20830
+ #
20831
+ # * [DeleteBucketMetadataConfiguration][4]
20832
+ #
20833
+ # * [GetBucketMetadataConfiguration][5]
20834
+ #
20835
+ # * [UpdateBucketMetadataInventoryTableConfiguration][6]
20836
+ #
20837
+ # You must URL encode any signed header values that contain spaces. For
20838
+ # example, if your header value is `my file.txt`, containing two spaces
20839
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20840
+ #
20841
+ #
20842
+ #
20843
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20844
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20845
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20846
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20847
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20848
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
20849
+ #
20850
+ # @option params [required, String] :bucket
20851
+ # The general purpose bucket that corresponds to the metadata
20852
+ # configuration that you want to enable or disable journal table record
20853
+ # expiration for.
20854
+ #
20855
+ # @option params [String] :content_md5
20856
+ # The `Content-MD5` header for the journal table configuration.
20857
+ #
20858
+ # @option params [String] :checksum_algorithm
20859
+ # The checksum algorithm to use with your journal table configuration.
20860
+ #
20861
+ # @option params [required, Types::JournalTableConfigurationUpdates] :journal_table_configuration
20862
+ # The contents of your journal table configuration.
20863
+ #
20864
+ # @option params [String] :expected_bucket_owner
20865
+ # The expected owner of the general purpose bucket that corresponds to
20866
+ # the metadata table configuration that you want to enable or disable
20867
+ # journal table record expiration for.
20868
+ #
20869
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20870
+ #
20871
+ # @example Request syntax with placeholder values
20872
+ #
20873
+ # resp = client.update_bucket_metadata_journal_table_configuration({
20874
+ # bucket: "BucketName", # required
20875
+ # content_md5: "ContentMD5",
20876
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20877
+ # journal_table_configuration: { # required
20878
+ # record_expiration: { # required
20879
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
20880
+ # days: 1,
20881
+ # },
20882
+ # },
20883
+ # expected_bucket_owner: "AccountId",
20884
+ # })
20885
+ #
20886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfiguration AWS API Documentation
20887
+ #
20888
+ # @overload update_bucket_metadata_journal_table_configuration(params = {})
20889
+ # @param [Hash] params ({})
20890
+ def update_bucket_metadata_journal_table_configuration(params = {}, options = {})
20891
+ req = build_request(:update_bucket_metadata_journal_table_configuration, params)
20892
+ req.send_request(options)
20893
+ end
20894
+
19241
20895
  # Uploads a part in a multipart upload.
19242
20896
  #
19243
20897
  # <note markdown="1"> In this operation, you provide new data as a part of an object in your
@@ -19365,6 +21019,15 @@ module Aws::S3
19365
21019
  # Multipart request. For more information, see
19366
21020
  # [CreateMultipartUpload][2].
19367
21021
  #
21022
+ # <note markdown="1"> If you have server-side encryption with customer-provided keys
21023
+ # (SSE-C) blocked for your general purpose bucket, you will get an
21024
+ # HTTP 403 Access Denied error when you specify the SSE-C request
21025
+ # headers while writing new data to your bucket. For more
21026
+ # information, see [Blocking or unblocking SSE-C for a general
21027
+ # purpose bucket][12].
21028
+ #
21029
+ # </note>
21030
+ #
19368
21031
  # If you request server-side encryption using a customer-provided
19369
21032
  # encryption key (SSE-C) in your initiate multipart upload request,
19370
21033
  # you must provide identical encryption information in each part
@@ -19375,7 +21038,7 @@ module Aws::S3
19375
21038
  # * x-amz-server-side-encryption-customer-key
19376
21039
  #
19377
21040
  # * x-amz-server-side-encryption-customer-key-MD5
19378
- # For more information, see [Using Server-Side Encryption][12] in
21041
+ # For more information, see [Using Server-Side Encryption][13] in
19379
21042
  # the *Amazon S3 User Guide*.
19380
21043
  #
19381
21044
  # * <b>Directory buckets </b> - For directory buckets, there are only
@@ -19403,13 +21066,17 @@ module Aws::S3
19403
21066
  #
19404
21067
  # * [CreateMultipartUpload][2]
19405
21068
  #
19406
- # * [CompleteMultipartUpload][13]
21069
+ # * [CompleteMultipartUpload][14]
21070
+ #
21071
+ # * [AbortMultipartUpload][15]
19407
21072
  #
19408
- # * [AbortMultipartUpload][14]
21073
+ # * [ListParts][16]
19409
21074
  #
19410
- # * [ListParts][15]
21075
+ # * [ListMultipartUploads][17]
19411
21076
  #
19412
- # * [ListMultipartUploads][16]
21077
+ # You must URL encode any signed header values that contain spaces. For
21078
+ # example, if your header value is `my file.txt`, containing two spaces
21079
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19413
21080
  #
19414
21081
  #
19415
21082
  #
@@ -19424,11 +21091,12 @@ module Aws::S3
19424
21091
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19425
21092
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
19426
21093
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
19427
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
19428
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19429
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19430
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19431
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
21094
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
21095
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
21096
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
21097
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
21098
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
21099
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19432
21100
  #
19433
21101
  # @option params [String, StringIO, File] :body
19434
21102
  # Object data.
@@ -19687,7 +21355,7 @@ module Aws::S3
19687
21355
  #
19688
21356
  # @example Response structure
19689
21357
  #
19690
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
21358
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
19691
21359
  # resp.etag #=> String
19692
21360
  # resp.checksum_crc32 #=> String
19693
21361
  # resp.checksum_crc32c #=> String
@@ -19827,12 +21495,21 @@ module Aws::S3
19827
21495
  # the `UploadPartCopy` operation, see [CopyObject][13] and
19828
21496
  # [UploadPart][2].
19829
21497
  #
21498
+ # <note markdown="1"> If you have server-side encryption with customer-provided keys
21499
+ # (SSE-C) blocked for your general purpose bucket, you will get an
21500
+ # HTTP 403 Access Denied error when you specify the SSE-C request
21501
+ # headers while writing new data to your bucket. For more
21502
+ # information, see [Blocking or unblocking SSE-C for a general
21503
+ # purpose bucket][14].
21504
+ #
21505
+ # </note>
21506
+ #
19830
21507
  # * <b>Directory buckets </b> - For directory buckets, there are only
19831
21508
  # two supported options for server-side encryption: server-side
19832
21509
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
19833
21510
  # server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
19834
21511
  # more information, see [Protecting data with server-side
19835
- # encryption][14] in the *Amazon S3 User Guide*.
21512
+ # encryption][15] in the *Amazon S3 User Guide*.
19836
21513
  #
19837
21514
  # <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
19838
21515
  # operation and an `UploadPartCopy` operation, the request headers
@@ -19844,7 +21521,7 @@ module Aws::S3
19844
21521
  # S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
19845
21522
  # objects from general purpose buckets to directory buckets, from
19846
21523
  # directory buckets to general purpose buckets, or between directory
19847
- # buckets, through [UploadPartCopy][15]. In this case, Amazon S3
21524
+ # buckets, through [UploadPartCopy][16]. In this case, Amazon S3
19848
21525
  # makes a call to KMS every time a copy request is made for a
19849
21526
  # KMS-encrypted object.
19850
21527
  #
@@ -19870,17 +21547,21 @@ module Aws::S3
19870
21547
  #
19871
21548
  # The following operations are related to `UploadPartCopy`:
19872
21549
  #
19873
- # * [CreateMultipartUpload][16]
21550
+ # * [CreateMultipartUpload][17]
19874
21551
  #
19875
21552
  # * [UploadPart][2]
19876
21553
  #
19877
- # * [CompleteMultipartUpload][17]
21554
+ # * [CompleteMultipartUpload][18]
21555
+ #
21556
+ # * [AbortMultipartUpload][19]
19878
21557
  #
19879
- # * [AbortMultipartUpload][18]
21558
+ # * [ListParts][20]
19880
21559
  #
19881
- # * [ListParts][19]
21560
+ # * [ListMultipartUploads][21]
19882
21561
  #
19883
- # * [ListMultipartUploads][20]
21562
+ # You must URL encode any signed header values that contain spaces. For
21563
+ # example, if your header value is `my file.txt`, containing two spaces
21564
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19884
21565
  #
19885
21566
  #
19886
21567
  #
@@ -19897,13 +21578,14 @@ module Aws::S3
19897
21578
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
19898
21579
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
19899
21580
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
19900
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
19901
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
19902
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
19903
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19904
- # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19905
- # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19906
- # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
21581
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
21582
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
21583
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
21584
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
21585
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
21586
+ # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
21587
+ # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
21588
+ # [21]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19907
21589
  #
19908
21590
  # @option params [required, String] :bucket
19909
21591
  # The bucket name.
@@ -20274,7 +21956,7 @@ module Aws::S3
20274
21956
  # resp.copy_part_result.checksum_crc64nvme #=> String
20275
21957
  # resp.copy_part_result.checksum_sha1 #=> String
20276
21958
  # resp.copy_part_result.checksum_sha256 #=> String
20277
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
21959
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
20278
21960
  # resp.sse_customer_algorithm #=> String
20279
21961
  # resp.sse_customer_key_md5 #=> String
20280
21962
  # resp.ssekms_key_id #=> String
@@ -20345,6 +22027,10 @@ module Aws::S3
20345
22027
  # Amazon Web Services built Lambda functions][3] in the *Amazon S3 User
20346
22028
  # Guide*.
20347
22029
  #
22030
+ # You must URL encode any signed header values that contain spaces. For
22031
+ # example, if your header value is `my file.txt`, containing two spaces
22032
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
22033
+ #
20348
22034
  #
20349
22035
  #
20350
22036
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html
@@ -20601,7 +22287,12 @@ module Aws::S3
20601
22287
  #
20602
22288
  # @option params [String] :server_side_encryption
20603
22289
  # The server-side encryption algorithm used when storing requested
20604
- # object in Amazon S3 (for example, AES256, `aws:kms`).
22290
+ # object in Amazon S3 or Amazon FSx.
22291
+ #
22292
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3 access
22293
+ # points, the only valid server side encryption option is `aws:fsx`.
22294
+ #
22295
+ # </note>
20605
22296
  #
20606
22297
  # @option params [String] :sse_customer_algorithm
20607
22298
  # Encryption algorithm used if server-side encryption with a
@@ -20685,11 +22376,11 @@ module Aws::S3
20685
22376
  # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA, COMPLETED
20686
22377
  # request_charged: "requester", # accepts requester
20687
22378
  # restore: "Restore",
20688
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
22379
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
20689
22380
  # sse_customer_algorithm: "SSECustomerAlgorithm",
20690
22381
  # ssekms_key_id: "SSEKMSKeyId",
20691
22382
  # sse_customer_key_md5: "SSECustomerKeyMD5",
20692
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
22383
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
20693
22384
  # tag_count: 1,
20694
22385
  # version_id: "ObjectVersionId",
20695
22386
  # bucket_key_enabled: false,
@@ -20722,7 +22413,7 @@ module Aws::S3
20722
22413
  tracer: tracer
20723
22414
  )
20724
22415
  context[:gem_name] = 'aws-sdk-s3'
20725
- context[:gem_version] = '1.188.0'
22416
+ context[:gem_version] = '1.205.0'
20726
22417
  Seahorse::Client::Request.new(handlers, context)
20727
22418
  end
20728
22419