aws-sdk-s3 1.191.0 → 1.208.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +114 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +33 -1
  5. data/lib/aws-sdk-s3/bucket_acl.rb +1 -1
  6. data/lib/aws-sdk-s3/bucket_versioning.rb +33 -0
  7. data/lib/aws-sdk-s3/client.rb +1503 -392
  8. data/lib/aws-sdk-s3/client_api.rb +248 -0
  9. data/lib/aws-sdk-s3/customizations/object.rb +76 -86
  10. data/lib/aws-sdk-s3/customizations.rb +4 -1
  11. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  12. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  13. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  14. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  15. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
  16. data/lib/aws-sdk-s3/encryptionV2/client.rb +98 -23
  17. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  18. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  19. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  20. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  21. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  22. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +8 -0
  23. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  24. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  25. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  26. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  27. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  28. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  29. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  30. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  31. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  32. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  33. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  34. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  35. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  36. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  37. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  38. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  39. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  40. data/lib/aws-sdk-s3/endpoint_parameters.rb +17 -17
  41. data/lib/aws-sdk-s3/endpoint_provider.rb +220 -50
  42. data/lib/aws-sdk-s3/endpoints.rb +96 -0
  43. data/lib/aws-sdk-s3/file_downloader.rb +197 -134
  44. data/lib/aws-sdk-s3/file_uploader.rb +9 -13
  45. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  46. data/lib/aws-sdk-s3/multipart_file_uploader.rb +92 -107
  47. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
  48. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  49. data/lib/aws-sdk-s3/object.rb +56 -27
  50. data/lib/aws-sdk-s3/object_acl.rb +1 -1
  51. data/lib/aws-sdk-s3/object_summary.rb +42 -13
  52. data/lib/aws-sdk-s3/object_version.rb +7 -9
  53. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
  54. data/lib/aws-sdk-s3/resource.rb +6 -0
  55. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  56. data/lib/aws-sdk-s3/types.rb +1179 -260
  57. data/lib/aws-sdk-s3.rb +1 -1
  58. data/sig/bucket.rbs +11 -2
  59. data/sig/client.rbs +127 -13
  60. data/sig/multipart_upload.rbs +1 -1
  61. data/sig/object.rbs +7 -5
  62. data/sig/object_summary.rbs +7 -5
  63. data/sig/resource.rbs +8 -1
  64. data/sig/types.rbs +173 -14
  65. metadata +22 -3
@@ -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
@@ -1279,23 +1294,21 @@ module Aws::S3
1279
1294
  req.send_request(options)
1280
1295
  end
1281
1296
 
1282
- # End of support notice: Beginning October 1, 2025, Amazon S3 will
1283
- # discontinue support for creating new Email Grantee Access Control
1284
- # Lists (ACL). Email Grantee ACLs created prior to this date will
1285
- # continue to work and remain accessible through the Amazon Web Services
1286
- # Management Console, Command Line Interface (CLI), SDKs, and REST API.
1287
- # However, you will no longer be able to create new Email Grantee ACLs.
1297
+ # Creates a copy of an object that is already stored in Amazon S3.
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.
1288
1304
  #
1289
1305
  # This change affects the following Amazon Web Services Regions: US
1290
1306
  # East
1291
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
1292
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
1293
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
1294
- # America (São Paulo) Region.
1295
- #
1296
- # Creates a copy of an object that is already stored in Amazon S3.
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).
1297
1310
  #
1298
- # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
1311
+ # <note markdown="1"> You can store individual objects of up to 50 TB in Amazon S3. You
1299
1312
  # create a copy of your object up to 5 GB in size in a single atomic
1300
1313
  # action using this API. However, to copy an object greater than 5 GB,
1301
1314
  # you must use the multipart upload Upload Part - Copy (UploadPartCopy)
@@ -1462,6 +1475,10 @@ module Aws::S3
1462
1475
  #
1463
1476
  # * [GetObject][12]
1464
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
+ #
1465
1482
  #
1466
1483
  #
1467
1484
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html
@@ -1782,6 +1799,37 @@ module Aws::S3
1782
1799
  #
1783
1800
  # </note>
1784
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
+ #
1785
1833
  # @option params [required, String] :key
1786
1834
  # The key of the destination object.
1787
1835
  #
@@ -2313,6 +2361,8 @@ module Aws::S3
2313
2361
  # grant_read: "GrantRead",
2314
2362
  # grant_read_acp: "GrantReadACP",
2315
2363
  # grant_write_acp: "GrantWriteACP",
2364
+ # if_match: "IfMatch",
2365
+ # if_none_match: "IfNoneMatch",
2316
2366
  # key: "ObjectKey", # required
2317
2367
  # metadata: {
2318
2368
  # "MetadataKey" => "MetadataValue",
@@ -2320,7 +2370,7 @@ module Aws::S3
2320
2370
  # metadata_directive: "COPY", # accepts COPY, REPLACE
2321
2371
  # tagging_directive: "COPY", # accepts COPY, REPLACE
2322
2372
  # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
2323
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
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, FSX_ONTAP
2324
2374
  # website_redirect_location: "WebsiteRedirectLocation",
2325
2375
  # sse_customer_algorithm: "SSECustomerAlgorithm",
2326
2376
  # sse_customer_key: "SSECustomerKey",
@@ -2370,33 +2420,6 @@ module Aws::S3
2370
2420
  req.send_request(options)
2371
2421
  end
2372
2422
 
2373
- # End of support notice: Beginning October 1, 2025, Amazon S3 will
2374
- # discontinue support for creating new Email Grantee Access Control
2375
- # Lists (ACL). Email Grantee ACLs created prior to this date will
2376
- # continue to work and remain accessible through the Amazon Web Services
2377
- # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2378
- # However, you will no longer be able to create new Email Grantee ACLs.
2379
- #
2380
- # This change affects the following Amazon Web Services Regions: US
2381
- # East
2382
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2383
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2384
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2385
- # America (São Paulo) Region.
2386
- #
2387
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
2388
- # returning `DisplayName`. Update your applications to use canonical IDs
2389
- # (unique identifier for Amazon Web Services accounts), Amazon Web
2390
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
2391
- # naming) as a direct replacement of `DisplayName`.
2392
- #
2393
- # This change affects the following Amazon Web Services Regions: US
2394
- # East
2395
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2396
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2397
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2398
- # America (São Paulo) Region.
2399
- #
2400
2423
  # <note markdown="1"> This action creates an Amazon S3 bucket. To create an Amazon S3 on
2401
2424
  # Outposts bucket, see [ `CreateBucket` ][1].
2402
2425
  #
@@ -2518,6 +2541,10 @@ module Aws::S3
2518
2541
  #
2519
2542
  # * [DeleteBucket][13]
2520
2543
  #
2544
+ # You must URL encode any signed header values that contain spaces. For
2545
+ # example, if your header value is `my file.txt`, containing two spaces
2546
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
2547
+ #
2521
2548
  #
2522
2549
  #
2523
2550
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
@@ -2652,6 +2679,7 @@ module Aws::S3
2652
2679
  # @return [Types::CreateBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2653
2680
  #
2654
2681
  # * {Types::CreateBucketOutput#location #location} => String
2682
+ # * {Types::CreateBucketOutput#bucket_arn #bucket_arn} => String
2655
2683
  #
2656
2684
  #
2657
2685
  # @example Example: To create a bucket in a specific region
@@ -2698,6 +2726,12 @@ module Aws::S3
2698
2726
  # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
2699
2727
  # type: "Directory", # accepts Directory
2700
2728
  # },
2729
+ # tags: [
2730
+ # {
2731
+ # key: "ObjectKey", # required
2732
+ # value: "Value", # required
2733
+ # },
2734
+ # ],
2701
2735
  # },
2702
2736
  # grant_full_control: "GrantFullControl",
2703
2737
  # grant_read: "GrantRead",
@@ -2711,6 +2745,7 @@ module Aws::S3
2711
2745
  # @example Response structure
2712
2746
  #
2713
2747
  # resp.location #=> String
2748
+ # resp.bucket_arn #=> String
2714
2749
  #
2715
2750
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket AWS API Documentation
2716
2751
  #
@@ -2721,8 +2756,8 @@ module Aws::S3
2721
2756
  req.send_request(options)
2722
2757
  end
2723
2758
 
2724
- # Creates a metadata table configuration for a general purpose bucket.
2725
- # For more information, see [Accelerating data discovery with S3
2759
+ # Creates an S3 Metadata V2 metadata configuration for a general purpose
2760
+ # bucket. For more information, see [Accelerating data discovery with S3
2726
2761
  # Metadata][1] in the *Amazon S3 User Guide*.
2727
2762
  #
2728
2763
  # Permissions
@@ -2731,14 +2766,31 @@ module Aws::S3
2731
2766
  # more information, see [Setting up permissions for configuring
2732
2767
  # metadata tables][2] in the *Amazon S3 User Guide*.
2733
2768
  #
2769
+ # If you want to encrypt your metadata tables with server-side
2770
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2771
+ # need additional permissions in your KMS key policy. For more
2772
+ # information, see [ Setting up permissions for configuring metadata
2773
+ # tables][2] in the *Amazon S3 User Guide*.
2774
+ #
2734
2775
  # If you also want to integrate your table bucket with Amazon Web
2735
2776
  # Services analytics services so that you can query your metadata
2736
2777
  # table, you need additional permissions. For more information, see [
2737
2778
  # Integrating Amazon S3 Tables with Amazon Web Services analytics
2738
2779
  # services][3] in the *Amazon S3 User Guide*.
2739
2780
  #
2781
+ # To query your metadata tables, you need additional permissions. For
2782
+ # more information, see [ Permissions for querying metadata tables][4]
2783
+ # in the *Amazon S3 User Guide*.
2784
+ #
2740
2785
  # * `s3:CreateBucketMetadataTableConfiguration`
2741
2786
  #
2787
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
2788
+ # operations.
2789
+ #
2790
+ # </note>
2791
+ #
2792
+ # * `s3tables:CreateTableBucket`
2793
+ #
2742
2794
  # * `s3tables:CreateNamespace`
2743
2795
  #
2744
2796
  # * `s3tables:GetTable`
@@ -2747,24 +2799,158 @@ module Aws::S3
2747
2799
  #
2748
2800
  # * `s3tables:PutTablePolicy`
2749
2801
  #
2802
+ # * `s3tables:PutTableEncryption`
2803
+ #
2804
+ # * `kms:DescribeKey`
2805
+ #
2750
2806
  # The following operations are related to
2751
- # `CreateBucketMetadataTableConfiguration`:
2807
+ # `CreateBucketMetadataConfiguration`:
2808
+ #
2809
+ # * [DeleteBucketMetadataConfiguration][5]
2752
2810
  #
2753
- # * [DeleteBucketMetadataTableConfiguration][4]
2811
+ # * [GetBucketMetadataConfiguration][6]
2754
2812
  #
2755
- # * [GetBucketMetadataTableConfiguration][5]
2813
+ # * [UpdateBucketMetadataInventoryTableConfiguration][7]
2814
+ #
2815
+ # * [UpdateBucketMetadataJournalTableConfiguration][8]
2816
+ #
2817
+ # You must URL encode any signed header values that contain spaces. For
2818
+ # example, if your header value is `my file.txt`, containing two spaces
2819
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
2756
2820
  #
2757
2821
  #
2758
2822
  #
2759
2823
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2760
2824
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2761
2825
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2762
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2763
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2826
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-bucket-query-permissions.html
2827
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
2828
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
2829
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
2830
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
2831
+ #
2832
+ # @option params [required, String] :bucket
2833
+ # The general purpose bucket that you want to create the metadata
2834
+ # configuration for.
2835
+ #
2836
+ # @option params [String] :content_md5
2837
+ # The `Content-MD5` header for the metadata configuration.
2838
+ #
2839
+ # @option params [String] :checksum_algorithm
2840
+ # The checksum algorithm to use with your metadata configuration.
2841
+ #
2842
+ # @option params [required, Types::MetadataConfiguration] :metadata_configuration
2843
+ # The contents of your metadata configuration.
2844
+ #
2845
+ # @option params [String] :expected_bucket_owner
2846
+ # The expected owner of the general purpose bucket that corresponds to
2847
+ # your metadata configuration.
2848
+ #
2849
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2850
+ #
2851
+ # @example Request syntax with placeholder values
2852
+ #
2853
+ # resp = client.create_bucket_metadata_configuration({
2854
+ # bucket: "BucketName", # required
2855
+ # content_md5: "ContentMD5",
2856
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2857
+ # metadata_configuration: { # required
2858
+ # journal_table_configuration: { # required
2859
+ # record_expiration: { # required
2860
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
2861
+ # days: 1,
2862
+ # },
2863
+ # encryption_configuration: {
2864
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2865
+ # kms_key_arn: "KmsKeyArn",
2866
+ # },
2867
+ # },
2868
+ # inventory_table_configuration: {
2869
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
2870
+ # encryption_configuration: {
2871
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2872
+ # kms_key_arn: "KmsKeyArn",
2873
+ # },
2874
+ # },
2875
+ # },
2876
+ # expected_bucket_owner: "AccountId",
2877
+ # })
2878
+ #
2879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfiguration AWS API Documentation
2880
+ #
2881
+ # @overload create_bucket_metadata_configuration(params = {})
2882
+ # @param [Hash] params ({})
2883
+ def create_bucket_metadata_configuration(params = {}, options = {})
2884
+ req = build_request(:create_bucket_metadata_configuration, params)
2885
+ req.send_request(options)
2886
+ end
2887
+
2888
+ # We recommend that you create your S3 Metadata configurations by using
2889
+ # the V2 [CreateBucketMetadataConfiguration][1] API operation. We no
2890
+ # longer recommend using the V1 `CreateBucketMetadataTableConfiguration`
2891
+ # API operation.
2892
+ #
2893
+ # If you created your S3 Metadata configuration before July 15, 2025,
2894
+ # we
2895
+ # recommend that you delete and re-create your configuration by using
2896
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
2897
+ # table records and create a live inventory table.
2898
+ #
2899
+ # Creates a V1 S3 Metadata configuration for a general purpose bucket.
2900
+ # For more information, see [Accelerating data discovery with S3
2901
+ # Metadata][2] in the *Amazon S3 User Guide*.
2902
+ #
2903
+ # Permissions
2904
+ #
2905
+ # : To use this operation, you must have the following permissions. For
2906
+ # more information, see [Setting up permissions for configuring
2907
+ # metadata tables][3] in the *Amazon S3 User Guide*.
2908
+ #
2909
+ # If you want to encrypt your metadata tables with server-side
2910
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2911
+ # need additional permissions. For more information, see [ Setting up
2912
+ # permissions for configuring metadata tables][3] in the *Amazon S3
2913
+ # User Guide*.
2914
+ #
2915
+ # If you also want to integrate your table bucket with Amazon Web
2916
+ # Services analytics services so that you can query your metadata
2917
+ # table, you need additional permissions. For more information, see [
2918
+ # Integrating Amazon S3 Tables with Amazon Web Services analytics
2919
+ # services][4] in the *Amazon S3 User Guide*.
2920
+ #
2921
+ # * `s3:CreateBucketMetadataTableConfiguration`
2922
+ #
2923
+ # * `s3tables:CreateNamespace`
2924
+ #
2925
+ # * `s3tables:GetTable`
2926
+ #
2927
+ # * `s3tables:CreateTable`
2928
+ #
2929
+ # * `s3tables:PutTablePolicy`
2930
+ #
2931
+ # The following operations are related to
2932
+ # `CreateBucketMetadataTableConfiguration`:
2933
+ #
2934
+ # * [DeleteBucketMetadataTableConfiguration][5]
2935
+ #
2936
+ # * [GetBucketMetadataTableConfiguration][6]
2937
+ #
2938
+ # You must URL encode any signed header values that contain spaces. For
2939
+ # example, if your header value is `my file.txt`, containing two spaces
2940
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
2941
+ #
2942
+ #
2943
+ #
2944
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
2945
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2946
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2947
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2948
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2949
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2764
2950
  #
2765
2951
  # @option params [required, String] :bucket
2766
2952
  # The general purpose bucket that you want to create the metadata table
2767
- # configuration in.
2953
+ # configuration for.
2768
2954
  #
2769
2955
  # @option params [String] :content_md5
2770
2956
  # The `Content-MD5` header for the metadata table configuration.
@@ -2776,8 +2962,8 @@ module Aws::S3
2776
2962
  # The contents of your metadata table configuration.
2777
2963
  #
2778
2964
  # @option params [String] :expected_bucket_owner
2779
- # The expected owner of the general purpose bucket that contains your
2780
- # metadata table configuration.
2965
+ # The expected owner of the general purpose bucket that corresponds to
2966
+ # your metadata table configuration.
2781
2967
  #
2782
2968
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2783
2969
  #
@@ -2805,19 +2991,17 @@ module Aws::S3
2805
2991
  req.send_request(options)
