aws-sdk-s3 1.188.0 → 1.199.1

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.
@@ -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.
@@ -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.
@@ -1264,7 +1271,7 @@ module Aws::S3
1264
1271
  # resp.checksum_sha1 #=> String
1265
1272
  # resp.checksum_sha256 #=> String
1266
1273
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1267
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1274
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
1268
1275
  # resp.version_id #=> String
1269
1276
  # resp.ssekms_key_id #=> String
1270
1277
  # resp.bucket_key_enabled #=> Boolean
@@ -1279,6 +1286,20 @@ module Aws::S3
1279
1286
  req.send_request(options)
1280
1287
  end
1281
1288
 
1289
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
1290
+ # discontinue support for creating new Email Grantee Access Control
1291
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
1292
+ # continue to work and remain accessible through the Amazon Web Services
1293
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
1294
+ # However, you will no longer be able to create new Email Grantee ACLs.
1295
+ #
1296
+ # This change affects the following Amazon Web Services Regions: US
1297
+ # East
1298
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
1299
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
1300
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
1301
+ # America (São Paulo) Region.
1302
+ #
1282
1303
  # Creates a copy of an object that is already stored in Amazon S3.
1283
1304
  #
1284
1305
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
@@ -1914,6 +1935,14 @@ module Aws::S3
1914
1935
  # key is the same customer managed key that you specified for the
1915
1936
  # directory bucket's default encryption configuration.
1916
1937
  #
1938
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
1939
+ # in Amazon FSx file systems using S3 access points, the only valid
1940
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
1941
+ # systems have encryption configured by default and are encrypted at
1942
+ # rest. Data is automatically encrypted before being written to the
1943
+ # file system, and automatically decrypted as it is read. These
1944
+ # processes are handled transparently by Amazon FSx.
1945
+ #
1917
1946
  #
1918
1947
  #
1919
1948
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
@@ -2297,8 +2326,8 @@ module Aws::S3
2297
2326
  # },
2298
2327
  # metadata_directive: "COPY", # accepts COPY, REPLACE
2299
2328
  # tagging_directive: "COPY", # accepts COPY, REPLACE
2300
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2301
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
2329
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
2330
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
2302
2331
  # website_redirect_location: "WebsiteRedirectLocation",
2303
2332
  # sse_customer_algorithm: "SSECustomerAlgorithm",
2304
2333
  # sse_customer_key: "SSECustomerKey",
@@ -2331,7 +2360,7 @@ module Aws::S3
2331
2360
  # resp.expiration #=> String
2332
2361
  # resp.copy_source_version_id #=> String
2333
2362
  # resp.version_id #=> String
2334
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
2363
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
2335
2364
  # resp.sse_customer_algorithm #=> String
2336
2365
  # resp.sse_customer_key_md5 #=> String
2337
2366
  # resp.ssekms_key_id #=> String
@@ -2348,6 +2377,33 @@ module Aws::S3
2348
2377
  req.send_request(options)
2349
2378
  end
2350
2379
 
2380
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
2381
+ # discontinue support for creating new Email Grantee Access Control
2382
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
2383
+ # continue to work and remain accessible through the Amazon Web Services
2384
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2385
+ # However, you will no longer be able to create new Email Grantee ACLs.
2386
+ #
2387
+ # This change affects the following Amazon Web Services Regions: US
2388
+ # East
2389
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2390
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2391
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2392
+ # America (São Paulo) Region.
2393
+ #
2394
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
2395
+ # returning `DisplayName`. Update your applications to use canonical IDs
2396
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
2397
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
2398
+ # naming) as a direct replacement of `DisplayName`.
2399
+ #
2400
+ # This change affects the following Amazon Web Services Regions: US
2401
+ # East
2402
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2403
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2404
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2405
+ # America (São Paulo) Region.
2406
+ #
2351
2407
  # <note markdown="1"> This action creates an Amazon S3 bucket. To create an Amazon S3 on
2352
2408
  # Outposts bucket, see [ `CreateBucket` ][1].
2353
2409
  #
@@ -2603,6 +2659,7 @@ module Aws::S3
2603
2659
  # @return [Types::CreateBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2604
2660
  #
2605
2661
  # * {Types::CreateBucketOutput#location #location} => String
2662
+ # * {Types::CreateBucketOutput#bucket_arn #bucket_arn} => String
2606
2663
  #
2607
2664
  #
2608
2665
  # @example Example: To create a bucket in a specific region
@@ -2649,6 +2706,12 @@ module Aws::S3
2649
2706
  # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
2650
2707
  # type: "Directory", # accepts Directory
2651
2708
  # },
2709
+ # tags: [
2710
+ # {
2711
+ # key: "ObjectKey", # required
2712
+ # value: "Value", # required
2713
+ # },
2714
+ # ],
2652
2715
  # },
2653
2716
  # grant_full_control: "GrantFullControl",
2654
2717
  # grant_read: "GrantRead",
@@ -2662,6 +2725,7 @@ module Aws::S3
2662
2725
  # @example Response structure
2663
2726
  #
2664
2727
  # resp.location #=> String
2728
+ # resp.bucket_arn #=> String
2665
2729
  #
2666
2730
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket AWS API Documentation
2667
2731
  #
@@ -2672,8 +2736,8 @@ module Aws::S3
2672
2736
  req.send_request(options)
2673
2737
  end
2674
2738
 
2675
- # Creates a metadata table configuration for a general purpose bucket.
2676
- # For more information, see [Accelerating data discovery with S3
2739
+ # Creates an S3 Metadata V2 metadata configuration for a general purpose
2740
+ # bucket. For more information, see [Accelerating data discovery with S3
2677
2741
  # Metadata][1] in the *Amazon S3 User Guide*.
2678
2742
  #
2679
2743
  # Permissions
@@ -2682,14 +2746,31 @@ module Aws::S3
2682
2746
  # more information, see [Setting up permissions for configuring
2683
2747
  # metadata tables][2] in the *Amazon S3 User Guide*.
2684
2748
  #
2749
+ # If you want to encrypt your metadata tables with server-side
2750
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2751
+ # need additional permissions in your KMS key policy. For more
2752
+ # information, see [ Setting up permissions for configuring metadata
2753
+ # tables][2] in the *Amazon S3 User Guide*.
2754
+ #
2685
2755
  # If you also want to integrate your table bucket with Amazon Web
2686
2756
  # Services analytics services so that you can query your metadata
2687
2757
  # table, you need additional permissions. For more information, see [
2688
2758
  # Integrating Amazon S3 Tables with Amazon Web Services analytics
2689
2759
  # services][3] in the *Amazon S3 User Guide*.
2690
2760
  #
2761
+ # To query your metadata tables, you need additional permissions. For
2762
+ # more information, see [ Permissions for querying metadata tables][4]
2763
+ # in the *Amazon S3 User Guide*.
2764
+ #
2691
2765
  # * `s3:CreateBucketMetadataTableConfiguration`
2692
2766
  #
2767
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
2768
+ # operations.
2769
+ #
2770
+ # </note>
2771
+ #
2772
+ # * `s3tables:CreateTableBucket`
2773
+ #
2693
2774
  # * `s3tables:CreateNamespace`
2694
2775
  #
2695
2776
  # * `s3tables:GetTable`
@@ -2698,24 +2779,150 @@ module Aws::S3
2698
2779
  #
2699
2780
  # * `s3tables:PutTablePolicy`
2700
2781
  #
2782
+ # * `s3tables:PutTableEncryption`
2783
+ #
2784
+ # * `kms:DescribeKey`
2785
+ #
2701
2786
  # The following operations are related to
2702
- # `CreateBucketMetadataTableConfiguration`:
2787
+ # `CreateBucketMetadataConfiguration`:
2703
2788
  #
2704
- # * [DeleteBucketMetadataTableConfiguration][4]
2789
+ # * [DeleteBucketMetadataConfiguration][5]
2705
2790
  #
2706
- # * [GetBucketMetadataTableConfiguration][5]
2791
+ # * [GetBucketMetadataConfiguration][6]
2792
+ #
2793
+ # * [UpdateBucketMetadataInventoryTableConfiguration][7]
2794
+ #
2795
+ # * [UpdateBucketMetadataJournalTableConfiguration][8]
2707
2796
  #
2708
2797
  #
2709
2798
  #
