aws-sdk-s3 1.188.0 → 1.195.0

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