2806
2992
  end
2807
2993
 
2808
- # End of support notice: Beginning October 1, 2025, Amazon S3 will
2809
- # discontinue support for creating new Email Grantee Access Control
2810
- # Lists (ACL). Email Grantee ACLs created prior to this date will
2811
- # continue to work and remain accessible through the Amazon Web Services
2812
- # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2813
- # However, you will no longer be able to create new Email Grantee ACLs.
2994
+ # End of support notice: As of October 1, 2025, Amazon S3 has
2995
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
2996
+ # you attempt to use an Email Grantee ACL in a request after October 1,
2997
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
2998
+ # error.
2814
2999
  #
2815
3000
  # This change affects the following Amazon Web Services Regions: US
2816
3001
  # East
2817
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2818
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2819
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2820
- # America (São Paulo) Region.
3002
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
3003
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
3004
+ # (Ireland), and South America (São Paulo).
2821
3005
  #
2822
3006
  # This action initiates a multipart upload and returns an upload ID.
2823
3007
  # This upload ID is used to associate all of the parts in the specific
@@ -3053,6 +3237,10 @@ module Aws::S3
3053
3237
  #
3054
3238
  # * [ListMultipartUploads][19]
3055
3239
  #
3240
+ # You must URL encode any signed header values that contain spaces. For
3241
+ # example, if your header value is `my file.txt`, containing two spaces
3242
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
3243
+ #
3056
3244
  #
3057
3245
  #
3058
3246
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
@@ -3743,7 +3931,7 @@ module Aws::S3
3743
3931
  # "MetadataKey" => "MetadataValue",
3744
3932
  # },
3745
3933
  # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3746
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
3934
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
3747
3935
  # website_redirect_location: "WebsiteRedirectLocation",
3748
3936
  # sse_customer_algorithm: "SSECustomerAlgorithm",
3749
3937
  # sse_customer_key: "SSECustomerKey",
@@ -3933,6 +4121,10 @@ module Aws::S3
3933
4121
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
3934
4122
  # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
3935
4123
  #
4124
+ # You must URL encode any signed header values that contain spaces. For
4125
+ # example, if your header value is `my file.txt`, containing two spaces
4126
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4127
+ #
3936
4128
  #
3937
4129
  #
3938
4130
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html
@@ -4135,6 +4327,10 @@ module Aws::S3
4135
4327
  #
4136
4328
  # * [DeleteObject][5]
4137
4329
  #
4330
+ # You must URL encode any signed header values that contain spaces. For
4331
+ # example, if your header value is `my file.txt`, containing two spaces
4332
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4333
+ #
4138
4334
  #
4139
4335
  #
4140
4336
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -4225,6 +4421,10 @@ module Aws::S3
4225
4421
  #
4226
4422
  # * [PutBucketAnalyticsConfiguration][6]
4227
4423
  #
4424
+ # You must URL encode any signed header values that contain spaces. For
4425
+ # example, if your header value is `my file.txt`, containing two spaces
4426
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4427
+ #
4228
4428
  #
4229
4429
  #
4230
4430
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -4284,6 +4484,10 @@ module Aws::S3
4284
4484
  #
4285
4485
  # * [RESTOPTIONSobject][3]
4286
4486
  #
4487
+ # You must URL encode any signed header values that contain spaces. For
4488
+ # example, if your header value is `my file.txt`, containing two spaces
4489
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4490
+ #
4287
4491
  #
4288
4492
  #
4289
4493
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
@@ -4372,6 +4576,10 @@ module Aws::S3
4372
4576
  #
4373
4577
  # * [GetBucketEncryption][7]
4374
4578
  #
4579
+ # You must URL encode any signed header values that contain spaces. For
4580
+ # example, if your header value is `my file.txt`, containing two spaces
4581
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4582
+ #
4375
4583
  #
4376
4584
  #
4377
4585
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
@@ -4465,6 +4673,10 @@ module Aws::S3
4465
4673
  #
4466
4674
  # * [ListBucketIntelligentTieringConfigurations][4]
4467
4675
  #
4676
+ # You must URL encode any signed header values that contain spaces. For
4677
+ # example, if your header value is `my file.txt`, containing two spaces
4678
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4679
+ #
4468
4680
  #
4469
4681
  #
4470
4682
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -4507,7 +4719,7 @@ module Aws::S3
4507
4719
  #
4508
4720
  # </note>
4509
4721
  #
4510
- # Deletes an inventory configuration (identified by the inventory ID)
4722
+ # Deletes an S3 Inventory configuration (identified by the inventory ID)
4511
4723
  # from the bucket.
4512
4724
  #
4513
4725
  # To use this operation, you must have permissions to perform the
@@ -4528,6 +4740,10 @@ module Aws::S3
4528
4740
  #
4529
4741
  # * [ListBucketInventoryConfigurations][6]
4530
4742
  #
4743
+ # You must URL encode any signed header values that contain spaces. For
4744
+ # example, if your header value is `my file.txt`, containing two spaces
4745
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4746
+ #
4531
4747
  #
4532
4748
  #
4533
4749
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -4628,6 +4844,10 @@ module Aws::S3
4628
4844
  #
4629
4845
  # * [GetBucketLifecycleConfiguration][7]
4630
4846
  #
4847
+ # You must URL encode any signed header values that contain spaces. For
4848
+ # example, if your header value is `my file.txt`, containing two spaces
4849
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4850
+ #
4631
4851
  #
4632
4852
  #
4633
4853
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
@@ -4678,10 +4898,18 @@ module Aws::S3
4678
4898
  req.send_request(options)
4679
4899
  end
4680
4900
 
4681
- # Deletes a metadata table configuration from a general purpose bucket.
4901
+ # Deletes an S3 Metadata configuration from a general purpose bucket.
4682
4902
  # For more information, see [Accelerating data discovery with S3
4683
4903
  # Metadata][1] in the *Amazon S3 User Guide*.
4684
4904
  #
4905
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4906
+ # with V1 or V2 metadata configurations. However, if you try to use the
4907
+ # V1 `DeleteBucketMetadataTableConfiguration` API operation with V2
4908
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
4909
+ # error.
4910
+ #
4911
+ # </note>
4912
+ #
4685
4913
  # Permissions
4686
4914
  #
4687
4915
  # : To use this operation, you must have the
@@ -4689,19 +4917,115 @@ module Aws::S3
4689
4917
  # information, see [Setting up permissions for configuring metadata
4690
4918
  # tables][2] in the *Amazon S3 User Guide*.
4691
4919
  #
4920
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
4921
+ # operations.
4922
+ #
4923
+ # </note>
4924
+ #
4692
4925
  # The following operations are related to
4693
- # `DeleteBucketMetadataTableConfiguration`:
4926
+ # `DeleteBucketMetadataConfiguration`:
4694
4927
  #
4695
- # * [CreateBucketMetadataTableConfiguration][3]
4928
+ # * [CreateBucketMetadataConfiguration][3]
4696
4929
  #
4697
- # * [GetBucketMetadataTableConfiguration][4]
4930
+ # * [GetBucketMetadataConfiguration][4]
4931
+ #
4932
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
4933
+ #
4934
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
4935
+ #
4936
+ # You must URL encode any signed header values that contain spaces. For
4937
+ # example, if your header value is `my file.txt`, containing two spaces
4938
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
4698
4939
  #
4699
4940
  #
4700
4941
  #
4701
4942
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4702
4943
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4703
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4704
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4944
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4945
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
4946
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
4947
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
4948
+ #
4949
+ # @option params [required, String] :bucket
4950
+ # The general purpose bucket that you want to remove the metadata
4951
+ # configuration from.
4952
+ #
4953
+ # @option params [String] :expected_bucket_owner
4954
+ # The expected bucket owner of the general purpose bucket that you want
4955
+ # to remove the metadata table configuration from.
4956
+ #
4957
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4958
+ #
4959
+ # @example Request syntax with placeholder values
4960
+ #
4961
+ # resp = client.delete_bucket_metadata_configuration({
4962
+ # bucket: "BucketName", # required
4963
+ # expected_bucket_owner: "AccountId",
4964
+ # })
4965
+ #
4966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfiguration AWS API Documentation
4967
+ #
4968
+ # @overload delete_bucket_metadata_configuration(params = {})
4969
+ # @param [Hash] params ({})
4970
+ def delete_bucket_metadata_configuration(params = {}, options = {})
4971
+ req = build_request(:delete_bucket_metadata_configuration, params)
4972
+ req.send_request(options)
4973
+ end
4974
+
4975
+ # We recommend that you delete your S3 Metadata configurations by using
4976
+ # the V2 [DeleteBucketMetadataTableConfiguration][1] API operation. We
4977
+ # no longer recommend using the V1
4978
+ # `DeleteBucketMetadataTableConfiguration` API operation.
4979
+ #
4980
+ # If you created your S3 Metadata configuration before July 15, 2025,
4981
+ # we
4982
+ # recommend that you delete and re-create your configuration by using
4983
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
4984
+ # table records and create a live inventory table.
4985
+ #
4986
+ # Deletes a V1 S3 Metadata configuration from a general purpose bucket.
4987
+ # For more information, see [Accelerating data discovery with S3
4988
+ # Metadata][3] in the *Amazon S3 User Guide*.
4989
+ #
4990
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4991
+ # with V1 or V2 metadata table configurations. However, if you try to
4992
+ # use the V1 `DeleteBucketMetadataTableConfiguration` API operation with
4993
+ # V2 configurations, you will receive an HTTP `405 Method Not Allowed`
4994
+ # error.
4995
+ #
4996
+ # Make sure that you update your processes to use the new V2 API
4997
+ # operations (`CreateBucketMetadataConfiguration`,
4998
+ # `GetBucketMetadataConfiguration`, and
4999
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
5000
+ #
5001
+ # </note>
5002
+ #
5003
+ # Permissions
5004
+ #
5005
+ # : To use this operation, you must have the
5006
+ # `s3:DeleteBucketMetadataTableConfiguration` permission. For more
5007
+ # information, see [Setting up permissions for configuring metadata
5008
+ # tables][4] in the *Amazon S3 User Guide*.
5009
+ #
5010
+ # The following operations are related to
5011
+ # `DeleteBucketMetadataTableConfiguration`:
5012
+ #
5013
+ # * [CreateBucketMetadataTableConfiguration][5]
5014
+ #
5015
+ # * [GetBucketMetadataTableConfiguration][6]
5016
+ #
5017
+ # You must URL encode any signed header values that contain spaces. For
5018
+ # example, if your header value is `my file.txt`, containing two spaces
5019
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5020
+ #
5021
+ #
5022
+ #
5023
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
5024
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
5025
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
5026
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
5027
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
5028
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4705
5029
  #
4706
5030
  # @option params [required, String] :bucket
4707
5031
  # The general purpose bucket that you want to remove the metadata table
@@ -4758,6 +5082,10 @@ module Aws::S3
4758
5082
  #
4759
5083
  # * [Monitoring Metrics with Amazon CloudWatch][3]
4760
5084
  #
5085
+ # You must URL encode any signed header values that contain spaces. For
5086
+ # example, if your header value is `my file.txt`, containing two spaces
5087
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5088
+ #
4761
5089
  #
4762
5090
  #
4763
5091
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -4818,6 +5146,10 @@ module Aws::S3
4818
5146
  #
4819
5147
  # * PutBucketOwnershipControls
4820
5148
  #
5149
+ # You must URL encode any signed header values that contain spaces. For
5150
+ # example, if your header value is `my file.txt`, containing two spaces
5151
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5152
+ #
4821
5153
  #
4822
5154
  #
4823
5155
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -4914,6 +5246,10 @@ module Aws::S3
4914
5246
  #
4915
5247
  # * [DeleteObject][6]
4916
5248
  #
5249
+ # You must URL encode any signed header values that contain spaces. For
5250
+ # example, if your header value is `my file.txt`, containing two spaces
5251
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5252
+ #
4917
5253
  #
4918
5254
  #
4919
5255
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -5006,6 +5342,10 @@ module Aws::S3
5006
5342
  #
5007
5343
  # * [GetBucketReplication][5]
5008
5344
  #
5345
+ # You must URL encode any signed header values that contain spaces. For
5346
+ # example, if your header value is `my file.txt`, containing two spaces
5347
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5348
+ #
5009
5349
  #
5010
5350
  #
5011
5351
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -5053,7 +5393,14 @@ module Aws::S3
5053
5393
  #
5054
5394
  # </note>
5055
5395
  #
5056
- # Deletes the tags from the bucket.
5396
+ # Deletes tags from the general purpose bucket if attribute based access
5397
+ # control (ABAC) is not enabled for the bucket. When you [enable ABAC
5398
+ # for a general purpose bucket][1], you can no longer use this operation
5399
+ # for that bucket and must use [UntagResource][2] instead.
5400
+ #
5401
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
5402
+ # general purpose bucket][1], you can no longer use this operation for
5403
+ # that bucket and must use [UntagResource][2] instead.
5057
5404
  #
5058
5405
  # To use this operation, you must have permission to perform the
5059
5406
  # `s3:PutBucketTagging` action. By default, the bucket owner has this
@@ -5061,14 +5408,20 @@ module Aws::S3
5061
5408
  #
5062
5409
  # The following operations are related to `DeleteBucketTagging`:
5063
5410
  #
5064
- # * [GetBucketTagging][1]
5411
+ # * [GetBucketTagging][3]
5065
5412
  #
5066
- # * [PutBucketTagging][2]
5413
+ # * [PutBucketTagging][4]
5067
5414
  #
5415
+ # You must URL encode any signed header values that contain spaces. For
5416
+ # example, if your header value is `my file.txt`, containing two spaces
5417
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5068
5418
  #
5069
5419
  #
5070
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
5071
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
5420
+ #
5421
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
5422
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
5423
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
5424
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
5072
5425
  #
5073
5426
  # @option params [required, String] :bucket
5074
5427
  # The bucket that has the tag set to be removed.
@@ -5131,6 +5484,10 @@ module Aws::S3
5131
5484
  #
5132
5485
  # * [PutBucketWebsite][3]
5133
5486
  #
5487
+ # You must URL encode any signed header values that contain spaces. For
5488
+ # example, if your header value is `my file.txt`, containing two spaces
5489
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5490
+ #
5134
5491
  #
5135
5492
  #
5136
5493
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
@@ -5253,6 +5610,12 @@ module Aws::S3
5253
5610
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
5254
5611
  # specific version of an object from a versioning-enabled bucket,
5255
5612
  # you must have the `s3:DeleteObjectVersion` permission.
5613
+ #
5614
+ # <note markdown="1"> If the `s3:DeleteObject` or `s3:DeleteObjectVersion` permissions
5615
+ # are explicitly denied in your bucket policy, attempts to delete
5616
+ # any unversioned objects result in a `403 Access Denied` error.
5617
+ #
5618
+ # </note>
5256
5619
  # * **Directory bucket permissions** - To grant access to this API
5257
5620
  # operation on a directory bucket, we recommend that you use the [
5258
5621
  # `CreateSession` ][8] API operation for session-based
@@ -5279,6 +5642,16 @@ module Aws::S3
5279
5642
  #
5280
5643
  # ^
5281
5644
  #
5645
+ # You must URL encode any signed header values that contain spaces. For
5646
+ # example, if your header value is `my file.txt`, containing two spaces
5647
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5648
+ #
5649
+ # <note markdown="1"> The `If-Match` header is supported for both general purpose and
5650
+ # directory buckets. `IfMatchLastModifiedTime` and `IfMatchSize` is only
5651
+ # supported for directory buckets.
5652
+ #
5653
+ # </note>
5654
+ #
5282
5655
  #
5283
5656
  #
5284
5657
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html
@@ -5389,17 +5762,15 @@ module Aws::S3
5389
5762
  # fails with the HTTP status code `403 Forbidden` (access denied).
5390
5763
  #
5391
5764
  # @option params [String] :if_match
5392
- # The `If-Match` header field makes the request method conditional on
5393
- # ETags. If the ETag value does not match, the operation returns a `412
5394
- # Precondition Failed` error. If the ETag matches or if the object
5395
- # doesn't exist, the operation will return a `204 Success (No Content)
5396
- # response`.
5397
- #
5398
- # For more information about conditional requests, see [RFC 7232][1].
5765
+ # Deletes the object if the ETag (entity tag) value provided during the
5766
+ # delete operation matches the ETag of the object in S3. If the ETag
5767
+ # values do not match, the operation returns a `412 Precondition Failed`
5768
+ # error.
5399
5769
  #
5400
- # <note markdown="1"> This functionality is only supported for directory buckets.
5770
+ # Expects the ETag value as a string. `If-Match` does accept a string
5771
+ # value of an '*' (asterisk) character to denote a match of any ETag.
5401
5772
  #
5402
- # </note>
5773
+ # For more information about conditional requests, see [RFC 7232][1].
5403
5774
  #