2710
2799
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2711
2800
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2712
2801
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2713
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2714
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2802
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-bucket-query-permissions.html
2803
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
2804
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
2805
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
2806
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
2807
+ #
2808
+ # @option params [required, String] :bucket
2809
+ # The general purpose bucket that you want to create the metadata
2810
+ # configuration for.
2811
+ #
2812
+ # @option params [String] :content_md5
2813
+ # The `Content-MD5` header for the metadata configuration.
2814
+ #
2815
+ # @option params [String] :checksum_algorithm
2816
+ # The checksum algorithm to use with your metadata configuration.
2817
+ #
2818
+ # @option params [required, Types::MetadataConfiguration] :metadata_configuration
2819
+ # The contents of your metadata configuration.
2820
+ #
2821
+ # @option params [String] :expected_bucket_owner
2822
+ # The expected owner of the general purpose bucket that corresponds to
2823
+ # your metadata configuration.
2824
+ #
2825
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2826
+ #
2827
+ # @example Request syntax with placeholder values
2828
+ #
2829
+ # resp = client.create_bucket_metadata_configuration({
2830
+ # bucket: "BucketName", # required
2831
+ # content_md5: "ContentMD5",
2832
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2833
+ # metadata_configuration: { # required
2834
+ # journal_table_configuration: { # required
2835
+ # record_expiration: { # required
2836
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
2837
+ # days: 1,
2838
+ # },
2839
+ # encryption_configuration: {
2840
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2841
+ # kms_key_arn: "KmsKeyArn",
2842
+ # },
2843
+ # },
2844
+ # inventory_table_configuration: {
2845
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
2846
+ # encryption_configuration: {
2847
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2848
+ # kms_key_arn: "KmsKeyArn",
2849
+ # },
2850
+ # },
2851
+ # },
2852
+ # expected_bucket_owner: "AccountId",
2853
+ # })
2854
+ #
2855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfiguration AWS API Documentation
2856
+ #
2857
+ # @overload create_bucket_metadata_configuration(params = {})
2858
+ # @param [Hash] params ({})
2859
+ def create_bucket_metadata_configuration(params = {}, options = {})
2860
+ req = build_request(:create_bucket_metadata_configuration, params)
2861
+ req.send_request(options)
2862
+ end
2863
+
2864
+ # We recommend that you create your S3 Metadata configurations by using
2865
+ # the V2 [CreateBucketMetadataConfiguration][1] API operation. We no
2866
+ # longer recommend using the V1 `CreateBucketMetadataTableConfiguration`
2867
+ # API operation.
2868
+ #
2869
+ # If you created your S3 Metadata configuration before July 15, 2025,
2870
+ # we
2871
+ # recommend that you delete and re-create your configuration by using
2872
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
2873
+ # table records and create a live inventory table.
2874
+ #
2875
+ # Creates a V1 S3 Metadata configuration for a general purpose bucket.
2876
+ # For more information, see [Accelerating data discovery with S3
2877
+ # Metadata][2] in the *Amazon S3 User Guide*.
2878
+ #
2879
+ # Permissions
2880
+ #
2881
+ # : To use this operation, you must have the following permissions. For
2882
+ # more information, see [Setting up permissions for configuring
2883
+ # metadata tables][3] in the *Amazon S3 User Guide*.
2884
+ #
2885
+ # If you want to encrypt your metadata tables with server-side
2886
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2887
+ # need additional permissions. For more information, see [ Setting up
2888
+ # permissions for configuring metadata tables][3] in the *Amazon S3
2889
+ # User Guide*.
2890
+ #
2891
+ # If you also want to integrate your table bucket with Amazon Web
2892
+ # Services analytics services so that you can query your metadata
2893
+ # table, you need additional permissions. For more information, see [
2894
+ # Integrating Amazon S3 Tables with Amazon Web Services analytics
2895
+ # services][4] in the *Amazon S3 User Guide*.
2896
+ #
2897
+ # * `s3:CreateBucketMetadataTableConfiguration`
2898
+ #
2899
+ # * `s3tables:CreateNamespace`
2900
+ #
2901
+ # * `s3tables:GetTable`
2902
+ #
2903
+ # * `s3tables:CreateTable`
2904
+ #
2905
+ # * `s3tables:PutTablePolicy`
2906
+ #
2907
+ # The following operations are related to
2908
+ # `CreateBucketMetadataTableConfiguration`:
2909
+ #
2910
+ # * [DeleteBucketMetadataTableConfiguration][5]
2911
+ #
2912
+ # * [GetBucketMetadataTableConfiguration][6]
2913
+ #
2914
+ #
2915
+ #
2916
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
2917
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2918
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2919
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2920
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2921
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2715
2922
  #
2716
2923
  # @option params [required, String] :bucket
2717
2924
  # The general purpose bucket that you want to create the metadata table
2718
- # configuration in.
2925
+ # configuration for.
2719
2926
  #
2720
2927
  # @option params [String] :content_md5
2721
2928
  # The `Content-MD5` header for the metadata table configuration.
@@ -2727,8 +2934,8 @@ module Aws::S3
2727
2934
  # The contents of your metadata table configuration.
2728
2935
  #
2729
2936
  # @option params [String] :expected_bucket_owner
2730
- # The expected owner of the general purpose bucket that contains your
2731
- # metadata table configuration.
2937
+ # The expected owner of the general purpose bucket that corresponds to
2938
+ # your metadata table configuration.
2732
2939
  #
2733
2940
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2734
2941
  #
@@ -2756,6 +2963,20 @@ module Aws::S3
2756
2963
  req.send_request(options)
2757
2964
  end
2758
2965
 
2966
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
2967
+ # discontinue support for creating new Email Grantee Access Control
2968
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
2969
+ # continue to work and remain accessible through the Amazon Web Services
2970
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2971
+ # However, you will no longer be able to create new Email Grantee ACLs.
2972
+ #
2973
+ # This change affects the following Amazon Web Services Regions: US
2974
+ # East
2975
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2976
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2977
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2978
+ # America (São Paulo) Region.
2979
+ #
2759
2980
  # This action initiates a multipart upload and returns an upload ID.
2760
2981
  # This upload ID is used to associate all of the parts in the specific
2761
2982
  # multipart upload. You specify this upload ID in each of your
@@ -3372,7 +3593,7 @@ module Aws::S3
3372
3593
  #
3373
3594
  # @option params [String] :server_side_encryption
3374
3595
  # The server-side encryption algorithm used when you store this object
3375
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3596
+ # in Amazon S3 or Amazon FSx.
3376
3597
  #
3377
3598
  # * <b>Directory buckets </b> - For directory buckets, there are only
3378
3599
  # two supported options for server-side encryption: server-side
@@ -3414,6 +3635,14 @@ module Aws::S3
3414
3635
  #
3415
3636
  # </note>
3416
3637
  #
3638
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
3639
+ # in Amazon FSx file systems using S3 access points, the only valid
3640
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
3641
+ # systems have encryption configured by default and are encrypted at
3642
+ # rest. Data is automatically encrypted before being written to the
3643
+ # file system, and automatically decrypted as it is read. These
3644
+ # processes are handled transparently by Amazon FSx.
3645
+ #
3417
3646
  #
3418
3647
  #
3419
3648
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -3671,8 +3900,8 @@ module Aws::S3
3671
3900
  # metadata: {
3672
3901
  # "MetadataKey" => "MetadataValue",
3673
3902
  # },
3674
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
3675
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
3903
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3904
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
3676
3905
  # website_redirect_location: "WebsiteRedirectLocation",
3677
3906
  # sse_customer_algorithm: "SSECustomerAlgorithm",
3678
3907
  # sse_customer_key: "SSECustomerKey",
@@ -3697,7 +3926,7 @@ module Aws::S3
3697
3926
  # resp.bucket #=> String
3698
3927
  # resp.key #=> String
3699
3928
  # resp.upload_id #=> String
3700
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
3929
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3701
3930
  # resp.sse_customer_algorithm #=> String
3702
3931
  # resp.sse_customer_key_md5 #=> String
3703
3932
  # resp.ssekms_key_id #=> String
@@ -3904,6 +4133,14 @@ module Aws::S3
3904
4133
  # SSE-S3. For more information, see [Protecting data with server-side
3905
4134
  # encryption][1] in the *Amazon S3 User Guide*.
3906
4135
  #
4136
+ # <b>S3 access points for Amazon FSx </b> - When accessing data stored
4137
+ # in Amazon FSx file systems using S3 access points, the only valid
4138
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
4139
+ # systems have encryption configured by default and are encrypted at
4140
+ # rest. Data is automatically encrypted before being written to the file
4141
+ # system, and automatically decrypted as it is read. These processes are
4142
+ # handled transparently by Amazon FSx.
4143
+ #
3907
4144
  #
3908
4145
  #
3909
4146
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
@@ -3984,7 +4221,7 @@ module Aws::S3
3984
4221
  # resp = client.create_session({
3985
4222
  # session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
3986
4223
  # bucket: "BucketName", # required
3987
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
4224
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3988
4225
  # ssekms_key_id: "SSEKMSKeyId",
3989
4226
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
3990
4227
  # bucket_key_enabled: false,
@@ -3992,7 +4229,7 @@ module Aws::S3
3992
4229
  #
3993
4230
  # @example Response structure
3994
4231
  #
3995
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
4232
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3996
4233
  # resp.ssekms_key_id #=> String
3997
4234
  # resp.ssekms_encryption_context #=> String
3998
4235
  # resp.bucket_key_enabled #=> Boolean
@@ -4400,6 +4637,11 @@ module Aws::S3
4400
4637
  # @option params [required, String] :id
4401
4638
  # The ID used to identify the S3 Intelligent-Tiering configuration.
4402
4639
  #
4640
+ # @option params [String] :expected_bucket_owner
4641
+ # The account ID of the expected bucket owner. If the account ID that
4642
+ # you provide does not match the actual owner of the bucket, the request
4643
+ # fails with the HTTP status code `403 Forbidden` (access denied).
4644
+ #
4403
4645
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4404
4646
  #
4405
4647
  # @example Request syntax with placeholder values
@@ -4407,6 +4649,7 @@ module Aws::S3
4407
4649
  # resp = client.delete_bucket_intelligent_tiering_configuration({
4408
4650
  # bucket: "BucketName", # required
4409
4651
  # id: "IntelligentTieringId", # required
4652
+ # expected_bucket_owner: "AccountId",
4410
4653
  # })
4411
4654
  #
4412
4655
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration AWS API Documentation
@@ -4422,7 +4665,7 @@ module Aws::S3
4422
4665
  #
4423
4666
  # </note>
4424
4667
  #
4425
- # Deletes an inventory configuration (identified by the inventory ID)
4668
+ # Deletes an S3 Inventory configuration (identified by the inventory ID)
4426
4669
  # from the bucket.
4427
4670
  #
4428
4671
  # To use this operation, you must have permissions to perform the
@@ -4593,10 +4836,18 @@ module Aws::S3
4593
4836
  req.send_request(options)