5404
5775
  #
5405
5776
  #
@@ -5510,6 +5881,10 @@ module Aws::S3
5510
5881
  #
5511
5882
  # * [GetObjectTagging][3]
5512
5883
  #
5884
+ # You must URL encode any signed header values that contain spaces. For
5885
+ # example, if your header value is `my file.txt`, containing two spaces
5886
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
5887
+ #
5513
5888
  #
5514
5889
  #
5515
5890
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
@@ -5680,6 +6055,12 @@ module Aws::S3
5680
6055
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
5681
6056
  # specific version of an object from a versioning-enabled bucket,
5682
6057
  # you must specify the `s3:DeleteObjectVersion` permission.
6058
+ #
6059
+ # <note markdown="1"> If the `s3:DeleteObject` or `s3:DeleteObjectVersion` permissions
6060
+ # are explicitly denied in your bucket policy, attempts to delete
6061
+ # any unversioned objects result in a `403 Access Denied` error.
6062
+ #
6063
+ # </note>
5683
6064
  # * **Directory bucket permissions** - To grant access to this API
5684
6065
  # operation on a directory bucket, we recommend that you use the [
5685
6066
  # `CreateSession` ][4] API operation for session-based
@@ -5724,6 +6105,10 @@ module Aws::S3
5724
6105
  #
5725
6106
  # * [AbortMultipartUpload][9]
5726
6107
  #
6108
+ # You must URL encode any signed header values that contain spaces. For
6109
+ # example, if your header value is `my file.txt`, containing two spaces
6110
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6111
+ #
5727
6112
  #
5728
6113
  #
5729
6114
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -6004,7 +6389,10 @@ module Aws::S3
6004
6389
  # </note>
6005
6390
  #
6006
6391
  # Removes the `PublicAccessBlock` configuration for an Amazon S3 bucket.
6007
- # To use this operation, you must have the
6392
+ # This operation removes the bucket-level configuration only. The
6393
+ # effective public access behavior will still be governed by
6394
+ # account-level settings (which may inherit from organization-level
6395
+ # policies). To use this operation, you must have the
6008
6396
  # `s3:PutBucketPublicAccessBlock` permission. For more information about
6009
6397
  # permissions, see [Permissions Related to Bucket Subresource
6010
6398
  # Operations][1] and [Managing Access Permissions to Your Amazon S3
@@ -6020,6 +6408,10 @@ module Aws::S3
6020
6408
  #
6021
6409
  # * [GetBucketPolicyStatus][6]
6022
6410
  #
6411
+ # You must URL encode any signed header values that contain spaces. For
6412
+ # example, if your header value is `my file.txt`, containing two spaces
6413
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6414
+ #
6023
6415
  #
6024
6416
  #
6025
6417
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -6056,6 +6448,46 @@ module Aws::S3
6056
6448
  req.send_request(options)
6057
6449
  end
6058
6450
 
6451
+ # Returns the attribute-based access control (ABAC) property of the
6452
+ # general purpose bucket. If ABAC is enabled on your bucket, you can use
6453
+ # tags on the bucket for access control. For more information, see
6454
+ # [Enabling ABAC in general purpose buckets][1].
6455
+ #
6456
+ #
6457
+ #
6458
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
6459
+ #
6460
+ # @option params [required, String] :bucket
6461
+ # The name of the general purpose bucket.
6462
+ #
6463
+ # @option params [String] :expected_bucket_owner
6464
+ # The Amazon Web Services account ID of the general purpose bucket's
6465
+ # owner.
6466
+ #
6467
+ # @return [Types::GetBucketAbacOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6468
+ #
6469
+ # * {Types::GetBucketAbacOutput#abac_status #abac_status} => Types::AbacStatus
6470
+ #
6471
+ # @example Request syntax with placeholder values
6472
+ #
6473
+ # resp = client.get_bucket_abac({
6474
+ # bucket: "BucketName", # required
6475
+ # expected_bucket_owner: "AccountId",
6476
+ # })
6477
+ #
6478
+ # @example Response structure
6479
+ #
6480
+ # resp.abac_status.status #=> String, one of "Enabled", "Disabled"
6481
+ #
6482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbac AWS API Documentation
6483
+ #
6484
+ # @overload get_bucket_abac(params = {})
6485
+ # @param [Hash] params ({})
6486
+ def get_bucket_abac(params = {}, options = {})
6487
+ req = build_request(:get_bucket_abac, params)
6488
+ req.send_request(options)
6489
+ end
6490
+
6059
6491
  # <note markdown="1"> This operation is not supported for directory buckets.
6060
6492
  #
6061
6493
  # </note>
@@ -6092,6 +6524,10 @@ module Aws::S3
6092
6524
  #
6093
6525
  # ^
6094
6526
  #
6527
+ # You must URL encode any signed header values that contain spaces. For
6528
+ # example, if your header value is `my file.txt`, containing two spaces
6529
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6530
+ #
6095
6531
  #
6096
6532
  #
6097
6533
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -6152,19 +6588,6 @@ module Aws::S3
6152
6588
  req.send_request(options)
6153
6589
  end
6154
6590
 
6155
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
6156
- # returning `DisplayName`. Update your applications to use canonical IDs
6157
- # (unique identifier for Amazon Web Services accounts), Amazon Web
6158
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
6159
- # naming) as a direct replacement of `DisplayName`.
6160
- #
6161
- # This change affects the following Amazon Web Services Regions: US
6162
- # East
6163
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
6164
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
6165
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
6166
- # America (São Paulo) Region.
6167
- #
6168
6591
  # <note markdown="1"> This operation is not supported for directory buckets.
6169
6592
  #
6170
6593
  # </note>
@@ -6194,6 +6617,10 @@ module Aws::S3
6194
6617
  #
6195
6618
  # </note>
6196
6619
  #
6620
+ # You must URL encode any signed header values that contain spaces. For
6621
+ # example, if your header value is `my file.txt`, containing two spaces
6622
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6623
+ #
6197
6624
  # The following operations are related to `GetBucketAcl`:
6198
6625
  #
6199
6626
  # * [ListObjects][3]
@@ -6289,6 +6716,10 @@ module Aws::S3
6289
6716
  #
6290
6717
  # * [PutBucketAnalyticsConfiguration][6]
6291
6718
  #
6719
+ # You must URL encode any signed header values that contain spaces. For
6720
+ # example, if your header value is `my file.txt`, containing two spaces
6721
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6722
+ #
6292
6723
  #
6293
6724
  #
6294
6725
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -6377,6 +6808,10 @@ module Aws::S3
6377
6808
  #
6378
6809
  # * [DeleteBucketCors][4]
6379
6810
  #
6811
+ # You must URL encode any signed header values that contain spaces. For
6812
+ # example, if your header value is `my file.txt`, containing two spaces
6813
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6814
+ #
6380
6815
  #
6381
6816
  #
6382
6817
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
@@ -6469,17 +6904,19 @@ module Aws::S3
6469
6904
 
6470
6905
  # Returns the default encryption configuration for an Amazon S3 bucket.
6471
6906
  # By default, all buckets have a default encryption configuration that
6472
- # uses server-side encryption with Amazon S3 managed keys (SSE-S3).
6907
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). This
6908
+ # operation also returns the [BucketKeyEnabled][1] and
6909
+ # [BlockedEncryptionTypes][2] statuses.
6473
6910
  #
6474
6911
  # <note markdown="1"> * **General purpose buckets** - For information about the bucket
6475
6912
  # default encryption feature, see [Amazon S3 Bucket Default
6476
- # Encryption][1] in the *Amazon S3 User Guide*.
6913
+ # Encryption][3] in the *Amazon S3 User Guide*.
6477
6914
  #
6478
6915
  # * **Directory buckets** - For directory buckets, there are only two
6479
6916
  # supported options for server-side encryption: SSE-S3 and SSE-KMS.
6480
6917
  # For information about the default encryption configuration in
6481
6918
  # directory buckets, see [Setting default server-side encryption
6482
- # behavior for directory buckets][2].
6919
+ # behavior for directory buckets][4].
6483
6920
  #
6484
6921
  # </note>
6485
6922
  #
@@ -6489,8 +6926,8 @@ module Aws::S3
6489
6926
  # policy. The bucket owner has this permission by default. The
6490
6927
  # bucket owner can grant this permission to others. For more
6491
6928
  # information about permissions, see [Permissions Related to Bucket
6492
- # Operations][3] and [Managing Access Permissions to Your Amazon S3
6493
- # Resources][4].
6929
+ # Operations][5] and [Managing Access Permissions to Your Amazon S3
6930
+ # Resources][6].
6494
6931
  #
6495
6932
  # * **Directory bucket permissions** - To grant access to this API
6496
6933
  # operation, you must have the
@@ -6500,7 +6937,7 @@ module Aws::S3
6500
6937
  # only be performed by the Amazon Web Services account that owns the
6501
6938
  # resource. For more information about directory bucket policies and
6502
6939
  # permissions, see [Amazon Web Services Identity and Access
6503
- # Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
6940
+ # Management (IAM) for S3 Express One Zone][7] in the *Amazon S3
6504
6941
  # User Guide*.
6505
6942
  #
6506
6943
  # HTTP Host header syntax
@@ -6510,19 +6947,25 @@ module Aws::S3
6510
6947
  #
6511
6948
  # The following operations are related to `GetBucketEncryption`:
6512
6949
  #
6513
- # * [PutBucketEncryption][6]
6950
+ # * [PutBucketEncryption][8]
6514
6951
  #
6515
- # * [DeleteBucketEncryption][7]
6952
+ # * [DeleteBucketEncryption][9]
6516
6953
  #
6954
+ # You must URL encode any signed header values that contain spaces. For
6955
+ # example, if your header value is `my file.txt`, containing two spaces
6956
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
6517
6957
  #
6518
6958
  #
6519
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
6520
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
6521
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6522
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6523
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6524
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
6525
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
6959
+ #
6960
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html#AmazonS3-Type-ServerSideEncryptionRule-BucketKeyEnabled
6961
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html#AmazonS3-Type-ServerSideEncryptionRule-BlockedEncryptionTypes
6962
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html
6963
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
6964
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6965
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6966
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
6967
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
6968
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
6526
6969
  #
6527
6970
  # @option params [required, String] :bucket
6528
6971
  # The name of the bucket from which the server-side encryption
@@ -6571,6 +7014,8 @@ module Aws::S3
6571
7014
  # 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"
6572
7015
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
6573
7016
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
7017
+ # resp.server_side_encryption_configuration.rules[0].blocked_encryption_types.encryption_type #=> Array
7018
+ # resp.server_side_encryption_configuration.rules[0].blocked_encryption_types.encryption_type[0] #=> String, one of "NONE", "SSE-C"
6574
7019
  #
6575
7020
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption AWS API Documentation
6576
7021
  #
@@ -6616,6 +7061,10 @@ module Aws::S3
6616
7061
  #
6617
7062
  # * [ListBucketIntelligentTieringConfigurations][4]
6618
7063
  #
7064
+ # You must URL encode any signed header values that contain spaces. For
7065
+ # example, if your header value is `my file.txt`, containing two spaces
7066
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7067
+ #
6619
7068
  #
6620
7069
  #
6621
7070
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -6675,7 +7124,7 @@ module Aws::S3
6675
7124
  #
6676
7125
  # </note>
6677
7126
  #
6678
- # Returns an inventory configuration (identified by the inventory
7127
+ # Returns an S3 Inventory configuration (identified by the inventory
6679
7128
  # configuration ID) from the bucket.
6680
7129
  #
6681
7130
  # To use this operation, you must have permissions to perform the
@@ -6697,6 +7146,10 @@ module Aws::S3
6697
7146
  #
6698
7147
  # * [PutBucketInventoryConfiguration][6]
6699
7148
  #
7149
+ # You must URL encode any signed header values that contain spaces. For
7150
+ # example, if your header value is `my file.txt`, containing two spaces
7151
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7152
+ #
6700
7153
  #
6701
7154
  #
6702
7155
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -6742,7 +7195,7 @@ module Aws::S3
6742
7195
  # resp.inventory_configuration.id #=> String
6743
7196
  # resp.inventory_configuration.included_object_versions #=> String, one of "All", "Current"
6744
7197
  # resp.inventory_configuration.optional_fields #=> Array
6745
- # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner"
7198
+ # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner", "LifecycleExpirationDate"
6746
7199
  # resp.inventory_configuration.schedule.frequency #=> String, one of "Daily", "Weekly"
6747
7200
  #
6748
7201
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration AWS API Documentation
@@ -6793,6 +7246,10 @@ module Aws::S3
6793
7246
  #
6794
7247
  # * [DeleteBucketLifecycle][6]
6795
7248
  #
7249
+ # You must URL encode any signed header values that contain spaces. For
7250
+ # example, if your header value is `my file.txt`, containing two spaces
7251
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7252
+ #
6796
7253
  #
6797
7254
  #
6798
7255
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
@@ -6954,6 +7411,10 @@ module Aws::S3
6954
7411
  #
6955
7412
  # * [DeleteBucketLifecycle][8]
6956
7413
  #
7414
+ # You must URL encode any signed header values that contain spaces. For
7415
+ # example, if your header value is `my file.txt`, containing two spaces
7416
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7417
+ #
6957
7418
  #
6958
7419
  #
6959
7420
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
@@ -7058,13 +7519,25 @@ module Aws::S3
7058
7519
  req.send_request(options)
7059
7520
  end
7060
7521
 
7061
- # <note markdown="1"> This operation is not supported for directory buckets.
7062
- #
7063
- # </note>
7522
+ # Using the `GetBucketLocation` operation is no longer a best practice.
7523
+ # To return the Region that a bucket resides in, we recommend that you
7524
+ # use the [HeadBucket][1] operation instead. For backward compatibility,
7525
+ # Amazon S3 continues to support the `GetBucketLocation` operation.
7064
7526
  #
7065
7527
  # Returns the Region the bucket resides in. You set the bucket's Region
7066
7528
  # using the `LocationConstraint` request parameter in a `CreateBucket`
7067
- # request. For more information, see [CreateBucket][1].
7529
+ # request. For more information, see [CreateBucket][2].
7530
+ #
7531
+ # <note markdown="1"> In a bucket's home Region, calls to the `GetBucketLocation` operation
7532
+ # are governed by the bucket's policy. In other Regions, the bucket
7533
+ # policy doesn't apply, which means that cross-account access won't be
7534
+ # authorized. However, calls to the `HeadBucket` operation always return
7535
+ # the bucket’s location through an HTTP response header, whether access
7536
+ # to the bucket is authorized or not. Therefore, we recommend using the
7537
+ # `HeadBucket` operation for bucket Region discovery and to avoid using
7538
+ # the `GetBucketLocation` operation.
7539
+ #
7540
+ # </note>
7068
7541
  #
7069
7542
  # When you use this API operation with an access point, provide the
7070
7543
  # alias of the access point in place of the bucket name.
@@ -7074,11 +7547,9 @@ module Aws::S3
7074
7547
  # bucket name. If the Object Lambda access point alias in a request is
7075
7548
  # not valid, the error code `InvalidAccessPointAliasError` is returned.
7076
7549
  # For more information about `InvalidAccessPointAliasError`, see [List
7077
- # of Error Codes][2].
7550
+ # of Error Codes][3].
7078
7551
  #
7079
- # <note markdown="1"> We recommend that you use [HeadBucket][3] to return the Region that a
7080
- # bucket resides in. For backward compatibility, Amazon S3 continues to
7081
- # support GetBucketLocation.
7552
+ # <note markdown="1"> This operation is not supported for directory buckets.
7082
7553
  #
7083
7554
  # </note>
7084
7555
  #
@@ -7086,13 +7557,17 @@ module Aws::S3
7086
7557
  #
7087
7558
  # * [GetObject][4]
7088
7559
  #
7089
- # * [CreateBucket][1]
7560
+ # * [CreateBucket][2]
7090
7561
  #
7562
+ # You must URL encode any signed header values that contain spaces. For
7563
+ # example, if your header value is `my file.txt`, containing two spaces
7564
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7091
7565
  #
7092
7566
  #
7093
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
7094
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
7095
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
7567
+ #
7568
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
7569
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
7570
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
7096
7571
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7097
7572
  #
7098
7573
  # @option params [required, String] :bucket
@@ -7155,19 +7630,6 @@ module Aws::S3
7155
7630
  req.send_request(options)
7156
7631
  end
7157
7632
 
7158
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
7159
- # returning `DisplayName`. Update your applications to use canonical IDs
7160
- # (unique identifier for Amazon Web Services accounts), Amazon Web
7161
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
7162
- # naming) as a direct replacement of `DisplayName`.
7163
- #
7164
- # This change affects the following Amazon Web Services Regions: US
7165
- # East
7166
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
7167
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
7168
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
7169
- # America (São Paulo) Region.
7170
- #
7171
7633
  # <note markdown="1"> This operation is not supported for directory buckets.
7172
7634
  #
7173
7635
  # </note>
@@ -7181,6 +7643,10 @@ module Aws::S3
7181
7643
  #
7182
7644
  # * [PutBucketLogging][2]
7183
7645
  #
7646
+ # You must URL encode any signed header values that contain spaces. For
7647
+ # example, if your header value is `my file.txt`, containing two spaces
7648
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7649
+ #
7184
7650
  #
7185
7651
  #
7186
7652
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
@@ -7227,10 +7693,18 @@ module Aws::S3
7227
7693
  req.send_request(options)
7228
7694
  end
7229
7695
 
7230
- # Retrieves the metadata table configuration for a general purpose
7231
- # bucket. For more information, see [Accelerating data discovery with S3
7696
+ # Retrieves the S3 Metadata configuration for a general purpose bucket.
7697
+ # For more information, see [Accelerating data discovery with S3
7232
7698
  # Metadata][1] in the *Amazon S3 User Guide*.
7233
7699
  #
7700
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7701
+ # V1 or V2 metadata configurations. However, if you try to use the V1
7702
+ # `GetBucketMetadataTableConfiguration` API operation with V2
7703
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7704
+ # error.
7705
+ #
7706
+ # </note>
7707
+ #
7234
7708
  # Permissions
7235
7709
  #
7236
7710
  # : To use this operation, you must have the
@@ -7238,27 +7712,144 @@ module Aws::S3
7238
7712
  # information, see [Setting up permissions for configuring metadata
7239
7713
  # tables][2] in the *Amazon S3 User Guide*.
7240
7714
  #
7715
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
7716
+ # operations.
7717
+ #
7718
+ # </note>
7719
+ #
7241
7720
  # The following operations are related to
7242
- # `GetBucketMetadataTableConfiguration`:
7721
+ # `GetBucketMetadataConfiguration`:
7722
+ #
7723
+ # * [CreateBucketMetadataConfiguration][3]
7724
+ #
7725
+ # * [DeleteBucketMetadataConfiguration][4]
7726
+ #
7727
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
7243
7728
  #
7244
- # * [CreateBucketMetadataTableConfiguration][3]
7729
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
7245
7730
  #
7246
- # * [DeleteBucketMetadataTableConfiguration][4]
7731
+ # You must URL encode any signed header values that contain spaces. For
7732
+ # example, if your header value is `my file.txt`, containing two spaces
7733
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7247
7734
  #
7248
7735
  #
7249
7736
  #
7250
7737
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7251
7738
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7252
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7253
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7739
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7740
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
7741
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
7742
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
7254
7743
  #
7255
7744
  # @option params [required, String] :bucket
7256
- # The general purpose bucket that contains the metadata table
7745
+ # The general purpose bucket that corresponds to the metadata
7257
7746
  # configuration that you want to retrieve.
7258
7747
  #
7259
7748
  # @option params [String] :expected_bucket_owner
7260
7749
  # The expected owner of the general purpose bucket that you want to
7261
- # retrieve the metadata table configuration from.
7750
+ # retrieve the metadata table configuration for.
7751
+ #
7752
+ # @return [Types::GetBucketMetadataConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7753
+ #
7754
+ # * {Types::GetBucketMetadataConfigurationOutput#get_bucket_metadata_configuration_result #get_bucket_metadata_configuration_result} => Types::GetBucketMetadataConfigurationResult
7755
+ #
7756
+ # @example Request syntax with placeholder values
7757
+ #
7758
+ # resp = client.get_bucket_metadata_configuration({
7759
+ # bucket: "BucketName", # required
7760
+ # expected_bucket_owner: "AccountId",
7761
+ # })
7762
+ #
7763
+ # @example Response structure
7764
+ #
7765
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_type #=> String, one of "aws", "customer"
7766
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_arn #=> String
7767
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_namespace #=> String
7768
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_status #=> String
7769
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_code #=> String
7770
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_message #=> String
7771
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_name #=> String
7772
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_arn #=> String
7773
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.expiration #=> String, one of "ENABLED", "DISABLED"
7774
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.days #=> Integer
7775
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.configuration_state #=> String, one of "ENABLED", "DISABLED"
7776
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_status #=> String
7777
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_code #=> String
7778
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_message #=> String
7779
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_name #=> String
7780
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_arn #=> String
7781
+ #
7782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfiguration AWS API Documentation
7783
+ #
7784
+ # @overload get_bucket_metadata_configuration(params = {})
7785
+ # @param [Hash] params ({})
7786
+ def get_bucket_metadata_configuration(params = {}, options = {})
7787
+ req = build_request(:get_bucket_metadata_configuration, params)
7788
+ req.send_request(options)
7789
+ end
7790
+
7791
+ # We recommend that you retrieve your S3 Metadata configurations by
7792
+ # using the V2 [GetBucketMetadataTableConfiguration][1] API operation.
7793
+ # We no longer recommend using the V1
7794
+ # `GetBucketMetadataTableConfiguration` API operation.
7795
+ #
7796
+ # If you created your S3 Metadata configuration before July 15, 2025,
7797
+ # we
7798
+ # recommend that you delete and re-create your configuration by using
7799
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
7800
+ # table records and create a live inventory table.
7801
+ #
7802
+ # Retrieves the V1 S3 Metadata configuration for a general purpose
7803
+ # bucket. For more information, see [Accelerating data discovery with S3
7804
+ # Metadata][3] in the *Amazon S3 User Guide*.
7805
+ #
7806
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7807
+ # V1 or V2 metadata table configurations. However, if you try to use the
7808
+ # V1 `GetBucketMetadataTableConfiguration` API operation with V2
7809
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7810
+ # error.
7811
+ #
7812
+ # Make sure that you update your processes to use the new V2 API
7813
+ # operations (`CreateBucketMetadataConfiguration`,
7814
+ # `GetBucketMetadataConfiguration`, and
7815
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
7816
+ #
7817
+ # </note>
7818
+ #
7819
+ # Permissions
7820
+ #
7821
+ # : To use this operation, you must have the
7822
+ # `s3:GetBucketMetadataTableConfiguration` permission. For more
7823
+ # information, see [Setting up permissions for configuring metadata
7824
+ # tables][4] in the *Amazon S3 User Guide*.
7825
+ #
7826
+ # The following operations are related to
7827
+ # `GetBucketMetadataTableConfiguration`:
7828
+ #
7829
+ # * [CreateBucketMetadataTableConfiguration][5]
7830
+ #
7831
+ # * [DeleteBucketMetadataTableConfiguration][6]
7832
+ #
7833
+ # You must URL encode any signed header values that contain spaces. For
7834
+ # example, if your header value is `my file.txt`, containing two spaces
7835
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7836
+ #
7837
+ #
7838
+ #
7839
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
7840
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7841
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7842
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7843
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7844
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7845
+ #
7846
+ # @option params [required, String] :bucket
7847
+ # The general purpose bucket that corresponds to the metadata table
7848
+ # configuration that you want to retrieve.
7849
+ #
7850
+ # @option params [String] :expected_bucket_owner
7851
+ # The expected owner of the general purpose bucket that you want to
7852
+ # retrieve the metadata table configuration for.
7262
7853
  #
7263
7854
  # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7264
7855
  #
@@ -7319,6 +7910,10 @@ module Aws::S3
7319
7910
  #
7320
7911
  # * [Monitoring Metrics with Amazon CloudWatch][3]
7321
7912
  #
7913
+ # You must URL encode any signed header values that contain spaces. For
7914
+ # example, if your header value is `my file.txt`, containing two spaces
7915
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
7916
+ #
7322
7917
  #
7323
7918
  #
7324
7919
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -7542,6 +8137,10 @@ module Aws::S3
7542
8137
  #
7543
8138
  # ^
7544
8139
  #
8140
+ # You must URL encode any signed header values that contain spaces. For
8141
+ # example, if your header value is `my file.txt`, containing two spaces
8142
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8143
+ #
7545
8144
  #
7546
8145
  #
7547
8146
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
@@ -7655,6 +8254,10 @@ module Aws::S3
7655
8254
  #
7656
8255
  # * DeleteBucketOwnershipControls
7657
8256
  #
8257
+ # You must URL encode any signed header values that contain spaces. For
8258
+ # example, if your header value is `my file.txt`, containing two spaces
8259
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8260
+ #
7658
8261
  #
7659
8262
  #
7660
8263
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html
@@ -7766,6 +8369,10 @@ module Aws::S3
7766
8369
  #
7767
8370
  # ^
7768
8371
  #
8372
+ # You must URL encode any signed header values that contain spaces. For
8373
+ # example, if your header value is `my file.txt`, containing two spaces
8374
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8375
+ #
7769
8376
  #
7770
8377
  #
7771
8378
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -7836,7 +8443,7 @@ module Aws::S3
7836
8443
  #
7837
8444
  # resp.to_h outputs the following:
7838
8445
  # {
7839
- # 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\"]}]}",
8446
+ # 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\"]}]}",
7840
8447
  # }
7841
8448
  #
7842
8449
  # @example Request syntax with placeholder values
@@ -7882,6 +8489,10 @@ module Aws::S3
7882
8489
  #
7883
8490
  # * [DeletePublicAccessBlock][6]
7884
8491
  #
8492
+ # You must URL encode any signed header values that contain spaces. For
8493
+ # example, if your header value is `my file.txt`, containing two spaces
8494
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8495
+ #
7885
8496
  #
7886
8497
  #
7887
8498
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -7956,6 +8567,10 @@ module Aws::S3
7956
8567
  #
7957
8568
  # * [DeleteBucketReplication][5]
7958
8569
  #
8570
+ # You must URL encode any signed header values that contain spaces. For
8571
+ # example, if your header value is `my file.txt`, containing two spaces
8572
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8573
+ #
7959
8574
  #
7960
8575
  #
7961
8576
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
@@ -8029,7 +8644,7 @@ module Aws::S3
8029
8644
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
8030
8645
  # resp.replication_configuration.rules[0].destination.bucket #=> String
8031
8646
  # resp.replication_configuration.rules[0].destination.account #=> String
8032
- # 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"
8647
+ # 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", "FSX_ONTAP"
8033
8648
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
8034
8649
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
8035
8650
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -8061,6 +8676,10 @@ module Aws::S3
8061
8676
  #
8062
8677
  # ^
8063
8678
  #
8679
+ # You must URL encode any signed header values that contain spaces. For
8680
+ # example, if your header value is `my file.txt`, containing two spaces
8681
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8682
+ #
8064
8683
  #
8065
8684
  #
8066
8685
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
@@ -8117,7 +8736,11 @@ module Aws::S3
8117
8736
  #
8118
8737
  # </note>
8119
8738
  #
8120
- # Returns the tag set associated with the bucket.
8739
+ # Returns the tag set associated with the general purpose bucket.
8740
+ #
8741
+ # if ABAC is not enabled for the bucket. When you [enable ABAC for a
8742
+ # general purpose bucket][1], you can no longer use this operation for
8743
+ # that bucket and must use [ListTagsForResource][2] instead.
8121
8744
  #
8122
8745
  # To use this operation, you must have permission to perform the
8123
8746
  # `s3:GetBucketTagging` action. By default, the bucket owner has this
@@ -8133,14 +8756,20 @@ module Aws::S3
8133
8756
  #
8134
8757
  # The following operations are related to `GetBucketTagging`:
8135
8758
  #
8136
- # * [PutBucketTagging][1]
8759
+ # * [PutBucketTagging][3]
8760
+ #
8761
+ # * [DeleteBucketTagging][4]
8137
8762
  #
8138
- # * [DeleteBucketTagging][2]
8763
+ # You must URL encode any signed header values that contain spaces. For
8764
+ # example, if your header value is `my file.txt`, containing two spaces
8765
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8139
8766
  #
8140
8767
  #
8141
8768
  #
8142
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
8143
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
8769
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
8770
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html
8771
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
8772
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
8144
8773
  #
8145
8774
  # @option params [required, String] :bucket
8146
8775
  # The name of the bucket for which to get the tagging information.
@@ -8221,6 +8850,10 @@ module Aws::S3
8221
8850
  #
8222
8851
  # * [DeleteObject][3]
8223
8852
  #
8853
+ # You must URL encode any signed header values that contain spaces. For
8854
+ # example, if your header value is `my file.txt`, containing two spaces
8855
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8856
+ #
8224
8857
  #
8225
8858
  #
8226
8859
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
@@ -8297,6 +8930,10 @@ module Aws::S3
8297
8930
  #
8298
8931
  # * [PutBucketWebsite][3]
8299
8932
  #
8933
+ # You must URL encode any signed header values that contain spaces. For
8934
+ # example, if your header value is `my file.txt`, containing two spaces
8935
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
8936
+ #
8300
8937
  #
8301
8938
  #
8302
8939
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
@@ -8531,6 +9168,10 @@ module Aws::S3
8531
9168
  #
8532
9169
  # * [GetObjectAcl][10]
8533
9170
  #
9171
+ # You must URL encode any signed header values that contain spaces. For
9172
+ # example, if your header value is `my file.txt`, containing two spaces
9173
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
9174
+ #
8534
9175
  #
8535
9176
  #
8536
9177
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
@@ -9018,7 +9659,7 @@ module Aws::S3
9018
9659
  # resp.sse_customer_key_md5 #=> String
9019
9660
  # resp.ssekms_key_id #=> String
9020
9661
  # resp.bucket_key_enabled #=> Boolean
9021
- # 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"
9662
+ # 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", "FSX_ONTAP"
9022
9663
  # resp.request_charged #=> String, one of "requester"
9023
9664
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
9024
9665
  # resp.parts_count #=> Integer
@@ -9070,6 +9711,10 @@ module Aws::S3
9070
9711
  #
9071
9712
  # * [PutObject][6]
9072
9713
  #
9714
+ # You must URL encode any signed header values that contain spaces. For
9715
+ # example, if your header value is `my file.txt`, containing two spaces
9716
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
9717
+ #
9073
9718
  #
9074
9719
  #
9075
9720
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping
@@ -9393,6 +10038,10 @@ module Aws::S3
9393
10038
  #
9394
10039
  # * [ListParts][16]
9395
10040
  #
10041
+ # You must URL encode any signed header values that contain spaces. For
10042
+ # example, if your header value is `my file.txt`, containing two spaces
10043
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10044
+ #
9396
10045
  #
9397
10046
  #
9398
10047
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -9597,7 +10246,7 @@ module Aws::S3
9597
10246
  # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9598
10247
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9599
10248
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9600
- # 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"
10249
+ # 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", "FSX_ONTAP"
9601
10250
  # resp.object_size #=> Integer
9602
10251
  #
9603
10252
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes AWS API Documentation
@@ -9624,6 +10273,10 @@ module Aws::S3
9624
10273
  #
9625
10274
  # ^
9626
10275
  #
10276
+ # You must URL encode any signed header values that contain spaces. For
10277
+ # example, if your header value is `my file.txt`, containing two spaces
10278
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10279
+ #
9627
10280
  #
9628
10281
  #
9629
10282
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -9722,6 +10375,10 @@ module Aws::S3
9722
10375
  #
9723
10376
  # ^
9724
10377
  #
10378
+ # You must URL encode any signed header values that contain spaces. For
10379
+ # example, if your header value is `my file.txt`, containing two spaces
10380
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10381
+ #
9725
10382
  #
9726
10383
  #
9727
10384
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -9794,6 +10451,10 @@ module Aws::S3
9794
10451
  #
9795
10452
  # ^
9796
10453
  #
10454
+ # You must URL encode any signed header values that contain spaces. For
10455
+ # example, if your header value is `my file.txt`, containing two spaces
10456
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10457
+ #
9797
10458
  #
9798
10459
  #
9799
10460
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -9906,6 +10567,10 @@ module Aws::S3
9906
10567
  #
9907
10568
  # * [PutObjectTagging][4]
9908
10569
  #
10570
+ # You must URL encode any signed header values that contain spaces. For
10571
+ # example, if your header value is `my file.txt`, containing two spaces
10572
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10573
+ #
9909
10574
  #
9910
10575
  #
9911
10576
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
@@ -10072,6 +10737,10 @@ module Aws::S3
10072
10737
  #
10073
10738
  # ^
10074
10739
  #
10740
+ # You must URL encode any signed header values that contain spaces. For
10741
+ # example, if your header value is `my file.txt`, containing two spaces
10742
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10743
+ #
10075
10744
  #
10076
10745
  #
10077
10746
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
@@ -10155,17 +10824,21 @@ module Aws::S3
10155
10824
  # </note>
10156
10825
  #
10157
10826
  # Retrieves the `PublicAccessBlock` configuration for an Amazon S3
10158
- # bucket. To use this operation, you must have the
10827
+ # bucket. This operation returns the bucket-level configuration only. To
10828
+ # understand the effective public access behavior, you must also
10829
+ # consider account-level settings (which may inherit from
10830
+ # organization-level policies). To use this operation, you must have the
10159
10831
  # `s3:GetBucketPublicAccessBlock` permission. For more information about