4594
4837
  end
4595
4838
 
4596
- # Deletes a metadata table configuration from a general purpose bucket.
4839
+ # Deletes an S3 Metadata configuration from a general purpose bucket.
4597
4840
  # For more information, see [Accelerating data discovery with S3
4598
4841
  # Metadata][1] in the *Amazon S3 User Guide*.
4599
4842
  #
4843
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4844
+ # with V1 or V2 metadata configurations. However, if you try to use the
4845
+ # V1 `DeleteBucketMetadataTableConfiguration` API operation with V2
4846
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
4847
+ # error.
4848
+ #
4849
+ # </note>
4850
+ #
4600
4851
  # Permissions
4601
4852
  #
4602
4853
  # : To use this operation, you must have the
@@ -4604,19 +4855,107 @@ module Aws::S3
4604
4855
  # information, see [Setting up permissions for configuring metadata
4605
4856
  # tables][2] in the *Amazon S3 User Guide*.
4606
4857
  #
4858
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
4859
+ # operations.
4860
+ #
4861
+ # </note>
4862
+ #
4607
4863
  # The following operations are related to
4608
- # `DeleteBucketMetadataTableConfiguration`:
4864
+ # `DeleteBucketMetadataConfiguration`:
4609
4865
  #
4610
- # * [CreateBucketMetadataTableConfiguration][3]
4866
+ # * [CreateBucketMetadataConfiguration][3]
4611
4867
  #
4612
- # * [GetBucketMetadataTableConfiguration][4]
4868
+ # * [GetBucketMetadataConfiguration][4]
4869
+ #
4870
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
4871
+ #
4872
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
4613
4873
  #
4614
4874
  #
4615
4875
  #
4616
4876
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4617
4877
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4618
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4619
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4878
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4879
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
4880
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
4881
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
4882
+ #
4883
+ # @option params [required, String] :bucket
4884
+ # The general purpose bucket that you want to remove the metadata
4885
+ # configuration from.
4886
+ #
4887
+ # @option params [String] :expected_bucket_owner
4888
+ # The expected bucket owner of the general purpose bucket that you want
4889
+ # to remove the metadata table configuration from.
4890
+ #
4891
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4892
+ #
4893
+ # @example Request syntax with placeholder values
4894
+ #
4895
+ # resp = client.delete_bucket_metadata_configuration({
4896
+ # bucket: "BucketName", # required
4897
+ # expected_bucket_owner: "AccountId",
4898
+ # })
4899
+ #
4900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfiguration AWS API Documentation
4901
+ #
4902
+ # @overload delete_bucket_metadata_configuration(params = {})
4903
+ # @param [Hash] params ({})
4904
+ def delete_bucket_metadata_configuration(params = {}, options = {})
4905
+ req = build_request(:delete_bucket_metadata_configuration, params)
4906
+ req.send_request(options)
4907
+ end
4908
+
4909
+ # We recommend that you delete your S3 Metadata configurations by using
4910
+ # the V2 [DeleteBucketMetadataTableConfiguration][1] API operation. We
4911
+ # no longer recommend using the V1
4912
+ # `DeleteBucketMetadataTableConfiguration` API operation.
4913
+ #
4914
+ # If you created your S3 Metadata configuration before July 15, 2025,
4915
+ # we
4916
+ # recommend that you delete and re-create your configuration by using
4917
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
4918
+ # table records and create a live inventory table.
4919
+ #
4920
+ # Deletes a V1 S3 Metadata configuration from a general purpose bucket.
4921
+ # For more information, see [Accelerating data discovery with S3
4922
+ # Metadata][3] in the *Amazon S3 User Guide*.
4923
+ #
4924
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4925
+ # with V1 or V2 metadata table configurations. However, if you try to
4926
+ # use the V1 `DeleteBucketMetadataTableConfiguration` API operation with
4927
+ # V2 configurations, you will receive an HTTP `405 Method Not Allowed`
4928
+ # error.
4929
+ #
4930
+ # Make sure that you update your processes to use the new V2 API
4931
+ # operations (`CreateBucketMetadataConfiguration`,
4932
+ # `GetBucketMetadataConfiguration`, and
4933
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
4934
+ #
4935
+ # </note>
4936
+ #
4937
+ # Permissions
4938
+ #
4939
+ # : To use this operation, you must have the
4940
+ # `s3:DeleteBucketMetadataTableConfiguration` permission. For more
4941
+ # information, see [Setting up permissions for configuring metadata
4942
+ # tables][4] in the *Amazon S3 User Guide*.
4943
+ #
4944
+ # The following operations are related to
4945
+ # `DeleteBucketMetadataTableConfiguration`:
4946
+ #
4947
+ # * [CreateBucketMetadataTableConfiguration][5]
4948
+ #
4949
+ # * [GetBucketMetadataTableConfiguration][6]
4950
+ #
4951
+ #
4952
+ #
4953
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
4954
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4955
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4956
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4957
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4958
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4620
4959
  #
4621
4960
  # @option params [required, String] :bucket
4622
4961
  # The general purpose bucket that you want to remove the metadata table
@@ -6067,6 +6406,19 @@ module Aws::S3
6067
6406
  req.send_request(options)
6068
6407
  end
6069
6408
 
6409
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
6410
+ # returning `DisplayName`. Update your applications to use canonical IDs
6411
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
6412
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
6413
+ # naming) as a direct replacement of `DisplayName`.
6414
+ #
6415
+ # This change affects the following Amazon Web Services Regions: US
6416
+ # East
6417
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
6418
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
6419
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
6420
+ # America (São Paulo) Region.
6421
+ #
6070
6422
  # <note markdown="1"> This operation is not supported for directory buckets.
6071
6423
  #
6072
6424
  # </note>
@@ -6470,7 +6822,7 @@ module Aws::S3
6470
6822
  # @example Response structure
6471
6823
  #
6472
6824
  # resp.server_side_encryption_configuration.rules #=> Array
6473
- # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
6825
+ # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
6474
6826
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
6475
6827
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
6476
6828
  #
@@ -6532,6 +6884,11 @@ module Aws::S3
6532
6884
  # @option params [required, String] :id
6533
6885
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6534
6886
  #
6887
+ # @option params [String] :expected_bucket_owner
6888
+ # The account ID of the expected bucket owner. If the account ID that
6889
+ # you provide does not match the actual owner of the bucket, the request
6890
+ # fails with the HTTP status code `403 Forbidden` (access denied).
6891
+ #
6535
6892
  # @return [Types::GetBucketIntelligentTieringConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6536
6893
  #
6537
6894
  # * {Types::GetBucketIntelligentTieringConfigurationOutput#intelligent_tiering_configuration #intelligent_tiering_configuration} => Types::IntelligentTieringConfiguration
@@ -6541,6 +6898,7 @@ module Aws::S3
6541
6898
  # resp = client.get_bucket_intelligent_tiering_configuration({
6542
6899
  # bucket: "BucketName", # required
6543
6900
  # id: "IntelligentTieringId", # required
6901
+ # expected_bucket_owner: "AccountId",
6544
6902
  # })
6545
6903
  #
6546
6904
  # @example Response structure
@@ -6571,7 +6929,7 @@ module Aws::S3
6571
6929
  #
6572
6930
  # </note>
6573
6931
  #
6574
- # Returns an inventory configuration (identified by the inventory
6932
+ # Returns an S3 Inventory configuration (identified by the inventory
6575
6933
  # configuration ID) from the bucket.
6576
6934
  #
6577
6935
  # To use this operation, you must have permissions to perform the
@@ -7051,6 +7409,19 @@ module Aws::S3
7051
7409
  req.send_request(options)
7052
7410
  end
7053
7411
 
7412
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
7413
+ # returning `DisplayName`. Update your applications to use canonical IDs
7414
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
7415
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
7416
+ # naming) as a direct replacement of `DisplayName`.
7417
+ #
7418
+ # This change affects the following Amazon Web Services Regions: US
7419
+ # East
7420
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
7421
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
7422
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
7423
+ # America (São Paulo) Region.
7424
+ #
7054
7425
  # <note markdown="1"> This operation is not supported for directory buckets.
7055
7426
  #
7056
7427
  # </note>
@@ -7110,10 +7481,18 @@ module Aws::S3
7110
7481
  req.send_request(options)
7111
7482
  end
7112
7483
 
7113
- # Retrieves the metadata table configuration for a general purpose
7114
- # bucket. For more information, see [Accelerating data discovery with S3
7484
+ # Retrieves the S3 Metadata configuration for a general purpose bucket.
7485
+ # For more information, see [Accelerating data discovery with S3
7115
7486
  # Metadata][1] in the *Amazon S3 User Guide*.
7116
7487
  #
7488
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7489
+ # V1 or V2 metadata configurations. However, if you try to use the V1
7490
+ # `GetBucketMetadataTableConfiguration` API operation with V2
7491
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7492
+ # error.
7493
+ #
7494
+ # </note>
7495
+ #
7117
7496
  # Permissions
7118
7497
  #
7119
7498
  # : To use this operation, you must have the
@@ -7121,27 +7500,136 @@ module Aws::S3
7121
7500
  # information, see [Setting up permissions for configuring metadata
7122
7501
  # tables][2] in the *Amazon S3 User Guide*.
7123
7502
  #
7503
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
7504
+ # operations.
7505
+ #
7506
+ # </note>
7507
+ #
7124
7508
  # The following operations are related to
7125
- # `GetBucketMetadataTableConfiguration`:
7509
+ # `GetBucketMetadataConfiguration`:
7510
+ #
7511
+ # * [CreateBucketMetadataConfiguration][3]
7512
+ #
7513
+ # * [DeleteBucketMetadataConfiguration][4]
7126
7514
  #