10160
10832
  # Amazon S3 permissions, see [Specifying Permissions in a Policy][1].
10161
10833
  #
10162
10834
  # When Amazon S3 evaluates the `PublicAccessBlock` configuration for a
10163
10835
  # bucket or an object, it checks the `PublicAccessBlock` configuration
10164
10836
  # for both the bucket (or the bucket that contains the object) and the
10165
- # bucket owner's account. If the `PublicAccessBlock` settings are
10166
- # different between the bucket and the account, Amazon S3 uses the most
10167
- # restrictive combination of the bucket-level and account-level
10168
- # settings.
10837
+ # bucket owner's account. Account-level settings automatically inherit
10838
+ # from organization-level policies when present. If the
10839
+ # `PublicAccessBlock` settings are different between the bucket and the
10840
+ # account, Amazon S3 uses the most restrictive combination of the
10841
+ # bucket-level and account-level settings.
10169
10842
  #
10170
10843
  # For more information about when Amazon S3 considers a bucket or an
10171
10844
  # object public, see [The Meaning of "Public"][2].
@@ -10180,6 +10853,10 @@ module Aws::S3
10180
10853
  #
10181
10854
  # * [DeletePublicAccessBlock][6]
10182
10855
  #
10856
+ # You must URL encode any signed header values that contain spaces. For
10857
+ # example, if your header value is `my file.txt`, containing two spaces
10858
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10859
+ #
10183
10860
  #
10184
10861
  #
10185
10862
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -10226,13 +10903,19 @@ module Aws::S3
10226
10903
  end
10227
10904
 
10228
10905
  # You can use this operation to determine if a bucket exists and if you
10229
- # have permission to access it. The action returns a `200 OK` if the
10230
- # bucket exists and you have permission to access it.
10231
- #
10232
- # <note markdown="1"> If the bucket does not exist or you do not have permission to access
10906
+ # have permission to access it. The action returns a `200 OK` HTTP
10907
+ # status code if the bucket exists and you have permission to access it.
10908
+ # You can make a `HeadBucket` call on any bucket name to any Region in
10909
+ # the partition, and regardless of the permissions on the bucket, you
10910
+ # will receive a response header with the correct bucket location so
10911
+ # that you can then make a proper, signed request to the appropriate
10912
+ # Regional endpoint.
10913
+ #
10914
+ # <note markdown="1"> If the bucket doesn't exist or you don't have permission to access
10233
10915
  # it, the `HEAD` request returns a generic `400 Bad Request`, `403
10234
- # Forbidden` or `404 Not Found` code. A message body is not included, so
10235
- # you cannot determine the exception beyond these HTTP response codes.
10916
+ # Forbidden`, or `404 Not Found` HTTP status code. A message body isn't
10917
+ # included, so you can't determine the exception beyond these HTTP
10918
+ # response codes.
10236
10919
  #
10237
10920
  # </note>
10238
10921
  #
@@ -10295,6 +10978,10 @@ module Aws::S3
10295
10978
  #
10296
10979
  # </note>
10297
10980
  #
10981
+ # You must URL encode any signed header values that contain spaces. For
10982
+ # example, if your header value is `my file.txt`, containing two spaces
10983
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
10984
+ #
10298
10985
  #
10299
10986
  #
10300
10987
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
@@ -10364,6 +11051,7 @@ module Aws::S3
10364
11051
  #
10365
11052
  # @return [Types::HeadBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10366
11053
  #
11054
+ # * {Types::HeadBucketOutput#bucket_arn #bucket_arn} => String
10367
11055
  # * {Types::HeadBucketOutput#bucket_location_type #bucket_location_type} => String
10368
11056
  # * {Types::HeadBucketOutput#bucket_location_name #bucket_location_name} => String
10369
11057
  # * {Types::HeadBucketOutput#bucket_region #bucket_region} => String
@@ -10387,6 +11075,7 @@ module Aws::S3
10387
11075
  #
10388
11076
  # @example Response structure
10389
11077
  #
11078
+ # resp.bucket_arn #=> String
10390
11079
  # resp.bucket_location_type #=> String, one of "AvailabilityZone", "LocalZone"
10391
11080
  # resp.bucket_location_name #=> String
10392
11081
  # resp.bucket_region #=> String
@@ -10553,6 +11242,10 @@ module Aws::S3
10553
11242
  #
10554
11243
  # * [GetObjectAttributes][9]
10555
11244
  #
11245
+ # You must URL encode any signed header values that contain spaces. For
11246
+ # example, if your header value is `my file.txt`, containing two spaces
11247
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11248
+ #
10556
11249
  #
10557
11250
  #
10558
11251
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
@@ -10919,7 +11612,7 @@ module Aws::S3
10919
11612
  # resp.sse_customer_key_md5 #=> String
10920
11613
  # resp.ssekms_key_id #=> String
10921
11614
  # resp.bucket_key_enabled #=> Boolean
10922
- # 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"
11615
+ # 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", "FSX_ONTAP"
10923
11616
  # resp.request_charged #=> String, one of "requester"
10924
11617
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
10925
11618
  # resp.parts_count #=> Integer
@@ -10978,6 +11671,10 @@ module Aws::S3
10978
11671
  #
10979
11672
  # * [PutBucketAnalyticsConfiguration][6]
10980
11673
  #
11674
+ # You must URL encode any signed header values that contain spaces. For
11675
+ # example, if your header value is `my file.txt`, containing two spaces
11676
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11677
+ #
10981
11678
  #
10982
11679
  #
10983
11680
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -11079,6 +11776,10 @@ module Aws::S3
11079
11776
  #
11080
11777
  # * [GetBucketIntelligentTieringConfiguration][4]
11081
11778
  #
11779
+ # You must URL encode any signed header values that contain spaces. For
11780
+ # example, if your header value is `my file.txt`, containing two spaces
11781
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11782
+ #
11082
11783
  #
11083
11784
  #
11084
11785
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -11146,8 +11847,8 @@ module Aws::S3
11146
11847
  #
11147
11848
  # </note>
11148
11849
  #
11149
- # Returns a list of inventory configurations for the bucket. You can
11150
- # have up to 1,000 analytics configurations per bucket.
11850
+ # Returns a list of S3 Inventory configurations for the bucket. You can
11851
+ # have up to 1,000 inventory configurations per bucket.
11151
11852
  #
11152
11853
  # This action supports list pagination and does not return more than 100
11153
11854
  # configurations at a time. Always check the `IsTruncated` element in
@@ -11177,6 +11878,10 @@ module Aws::S3
11177
11878
  #
11178
11879
  # * [PutBucketInventoryConfiguration][6]
11179
11880
  #
11881
+ # You must URL encode any signed header values that contain spaces. For
11882
+ # example, if your header value is `my file.txt`, containing two spaces
11883
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11884
+ #
11180
11885
  #
11181
11886
  #
11182
11887
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -11230,7 +11935,7 @@ module Aws::S3
11230
11935
  # resp.inventory_configuration_list[0].id #=> String
11231
11936
  # resp.inventory_configuration_list[0].included_object_versions #=> String, one of "All", "Current"
11232
11937
  # resp.inventory_configuration_list[0].optional_fields #=> Array
11233
- # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner"
11938
+ # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner", "LifecycleExpirationDate"
11234
11939
  # resp.inventory_configuration_list[0].schedule.frequency #=> String, one of "Daily", "Weekly"
11235
11940
  # resp.is_truncated #=> Boolean
11236
11941
  # resp.next_continuation_token #=> String
@@ -11281,6 +11986,10 @@ module Aws::S3
11281
11986
  #
11282
11987
  # * [DeleteBucketMetricsConfiguration][6]
11283
11988
  #
11989
+ # You must URL encode any signed header values that contain spaces. For
11990
+ # example, if your header value is `my file.txt`, containing two spaces
11991
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
11992
+ #
11284
11993
  #
11285
11994
  #
11286
11995
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -11344,21 +12053,8 @@ module Aws::S3
11344
12053
  def list_bucket_metrics_configurations(params = {}, options = {})
11345
12054
  req = build_request(:list_bucket_metrics_configurations, params)
11346
12055
  req.send_request(options)
11347
- end
11348
-
11349
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11350
- # returning `DisplayName`. Update your applications to use canonical IDs
11351
- # (unique identifier for Amazon Web Services accounts), Amazon Web
11352
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
11353
- # naming) as a direct replacement of `DisplayName`.
11354
- #
11355
- # This change affects the following Amazon Web Services Regions: US
11356
- # East
11357
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11358
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11359
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11360
- # America (São Paulo) Region.
11361
- #
12056
+ end
12057
+
11362
12058
  # <note markdown="1"> This operation is not supported for directory buckets.
11363
12059
  #
11364
12060
  # </note>
@@ -11379,6 +12075,10 @@ module Aws::S3
11379
12075
  # rejected for Amazon Web Services accounts with a general purpose
11380
12076
  # bucket quota greater than 10,000.
11381
12077
  #
12078
+ # You must URL encode any signed header values that contain spaces. For
12079
+ # example, if your header value is `my file.txt`, containing two spaces
12080
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12081
+ #
11382
12082
  #
11383
12083
  #
11384
12084
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
@@ -11483,6 +12183,7 @@ module Aws::S3
11483
12183
  # resp.buckets[0].name #=> String
11484
12184
  # resp.buckets[0].creation_date #=> Time
11485
12185
  # resp.buckets[0].bucket_region #=> String
12186
+ # resp.buckets[0].bucket_arn #=> String
11486
12187
  # resp.owner.display_name #=> String
11487
12188
  # resp.owner.id #=> String
11488
12189
  # resp.continuation_token #=> String
@@ -11536,6 +12237,10 @@ module Aws::S3
11536
12237
  #
11537
12238
  # </note>
11538
12239
  #
12240
+ # You must URL encode any signed header values that contain spaces. For
12241
+ # example, if your header value is `my file.txt`, containing two spaces
12242
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12243
+ #
11539
12244
  #
11540
12245
  #
11541
12246
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
@@ -11574,6 +12279,7 @@ module Aws::S3
11574
12279
  # resp.buckets[0].name #=> String
11575
12280
  # resp.buckets[0].creation_date #=> Time
11576
12281
  # resp.buckets[0].bucket_region #=> String
12282
+ # resp.buckets[0].bucket_arn #=> String
11577
12283
  # resp.continuation_token #=> String
11578
12284
  #
11579
12285
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListDirectoryBuckets AWS API Documentation
@@ -11585,19 +12291,6 @@ module Aws::S3
11585
12291
  req.send_request(options)
11586
12292
  end
11587
12293
 
11588
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11589
- # returning `DisplayName`. Update your applications to use canonical IDs
11590
- # (unique identifier for Amazon Web Services accounts), Amazon Web
11591
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
11592
- # naming) as a direct replacement of `DisplayName`.
11593
- #
11594
- # This change affects the following Amazon Web Services Regions: US
11595
- # East
11596
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11597
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11598
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11599
- # America (São Paulo) Region.
11600
- #
11601
12294
  # This operation lists in-progress multipart uploads in a bucket. An
11602
12295
  # in-progress multipart upload is a multipart upload that has been
11603
12296
  # initiated by the `CreateMultipartUpload` request, but has not yet been
@@ -11706,6 +12399,10 @@ module Aws::S3
11706
12399
  #
11707
12400
  # * [AbortMultipartUpload][10]
11708
12401
  #
12402
+ # You must URL encode any signed header values that contain spaces. For
12403
+ # example, if your header value is `my file.txt`, containing two spaces
12404
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12405
+ #
11709
12406
  #
11710
12407
  #
11711
12408
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
@@ -11774,6 +12471,9 @@ module Aws::S3
11774
12471
  # beginning of the key. The keys that are grouped under `CommonPrefixes`
11775
12472
  # result element are not returned elsewhere in the response.
11776
12473
  #
12474
+ # `CommonPrefixes` is filtered out from results if it is not
12475
+ # lexicographically greater than the key-marker.
12476
+ #
11777
12477
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
11778
12478
  # supported delimiter.
11779
12479
  #
@@ -12023,7 +12723,7 @@ module Aws::S3
12023
12723
  # resp.uploads[0].upload_id #=> String
12024
12724
  # resp.uploads[0].key #=> String
12025
12725
  # resp.uploads[0].initiated #=> Time
12026
- # 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"
12726
+ # 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", "FSX_ONTAP"
12027
12727
  # resp.uploads[0].owner.display_name #=> String
12028
12728
  # resp.uploads[0].owner.id #=> String
12029
12729
  # resp.uploads[0].initiator.id #=> String
@@ -12044,19 +12744,6 @@ module Aws::S3
12044
12744
  req.send_request(options)
12045
12745
  end
12046
12746
 
12047
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12048
- # returning `DisplayName`. Update your applications to use canonical IDs
12049
- # (unique identifier for Amazon Web Services accounts), Amazon Web
12050
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
12051
- # naming) as a direct replacement of `DisplayName`.
12052
- #
12053
- # This change affects the following Amazon Web Services Regions: US
12054
- # East
12055
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12056
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12057
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12058
- # America (São Paulo) Region.
12059
- #
12060
12747
  # <note markdown="1"> This operation is not supported for directory buckets.
12061
12748
  #
12062
12749
  # </note>
@@ -12086,6 +12773,10 @@ module Aws::S3
12086
12773
  #
12087
12774
  # * [DeleteObject][4]
12088
12775
  #
12776
+ # You must URL encode any signed header values that contain spaces. For
12777
+ # example, if your header value is `my file.txt`, containing two spaces
12778
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
12779
+ #
12089
12780
  #
12090
12781
  #
12091
12782
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
@@ -12104,6 +12795,9 @@ module Aws::S3
12104
12795
  # the `max-keys` limitation. These keys are not returned elsewhere in
12105
12796
  # the response.
12106
12797
  #
12798
+ # `CommonPrefixes` is filtered out from results if it is not
12799
+ # lexicographically greater than the key-marker.
12800
+ #
12107
12801
  # @option params [String] :encoding_type
12108
12802
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
12109
12803
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12297,19 +12991,6 @@ module Aws::S3
12297
12991
  req.send_request(options)
12298
12992
  end
12299
12993
 
12300
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12301
- # returning `DisplayName`. Update your applications to use canonical IDs
12302
- # (unique identifier for Amazon Web Services accounts), Amazon Web
12303
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
12304
- # naming) as a direct replacement of `DisplayName`.
12305
- #
12306
- # This change affects the following Amazon Web Services Regions: US
12307
- # East
12308
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12309
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12310
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12311
- # America (São Paulo) Region.
12312
- #
12313
12994
  # <note markdown="1"> This operation is not supported for directory buckets.
12314
12995
  #
12315
12996
  # </note>
@@ -12336,6 +13017,10 @@ module Aws::S3
12336
13017
  #
12337
13018
  # * [ListBuckets][5]
12338
13019
  #
13020
+ # You must URL encode any signed header values that contain spaces. For
13021
+ # example, if your header value is `my file.txt`, containing two spaces
13022
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13023
+ #
12339
13024
  #
12340
13025
  #
12341
13026
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
@@ -12392,6 +13077,9 @@ module Aws::S3
12392
13077
  # @option params [String] :delimiter
12393
13078
  # A delimiter is a character that you use to group keys.
12394
13079
  #
13080
+ # `CommonPrefixes` is filtered out from results if it is not
13081
+ # lexicographically greater than the key-marker.
13082
+ #
12395
13083
  # @option params [String] :encoding_type
12396
13084
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
12397
13085
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12523,7 +13211,7 @@ module Aws::S3
12523
13211
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12524
13212
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12525
13213
  # resp.contents[0].size #=> Integer
12526
- # 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"
13214
+ # 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", "FSX_ONTAP"
12527
13215
  # resp.contents[0].owner.display_name #=> String
12528
13216
  # resp.contents[0].owner.id #=> String
12529
13217
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12626,6 +13314,10 @@ module Aws::S3
12626
13314
  #
12627
13315
  # * [CreateBucket][11]
12628
13316
  #
13317
+ # You must URL encode any signed header values that contain spaces. For
13318
+ # example, if your header value is `my file.txt`, containing two spaces
13319
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13320
+ #
12629
13321
  #
12630
13322
  #
12631
13323
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html
@@ -12686,6 +13378,9 @@ module Aws::S3
12686
13378
  # @option params [String] :delimiter
12687
13379
  # A delimiter is a character that you use to group keys.
12688
13380
  #
13381
+ # `CommonPrefixes` is filtered out from results if it is not
13382
+ # lexicographically greater than the `StartAfter` value.
13383
+ #
12689
13384
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
12690
13385
  # supported delimiter.
12691
13386
  #
@@ -12866,7 +13561,7 @@ module Aws::S3
12866
13561
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12867
13562
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12868
13563
  # resp.contents[0].size #=> Integer
12869
- # 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"
13564
+ # 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", "FSX_ONTAP"
12870
13565
  # resp.contents[0].owner.display_name #=> String
12871
13566
  # resp.contents[0].owner.id #=> String
12872
13567
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12893,19 +13588,6 @@ module Aws::S3
12893
13588
  req.send_request(options)
12894
13589
  end
12895
13590
 
12896
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12897
- # returning `DisplayName`. Update your applications to use canonical IDs
12898
- # (unique identifier for Amazon Web Services accounts), Amazon Web
12899
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
12900
- # naming) as a direct replacement of `DisplayName`.
12901
- #
12902
- # This change affects the following Amazon Web Services Regions: US
12903
- # East
12904
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12905
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12906
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12907
- # America (São Paulo) Region.
12908
- #
12909
13591
  # Lists the parts that have been uploaded for a specific multipart
12910
13592
  # upload.
12911
13593
  #
@@ -12985,6 +13667,10 @@ module Aws::S3
12985
13667
  #
12986
13668
  # * [ListMultipartUploads][11]
12987
13669
  #
13670
+ # You must URL encode any signed header values that contain spaces. For
13671
+ # example, if your header value is `my file.txt`, containing two spaces
13672
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
13673
+ #
12988
13674
  #
12989
13675
  #
12990
13676
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
@@ -13221,7 +13907,7 @@ module Aws::S3
13221
13907
  # resp.initiator.display_name #=> String
13222
13908
  # resp.owner.display_name #=> String
13223
13909
  # resp.owner.id #=> String
13224
- # 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"
13910
+ # 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", "FSX_ONTAP"
13225
13911
  # resp.request_charged #=> String, one of "requester"
13226
13912
  # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
13227
13913
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
@@ -13235,6 +13921,81 @@ module Aws::S3
13235
13921
  req.send_request(options)
13236
13922
  end
13237
13923
 
13924
+ # Sets the attribute-based access control (ABAC) property of the general
13925
+ # purpose bucket. You must have `s3:PutBucketABAC` permission to perform
13926
+ # this action. When you enable ABAC, you can use tags for access control
13927
+ # on your buckets. Additionally, when ABAC is enabled, you must use the
13928
+ # [TagResource][1] and [UntagResource][2] actions to manage tags on your
13929
+ # buckets. You can nolonger use the [PutBucketTagging][3] and
13930
+ # [DeleteBucketTagging][4] actions to tag your bucket. For more
13931
+ # information, see [Enabling ABAC in general purpose buckets][5].
13932
+ #
13933
+ #
13934
+ #
13935
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html
13936
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
13937
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
13938
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
13939
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
13940
+ #
13941
+ # @option params [required, String] :bucket
13942
+ # The name of the general purpose bucket.
13943
+ #
13944
+ # @option params [String] :content_md5
13945
+ # The MD5 hash of the `PutBucketAbac` request body.
13946
+ #
13947
+ # For requests made using the Amazon Web Services Command Line Interface
13948
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
13949
+ # automatically.
13950
+ #
13951
+ # @option params [String] :checksum_algorithm
13952
+ # Indicates the algorithm that you want Amazon S3 to use to create the
13953
+ # checksum. For more information, see [ Checking object integrity][1] in
13954
+ # the *Amazon S3 User Guide*.
13955
+ #
13956
+ #
13957
+ #
13958
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
13959
+ #
13960
+ # @option params [String] :expected_bucket_owner
13961
+ # The Amazon Web Services account ID of the general purpose bucket's
13962
+ # owner.
13963
+ #
13964
+ # @option params [required, Types::AbacStatus] :abac_status
13965
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
13966
+ # for the general purpose bucket, you can use tags to manage access to
13967
+ # the general purpose buckets as well as for cost tracking purposes.
13968
+ # When ABAC is disabled for the general purpose buckets, you can only
13969
+ # use tags for cost tracking purposes. For more information, see [Using
13970
+ # tags with S3 general purpose buckets][1].
13971
+ #
13972
+ #
13973
+ #
13974
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
13975
+ #
13976
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
13977
+ #
13978
+ # @example Request syntax with placeholder values
13979
+ #
13980
+ # resp = client.put_bucket_abac({
13981
+ # bucket: "BucketName", # required
13982
+ # content_md5: "ContentMD5",
13983
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
13984
+ # expected_bucket_owner: "AccountId",
13985
+ # abac_status: { # required
13986
+ # status: "Enabled", # accepts Enabled, Disabled
13987
+ # },
13988
+ # })
13989
+ #
13990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAbac AWS API Documentation
13991
+ #
13992
+ # @overload put_bucket_abac(params = {})
13993
+ # @param [Hash] params ({})
13994
+ def put_bucket_abac(params = {}, options = {})
13995
+ req = build_request(:put_bucket_abac, params)
13996
+ req.send_request(options)
13997
+ end
13998
+
13238
13999
  # <note markdown="1"> This operation is not supported for directory buckets.
13239
14000
  #
13240
14001
  # </note>
@@ -13277,6 +14038,10 @@ module Aws::S3
13277
14038
  #
13278
14039
  # * [CreateBucket][5]
13279
14040
  #
14041
+ # You must URL encode any signed header values that contain spaces. For
14042
+ # example, if your header value is `my file.txt`, containing two spaces
14043
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14044
+ #
13280
14045
  #
13281
14046
  #
13282
14047
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -13334,19 +14099,17 @@ module Aws::S3
13334
14099
  req.send_request(options)
13335
14100
  end
13336
14101
 
13337
- # End of support notice: Beginning October 1, 2025, Amazon S3 will
13338
- # discontinue support for creating new Email Grantee Access Control
13339
- # Lists (ACL). Email Grantee ACLs created prior to this date will
13340
- # continue to work and remain accessible through the Amazon Web Services
13341
- # Management Console, Command Line Interface (CLI), SDKs, and REST API.
13342
- # However, you will no longer be able to create new Email Grantee ACLs.
14102
+ # End of support notice: As of October 1, 2025, Amazon S3 has
14103
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
14104
+ # you attempt to use an Email Grantee ACL in a request after October 1,
14105
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
14106
+ # error.
13343
14107
  #
13344
14108
  # This change affects the following Amazon Web Services Regions: US
13345
14109
  # East
13346
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13347
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13348
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13349
- # America (São Paulo) Region.
14110
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
14111
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
14112
+ # (Ireland), and South America (São Paulo).
13350
14113
  #
13351
14114
  # <note markdown="1"> This operation is not supported for directory buckets.
13352
14115
  #
@@ -13513,6 +14276,10 @@ module Aws::S3
13513
14276
  #
13514
14277
  # * [GetObjectAcl][9]
13515
14278
  #
14279
+ # You must URL encode any signed header values that contain spaces. For
14280
+ # example, if your header value is `my file.txt`, containing two spaces
14281
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14282
+ #
13516
14283
  #
13517
14284
  #
13518
14285
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
@@ -13707,6 +14474,10 @@ module Aws::S3
13707
14474
  #
13708
14475
  # * [ListBucketAnalyticsConfigurations][7]
13709
14476
  #
14477
+ # You must URL encode any signed header values that contain spaces. For
14478
+ # example, if your header value is `my file.txt`, containing two spaces
14479
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14480
+ #
13710
14481
  #
13711
14482
  #
13712
14483
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
@@ -13832,6 +14603,10 @@ module Aws::S3
13832
14603
  #
13833
14604
  # * [RESTOPTIONSobject][4]
13834
14605
  #
14606
+ # You must URL encode any signed header values that contain spaces. For
14607
+ # example, if your header value is `my file.txt`, containing two spaces
14608
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14609
+ #
13835
14610
  #
13836
14611
  #
13837
14612
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
@@ -13963,7 +14738,8 @@ module Aws::S3
13963
14738
  end
13964
14739
 
13965
14740
  # This operation configures default encryption and Amazon S3 Bucket Keys
13966
- # for an existing bucket.
14741
+ # for an existing bucket. You can also [block encryption types][1] using
14742
+ # this operation.
13967
14743
  #
13968
14744
  # <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
13969
14745
  # requests for this API operation to the Regional endpoint. These
@@ -13971,9 +14747,9 @@ module Aws::S3
13971
14747
  # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
13972
14748
  # Virtual-hosted-style requests aren't supported. For more information
13973
14749
  # about endpoints in Availability Zones, see [Regional and Zonal
13974
- # endpoints for directory buckets in Availability Zones][1] in the
14750
+ # endpoints for directory buckets in Availability Zones][2] in the
13975
14751
  # *Amazon S3 User Guide*. For more information about endpoints in Local
13976
- # Zones, see [Concepts for directory buckets in Local Zones][2] in the
14752
+ # Zones, see [Concepts for directory buckets in Local Zones][3] in the
13977
14753
  # *Amazon S3 User Guide*.
13978
14754
  #
13979
14755
  # </note>
@@ -13988,12 +14764,12 @@ module Aws::S3
13988
14764
  # keys (SSE-KMS) or dual-layer server-side encryption with Amazon
13989
14765
  # Web Services KMS keys (DSSE-KMS). If you specify default
13990
14766
  # encryption by using SSE-KMS, you can also configure [Amazon S3
13991
- # Bucket Keys][3]. For information about the bucket default
13992
- # encryption feature, see [Amazon S3 Bucket Default Encryption][4]
14767
+ # Bucket Keys][4]. For information about the bucket default
14768
+ # encryption feature, see [Amazon S3 Bucket Default Encryption][5]
13993
14769
  # in the *Amazon S3 User Guide*.
13994
14770
  #
13995
14771
  # * If you use PutBucketEncryption to set your [default bucket
13996
- # encryption][4] to SSE-KMS, you should verify that your KMS key ID
14772
+ # encryption][5] to SSE-KMS, you should verify that your KMS key ID
13997
14773
  # is correct. Amazon S3 doesn't validate the KMS key ID provided in
13998
14774
  # PutBucketEncryption requests.
13999
14775
  # * <b>Directory buckets </b> - You can optionally configure default
@@ -14007,28 +14783,28 @@ module Aws::S3
14007
14783
  # encrypted with the desired encryption settings. For more
14008
14784
  # information about the encryption overriding behaviors in directory
14009
14785
  # buckets, see [Specifying server-side encryption with KMS for new
14010
- # object uploads][5].
14786
+ # object uploads][6].
14011
14787
  #
14012
14788
  # * Your SSE-KMS configuration can only support 1 [customer managed
14013
- # key][6] per directory bucket's lifetime. The [Amazon Web Services
14014
- # managed key][7] (`aws/s3`) isn't supported.
14789
+ # key][7] per directory bucket's lifetime. The [Amazon Web Services
14790
+ # managed key][8] (`aws/s3`) isn't supported.
14015
14791
  #
14016
14792
  # * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
14017
14793
  # in a directory bucket and can’t be disabled. S3 Bucket Keys
14018
14794
  # aren't supported, when you copy SSE-KMS encrypted objects from
14019
14795
  # general purpose buckets to directory buckets, from directory
14020
14796
  # buckets to general purpose buckets, or between directory buckets,
14021
- # through [CopyObject][8], [UploadPartCopy][9], [the Copy operation
14022
- # in Batch Operations][10], or [the import jobs][11]. In this case,
14797
+ # through [CopyObject][9], [UploadPartCopy][10], [the Copy operation
14798
+ # in Batch Operations][11], or [the import jobs][12]. In this case,
14023
14799
  # Amazon S3 makes a call to KMS every time a copy request is made
14024
14800
  # for a KMS-encrypted object.
14025
14801
  #
14026
- # * When you specify an [KMS customer managed key][6] for encryption
14802
+ # * When you specify an [KMS customer managed key][7] for encryption
14027
14803
  # in your directory bucket, only use the key ID or key ARN. The key
14028
14804
  # alias format of the KMS key isn't supported.
14029
14805
  #
14030
14806
  # * For directory buckets, if you use PutBucketEncryption to set your
14031
- # [default bucket encryption][4] to SSE-KMS, Amazon S3 validates the
14807
+ # [default bucket encryption][5] to SSE-KMS, Amazon S3 validates the
14032
14808
  # KMS key ID provided in PutBucketEncryption requests.
14033
14809
  #
14034
14810
  # </note>
@@ -14041,7 +14817,7 @@ module Aws::S3
14041
14817
  #
14042
14818
  # Also, this action requires Amazon Web Services Signature Version 4.
14043
14819
  # For more information, see [ Authenticating Requests (Amazon Web
14044
- # Services Signature Version 4)][12].
14820
+ # Services Signature Version 4)][13].
14045
14821
  #
14046
14822
  # Permissions
14047
14823
  # : * **General purpose bucket permissions** - The
@@ -14049,8 +14825,8 @@ module Aws::S3
14049
14825
  # policy. The bucket owner has this permission by default. The
14050
14826
  # bucket owner can grant this permission to others. For more
14051
14827
  # information about permissions, see [Permissions Related to Bucket
14052
- # Operations][13] and [Managing Access Permissions to Your Amazon S3
14053
- # Resources][14] in the *Amazon S3 User Guide*.
14828
+ # Operations][14] and [Managing Access Permissions to Your Amazon S3
14829
+ # Resources][15] in the *Amazon S3 User Guide*.
14054
14830
  #
14055
14831
  # * **Directory bucket permissions** - To grant access to this API
14056
14832
  # operation, you must have the
@@ -14060,7 +14836,7 @@ module Aws::S3
14060
14836
  # only be performed by the Amazon Web Services account that owns the
14061
14837
  # resource. For more information about directory bucket policies and
14062
14838
  # permissions, see [Amazon Web Services Identity and Access
14063
- # Management (IAM) for S3 Express One Zone][15] in the *Amazon S3
14839
+ # Management (IAM) for S3 Express One Zone][16] in the *Amazon S3
14064
14840
  # User Guide*.
14065
14841
  #
14066
14842
  # To set a directory bucket default encryption with SSE-KMS, you
@@ -14075,29 +14851,34 @@ module Aws::S3
14075
14851
  #
14076
14852
  # The following operations are related to `PutBucketEncryption`:
14077
14853
  #
14078
- # * [GetBucketEncryption][16]
14854
+ # * [GetBucketEncryption][17]
14079
14855
  #
14080
- # * [DeleteBucketEncryption][17]
14856
+ # * [DeleteBucketEncryption][18]
14081
14857
  #
14858
+ # You must URL encode any signed header values that contain spaces. For
14859
+ # example, if your header value is `my file.txt`, containing two spaces
14860
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
14082
14861
  #
14083
14862
  #
14084
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
14085
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14086
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
14087
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
14088
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
14089
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
14090
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
14091
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
14092
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
14093
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
14094
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
14095
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
14096
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
14097
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
14098
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14099
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
14100
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
14863
+ #
14864
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_BlockedEncryptionTypes.html
14865
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
14866
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html
14867
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
14868
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
14869
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
14870
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
14871
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
14872
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
14873
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
14874
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
14875
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
14876
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
14877
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
14878
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
14879
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
14880
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
14881
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
14101
14882
  #
14102
14883
  # @option params [required, String] :bucket
14103
14884
  # Specifies default encryption for a bucket using server-side encryption
@@ -14181,6 +14962,9 @@ module Aws::S3
14181
14962
  # kms_master_key_id: "SSEKMSKeyId",
14182
14963
  # },
14183
14964
  # bucket_key_enabled: false,
14965
+ # blocked_encryption_types: {
14966
+ # encryption_type: ["NONE"], # accepts NONE, SSE-C
14967
+ # },
14184
14968
  # },
14185
14969
  # ],
14186
14970
  # },
@@ -14260,6 +15044,10 @@ module Aws::S3
14260
15044
  # not have the `s3:PutIntelligentTieringConfiguration` bucket
14261
15045
  # permission to set the configuration on the bucket.
14262
15046
  #
15047
+ # You must URL encode any signed header values that contain spaces. For
15048
+ # example, if your header value is `my file.txt`, containing two spaces
15049
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15050
+ #
14263
15051
  #
14264
15052
  #
14265
15053
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
@@ -14331,7 +15119,7 @@ module Aws::S3
14331
15119
  #
14332
15120
  # </note>
14333
15121
  #
14334
- # This implementation of the `PUT` action adds an inventory
15122
+ # This implementation of the `PUT` action adds an S3 Inventory
14335
15123
  # configuration (identified by the inventory ID) to the bucket. You can
14336
15124
  # have up to 1,000 inventory configurations per bucket.
14337
15125
  #
@@ -14405,6 +15193,10 @@ module Aws::S3
14405
15193
  #
14406
15194
  # * [ListBucketInventoryConfigurations][10]
14407
15195
  #
15196
+ # You must URL encode any signed header values that contain spaces. For
15197
+ # example, if your header value is `my file.txt`, containing two spaces
15198
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15199
+ #
14408
15200
  #
14409
15201
  #