7127
- # * [CreateBucketMetadataTableConfiguration][3]
7515
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
7128
7516
  #
7129
- # * [DeleteBucketMetadataTableConfiguration][4]
7517
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
7130
7518
  #
7131
7519
  #
7132
7520
  #
7133
7521
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7134
7522
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7135
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7136
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7523
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7524
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
7525
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
7526
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
7527
+ #
7528
+ # @option params [required, String] :bucket
7529
+ # The general purpose bucket that corresponds to the metadata
7530
+ # configuration that you want to retrieve.
7531
+ #
7532
+ # @option params [String] :expected_bucket_owner
7533
+ # The expected owner of the general purpose bucket that you want to
7534
+ # retrieve the metadata table configuration for.
7535
+ #
7536
+ # @return [Types::GetBucketMetadataConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7537
+ #
7538
+ # * {Types::GetBucketMetadataConfigurationOutput#get_bucket_metadata_configuration_result #get_bucket_metadata_configuration_result} => Types::GetBucketMetadataConfigurationResult
7539
+ #
7540
+ # @example Request syntax with placeholder values
7541
+ #
7542
+ # resp = client.get_bucket_metadata_configuration({
7543
+ # bucket: "BucketName", # required
7544
+ # expected_bucket_owner: "AccountId",
7545
+ # })
7546
+ #
7547
+ # @example Response structure
7548
+ #
7549
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_type #=> String, one of "aws", "customer"
7550
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_arn #=> String
7551
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_namespace #=> String
7552
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_status #=> String
7553
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_code #=> String
7554
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_message #=> String
7555
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_name #=> String
7556
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_arn #=> String
7557
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.expiration #=> String, one of "ENABLED", "DISABLED"
7558
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.days #=> Integer
7559
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.configuration_state #=> String, one of "ENABLED", "DISABLED"
7560
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_status #=> String
7561
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_code #=> String
7562
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_message #=> String
7563
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_name #=> String
7564
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_arn #=> String
7565
+ #
7566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfiguration AWS API Documentation
7567
+ #
7568
+ # @overload get_bucket_metadata_configuration(params = {})
7569
+ # @param [Hash] params ({})
7570
+ def get_bucket_metadata_configuration(params = {}, options = {})
7571
+ req = build_request(:get_bucket_metadata_configuration, params)
7572
+ req.send_request(options)
7573
+ end
7574
+
7575
+ # We recommend that you retrieve your S3 Metadata configurations by
7576
+ # using the V2 [GetBucketMetadataTableConfiguration][1] API operation.
7577
+ # We no longer recommend using the V1
7578
+ # `GetBucketMetadataTableConfiguration` API operation.
7579
+ #
7580
+ # If you created your S3 Metadata configuration before July 15, 2025,
7581
+ # we
7582
+ # recommend that you delete and re-create your configuration by using
7583
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
7584
+ # table records and create a live inventory table.
7585
+ #
7586
+ # Retrieves the V1 S3 Metadata configuration for a general purpose
7587
+ # bucket. For more information, see [Accelerating data discovery with S3
7588
+ # Metadata][3] in the *Amazon S3 User Guide*.
7589
+ #
7590
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7591
+ # V1 or V2 metadata table configurations. However, if you try to use the
7592
+ # V1 `GetBucketMetadataTableConfiguration` API operation with V2
7593
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7594
+ # error.
7595
+ #
7596
+ # Make sure that you update your processes to use the new V2 API
7597
+ # operations (`CreateBucketMetadataConfiguration`,
7598
+ # `GetBucketMetadataConfiguration`, and
7599
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
7600
+ #
7601
+ # </note>
7602
+ #
7603
+ # Permissions
7604
+ #
7605
+ # : To use this operation, you must have the
7606
+ # `s3:GetBucketMetadataTableConfiguration` permission. For more
7607
+ # information, see [Setting up permissions for configuring metadata
7608
+ # tables][4] in the *Amazon S3 User Guide*.
7609
+ #
7610
+ # The following operations are related to
7611
+ # `GetBucketMetadataTableConfiguration`:
7612
+ #
7613
+ # * [CreateBucketMetadataTableConfiguration][5]
7614
+ #
7615
+ # * [DeleteBucketMetadataTableConfiguration][6]
7616
+ #
7617
+ #
7618
+ #
7619
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
7620
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7621
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7622
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7623
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7624
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7137
7625
  #
7138
7626
  # @option params [required, String] :bucket
7139
- # The general purpose bucket that contains the metadata table
7627
+ # The general purpose bucket that corresponds to the metadata table
7140
7628
  # configuration that you want to retrieve.
7141
7629
  #
7142
7630
  # @option params [String] :expected_bucket_owner
7143
7631
  # The expected owner of the general purpose bucket that you want to
7144
- # retrieve the metadata table configuration from.
7632
+ # retrieve the metadata table configuration for.
7145
7633
  #
7146
7634
  # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7147
7635
  #
@@ -7514,6 +8002,21 @@ module Aws::S3
7514
8002
  # permission. For more information about Amazon S3 permissions, see
7515
8003
  # [Specifying permissions in a policy][1].
7516
8004
  #
8005
+ # <note markdown="1"> A bucket doesn't have `OwnershipControls` settings in the following
8006
+ # cases:
8007
+ #
8008
+ # * The bucket was created before the `BucketOwnerEnforced` ownership
8009
+ # setting was introduced and you've never explicitly applied this
8010
+ # value
8011
+ #
8012
+ # * You've manually deleted the bucket ownership control value using
8013
+ # the `DeleteBucketOwnershipControls` API operation.
8014
+ #
8015
+ # By default, Amazon S3 sets `OwnershipControls` for all newly created
8016
+ # buckets.
8017
+ #
8018
+ # </note>
8019
+ #
7517
8020
  # For information about Amazon S3 Object Ownership, see [Using Object
7518
8021
  # Ownership][2].
7519
8022
  #
@@ -7897,7 +8400,7 @@ module Aws::S3
7897
8400
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
7898
8401
  # resp.replication_configuration.rules[0].destination.bucket #=> String
7899
8402
  # resp.replication_configuration.rules[0].destination.account #=> String
7900
- # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
8403
+ # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
7901
8404
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
7902
8405
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
7903
8406
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -8879,14 +9382,14 @@ module Aws::S3
8879
9382
  # resp.expires #=> Time
8880
9383
  # resp.expires_string #=> String
8881
9384
  # resp.website_redirect_location #=> String
8882
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
9385
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
8883
9386
  # resp.metadata #=> Hash
8884
9387
  # resp.metadata["MetadataKey"] #=> String
8885
9388
  # resp.sse_customer_algorithm #=> String
8886
9389
  # resp.sse_customer_key_md5 #=> String
8887
9390
  # resp.ssekms_key_id #=> String
8888
9391
  # resp.bucket_key_enabled #=> Boolean
8889
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
9392
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
8890
9393
  # resp.request_charged #=> String, one of "requester"
8891
9394
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
8892
9395
  # resp.parts_count #=> Integer
@@ -9465,7 +9968,7 @@ module Aws::S3
9465
9968
  # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9466
9969
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9467
9970
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9468
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
9971
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
9469
9972
  # resp.object_size #=> Integer
9470
9973
  #
9471
9974
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes AWS API Documentation
@@ -10232,6 +10735,7 @@ module Aws::S3
10232
10735
  #
10233
10736
  # @return [Types::HeadBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10234
10737
  #
10738
+ # * {Types::HeadBucketOutput#bucket_arn #bucket_arn} => String
10235
10739
  # * {Types::HeadBucketOutput#bucket_location_type #bucket_location_type} => String
10236
10740
  # * {Types::HeadBucketOutput#bucket_location_name #bucket_location_name} => String
10237
10741
  # * {Types::HeadBucketOutput#bucket_region #bucket_region} => String
@@ -10255,6 +10759,7 @@ module Aws::S3
10255
10759
  #
10256
10760
  # @example Response structure
10257
10761
  #
10762
+ # resp.bucket_arn #=> String
10258
10763
  # resp.bucket_location_type #=> String, one of "AvailabilityZone", "LocalZone"
10259
10764
  # resp.bucket_location_name #=> String
10260
10765
  # resp.bucket_region #=> String
@@ -10700,6 +11205,7 @@ module Aws::S3
10700
11205
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
10701
11206
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
10702
11207
  # * {Types::HeadObjectOutput#parts_count #parts_count} => Integer
11208
+ # * {Types::HeadObjectOutput#tag_count #tag_count} => Integer
10703
11209
  # * {Types::HeadObjectOutput#object_lock_mode #object_lock_mode} => String
10704
11210
  # * {Types::HeadObjectOutput#object_lock_retain_until_date #object_lock_retain_until_date} => Time
10705
11211
  # * {Types::HeadObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
@@ -10779,17 +11285,18 @@ module Aws::S3
10779
11285
  # resp.expires #=> Time
10780
11286
  # resp.expires_string #=> String
10781
11287
  # resp.website_redirect_location #=> String
10782
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
11288
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
10783
11289
  # resp.metadata #=> Hash
10784
11290
  # resp.metadata["MetadataKey"] #=> String
10785
11291
  # resp.sse_customer_algorithm #=> String
10786
11292
  # resp.sse_customer_key_md5 #=> String
10787
11293
  # resp.ssekms_key_id #=> String
10788
11294
  # resp.bucket_key_enabled #=> Boolean
10789
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
11295
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
10790
11296
  # resp.request_charged #=> String, one of "requester"
10791
11297
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
10792
11298
  # resp.parts_count #=> Integer