14410
15202
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
@@ -14462,7 +15254,7 @@ module Aws::S3
14462
15254
  # },
14463
15255
  # id: "InventoryId", # required
14464
15256
  # included_object_versions: "All", # required, accepts All, Current
14465
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm, ObjectAccessControlList, ObjectOwner
15257
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm, ObjectAccessControlList, ObjectOwner, LifecycleExpirationDate
14466
15258
  # schedule: { # required
14467
15259
  # frequency: "Daily", # required, accepts Daily, Weekly
14468
15260
  # },
@@ -14542,6 +15334,10 @@ module Aws::S3
14542
15334
  #
14543
15335
  # * [Managing Access Permissions to your Amazon S3 Resources][3]
14544
15336
  #
15337
+ # You must URL encode any signed header values that contain spaces. For
15338
+ # example, if your header value is `my file.txt`, containing two spaces
15339
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15340
+ #
14545
15341
  #
14546
15342
  #
14547
15343
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
@@ -14751,6 +15547,10 @@ module Aws::S3
14751
15547
  #
14752
15548
  # * [DeleteBucketLifecycle][10]
14753
15549
  #
15550
+ # You must URL encode any signed header values that contain spaces. For
15551
+ # example, if your header value is `my file.txt`, containing two spaces
15552
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15553
+ #
14754
15554
  #
14755
15555
  #
14756
15556
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html
@@ -14928,19 +15728,17 @@ module Aws::S3
14928
15728
  req.send_request(options)
14929
15729
  end
14930
15730
 
14931
- # End of support notice: Beginning October 1, 2025, Amazon S3 will
14932
- # discontinue support for creating new Email Grantee Access Control
14933
- # Lists (ACL). Email Grantee ACLs created prior to this date will
14934
- # continue to work and remain accessible through the Amazon Web Services
14935
- # Management Console, Command Line Interface (CLI), SDKs, and REST API.
14936
- # However, you will no longer be able to create new Email Grantee ACLs.
15731
+ # End of support notice: As of October 1, 2025, Amazon S3 has
15732
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
15733
+ # you attempt to use an Email Grantee ACL in a request after October 1,
15734
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
15735
+ # error.
14937
15736
  #
14938
15737
  # This change affects the following Amazon Web Services Regions: US
14939
15738
  # East
14940
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
14941
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
14942
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
14943
- # America (São Paulo) Region.
15739
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
15740
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
15741
+ # (Ireland), and South America (São Paulo).
14944
15742
  #
14945
15743
  # <note markdown="1"> This operation is not supported for directory buckets.
14946
15744
  #
@@ -15015,6 +15813,10 @@ module Aws::S3
15015
15813
  #
15016
15814
  # * [GetBucketLogging][5]
15017
15815
  #
15816
+ # You must URL encode any signed header values that contain spaces. For
15817
+ # example, if your header value is `my file.txt`, containing two spaces
15818
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15819
+ #
15018
15820
  #
15019
15821
  #
15020
15822
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
@@ -15168,6 +15970,10 @@ module Aws::S3
15168
15970
  #
15169
15971
  # * HTTP Status Code: HTTP 400 Bad Request
15170
15972
  #
15973
+ # You must URL encode any signed header values that contain spaces. For
15974
+ # example, if your header value is `my file.txt`, containing two spaces
15975
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
15976
+ #
15171
15977
  #
15172
15978
  #
15173
15979
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
@@ -15387,6 +16193,10 @@ module Aws::S3
15387
16193
  #
15388
16194
  # ^
15389
16195
  #
16196
+ # You must URL encode any signed header values that contain spaces. For
16197
+ # example, if your header value is `my file.txt`, containing two spaces
16198
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16199
+ #
15390
16200
  #
15391
16201
  #
15392
16202
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
@@ -15521,6 +16331,10 @@ module Aws::S3
15521
16331
  #
15522
16332
  # * DeleteBucketOwnershipControls
15523
16333
  #
16334
+ # You must URL encode any signed header values that contain spaces. For
16335
+ # example, if your header value is `my file.txt`, containing two spaces
16336
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16337
+ #
15524
16338
  #
15525
16339
  #
15526
16340
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html
@@ -15661,6 +16475,10 @@ module Aws::S3
15661
16475
  #
15662
16476
  # * [DeleteBucket][8]
15663
16477
  #
16478
+ # You must URL encode any signed header values that contain spaces. For
16479
+ # example, if your header value is `my file.txt`, containing two spaces
16480
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16481
+ #
15664
16482
  #
15665
16483
  #
15666
16484
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -15869,6 +16687,10 @@ module Aws::S3
15869
16687
  #
15870
16688
  # * [DeleteBucketReplication][11]
15871
16689
  #
16690
+ # You must URL encode any signed header values that contain spaces. For
16691
+ # example, if your header value is `my file.txt`, containing two spaces
16692
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16693
+ #
15872
16694
  #
15873
16695
  #
15874
16696
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
@@ -15995,7 +16817,7 @@ module Aws::S3
15995
16817
  # destination: { # required
15996
16818
  # bucket: "BucketName", # required
15997
16819
  # account: "AccountId",
15998
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
16820
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
15999
16821
  # access_control_translation: {
16000
16822
  # owner: "Destination", # required, accepts Destination
16001
16823
  # },
@@ -16050,6 +16872,10 @@ module Aws::S3
16050
16872
  #
16051
16873
  # * [GetBucketRequestPayment][3]
16052
16874
  #
16875
+ # You must URL encode any signed header values that contain spaces. For
16876
+ # example, if your header value is `my file.txt`, containing two spaces
16877
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16878
+ #
16053
16879
  #
16054
16880
  #
16055
16881
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
@@ -16135,7 +16961,11 @@ module Aws::S3
16135
16961
  #
16136
16962
  # </note>
16137
16963
  #
16138
- # Sets the tags for a bucket.
16964
+ # Sets the tags for a general purpose bucket if attribute based access
16965
+ # control (ABAC) is not enabled for the bucket. When you [enable ABAC
16966
+ # for a general purpose bucket][1], you can no longer use this operation
16967
+ # for that bucket and must use the [TagResource][2] or
16968
+ # [UntagResource][3] operations instead.
16139
16969
  #
16140
16970
  # Use tags to organize your Amazon Web Services bill to reflect your own
16141
16971
  # cost structure. To do this, sign up to get your Amazon Web Services
@@ -16145,8 +16975,8 @@ module Aws::S3
16145
16975
  # several resources with a specific application name, and then organize
16146
16976
  # your billing information to see the total cost of that application
16147
16977
  # across several services. For more information, see [Cost Allocation
16148
- # and Tagging][1] and [Using Cost Allocation in Amazon S3 Bucket
16149
- # Tags][2].
16978
+ # and Tagging][4] and [Using Cost Allocation in Amazon S3 Bucket
16979
+ # Tags][5].
16150
16980
  #
16151
16981
  # <note markdown="1"> When this operation sets the tags for a bucket, it will overwrite any
16152
16982
  # current tags the bucket already has. You cannot use this operation to
@@ -16158,16 +16988,16 @@ module Aws::S3
16158
16988
  # `s3:PutBucketTagging` action. The bucket owner has this permission by
16159
16989
  # default and can grant this permission to others. For more information
16160
16990
  # about permissions, see [Permissions Related to Bucket Subresource
16161
- # Operations][3] and [Managing Access Permissions to Your Amazon S3
16162
- # Resources][4].
16991
+ # Operations][6] and [Managing Access Permissions to Your Amazon S3
16992
+ # Resources][7].
16163
16993
  #
16164
16994
  # `PutBucketTagging` has the following special errors. For more Amazon
16165
- # S3 errors see, [Error Responses][5].
16995
+ # S3 errors see, [Error Responses][8].
16166
16996
  #
16167
16997
  # * `InvalidTag` - The tag provided was not a valid tag. This error can
16168
16998
  # occur if the tag did not pass input validation. For more
16169
16999
  # information, see [Using Cost Allocation in Amazon S3 Bucket
16170
- # Tags][2].
17000
+ # Tags][5].
16171
17001
  #
16172
17002
  # * `MalformedXML` - The XML provided does not match the schema.
16173
17003
  #
@@ -16179,19 +17009,26 @@ module Aws::S3
16179
17009
  #
16180
17010
  # The following operations are related to `PutBucketTagging`:
16181
17011
  #
16182
- # * [GetBucketTagging][6]
17012
+ # * [GetBucketTagging][9]
16183
17013
  #
16184
- # * [DeleteBucketTagging][7]
17014
+ # * [DeleteBucketTagging][10]
16185
17015
  #
17016
+ # You must URL encode any signed header values that contain spaces. For
17017
+ # example, if your header value is `my file.txt`, containing two spaces
17018
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
16186
17019
  #
16187
17020
  #
16188
- # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
16189
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html
16190
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
16191
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
16192
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
16193
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
16194
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
17021
+ #
17022
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
17023
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html
17024
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html
17025
+ # [4]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
17026
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html
17027
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
17028
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
17029
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
17030
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
17031
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
16195
17032
  #
16196
17033
  # @option params [required, String] :bucket
16197
17034
  # The bucket name.
@@ -16333,6 +17170,10 @@ module Aws::S3
16333
17170
  #
16334
17171
  # * [GetBucketVersioning][1]
16335
17172
  #
17173
+ # You must URL encode any signed header values that contain spaces. For
17174
+ # example, if your header value is `my file.txt`, containing two spaces
17175
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17176
+ #
16336
17177
  #
16337
17178
  #
16338
17179
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
@@ -16376,6 +17217,17 @@ module Aws::S3
16376
17217
  # @option params [String] :mfa
16377
17218
  # The concatenation of the authentication device's serial number, a
16378
17219
  # space, and the value that is displayed on your authentication device.
17220
+ # The serial number is the number that uniquely identifies the MFA
17221
+ # device. For physical MFA devices, this is the unique serial number
17222
+ # that's provided with the device. For virtual MFA devices, the serial
17223
+ # number is the device ARN. For more information, see [Enabling
17224
+ # versioning on buckets][1] and [Configuring MFA delete][2] in the
17225
+ # *Amazon Simple Storage Service User Guide*.
17226
+ #
17227
+ #
17228
+ #
17229
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html
17230
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html
16379
17231
  #
16380
17232
  # @option params [required, Types::VersioningConfiguration] :versioning_configuration
16381
17233
  # Container for setting the versioning state.
@@ -16497,6 +17349,10 @@ module Aws::S3
16497
17349
  #
16498
17350
  # The maximum request length is limited to 128 KB.
16499
17351
  #
17352
+ # You must URL encode any signed header values that contain spaces. For
17353
+ # example, if your header value is `my file.txt`, containing two spaces
17354
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17355
+ #
16500
17356
  #
16501
17357
  #
16502
17358
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
@@ -16607,19 +17463,17 @@ module Aws::S3
16607
17463
  req.send_request(options)
16608
17464
  end
16609
17465
 
16610
- # End of support notice: Beginning October 1, 2025, Amazon S3 will
16611
- # discontinue support for creating new Email Grantee Access Control
16612
- # Lists (ACL). Email Grantee ACLs created prior to this date will
16613
- # continue to work and remain accessible through the Amazon Web Services
16614
- # Management Console, Command Line Interface (CLI), SDKs, and REST API.
16615
- # However, you will no longer be able to create new Email Grantee ACLs.
17466
+ # End of support notice: As of October 1, 2025, Amazon S3 has
17467
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
17468
+ # you attempt to use an Email Grantee ACL in a request after October 1,
17469
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
17470
+ # error.
16616
17471
  #
16617
17472
  # This change affects the following Amazon Web Services Regions: US
16618
17473
  # East
16619
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
16620
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
16621
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
16622
- # America (São Paulo) Region.
17474
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
17475
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
17476
+ # (Ireland), and South America (São Paulo).
16623
17477
  #
16624
17478
  # Adds an object to a bucket.
16625
17479
  #
@@ -16750,6 +17604,10 @@ module Aws::S3
16750
17604
  #
16751
17605
  # * [DeleteObject][10]
16752
17606
  #
17607
+ # You must URL encode any signed header values that contain spaces. For
17608
+ # example, if your header value is `my file.txt`, containing two spaces
17609
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
17610
+ #
16753
17611
  #
16754
17612
  #
16755
17613
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html
@@ -17605,7 +18463,7 @@ module Aws::S3
17605
18463
  # "MetadataKey" => "MetadataValue",
17606
18464
  # },
17607
18465
  # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
17608
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
18466
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
17609
18467
  # website_redirect_location: "WebsiteRedirectLocation",
17610
18468
  # sse_customer_algorithm: "SSECustomerAlgorithm",
17611
18469
  # sse_customer_key: "SSECustomerKey",
@@ -17650,6 +18508,18 @@ module Aws::S3
17650
18508
  req.send_request(options)
17651
18509
  end
17652
18510
 
18511
+ # End of support notice: As of October 1, 2025, Amazon S3 has
18512
+ # discontinued support for Email Grantee Access Control Lists (ACLs). If
18513
+ # you attempt to use an Email Grantee ACL in a request after October 1,
18514
+ # 2025, the request will receive an `HTTP 405` (Method Not Allowed)
18515
+ # error.
18516
+ #
18517
+ # This change affects the following Amazon Web Services Regions: US
18518
+ # East
18519
+ # (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific
18520
+ # (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe
18521
+ # (Ireland), and South America (São Paulo).
18522
+ #
17653
18523
  # <note markdown="1"> This operation is not supported for directory buckets.
17654
18524
  #
17655
18525
  # </note>
@@ -17810,6 +18680,10 @@ module Aws::S3
17810
18680
  #
17811
18681
  # * [GetObject][8]
17812
18682
  #
18683
+ # You must URL encode any signed header values that contain spaces. For
18684
+ # example, if your header value is `my file.txt`, containing two spaces
18685
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
18686
+ #
17813
18687
  #
17814
18688
  #
17815
18689
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions
@@ -18034,6 +18908,10 @@ module Aws::S3
18034
18908
  #
18035
18909
  # This functionality is not supported for Amazon S3 on Outposts.
18036
18910
  #
18911
+ # You must URL encode any signed header values that contain spaces. For
18912
+ # example, if your header value is `my file.txt`, containing two spaces
18913
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
18914
+ #
18037
18915
  #
18038
18916
  #
18039
18917
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -18166,6 +19044,10 @@ module Aws::S3
18166
19044
  #
18167
19045
  # </note>
18168
19046
  #
19047
+ # You must URL encode any signed header values that contain spaces. For
19048
+ # example, if your header value is `my file.txt`, containing two spaces
19049
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19050
+ #
18169
19051
  #
18170
19052
  #
18171
19053
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -18277,6 +19159,10 @@ module Aws::S3
18277
19159
  #
18278
19160
  # This functionality is not supported for Amazon S3 on Outposts.
18279
19161
  #
19162
+ # You must URL encode any signed header values that contain spaces. For
19163
+ # example, if your header value is `my file.txt`, containing two spaces
19164
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19165
+ #
18280
19166
  #
18281
19167
  #
18282
19168
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -18441,6 +19327,10 @@ module Aws::S3
18441
19327
  #
18442
19328
  # * [DeleteObjectTagging][5]
18443
19329
  #
19330
+ # You must URL encode any signed header values that contain spaces. For
19331
+ # example, if your header value is `my file.txt`, containing two spaces
19332
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19333
+ #
18444
19334
  #
18445
19335
  #
18446
19336
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
@@ -18517,21 +19407,9 @@ module Aws::S3
18517
19407
  # fails with the HTTP status code `403 Forbidden` (access denied).
18518
19408
  #
18519
19409
  # @option params [String] :request_payer
18520
- # Confirms that the requester knows that they will be charged for the
18521
- # request. Bucket owners need not specify this parameter in their
18522
- # requests. If either the source or destination S3 bucket has Requester
18523
- # Pays enabled, the requester will pay for corresponding charges to copy
18524
- # the object. For information about downloading objects from Requester
18525
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
18526
- # in the *Amazon S3 User Guide*.
18527
- #
18528
- # <note markdown="1"> This functionality is not supported for directory buckets.
18529
- #
18530
- # </note>
18531
- #
18532
- #
18533
- #
18534
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
19410
+ # Confirms that the requester knows that she or he will be charged for
19411
+ # the tagging object request. Bucket owners need not specify this
19412
+ # parameter in their requests.
18535
19413
  #
18536
19414
  # @return [Types::PutObjectTaggingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
18537
19415
  #
@@ -18609,10 +19487,11 @@ module Aws::S3
18609
19487
  # When Amazon S3 evaluates the `PublicAccessBlock` configuration for a
18610
19488
  # bucket or an object, it checks the `PublicAccessBlock` configuration
18611
19489
  # for both the bucket (or the bucket that contains the object) and the