11299
+ # resp.tag_count #=> Integer
10793
11300
  # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
10794
11301
  # resp.object_lock_retain_until_date #=> Time
10795
11302
  # resp.object_lock_legal_hold_status #=> String, one of "ON", "OFF"
@@ -10960,6 +11467,11 @@ module Aws::S3
10960
11467
  # The `ContinuationToken` that represents a placeholder from where this
10961
11468
  # request should begin.
10962
11469
  #
11470
+ # @option params [String] :expected_bucket_owner
11471
+ # The account ID of the expected bucket owner. If the account ID that
11472
+ # you provide does not match the actual owner of the bucket, the request
11473
+ # fails with the HTTP status code `403 Forbidden` (access denied).
11474
+ #
10963
11475
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10964
11476
  #
10965
11477
  # * {Types::ListBucketIntelligentTieringConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -10972,6 +11484,7 @@ module Aws::S3
10972
11484
  # resp = client.list_bucket_intelligent_tiering_configurations({
10973
11485
  # bucket: "BucketName", # required
10974
11486
  # continuation_token: "Token",
11487
+ # expected_bucket_owner: "AccountId",
10975
11488
  # })
10976
11489
  #
10977
11490
  # @example Response structure
@@ -11006,7 +11519,7 @@ module Aws::S3
11006
11519
  #
11007
11520
  # </note>
11008
11521
  #
11009
- # Returns a list of inventory configurations for the bucket. You can
11522
+ # Returns a list of S3 Inventory configurations for the bucket. You can
11010
11523
  # have up to 1,000 analytics configurations per bucket.
11011
11524
  #
11012
11525
  # This action supports list pagination and does not return more than 100
@@ -11206,6 +11719,19 @@ module Aws::S3
11206
11719
  req.send_request(options)
11207
11720
  end
11208
11721
 
11722
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11723
+ # returning `DisplayName`. Update your applications to use canonical IDs
11724
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
11725
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
11726
+ # naming) as a direct replacement of `DisplayName`.
11727
+ #
11728
+ # This change affects the following Amazon Web Services Regions: US
11729
+ # East
11730
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11731
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11732
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11733
+ # America (São Paulo) Region.
11734
+ #
11209
11735
  # <note markdown="1"> This operation is not supported for directory buckets.
11210
11736
  #
11211
11737
  # </note>
@@ -11330,6 +11856,7 @@ module Aws::S3
11330
11856
  # resp.buckets[0].name #=> String
11331
11857
  # resp.buckets[0].creation_date #=> Time
11332
11858
  # resp.buckets[0].bucket_region #=> String
11859
+ # resp.buckets[0].bucket_arn #=> String
11333
11860
  # resp.owner.display_name #=> String
11334
11861
  # resp.owner.id #=> String
11335
11862
  # resp.continuation_token #=> String
@@ -11421,6 +11948,7 @@ module Aws::S3
11421
11948
  # resp.buckets[0].name #=> String
11422
11949
  # resp.buckets[0].creation_date #=> Time
11423
11950
  # resp.buckets[0].bucket_region #=> String
11951
+ # resp.buckets[0].bucket_arn #=> String
11424
11952
  # resp.continuation_token #=> String
11425
11953
  #
11426
11954
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListDirectoryBuckets AWS API Documentation
@@ -11432,6 +11960,19 @@ module Aws::S3
11432
11960
  req.send_request(options)
11433
11961
  end
11434
11962
 
11963
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11964
+ # returning `DisplayName`. Update your applications to use canonical IDs
11965
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
11966
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
11967
+ # naming) as a direct replacement of `DisplayName`.
11968
+ #
11969
+ # This change affects the following Amazon Web Services Regions: US
11970
+ # East
11971
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11972
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11973
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11974
+ # America (São Paulo) Region.
11975
+ #
11435
11976
  # This operation lists in-progress multipart uploads in a bucket. An
11436
11977
  # in-progress multipart upload is a multipart upload that has been
11437
11978
  # initiated by the `CreateMultipartUpload` request, but has not yet been
@@ -11608,6 +12149,9 @@ module Aws::S3
11608
12149
  # beginning of the key. The keys that are grouped under `CommonPrefixes`
11609
12150
  # result element are not returned elsewhere in the response.
11610
12151
  #
12152
+ # `CommonPrefixes` is filtered out from results if it is not
12153
+ # lexicographically greater than the key-marker.
12154
+ #
11611
12155
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
11612
12156
  # supported delimiter.
11613
12157
  #
@@ -11857,7 +12401,7 @@ module Aws::S3
11857
12401
  # resp.uploads[0].upload_id #=> String
11858
12402
  # resp.uploads[0].key #=> String
11859
12403
  # resp.uploads[0].initiated #=> Time
11860
- # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12404
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
11861
12405
  # resp.uploads[0].owner.display_name #=> String
11862
12406
  # resp.uploads[0].owner.id #=> String
11863
12407
  # resp.uploads[0].initiator.id #=> String
@@ -11878,6 +12422,19 @@ module Aws::S3
11878
12422
  req.send_request(options)
11879
12423
  end
11880
12424
 
12425
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12426
+ # returning `DisplayName`. Update your applications to use canonical IDs
12427
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
12428
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
12429
+ # naming) as a direct replacement of `DisplayName`.
12430
+ #
12431
+ # This change affects the following Amazon Web Services Regions: US
12432
+ # East
12433
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12434
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12435
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12436
+ # America (São Paulo) Region.
12437
+ #
11881
12438
  # <note markdown="1"> This operation is not supported for directory buckets.
11882
12439
  #
11883
12440
  # </note>
@@ -11925,6 +12482,9 @@ module Aws::S3
11925
12482
  # the `max-keys` limitation. These keys are not returned elsewhere in
11926
12483
  # the response.
11927
12484
  #
12485
+ # `CommonPrefixes` is filtered out from results if it is not
12486
+ # lexicographically greater than the key-marker.
12487
+ #
11928
12488
  # @option params [String] :encoding_type
11929
12489
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
11930
12490
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12118,6 +12678,19 @@ module Aws::S3
12118
12678
  req.send_request(options)
12119
12679
  end
12120
12680
 
12681
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12682
+ # returning `DisplayName`. Update your applications to use canonical IDs
12683
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
12684
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
12685
+ # naming) as a direct replacement of `DisplayName`.
12686
+ #
12687
+ # This change affects the following Amazon Web Services Regions: US
12688
+ # East
12689
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12690
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12691
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12692
+ # America (São Paulo) Region.
12693
+ #
12121
12694
  # <note markdown="1"> This operation is not supported for directory buckets.
12122
12695
  #
12123
12696
  # </note>
@@ -12200,6 +12773,9 @@ module Aws::S3
12200
12773
  # @option params [String] :delimiter
12201
12774
  # A delimiter is a character that you use to group keys.
12202
12775
  #
12776
+ # `CommonPrefixes` is filtered out from results if it is not
12777
+ # lexicographically greater than the key-marker.
12778
+ #
12203
12779
  # @option params [String] :encoding_type
12204
12780
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
12205
12781
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12331,7 +12907,7 @@ module Aws::S3
12331
12907
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12332
12908
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12333
12909
  # resp.contents[0].size #=> Integer
12334
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12910
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12335
12911
  # resp.contents[0].owner.display_name #=> String
12336
12912
  # resp.contents[0].owner.id #=> String
12337
12913
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12494,6 +13070,9 @@ module Aws::S3
12494
13070
  # @option params [String] :delimiter
12495
13071
  # A delimiter is a character that you use to group keys.
12496
13072
  #
13073
+ # `CommonPrefixes` is filtered out from results if it is not
13074
+ # lexicographically greater than the `StartAfter` value.
13075
+ #
12497
13076
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
12498
13077
  # supported delimiter.
12499
13078
  #
@@ -12674,7 +13253,7 @@ module Aws::S3
12674
13253
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12675
13254
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12676
13255
  # resp.contents[0].size #=> Integer
12677
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
13256
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12678
13257
  # resp.contents[0].owner.display_name #=> String
12679
13258
  # resp.contents[0].owner.id #=> String
12680
13259
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12701,6 +13280,19 @@ module Aws::S3
12701
13280
  req.send_request(options)
12702
13281
  end
12703
13282
 
13283
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
13284
+ # returning `DisplayName`. Update your applications to use canonical IDs
13285
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
13286
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
13287
+ # naming) as a direct replacement of `DisplayName`.
13288
+ #
13289
+ # This change affects the following Amazon Web Services Regions: US
13290
+ # East
13291
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13292
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13293
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13294
+ # America (São Paulo) Region.
13295
+ #
12704
13296
  # Lists the parts that have been uploaded for a specific multipart
12705
13297
  # upload.
12706
13298
  #
@@ -13016,7 +13608,7 @@ module Aws::S3
13016
13608
  # resp.initiator.display_name #=> String
13017
13609
  # resp.owner.display_name #=> String
13018
13610
  # resp.owner.id #=> String
13019
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
13611
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
13020
13612
  # resp.request_charged #=> String, one of "requester"
13021
13613
  # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
13022
13614
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
@@ -13129,6 +13721,20 @@ module Aws::S3
13129
13721
  req.send_request(options)
13130
13722
  end
13131
13723
 
13724
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
13725
+ # discontinue support for creating new Email Grantee Access Control
13726
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
13727
+ # continue to work and remain accessible through the Amazon Web Services
13728
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
13729
+ # However, you will no longer be able to create new Email Grantee ACLs.
13730
+ #
13731
+ # This change affects the following Amazon Web Services Regions: US
13732
+ # East
13733
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13734
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13735
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13736
+ # America (São Paulo) Region.
13737
+ #
13132
13738
  # <note markdown="1"> This operation is not supported for directory buckets.
13133
13739
  #
13134
13740
  # </note>
@@ -13235,7 +13841,10 @@ module Aws::S3
13235
13841
  # Grantee Values
13236
13842
  #
13237
13843
  # : You can specify the person (grantee) to whom you're assigning
13238
- # access rights (using request elements) in the following ways:
13844
+ # access rights (using request elements) in the following ways. For
13845
+ # examples of how to specify these grantee values in JSON format, see
13846
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
13847
+ # access logging][6] in the *Amazon S3 User Guide*.
13239
13848
  #
13240
13849
  # * By the person's ID:
13241
13850
  #
@@ -13285,11 +13894,11 @@ module Aws::S3
13285
13894
  #
13286
13895
  # The following operations are related to `PutBucketAcl`:
13287
13896
  #
13288
- # * [CreateBucket][6]
13897
+ # * [CreateBucket][7]
13289
13898
  #
13290
- # * [DeleteBucket][7]
13899
+ # * [DeleteBucket][8]
13291
13900
  #
13292
- # * [GetObjectAcl][8]
13901
+ # * [GetObjectAcl][9]
13293
13902
  #
13294
13903
  #
13295
13904
  #
@@ -13298,9 +13907,10 @@ module Aws::S3
13298
13907
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
13299
13908
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
13300
13909
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
13301
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13302
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13303
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
13910
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
13911
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13912
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13913
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
13304
13914
  #
13305
13915
  # @option params [String] :acl
13306
13916
  # The canned ACL to apply to the bucket.
@@ -13954,7 +14564,7 @@ module Aws::S3
13954
14564
  # rules: [ # required
13955
14565
  # {
13956
14566
  # apply_server_side_encryption_by_default: {
13957
- # sse_algorithm: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
14567
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
13958
14568
  # kms_master_key_id: "SSEKMSKeyId",
13959
14569
  # },
13960
14570
  # bucket_key_enabled: false,
@@ -14051,6 +14661,11 @@ module Aws::S3
14051
14661
  # @option params [required, String] :id
14052
14662
  # The ID used to identify the S3 Intelligent-Tiering configuration.
14053
14663
  #
14664
+ # @option params [String] :expected_bucket_owner
14665
+ # The account ID of the expected bucket owner. If the account ID that
14666
+ # you provide does not match the actual owner of the bucket, the request
14667
+ # fails with the HTTP status code `403 Forbidden` (access denied).
14668
+ #
14054
14669
  # @option params [required, Types::IntelligentTieringConfiguration] :intelligent_tiering_configuration
14055
14670
  # Container for S3 Intelligent-Tiering configuration.
14056
14671
  #
@@ -14061,6 +14676,7 @@ module Aws::S3
14061
14676
  # resp = client.put_bucket_intelligent_tiering_configuration({
14062
14677
  # bucket: "BucketName", # required
14063
14678
  # id: "IntelligentTieringId", # required
14679
+ # expected_bucket_owner: "AccountId",
14064
14680
  # intelligent_tiering_configuration: { # required
14065
14681
  # id: "IntelligentTieringId", # required
14066
14682
  # filter: {
@@ -14102,7 +14718,7 @@ module Aws::S3
14102
14718
  #
14103
14719
  # </note>
14104
14720
  #
14105
- # This implementation of the `PUT` action adds an inventory
14721
+ # This implementation of the `PUT` action adds an S3 Inventory
14106
14722
  # configuration (identified by the inventory ID) to the bucket. You can
14107
14723
  # have up to 1,000 inventory configurations per bucket.
14108
14724
  #
@@ -14699,6 +15315,20 @@ module Aws::S3
14699
15315
  req.send_request(options)
14700
15316
  end
14701
15317
 
15318
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
15319
+ # discontinue support for creating new Email Grantee Access Control
15320
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
15321
+ # continue to work and remain accessible through the Amazon Web Services
15322
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
15323
+ # However, you will no longer be able to create new Email Grantee ACLs.
15324
+ #
15325
+ # This change affects the following Amazon Web Services Regions: US
15326
+ # East
15327
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
15328
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
15329
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
15330
+ # America (São Paulo) Region.
15331
+ #
14702
15332
  # <note markdown="1"> This operation is not supported for directory buckets.
14703
15333
  #
14704
15334
  # </note>
@@ -14722,7 +15352,10 @@ module Aws::S3
14722
15352
  # Grantee Values
14723
15353
  #
14724
15354
  # : You can specify the person (grantee) to whom you're assigning
14725
- # access rights (by using request elements) in the following ways:
15355
+ # access rights (by using request elements) in the following ways. For
15356
+ # examples of how to specify these grantee values in JSON format, see
15357
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
15358
+ # access logging][2] in the *Amazon S3 User Guide*.
14726
15359
  #
14727
15360
  # * By the person's ID:
14728
15361
  #
@@ -14753,30 +15386,31 @@ module Aws::S3
14753
15386
  # />`
14754
15387
  #
14755
15388
  # For more information about server access logging, see [Server Access
14756
- # Logging][2] in the *Amazon S3 User Guide*.
15389
+ # Logging][3] in the *Amazon S3 User Guide*.
14757
15390
  #
14758
- # For more information about creating a bucket, see [CreateBucket][3].
15391
+ # For more information about creating a bucket, see [CreateBucket][4].
14759
15392
  # For more information about returning the logging status of a bucket,
14760
- # see [GetBucketLogging][4].
15393
+ # see [GetBucketLogging][5].
14761
15394
  #
14762
15395
  # The following operations are related to `PutBucketLogging`:
14763
15396
  #
14764
- # * [PutObject][5]
15397
+ # * [PutObject][6]
14765
15398
  #
14766
- # * [DeleteBucket][6]
15399
+ # * [DeleteBucket][7]
14767
15400
  #
14768
- # * [CreateBucket][3]
15401
+ # * [CreateBucket][4]
14769
15402
  #
14770
- # * [GetBucketLogging][4]
15403
+ # * [GetBucketLogging][5]
14771
15404
  #
14772
15405
  #
14773
15406
  #
14774
15407
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
14775
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
14776
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14777
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
14778
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
14779
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
15408
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
15409
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
15410
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
15411
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
15412
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
15413
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
14780
15414
  #
14781
15415
  # @option params [required, String] :bucket
14782
15416
  # The name of the bucket for which to set the logging parameters.
@@ -15748,7 +16382,7 @@ module Aws::S3
15748
16382
  # destination: { # required
15749
16383
  # bucket: "BucketName", # required
15750
16384
  # account: "AccountId",
15751
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
16385
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
15752
16386
  # access_control_translation: {
15753
16387
  # owner: "Destination", # required, accepts Destination
15754
16388
  # },
@@ -16360,6 +16994,20 @@ module Aws::S3
16360
16994
  req.send_request(options)
16361
16995
  end
16362
16996
 
16997
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
16998
+ # discontinue support for creating new Email Grantee Access Control
16999
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
17000
+ # continue to work and remain accessible through the Amazon Web Services
17001
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
17002
+ # However, you will no longer be able to create new Email Grantee ACLs.
17003
+ #
17004
+ # This change affects the following Amazon Web Services Regions: US
17005
+ # East
17006
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
17007
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
17008
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
17009
+ # America (São Paulo) Region.
17010
+ #
16363
17011
  # Adds an object to a bucket.
16364
17012
  #
16365
17013
  # <note markdown="1"> * Amazon S3 never adds partial objects; if you receive a success
@@ -16868,8 +17516,7 @@ module Aws::S3
16868
17516
  #
16869
17517
  # @option params [String] :server_side_encryption
16870
17518
  # The server-side encryption algorithm that was used when you store this
16871
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
16872
- # `aws:kms:dsse`).
17519
+ # object in Amazon S3 or Amazon FSx.
16873
17520
  #
16874
17521
  # * <b>General purpose buckets </b> - You have four mutually exclusive
16875
17522
  # options to protect data using server-side encryption in Amazon S3,
@@ -16923,6 +17570,14 @@ module Aws::S3
16923
17570
  #
16924
17571
  # </note>
16925
17572
  #
17573
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
17574
+ # in Amazon FSx file systems using S3 access points, the only valid
17575
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
17576
+ # systems have encryption configured by default and are encrypted at
17577
+ # rest. Data is automatically encrypted before being written to the
17578
+ # file system, and automatically decrypted as it is read. These
17579
+ # processes are handled transparently by Amazon FSx.
17580
+ #
16926
17581
  #
16927
17582
  #
16928
17583
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -17336,8 +17991,8 @@ module Aws::S3
17336
17991
  # metadata: {
17337
17992
  # "MetadataKey" => "MetadataValue",
17338
17993
  # },
17339
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
17340
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
17994
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
17995
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
17341
17996
  # website_redirect_location: "WebsiteRedirectLocation",
17342
17997
  # sse_customer_algorithm: "SSECustomerAlgorithm",
17343
17998
  # sse_customer_key: "SSECustomerKey",
@@ -17363,7 +18018,7 @@ module Aws::S3
17363
18018
  # resp.checksum_sha1 #=> String
17364
18019
  # resp.checksum_sha256 #=> String
17365
18020
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
17366
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
18021
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
17367
18022
  # resp.version_id #=> String
17368
18023
  # resp.sse_customer_algorithm #=> String
17369
18024
  # resp.sse_customer_key_md5 #=> String
@@ -17479,7 +18134,10 @@ module Aws::S3
17479
18134
  # Grantee Values
17480
18135
  #
17481
18136
  # : You can specify the person (grantee) to whom you're assigning