18612
- # bucket owner's account. If the `PublicAccessBlock` configurations are
18613
- # different between the bucket and the account, Amazon S3 uses the most
18614
- # restrictive combination of the bucket-level and account-level
18615
- # settings.
19490
+ # bucket owner's account. Account-level settings automatically inherit
19491
+ # from organization-level policies when present. If the
19492
+ # `PublicAccessBlock` configurations are different between the bucket
19493
+ # and the account, Amazon S3 uses the most restrictive combination of
19494
+ # the bucket-level and account-level settings.
18616
19495
  #
18617
19496
  # For more information about when Amazon S3 considers a bucket or an
18618
19497
  # object public, see [The Meaning of "Public"][2].
@@ -18627,6 +19506,10 @@ module Aws::S3
18627
19506
  #
18628
19507
  # * [Using Amazon S3 Block Public Access][6]
18629
19508
  #
19509
+ # You must URL encode any signed header values that contain spaces. For
19510
+ # example, if your header value is `my file.txt`, containing two spaces
19511
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19512
+ #
18630
19513
  #
18631
19514
  #
18632
19515
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
@@ -18756,6 +19639,10 @@ module Aws::S3
18756
19639
  # : <b>Directory buckets </b> - The HTTP Host header syntax is `
18757
19640
  # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
18758
19641
  #
19642
+ # You must URL encode any signed header values that contain spaces. For
19643
+ # example, if your header value is `my file.txt`, containing two spaces
19644
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19645
+ #
18759
19646
  #
18760
19647
  #
18761
19648
  # [1]: https://datatracker.ietf.org/doc/rfc7232/
@@ -19040,6 +19927,10 @@ module Aws::S3
19040
19927
  #
19041
19928
  # * [GetBucketNotificationConfiguration][11]
19042
19929
  #
19930
+ # You must URL encode any signed header values that contain spaces. For
19931
+ # example, if your header value is `my file.txt`, containing two spaces
19932
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19933
+ #
19043
19934
  #
19044
19935
  #
19045
19936
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
@@ -19239,7 +20130,7 @@ module Aws::S3
19239
20130
  # value: "MetadataValue",
19240
20131
  # },
19241
20132
  # ],
19242
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
20133
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
19243
20134
  # },
19244
20135
  # },
19245
20136
  # },
@@ -19363,6 +20254,10 @@ module Aws::S3
19363
20254
  #
19364
20255
  # * [PutBucketLifecycleConfiguration][12]
19365
20256
  #
20257
+ # You must URL encode any signed header values that contain spaces. For
20258
+ # example, if your header value is `my file.txt`, containing two spaces
20259
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20260
+ #
19366
20261
  #
19367
20262
  #
19368
20263
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
@@ -19683,6 +20578,190 @@ module Aws::S3
19683
20578
  req.send_request(options, &block)
19684
20579
  end
19685
20580
 
20581
+ # Enables or disables a live inventory table for an S3 Metadata
20582
+ # configuration on a general purpose bucket. For more information, see
20583
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20584
+ # User Guide*.
20585
+ #
20586
+ # Permissions
20587
+ #
20588
+ # : To use this operation, you must have the following permissions. For
20589
+ # more information, see [Setting up permissions for configuring
20590
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20591
+ #
20592
+ # If you want to encrypt your inventory table with server-side
20593
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
20594
+ # need additional permissions in your KMS key policy. For more
20595
+ # information, see [ Setting up permissions for configuring metadata
20596
+ # tables][2] in the *Amazon S3 User Guide*.
20597
+ #
20598
+ # * `s3:UpdateBucketMetadataInventoryTableConfiguration`
20599
+ #
20600
+ # * `s3tables:CreateTableBucket`
20601
+ #
20602
+ # * `s3tables:CreateNamespace`
20603
+ #
20604
+ # * `s3tables:GetTable`
20605
+ #
20606
+ # * `s3tables:CreateTable`
20607
+ #
20608
+ # * `s3tables:PutTablePolicy`
20609
+ #
20610
+ # * `s3tables:PutTableEncryption`
20611
+ #
20612
+ # * `kms:DescribeKey`
20613
+ #
20614
+ # The following operations are related to
20615
+ # `UpdateBucketMetadataInventoryTableConfiguration`:
20616
+ #
20617
+ # * [CreateBucketMetadataConfiguration][3]
20618
+ #
20619
+ # * [DeleteBucketMetadataConfiguration][4]
20620
+ #
20621
+ # * [GetBucketMetadataConfiguration][5]
20622
+ #
20623
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
20624
+ #
20625
+ # You must URL encode any signed header values that contain spaces. For
20626
+ # example, if your header value is `my file.txt`, containing two spaces
20627
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20628
+ #
20629
+ #
20630
+ #
20631
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20632
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20633
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20634
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20635
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20636
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
20637
+ #
20638
+ # @option params [required, String] :bucket
20639
+ # The general purpose bucket that corresponds to the metadata
20640
+ # configuration that you want to enable or disable an inventory table
20641
+ # for.
20642
+ #
20643
+ # @option params [String] :content_md5
20644
+ # The `Content-MD5` header for the inventory table configuration.
20645
+ #
20646
+ # @option params [String] :checksum_algorithm
20647
+ # The checksum algorithm to use with your inventory table configuration.
20648
+ #
20649
+ # @option params [required, Types::InventoryTableConfigurationUpdates] :inventory_table_configuration
20650
+ # The contents of your inventory table configuration.
20651
+ #
20652
+ # @option params [String] :expected_bucket_owner
20653
+ # The expected owner of the general purpose bucket that corresponds to
20654
+ # the metadata table configuration that you want to enable or disable an
20655
+ # inventory table for.
20656
+ #
20657
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20658
+ #
20659
+ # @example Request syntax with placeholder values
20660
+ #
20661
+ # resp = client.update_bucket_metadata_inventory_table_configuration({
20662
+ # bucket: "BucketName", # required
20663
+ # content_md5: "ContentMD5",
20664
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20665
+ # inventory_table_configuration: { # required
20666
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
20667
+ # encryption_configuration: {
20668
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
20669
+ # kms_key_arn: "KmsKeyArn",
20670
+ # },
20671
+ # },
20672
+ # expected_bucket_owner: "AccountId",
20673
+ # })
20674
+ #
20675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfiguration AWS API Documentation
20676
+ #
20677
+ # @overload update_bucket_metadata_inventory_table_configuration(params = {})
20678
+ # @param [Hash] params ({})
20679
+ def update_bucket_metadata_inventory_table_configuration(params = {}, options = {})
20680
+ req = build_request(:update_bucket_metadata_inventory_table_configuration, params)
20681
+ req.send_request(options)
20682
+ end
20683
+
20684
+ # Enables or disables journal table record expiration for an S3 Metadata
20685
+ # configuration on a general purpose bucket. For more information, see
20686
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20687
+ # User Guide*.
20688
+ #
20689
+ # Permissions
20690
+ #
20691
+ # : To use this operation, you must have the
20692
+ # `s3:UpdateBucketMetadataJournalTableConfiguration` permission. For
20693
+ # more information, see [Setting up permissions for configuring
20694
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20695
+ #
20696
+ # The following operations are related to
20697
+ # `UpdateBucketMetadataJournalTableConfiguration`:
20698
+ #
20699
+ # * [CreateBucketMetadataConfiguration][3]
20700
+ #
20701
+ # * [DeleteBucketMetadataConfiguration][4]
20702
+ #
20703
+ # * [GetBucketMetadataConfiguration][5]
20704
+ #
20705
+ # * [UpdateBucketMetadataInventoryTableConfiguration][6]
20706
+ #
20707
+ # You must URL encode any signed header values that contain spaces. For
20708
+ # example, if your header value is `my file.txt`, containing two spaces
20709
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20710
+ #
20711
+ #
20712
+ #
20713
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20714
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20715
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20716
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20717
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20718
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
20719
+ #
20720
+ # @option params [required, String] :bucket
20721
+ # The general purpose bucket that corresponds to the metadata
20722
+ # configuration that you want to enable or disable journal table record
20723
+ # expiration for.
20724
+ #
20725
+ # @option params [String] :content_md5
20726
+ # The `Content-MD5` header for the journal table configuration.
20727
+ #
20728
+ # @option params [String] :checksum_algorithm
20729
+ # The checksum algorithm to use with your journal table configuration.
20730
+ #
20731
+ # @option params [required, Types::JournalTableConfigurationUpdates] :journal_table_configuration
20732
+ # The contents of your journal table configuration.
20733
+ #
20734
+ # @option params [String] :expected_bucket_owner
20735
+ # The expected owner of the general purpose bucket that corresponds to
20736
+ # the metadata table configuration that you want to enable or disable
20737
+ # journal table record expiration for.
20738
+ #
20739
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20740
+ #
20741
+ # @example Request syntax with placeholder values
20742
+ #
20743
+ # resp = client.update_bucket_metadata_journal_table_configuration({
20744
+ # bucket: "BucketName", # required
20745
+ # content_md5: "ContentMD5",
20746
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20747
+ # journal_table_configuration: { # required
20748
+ # record_expiration: { # required
20749
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
20750
+ # days: 1,
20751
+ # },
20752
+ # },
20753
+ # expected_bucket_owner: "AccountId",
20754
+ # })
20755
+ #
20756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfiguration AWS API Documentation
20757
+ #
20758
+ # @overload update_bucket_metadata_journal_table_configuration(params = {})
20759
+ # @param [Hash] params ({})
20760
+ def update_bucket_metadata_journal_table_configuration(params = {}, options = {})
20761
+ req = build_request(:update_bucket_metadata_journal_table_configuration, params)
20762
+ req.send_request(options)
20763
+ end
20764
+
19686
20765
  # Uploads a part in a multipart upload.
19687
20766
  #
19688
20767
  # <note markdown="1"> In this operation, you provide new data as a part of an object in your
@@ -19810,6 +20889,15 @@ module Aws::S3
19810
20889
  # Multipart request. For more information, see
19811
20890
  # [CreateMultipartUpload][2].
19812
20891
  #
20892
+ # <note markdown="1"> If you have server-side encryption with customer-provided keys
20893
+ # (SSE-C) blocked for your general purpose bucket, you will get an
20894
+ # HTTP 403 Access Denied error when you specify the SSE-C request
20895
+ # headers while writing new data to your bucket. For more
20896
+ # information, see [Blocking or unblocking SSE-C for a general
20897
+ # purpose bucket][12].
20898
+ #
20899
+ # </note>
20900
+ #
19813
20901
  # If you request server-side encryption using a customer-provided
19814
20902
  # encryption key (SSE-C) in your initiate multipart upload request,
19815
20903
  # you must provide identical encryption information in each part
@@ -19820,7 +20908,7 @@ module Aws::S3
19820
20908
  # * x-amz-server-side-encryption-customer-key
19821
20909
  #
19822
20910
  # * x-amz-server-side-encryption-customer-key-MD5
19823
- # For more information, see [Using Server-Side Encryption][12] in
20911
+ # For more information, see [Using Server-Side Encryption][13] in
19824
20912
  # the *Amazon S3 User Guide*.
19825
20913
  #
19826
20914
  # * <b>Directory buckets </b> - For directory buckets, there are only
@@ -19848,13 +20936,17 @@ module Aws::S3
19848
20936
  #
19849
20937
  # * [CreateMultipartUpload][2]
19850
20938
  #
19851
- # * [CompleteMultipartUpload][13]
20939
+ # * [CompleteMultipartUpload][14]
19852
20940
  #
19853
- # * [AbortMultipartUpload][14]
20941
+ # * [AbortMultipartUpload][15]
19854
20942
  #
19855
- # * [ListParts][15]
20943
+ # * [ListParts][16]
20944
+ #
20945
+ # * [ListMultipartUploads][17]
19856
20946
  #
19857
- # * [ListMultipartUploads][16]
20947
+ # You must URL encode any signed header values that contain spaces. For
20948
+ # example, if your header value is `my file.txt`, containing two spaces
20949
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
19858
20950
  #
19859
20951
  #
19860
20952
  #
@@ -19869,11 +20961,12 @@ module Aws::S3
19869
20961
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
19870
20962
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
19871
20963
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
19872
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
19873
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
19874
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
19875
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
19876
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
20964
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
20965
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
20966
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
20967
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
20968
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
20969
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
19877
20970
  #
19878
20971
  # @option params [String, StringIO, File] :body
19879
20972
  # Object data.
@@ -20272,12 +21365,21 @@ module Aws::S3
20272
21365
  # the `UploadPartCopy` operation, see [CopyObject][13] and
20273
21366
  # [UploadPart][2].
20274
21367
  #
21368
+ # <note markdown="1"> If you have server-side encryption with customer-provided keys
21369
+ # (SSE-C) blocked for your general purpose bucket, you will get an
21370
+ # HTTP 403 Access Denied error when you specify the SSE-C request
21371
+ # headers while writing new data to your bucket. For more
21372
+ # information, see [Blocking or unblocking SSE-C for a general
21373
+ # purpose bucket][14].
21374
+ #
21375
+ # </note>
21376
+ #
20275
21377
  # * <b>Directory buckets </b> - For directory buckets, there are only
20276
21378
  # two supported options for server-side encryption: server-side
20277
21379
  # encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
20278
21380
  # server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
20279
21381
  # more information, see [Protecting data with server-side
20280
- # encryption][14] in the *Amazon S3 User Guide*.
21382
+ # encryption][15] in the *Amazon S3 User Guide*.
20281
21383
  #
20282
21384
  # <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
20283
21385
  # operation and an `UploadPartCopy` operation, the request headers
@@ -20289,7 +21391,7 @@ module Aws::S3
20289
21391
  # S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
20290
21392
  # objects from general purpose buckets to directory buckets, from
20291
21393
  # directory buckets to general purpose buckets, or between directory
20292
- # buckets, through [UploadPartCopy][15]. In this case, Amazon S3
21394
+ # buckets, through [UploadPartCopy][16]. In this case, Amazon S3
20293
21395
  # makes a call to KMS every time a copy request is made for a
20294
21396
  # KMS-encrypted object.
20295
21397
  #
@@ -20315,17 +21417,21 @@ module Aws::S3
20315
21417
  #
20316
21418
  # The following operations are related to `UploadPartCopy`:
20317
21419
  #
20318
- # * [CreateMultipartUpload][16]
21420
+ # * [CreateMultipartUpload][17]
20319
21421
  #
20320
21422
  # * [UploadPart][2]
20321
21423
  #
20322
- # * [CompleteMultipartUpload][17]
21424
+ # * [CompleteMultipartUpload][18]
20323
21425
  #
20324
- # * [AbortMultipartUpload][18]
21426
+ # * [AbortMultipartUpload][19]
20325
21427
  #
20326
- # * [ListParts][19]
21428
+ # * [ListParts][20]
20327
21429
  #
20328
- # * [ListMultipartUploads][20]
21430
+ # * [ListMultipartUploads][21]
21431
+ #
21432
+ # You must URL encode any signed header values that contain spaces. For
21433
+ # example, if your header value is `my file.txt`, containing two spaces
21434
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
20329
21435
  #
20330
21436
  #
20331
21437
  #
@@ -20342,13 +21448,14 @@ module Aws::S3
20342
21448
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
20343
21449
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
20344
21450
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
20345
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
20346
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
20347
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
20348
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
20349
- # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
20350
- # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
20351
- # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
21451
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
21452
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
21453
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
21454
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
21455
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
21456
+ # [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
21457
+ # [20]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
21458
+ # [21]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
20352
21459
  #
20353
21460
  # @option params [required, String] :bucket
20354
21461
  # The bucket name.
@@ -20790,6 +21897,10 @@ module Aws::S3
20790
21897
  # Amazon Web Services built Lambda functions][3] in the *Amazon S3 User
20791
21898
  # Guide*.
20792
21899
  #
21900
+ # You must URL encode any signed header values that contain spaces. For
21901
+ # example, if your header value is `my file.txt`, containing two spaces
21902
+ # after `my`, you must URL encode this value to `my%20%20file.txt`.
21903
+ #
20793
21904
  #
20794
21905
  #
20795
21906
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html
@@ -21139,7 +22250,7 @@ module Aws::S3
21139
22250
  # sse_customer_algorithm: "SSECustomerAlgorithm",
21140
22251
  # ssekms_key_id: "SSEKMSKeyId",
21141
22252
  # sse_customer_key_md5: "SSECustomerKeyMD5",
21142
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
22253
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
21143
22254
  # tag_count: 1,
21144
22255
  # version_id: "ObjectVersionId",
21145
22256
  # bucket_key_enabled: false,
@@ -21172,7 +22283,7 @@ module Aws::S3
21172
22283
  tracer: tracer
21173
22284
  )
21174
22285
  context[:gem_name] = 'aws-sdk-s3'
21175
- context[:gem_version] = '1.191.0'
22286
+ context[:gem_version] = '1.208.0'
21176
22287
  Seahorse::Client::Request.new(handlers, context)
21177
22288
  end
21178
22289