17482
- # access rights (using request elements) in the following ways:
18137
+ # access rights (using request elements) in the following ways. For
18138
+ # examples of how to specify these grantee values in JSON format, see
18139
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
18140
+ # access logging][6] in the *Amazon S3 User Guide*.
17483
18141
  #
17484
18142
  # * By the person's ID:
17485
18143
  #
@@ -17535,9 +18193,9 @@ module Aws::S3
17535
18193
  #
17536
18194
  # The following operations are related to `PutObjectAcl`:
17537
18195
  #
17538
- # * [CopyObject][6]
18196
+ # * [CopyObject][7]
17539
18197
  #
17540
- # * [GetObject][7]
18198
+ # * [GetObject][8]
17541
18199
  #
17542
18200
  #
17543
18201
  #
@@ -17546,8 +18204,9 @@ module Aws::S3
17546
18204
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
17547
18205
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
17548
18206
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
17549
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
17550
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
18207
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
18208
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
18209
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
17551
18210
  #
17552
18211
  # @option params [String] :acl
17553
18212
  # The canned ACL to apply to the object. For more information, see
@@ -18433,6 +19092,179 @@ module Aws::S3
18433
19092
  req.send_request(options)
18434
19093
  end
18435
19094
 
19095
+ # Renames an existing object in a directory bucket that uses the S3
19096
+ # Express One Zone storage class. You can use `RenameObject` by
19097
+ # specifying an existing object’s name as the source and the new name of
19098
+ # the object as the destination within the same directory bucket.
19099
+ #
19100
+ # <note markdown="1"> `RenameObject` is only supported for objects stored in the S3 Express
19101
+ # One Zone storage class.
19102
+ #
19103
+ # </note>
19104
+ #
19105
+ # To prevent overwriting an object, you can use the `If-None-Match`
19106
+ # conditional header.
19107
+ #
19108
+ # * **If-None-Match** - Renames the object only if an object with the
19109
+ # specified name does not already exist in the directory bucket. If
19110
+ # you don't want to overwrite an existing object, you can add the
19111
+ # `If-None-Match` conditional header with the value `‘*’` in the
19112
+ # `RenameObject` request. Amazon S3 then returns a `412 Precondition
19113
+ # Failed` error if the object with the specified name already exists.
19114
+ # For more information, see [RFC 7232][1].
19115
+ #
19116
+ # ^
19117
+ #
19118
+ # Permissions
19119
+ #
19120
+ # : To grant access to the `RenameObject` operation on a directory
19121
+ # bucket, we recommend that you use the `CreateSession` operation for
19122
+ # session-based authorization. Specifically, you grant the
19123
+ # `s3express:CreateSession` permission to the directory bucket in a
19124
+ # bucket policy or an IAM identity-based policy. Then, you make the
19125
+ # `CreateSession` API call on the directory bucket to obtain a session
19126
+ # token. With the session token in your request header, you can make
19127
+ # API requests to this operation. After the session token expires, you
19128
+ # make another `CreateSession` API call to generate a new session
19129
+ # token for use. The Amazon Web Services CLI and SDKs will create and
19130
+ # manage your session including refreshing the session token
19131
+ # automatically to avoid service interruptions when a session expires.
19132
+ # In your bucket policy, you can specify the `s3express:SessionMode`
19133
+ # condition key to control who can create a `ReadWrite` or `ReadOnly`
19134
+ # session. A `ReadWrite` session is required for executing all the
19135
+ # Zonal endpoint API operations, including `RenameObject`. For more
19136
+ # information about authorization, see [ `CreateSession` ][2]. To
19137
+ # learn more about Zonal endpoint API operations, see [Authorizing
19138
+ # Zonal endpoint API operations with CreateSession][3] in the *Amazon
19139
+ # S3 User Guide*.
19140
+ #
19141
+ # HTTP Host header syntax
19142
+ #
19143
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is `
19144
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
19145
+ #
19146
+ #
19147
+ #
19148
+ # [1]: https://datatracker.ietf.org/doc/rfc7232/
19149
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
19150
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-create-session.html
19151
+ #
19152
+ # @option params [required, String] :bucket
19153
+ # The bucket name of the directory bucket containing the object.
19154
+ #
19155
+ # You must use virtual-hosted-style requests in the format
19156
+ # `Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
19157
+ # requests are not supported. Directory bucket names must be unique in
19158
+ # the chosen Availability Zone. Bucket names must follow the format
19159
+ # `bucket-base-name--zone-id--x-s3 ` (for example,
19160
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
19161
+ # naming restrictions, see [Directory bucket naming rules][1] in the
19162
+ # *Amazon S3 User Guide*.
19163
+ #
19164
+ #
19165
+ #
19166
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
19167
+ #
19168
+ # @option params [required, String] :key
19169
+ # Key name of the object to rename.
19170
+ #
19171
+ # @option params [required, String] :rename_source
19172
+ # Specifies the source for the rename operation. The value must be URL
19173
+ # encoded.
19174
+ #
19175
+ # @option params [String] :destination_if_match
19176
+ # Renames the object only if the ETag (entity tag) value provided during
19177
+ # the operation matches the ETag of the object in S3. The `If-Match`
19178
+ # header field makes the request method conditional on ETags. If the
19179
+ # ETag values do not match, the operation returns a `412 Precondition
19180
+ # Failed` error.
19181
+ #
19182
+ # Expects the ETag value as a string.
19183
+ #
19184
+ # @option params [String] :destination_if_none_match
19185
+ # Renames the object only if the destination does not already exist in
19186
+ # the specified directory bucket. If the object does exist when you send
19187
+ # a request with `If-None-Match:*`, the S3 API will return a `412
19188
+ # Precondition Failed` error, preventing an overwrite. The
19189
+ # `If-None-Match` header prevents overwrites of existing data by
19190
+ # validating that there's not an object with the same key name already
19191
+ # in your directory bucket.
19192
+ #
19193
+ # Expects the `*` character (asterisk).
19194
+ #
19195
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_modified_since
19196
+ # Renames the object if the destination exists and if it has been
19197
+ # modified since the specified time.
19198
+ #
19199
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_unmodified_since
19200
+ # Renames the object if it hasn't been modified since the specified
19201
+ # time.
19202
+ #
19203
+ # @option params [String] :source_if_match
19204
+ # Renames the object if the source exists and if its entity tag (ETag)
19205
+ # matches the specified ETag.
19206
+ #
19207
+ # @option params [String] :source_if_none_match
19208
+ # Renames the object if the source exists and if its entity tag (ETag)
19209
+ # is different than the specified ETag. If an asterisk (`*`) character
19210
+ # is provided, the operation will fail and return a `412 Precondition
19211
+ # Failed` error.
19212
+ #
19213
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_modified_since
19214
+ # Renames the object if the source exists and if it has been modified
19215
+ # since the specified time.
19216
+ #
19217
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_unmodified_since
19218
+ # Renames the object if the source exists and hasn't been modified
19219
+ # since the specified time.
19220
+ #
19221
+ # @option params [String] :client_token
19222
+ # A unique string with a max of 64 ASCII characters in the ASCII range
19223
+ # of 33 - 126.
19224
+ #
19225
+ # <note markdown="1"> `RenameObject` supports idempotency using a client token. To make an
19226
+ # idempotent API request using `RenameObject`, specify a client token in
19227
+ # the request. You should not reuse the same client token for other API
19228
+ # requests. If you retry a request that completed successfully using the
19229
+ # same client token and the same parameters, the retry succeeds without
19230
+ # performing any further actions. If you retry a successful request
19231
+ # using the same client token, but one or more of the parameters are
19232
+ # different, the retry fails and an `IdempotentParameterMismatch` error
19233
+ # is returned.
19234
+ #
19235
+ # </note>
19236
+ #
19237
+ # **A suitable default value is auto-generated.** You should normally
19238
+ # not need to pass this option.**
19239
+ #
19240
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
19241
+ #
19242
+ # @example Request syntax with placeholder values
19243
+ #
19244
+ # resp = client.rename_object({
19245
+ # bucket: "BucketName", # required
19246
+ # key: "ObjectKey", # required
19247
+ # rename_source: "RenameSource", # required
19248
+ # destination_if_match: "IfMatch",
19249
+ # destination_if_none_match: "IfNoneMatch",
19250
+ # destination_if_modified_since: Time.now,
19251
+ # destination_if_unmodified_since: Time.now,
19252
+ # source_if_match: "RenameSourceIfMatch",
19253
+ # source_if_none_match: "RenameSourceIfNoneMatch",
19254
+ # source_if_modified_since: Time.now,
19255
+ # source_if_unmodified_since: Time.now,
19256
+ # client_token: "ClientToken",
19257
+ # })
19258
+ #
19259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObject AWS API Documentation
19260
+ #
19261
+ # @overload rename_object(params = {})
19262
+ # @param [Hash] params ({})
19263
+ def rename_object(params = {}, options = {})
19264
+ req = build_request(:rename_object, params)
19265
+ req.send_request(options)
19266
+ end
19267
+
18436
19268
  # <note markdown="1"> This operation is not supported for directory buckets.
18437
19269
  #
18438
19270
  # </note>
@@ -18763,7 +19595,7 @@ module Aws::S3
18763
19595
  # bucket_name: "BucketName", # required
18764
19596
  # prefix: "LocationPrefix", # required
18765
19597
  # encryption: {
18766
- # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
19598
+ # encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
18767
19599
  # kms_key_id: "SSEKMSKeyId",
18768
19600
  # kms_context: "KMSContext",
18769
19601
  # },
@@ -18794,7 +19626,7 @@ module Aws::S3
18794
19626
  # value: "MetadataValue",
18795
19627
  # },
18796
19628
  # ],
18797
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
19629
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
18798
19630
  # },
18799
19631
  # },
18800
19632
  # },
@@ -19238,6 +20070,182 @@ module Aws::S3
19238
20070
  req.send_request(options, &block)
19239
20071
  end
19240
20072
 
20073
+ # Enables or disables a live inventory table for an S3 Metadata
20074
+ # configuration on a general purpose bucket. For more information, see
20075
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20076
+ # User Guide*.
20077
+ #
20078
+ # Permissions
20079
+ #
20080
+ # : To use this operation, you must have the following permissions. For
20081
+ # more information, see [Setting up permissions for configuring
20082
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20083
+ #
20084
+ # If you want to encrypt your inventory table with server-side
20085
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
20086
+ # need additional permissions in your KMS key policy. For more
20087
+ # information, see [ Setting up permissions for configuring metadata
20088
+ # tables][2] in the *Amazon S3 User Guide*.
20089
+ #
20090
+ # * `s3:UpdateBucketMetadataInventoryTableConfiguration`
20091
+ #
20092
+ # * `s3tables:CreateTableBucket`
20093
+ #
20094
+ # * `s3tables:CreateNamespace`
20095
+ #
20096
+ # * `s3tables:GetTable`
20097
+ #
20098
+ # * `s3tables:CreateTable`
20099
+ #
20100
+ # * `s3tables:PutTablePolicy`
20101
+ #
20102
+ # * `s3tables:PutTableEncryption`
20103
+ #
20104
+ # * `kms:DescribeKey`
20105
+ #
20106
+ # The following operations are related to
20107
+ # `UpdateBucketMetadataInventoryTableConfiguration`:
20108
+ #
20109
+ # * [CreateBucketMetadataConfiguration][3]
20110
+ #
20111
+ # * [DeleteBucketMetadataConfiguration][4]
20112
+ #
20113
+ # * [GetBucketMetadataConfiguration][5]
20114
+ #
20115
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
20116
+ #
20117
+ #
20118
+ #
20119
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20120
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20121
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20122
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20123
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20124
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
20125
+ #
20126
+ # @option params [required, String] :bucket
20127
+ # The general purpose bucket that corresponds to the metadata
20128
+ # configuration that you want to enable or disable an inventory table
20129
+ # for.
20130
+ #
20131
+ # @option params [String] :content_md5
20132
+ # The `Content-MD5` header for the inventory table configuration.
20133
+ #
20134
+ # @option params [String] :checksum_algorithm
20135
+ # The checksum algorithm to use with your inventory table configuration.
20136
+ #
20137
+ # @option params [required, Types::InventoryTableConfigurationUpdates] :inventory_table_configuration
20138
+ # The contents of your inventory table configuration.
20139
+ #
20140
+ # @option params [String] :expected_bucket_owner
20141
+ # The expected owner of the general purpose bucket that corresponds to
20142
+ # the metadata table configuration that you want to enable or disable an
20143
+ # inventory table for.
20144
+ #
20145
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20146
+ #
20147
+ # @example Request syntax with placeholder values
20148
+ #
20149
+ # resp = client.update_bucket_metadata_inventory_table_configuration({
20150
+ # bucket: "BucketName", # required
20151
+ # content_md5: "ContentMD5",
20152
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20153
+ # inventory_table_configuration: { # required
20154
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
20155
+ # encryption_configuration: {
20156
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
20157
+ # kms_key_arn: "KmsKeyArn",
20158
+ # },
20159
+ # },
20160
+ # expected_bucket_owner: "AccountId",
20161
+ # })
20162
+ #
20163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfiguration AWS API Documentation
20164
+ #
20165
+ # @overload update_bucket_metadata_inventory_table_configuration(params = {})
20166
+ # @param [Hash] params ({})
20167
+ def update_bucket_metadata_inventory_table_configuration(params = {}, options = {})
20168
+ req = build_request(:update_bucket_metadata_inventory_table_configuration, params)
20169
+ req.send_request(options)
20170
+ end
20171
+
20172
+ # Enables or disables journal table record expiration for an S3 Metadata
20173
+ # configuration on a general purpose bucket. For more information, see
20174
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20175
+ # User Guide*.
20176
+ #
20177
+ # Permissions
20178
+ #
20179
+ # : To use this operation, you must have the
20180
+ # `s3:UpdateBucketMetadataJournalTableConfiguration` permission. For
20181
+ # more information, see [Setting up permissions for configuring
20182
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20183
+ #
20184
+ # The following operations are related to
20185
+ # `UpdateBucketMetadataJournalTableConfiguration`:
20186
+ #
20187
+ # * [CreateBucketMetadataConfiguration][3]
20188
+ #
20189
+ # * [DeleteBucketMetadataConfiguration][4]
20190
+ #
20191
+ # * [GetBucketMetadataConfiguration][5]
20192
+ #
20193
+ # * [UpdateBucketMetadataInventoryTableConfiguration][6]
20194
+ #
20195
+ #
20196
+ #
20197
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20198
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20199
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20200
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20201
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20202
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
20203
+ #
20204
+ # @option params [required, String] :bucket
20205
+ # The general purpose bucket that corresponds to the metadata
20206
+ # configuration that you want to enable or disable journal table record
20207
+ # expiration for.
20208
+ #
20209
+ # @option params [String] :content_md5
20210
+ # The `Content-MD5` header for the journal table configuration.
20211
+ #
20212
+ # @option params [String] :checksum_algorithm
20213
+ # The checksum algorithm to use with your journal table configuration.
20214
+ #
20215
+ # @option params [required, Types::JournalTableConfigurationUpdates] :journal_table_configuration
20216
+ # The contents of your journal table configuration.
20217
+ #
20218
+ # @option params [String] :expected_bucket_owner
20219
+ # The expected owner of the general purpose bucket that corresponds to
20220
+ # the metadata table configuration that you want to enable or disable
20221
+ # journal table record expiration for.
20222
+ #
20223
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20224
+ #
20225
+ # @example Request syntax with placeholder values
20226
+ #
20227
+ # resp = client.update_bucket_metadata_journal_table_configuration({
20228
+ # bucket: "BucketName", # required
20229
+ # content_md5: "ContentMD5",
20230
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20231
+ # journal_table_configuration: { # required
20232
+ # record_expiration: { # required
20233
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
20234
+ # days: 1,
20235
+ # },
20236
+ # },
20237
+ # expected_bucket_owner: "AccountId",
20238
+ # })
20239
+ #
20240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfiguration AWS API Documentation
20241
+ #
20242
+ # @overload update_bucket_metadata_journal_table_configuration(params = {})
20243
+ # @param [Hash] params ({})
20244
+ def update_bucket_metadata_journal_table_configuration(params = {}, options = {})
20245
+ req = build_request(:update_bucket_metadata_journal_table_configuration, params)
20246
+ req.send_request(options)
20247
+ end
20248
+
19241
20249
  # Uploads a part in a multipart upload.
19242
20250
  #
19243
20251
  # <note markdown="1"> In this operation, you provide new data as a part of an object in your
@@ -19687,7 +20695,7 @@ module Aws::S3
19687
20695
  #
19688
20696
  # @example Response structure
19689
20697
  #
19690
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
20698
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
19691
20699
  # resp.etag #=> String
19692
20700
  # resp.checksum_crc32 #=> String
19693
20701
  # resp.checksum_crc32c #=> String
@@ -20274,7 +21282,7 @@ module Aws::S3
20274
21282
  # resp.copy_part_result.checksum_crc64nvme #=> String
20275
21283
  # resp.copy_part_result.checksum_sha1 #=> String
20276
21284
  # resp.copy_part_result.checksum_sha256 #=> String
20277
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
21285
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
20278
21286
  # resp.sse_customer_algorithm #=> String
20279
21287
  # resp.sse_customer_key_md5 #=> String
20280
21288
  # resp.ssekms_key_id #=> String
@@ -20601,7 +21609,12 @@ module Aws::S3
20601
21609
  #
20602
21610
  # @option params [String] :server_side_encryption
20603
21611
  # The server-side encryption algorithm used when storing requested
20604
- # object in Amazon S3 (for example, AES256, `aws:kms`).
21612
+ # object in Amazon S3 or Amazon FSx.
21613
+ #
21614
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3 access
21615
+ # points, the only valid server side encryption option is `aws:fsx`.
21616
+ #
21617
+ # </note>
20605
21618
  #
20606
21619
  # @option params [String] :sse_customer_algorithm
20607
21620
  # Encryption algorithm used if server-side encryption with a
@@ -20685,11 +21698,11 @@ module Aws::S3
20685
21698
  # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA, COMPLETED
20686
21699
  # request_charged: "requester", # accepts requester
20687
21700
  # restore: "Restore",
20688
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
21701
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
20689
21702
  # sse_customer_algorithm: "SSECustomerAlgorithm",
20690
21703
  # ssekms_key_id: "SSEKMSKeyId",
20691
21704
  # sse_customer_key_md5: "SSECustomerKeyMD5",
20692
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
21705
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
20693
21706
  # tag_count: 1,
20694
21707
  # version_id: "ObjectVersionId",
20695
21708
  # bucket_key_enabled: false,
@@ -20722,7 +21735,7 @@ module Aws::S3
20722
21735
  tracer: tracer
20723
21736
  )
20724
21737
  context[:gem_name] = 'aws-sdk-s3'
20725
- context[:gem_version] = '1.188.0'
21738
+ context[:gem_version] = '1.199.1'
20726
21739
  Seahorse::Client::Request.new(handlers, context)
20727
21740
  end
20728
21741