aws-sdk-s3 1.182.0 → 1.198.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +106 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +46 -6
  5. data/lib/aws-sdk-s3/client.rb +1693 -591
  6. data/lib/aws-sdk-s3/client_api.rb +396 -162
  7. data/lib/aws-sdk-s3/customizations/object.rb +57 -76
  8. data/lib/aws-sdk-s3/customizations.rb +2 -1
  9. data/lib/aws-sdk-s3/endpoint_provider.rb +234 -129
  10. data/lib/aws-sdk-s3/endpoints.rb +84 -0
  11. data/lib/aws-sdk-s3/errors.rb +11 -0
  12. data/lib/aws-sdk-s3/file_downloader.rb +65 -82
  13. data/lib/aws-sdk-s3/file_uploader.rb +3 -5
  14. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  15. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  16. data/lib/aws-sdk-s3/multipart_file_uploader.rb +34 -65
  17. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +80 -88
  18. data/lib/aws-sdk-s3/multipart_upload.rb +4 -2
  19. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  20. data/lib/aws-sdk-s3/object.rb +85 -26
  21. data/lib/aws-sdk-s3/object_acl.rb +7 -1
  22. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  23. data/lib/aws-sdk-s3/object_summary.rb +54 -24
  24. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  25. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  26. data/lib/aws-sdk-s3/resource.rb +6 -0
  27. data/lib/aws-sdk-s3/transfer_manager.rb +246 -0
  28. data/lib/aws-sdk-s3/types.rb +1627 -295
  29. data/lib/aws-sdk-s3.rb +1 -1
  30. data/sig/bucket.rbs +12 -3
  31. data/sig/client.rbs +143 -31
  32. data/sig/errors.rbs +2 -0
  33. data/sig/multipart_upload.rbs +1 -1
  34. data/sig/object.rbs +13 -10
  35. data/sig/object_summary.rbs +9 -9
  36. data/sig/resource.rbs +8 -1
  37. data/sig/types.rbs +183 -29
  38. metadata +8 -9
@@ -137,8 +137,8 @@ module Aws::S3
137
137
  # class name or an instance of a plugin class.
138
138
  #
139
139
  # @option options [required, Aws::CredentialProvider] :credentials
140
- # Your AWS credentials. This can be an instance of any one of the
141
- # following classes:
140
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
141
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
142
142
  #
143
143
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
144
144
  # credentials.
@@ -166,22 +166,24 @@ module Aws::S3
166
166
  # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
167
167
  # from the Cognito Identity service.
168
168
  #
169
- # When `:credentials` are not configured directly, the following
170
- # locations will be searched for credentials:
169
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
171
170
  #
172
171
  # * `Aws.config[:credentials]`
172
+ #
173
173
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
174
174
  # `:account_id` options.
175
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
176
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
175
+ #
176
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
177
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
178
+ #
177
179
  # * `~/.aws/credentials`
180
+ #
178
181
  # * `~/.aws/config`
179
- # * EC2/ECS IMDS instance profile - When used by default, the timeouts
180
- # are very aggressive. Construct and pass an instance of
181
- # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
182
- # enable retries and extended timeouts. Instance profile credential
183
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
184
- # to true.
182
+ #
183
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
184
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
185
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
186
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
185
187
  #
186
188
  # @option options [required, String] :region
187
189
  # The AWS region to connect to. The configured `:region` is
@@ -219,6 +221,11 @@ module Aws::S3
219
221
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
220
222
  # not retry instead of sleeping.
221
223
  #
224
+ # @option options [Array<String>] :auth_scheme_preference
225
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
226
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
227
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
228
+ #
222
229
  # @option options [Boolean] :client_side_monitoring (false)
223
230
  # When `true`, client-side metrics will be collected for all API requests from
224
231
  # this client.
@@ -256,8 +263,7 @@ module Aws::S3
256
263
  # accepted modes and the configuration defaults that are included.
257
264
  #
258
265
  # @option options [Boolean] :disable_host_prefix_injection (false)
259
- # Set to true to disable SDK automatically adding host prefix
260
- # to default service endpoint when available.
266
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
261
267
  #
262
268
  # @option options [Boolean] :disable_request_compression (false)
263
269
  # When set to 'true' the request body will not be compressed
@@ -334,8 +340,8 @@ module Aws::S3
334
340
  # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
335
341
  #
336
342
  # @option options [String] :profile ("default")
337
- # Used when loading credentials from the shared credentials file
338
- # at HOME/.aws/credentials. When not specified, 'default' is used.
343
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
344
+ # When not specified, 'default' is used.
339
345
  #
340
346
  # @option options [String] :request_checksum_calculation ("when_supported")
341
347
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -467,8 +473,8 @@ module Aws::S3
467
473
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
468
474
  #
469
475
  # @option options [Aws::TokenProvider] :token_provider
470
- # A Bearer Token Provider. This can be an instance of any one of the
471
- # following classes:
476
+ # Your Bearer token used for authentication. This can be any class that includes and implements
477
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
472
478
  #
473
479
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
474
480
  # tokens.
@@ -669,19 +675,20 @@ module Aws::S3
669
675
  # naming restrictions, see [Directory bucket naming rules][1] in the
670
676
  # *Amazon S3 User Guide*.
671
677
  #
672
- # **Access points** - When you use this action with an access point, you
673
- # must provide the alias of the access point in place of the bucket name
674
- # or specify the access point ARN. When using the access point ARN, you
675
- # must direct requests to the access point hostname. The access point
676
- # hostname takes the form
678
+ # **Access points** - When you use this action with an access point for
679
+ # general purpose buckets, you must provide the alias of the access
680
+ # point in place of the bucket name or specify the access point ARN.
681
+ # When you use this action with an access point for directory buckets,
682
+ # you must provide the access point name in place of the bucket name.
683
+ # When using the access point ARN, you must direct requests to the
684
+ # access point hostname. The access point hostname takes the form
677
685
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
678
686
  # When using this action with an access point through the Amazon Web
679
687
  # Services SDKs, you provide the access point ARN in place of the bucket
680
688
  # name. For more information about access point ARNs, see [Using access
681
689
  # points][2] in the *Amazon S3 User Guide*.
682
690
  #
683
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
684
- # directory buckets.
691
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
685
692
  #
686
693
  # </note>
687
694
  #
@@ -946,19 +953,20 @@ module Aws::S3
946
953
  # naming restrictions, see [Directory bucket naming rules][1] in the
947
954
  # *Amazon S3 User Guide*.
948
955
  #
949
- # **Access points** - When you use this action with an access point, you
950
- # must provide the alias of the access point in place of the bucket name
951
- # or specify the access point ARN. When using the access point ARN, you
952
- # must direct requests to the access point hostname. The access point
953
- # hostname takes the form
956
+ # **Access points** - When you use this action with an access point for
957
+ # general purpose buckets, you must provide the alias of the access
958
+ # point in place of the bucket name or specify the access point ARN.
959
+ # When you use this action with an access point for directory buckets,
960
+ # you must provide the access point name in place of the bucket name.
961
+ # When using the access point ARN, you must direct requests to the
962
+ # access point hostname. The access point hostname takes the form
954
963
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
955
964
  # When using this action with an access point through the Amazon Web
956
965
  # Services SDKs, you provide the access point ARN in place of the bucket
957
966
  # name. For more information about access point ARNs, see [Using access
958
967
  # points][2] in the *Amazon S3 User Guide*.
959
968
  #
960
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
961
- # directory buckets.
969
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
962
970
  #
963
971
  # </note>
964
972
  #
@@ -1263,7 +1271,7 @@ module Aws::S3
1263
1271
  # resp.checksum_sha1 #=> String
1264
1272
  # resp.checksum_sha256 #=> String
1265
1273
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1266
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1274
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
1267
1275
  # resp.version_id #=> String
1268
1276
  # resp.ssekms_key_id #=> String
1269
1277
  # resp.bucket_key_enabled #=> Boolean
@@ -1278,6 +1286,20 @@ module Aws::S3
1278
1286
  req.send_request(options)
1279
1287
  end
1280
1288
 
1289
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
1290
+ # discontinue support for creating new Email Grantee Access Control
1291
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
1292
+ # continue to work and remain accessible through the Amazon Web Services
1293
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
1294
+ # However, you will no longer be able to create new Email Grantee ACLs.
1295
+ #
1296
+ # This change affects the following Amazon Web Services Regions: US
1297
+ # East
1298
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
1299
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
1300
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
1301
+ # America (São Paulo) Region.
1302
+ #
1281
1303
  # Creates a copy of an object that is already stored in Amazon S3.
1282
1304
  #
1283
1305
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
@@ -1516,19 +1538,20 @@ module Aws::S3
1516
1538
  #
1517
1539
  # </note>
1518
1540
  #
1519
- # **Access points** - When you use this action with an access point, you
1520
- # must provide the alias of the access point in place of the bucket name
1521
- # or specify the access point ARN. When using the access point ARN, you
1522
- # must direct requests to the access point hostname. The access point
1523
- # hostname takes the form
1541
+ # **Access points** - When you use this action with an access point for
1542
+ # general purpose buckets, you must provide the alias of the access
1543
+ # point in place of the bucket name or specify the access point ARN.
1544
+ # When you use this action with an access point for directory buckets,
1545
+ # you must provide the access point name in place of the bucket name.
1546
+ # When using the access point ARN, you must direct requests to the
1547
+ # access point hostname. The access point hostname takes the form
1524
1548
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1525
1549
  # When using this action with an access point through the Amazon Web
1526
1550
  # Services SDKs, you provide the access point ARN in place of the bucket
1527
1551
  # name. For more information about access point ARNs, see [Using access
1528
1552
  # points][2] in the *Amazon S3 User Guide*.
1529
1553
  #
1530
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
1531
- # directory buckets.
1554
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
1532
1555
  #
1533
1556
  # </note>
1534
1557
  #
@@ -1912,6 +1935,14 @@ module Aws::S3
1912
1935
  # key is the same customer managed key that you specified for the
1913
1936
  # directory bucket's default encryption configuration.
1914
1937
  #
1938
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
1939
+ # in Amazon FSx file systems using S3 access points, the only valid
1940
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
1941
+ # systems have encryption configured by default and are encrypted at
1942
+ # rest. Data is automatically encrypted before being written to the
1943
+ # file system, and automatically decrypted as it is read. These
1944
+ # processes are handled transparently by Amazon FSx.
1945
+ #
1915
1946
  #
1916
1947
  #
1917
1948
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
@@ -1927,10 +1958,12 @@ module Aws::S3
1927
1958
  # availability. Depending on performance needs, you can specify a
1928
1959
  # different Storage Class.
1929
1960
  #
1930
- # <note markdown="1"> * <b>Directory buckets </b> - For directory buckets, only the S3
1931
- # Express One Zone storage class is supported to store newly created
1932
- # objects. Unsupported storage class values won't write a destination
1933
- # object and will respond with the HTTP status code `400 Bad Request`.
1961
+ # <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
1962
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
1963
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
1964
+ # Access storage class) in Dedicated Local Zones. Unsupported storage
1965
+ # class values won't write a destination object and will respond with
1966
+ # the HTTP status code `400 Bad Request`.
1934
1967
  #
1935
1968
  # * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
1936
1969
  # `OUTPOSTS` Storage Class.
@@ -2293,8 +2326,8 @@ module Aws::S3
2293
2326
  # },
2294
2327
  # metadata_directive: "COPY", # accepts COPY, REPLACE
2295
2328
  # tagging_directive: "COPY", # accepts COPY, REPLACE
2296
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2297
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
2329
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
2330
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
2298
2331
  # website_redirect_location: "WebsiteRedirectLocation",
2299
2332
  # sse_customer_algorithm: "SSECustomerAlgorithm",
2300
2333
  # sse_customer_key: "SSECustomerKey",
@@ -2327,7 +2360,7 @@ module Aws::S3
2327
2360
  # resp.expiration #=> String
2328
2361
  # resp.copy_source_version_id #=> String
2329
2362
  # resp.version_id #=> String
2330
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
2363
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
2331
2364
  # resp.sse_customer_algorithm #=> String
2332
2365
  # resp.sse_customer_key_md5 #=> String
2333
2366
  # resp.ssekms_key_id #=> String
@@ -2344,6 +2377,33 @@ module Aws::S3
2344
2377
  req.send_request(options)
2345
2378
  end
2346
2379
 
2380
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
2381
+ # discontinue support for creating new Email Grantee Access Control
2382
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
2383
+ # continue to work and remain accessible through the Amazon Web Services
2384
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2385
+ # However, you will no longer be able to create new Email Grantee ACLs.
2386
+ #
2387
+ # This change affects the following Amazon Web Services Regions: US
2388
+ # East
2389
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2390
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2391
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2392
+ # America (São Paulo) Region.
2393
+ #
2394
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
2395
+ # returning `DisplayName`. Update your applications to use canonical IDs
2396
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
2397
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
2398
+ # naming) as a direct replacement of `DisplayName`.
2399
+ #
2400
+ # This change affects the following Amazon Web Services Regions: US
2401
+ # East
2402
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2403
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2404
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2405
+ # America (São Paulo) Region.
2406
+ #
2347
2407
  # <note markdown="1"> This action creates an Amazon S3 bucket. To create an Amazon S3 on
2348
2408
  # Outposts bucket, see [ `CreateBucket` ][1].
2349
2409
  #
@@ -2599,35 +2659,36 @@ module Aws::S3
2599
2659
  # @return [Types::CreateBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2600
2660
  #
2601
2661
  # * {Types::CreateBucketOutput#location #location} => String
2662
+ # * {Types::CreateBucketOutput#bucket_arn #bucket_arn} => String
2602
2663
  #
2603
2664
  #
2604
- # @example Example: To create a bucket
2665
+ # @example Example: To create a bucket in a specific region
2605
2666
  #
2606
- # # The following example creates a bucket.
2667
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2607
2668
  #
2608
2669
  # resp = client.create_bucket({
2609
2670
  # bucket: "examplebucket",
2671
+ # create_bucket_configuration: {
2672
+ # location_constraint: "eu-west-1",
2673
+ # },
2610
2674
  # })
2611
2675
  #
2612
2676
  # resp.to_h outputs the following:
2613
2677
  # {
2614
- # location: "/examplebucket",
2678
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2615
2679
  # }
2616
2680
  #
2617
- # @example Example: To create a bucket in a specific region
2681
+ # @example Example: To create a bucket
2618
2682
  #
2619
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2683
+ # # The following example creates a bucket.
2620
2684
  #
2621
2685
  # resp = client.create_bucket({
2622
2686
  # bucket: "examplebucket",
2623
- # create_bucket_configuration: {
2624
- # location_constraint: "eu-west-1",
2625
- # },
2626
2687
  # })
2627
2688
  #
2628
2689
  # resp.to_h outputs the following:
2629
2690
  # {
2630
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2691
+ # location: "/examplebucket",
2631
2692
  # }
2632
2693
  #
2633
2694
  # @example Request syntax with placeholder values
@@ -2645,6 +2706,12 @@ module Aws::S3
2645
2706
  # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
2646
2707
  # type: "Directory", # accepts Directory
2647
2708
  # },
2709
+ # tags: [
2710
+ # {
2711
+ # key: "ObjectKey", # required
2712
+ # value: "Value", # required
2713
+ # },
2714
+ # ],
2648
2715
  # },
2649
2716
  # grant_full_control: "GrantFullControl",
2650
2717
  # grant_read: "GrantRead",
@@ -2658,6 +2725,7 @@ module Aws::S3
2658
2725
  # @example Response structure
2659
2726
  #
2660
2727
  # resp.location #=> String
2728
+ # resp.bucket_arn #=> String
2661
2729
  #
2662
2730
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket AWS API Documentation
2663
2731
  #
@@ -2668,8 +2736,8 @@ module Aws::S3
2668
2736
  req.send_request(options)
2669
2737
  end
2670
2738
 
2671
- # Creates a metadata table configuration for a general purpose bucket.
2672
- # For more information, see [Accelerating data discovery with S3
2739
+ # Creates an S3 Metadata V2 metadata configuration for a general purpose
2740
+ # bucket. For more information, see [Accelerating data discovery with S3
2673
2741
  # Metadata][1] in the *Amazon S3 User Guide*.
2674
2742
  #
2675
2743
  # Permissions
@@ -2678,14 +2746,31 @@ module Aws::S3
2678
2746
  # more information, see [Setting up permissions for configuring
2679
2747
  # metadata tables][2] in the *Amazon S3 User Guide*.
2680
2748
  #
2749
+ # If you want to encrypt your metadata tables with server-side
2750
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2751
+ # need additional permissions in your KMS key policy. For more
2752
+ # information, see [ Setting up permissions for configuring metadata
2753
+ # tables][2] in the *Amazon S3 User Guide*.
2754
+ #
2681
2755
  # If you also want to integrate your table bucket with Amazon Web
2682
2756
  # Services analytics services so that you can query your metadata
2683
2757
  # table, you need additional permissions. For more information, see [
2684
2758
  # Integrating Amazon S3 Tables with Amazon Web Services analytics
2685
2759
  # services][3] in the *Amazon S3 User Guide*.
2686
2760
  #
2761
+ # To query your metadata tables, you need additional permissions. For
2762
+ # more information, see [ Permissions for querying metadata tables][4]
2763
+ # in the *Amazon S3 User Guide*.
2764
+ #
2687
2765
  # * `s3:CreateBucketMetadataTableConfiguration`
2688
2766
  #
2767
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
2768
+ # operations.
2769
+ #
2770
+ # </note>
2771
+ #
2772
+ # * `s3tables:CreateTableBucket`
2773
+ #
2689
2774
  # * `s3tables:CreateNamespace`
2690
2775
  #
2691
2776
  # * `s3tables:GetTable`
@@ -2694,24 +2779,150 @@ module Aws::S3
2694
2779
  #
2695
2780
  # * `s3tables:PutTablePolicy`
2696
2781
  #
2782
+ # * `s3tables:PutTableEncryption`
2783
+ #
2784
+ # * `kms:DescribeKey`
2785
+ #
2697
2786
  # The following operations are related to
2698
- # `CreateBucketMetadataTableConfiguration`:
2787
+ # `CreateBucketMetadataConfiguration`:
2699
2788
  #
2700
- # * [DeleteBucketMetadataTableConfiguration][4]
2789
+ # * [DeleteBucketMetadataConfiguration][5]
2701
2790
  #
2702
- # * [GetBucketMetadataTableConfiguration][5]
2791
+ # * [GetBucketMetadataConfiguration][6]
2792
+ #
2793
+ # * [UpdateBucketMetadataInventoryTableConfiguration][7]
2794
+ #
2795
+ # * [UpdateBucketMetadataJournalTableConfiguration][8]
2703
2796
  #
2704
2797
  #
2705
2798
  #
2706
2799
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2707
2800
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2708
2801
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2709
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2710
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2802
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-bucket-query-permissions.html
2803
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
2804
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
2805
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
2806
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
2807
+ #
2808
+ # @option params [required, String] :bucket
2809
+ # The general purpose bucket that you want to create the metadata
2810
+ # configuration for.
2811
+ #
2812
+ # @option params [String] :content_md5
2813
+ # The `Content-MD5` header for the metadata configuration.
2814
+ #
2815
+ # @option params [String] :checksum_algorithm
2816
+ # The checksum algorithm to use with your metadata configuration.
2817
+ #
2818
+ # @option params [required, Types::MetadataConfiguration] :metadata_configuration
2819
+ # The contents of your metadata configuration.
2820
+ #
2821
+ # @option params [String] :expected_bucket_owner
2822
+ # The expected owner of the general purpose bucket that corresponds to
2823
+ # your metadata configuration.
2824
+ #
2825
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2826
+ #
2827
+ # @example Request syntax with placeholder values
2828
+ #
2829
+ # resp = client.create_bucket_metadata_configuration({
2830
+ # bucket: "BucketName", # required
2831
+ # content_md5: "ContentMD5",
2832
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2833
+ # metadata_configuration: { # required
2834
+ # journal_table_configuration: { # required
2835
+ # record_expiration: { # required
2836
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
2837
+ # days: 1,
2838
+ # },
2839
+ # encryption_configuration: {
2840
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2841
+ # kms_key_arn: "KmsKeyArn",
2842
+ # },
2843
+ # },
2844
+ # inventory_table_configuration: {
2845
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
2846
+ # encryption_configuration: {
2847
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
2848
+ # kms_key_arn: "KmsKeyArn",
2849
+ # },
2850
+ # },
2851
+ # },
2852
+ # expected_bucket_owner: "AccountId",
2853
+ # })
2854
+ #
2855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfiguration AWS API Documentation
2856
+ #
2857
+ # @overload create_bucket_metadata_configuration(params = {})
2858
+ # @param [Hash] params ({})
2859
+ def create_bucket_metadata_configuration(params = {}, options = {})
2860
+ req = build_request(:create_bucket_metadata_configuration, params)
2861
+ req.send_request(options)
2862
+ end
2863
+
2864
+ # We recommend that you create your S3 Metadata configurations by using
2865
+ # the V2 [CreateBucketMetadataConfiguration][1] API operation. We no
2866
+ # longer recommend using the V1 `CreateBucketMetadataTableConfiguration`
2867
+ # API operation.
2868
+ #
2869
+ # If you created your S3 Metadata configuration before July 15, 2025,
2870
+ # we
2871
+ # recommend that you delete and re-create your configuration by using
2872
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
2873
+ # table records and create a live inventory table.
2874
+ #
2875
+ # Creates a V1 S3 Metadata configuration for a general purpose bucket.
2876
+ # For more information, see [Accelerating data discovery with S3
2877
+ # Metadata][2] in the *Amazon S3 User Guide*.
2878
+ #
2879
+ # Permissions
2880
+ #
2881
+ # : To use this operation, you must have the following permissions. For
2882
+ # more information, see [Setting up permissions for configuring
2883
+ # metadata tables][3] in the *Amazon S3 User Guide*.
2884
+ #
2885
+ # If you want to encrypt your metadata tables with server-side
2886
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
2887
+ # need additional permissions. For more information, see [ Setting up
2888
+ # permissions for configuring metadata tables][3] in the *Amazon S3
2889
+ # User Guide*.
2890
+ #
2891
+ # If you also want to integrate your table bucket with Amazon Web
2892
+ # Services analytics services so that you can query your metadata
2893
+ # table, you need additional permissions. For more information, see [
2894
+ # Integrating Amazon S3 Tables with Amazon Web Services analytics
2895
+ # services][4] in the *Amazon S3 User Guide*.
2896
+ #
2897
+ # * `s3:CreateBucketMetadataTableConfiguration`
2898
+ #
2899
+ # * `s3tables:CreateNamespace`
2900
+ #
2901
+ # * `s3tables:GetTable`
2902
+ #
2903
+ # * `s3tables:CreateTable`
2904
+ #
2905
+ # * `s3tables:PutTablePolicy`
2906
+ #
2907
+ # The following operations are related to
2908
+ # `CreateBucketMetadataTableConfiguration`:
2909
+ #
2910
+ # * [DeleteBucketMetadataTableConfiguration][5]
2911
+ #
2912
+ # * [GetBucketMetadataTableConfiguration][6]
2913
+ #
2914
+ #
2915
+ #
2916
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
2917
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
2918
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
2919
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html
2920
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
2921
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
2711
2922
  #
2712
2923
  # @option params [required, String] :bucket
2713
2924
  # The general purpose bucket that you want to create the metadata table
2714
- # configuration in.
2925
+ # configuration for.
2715
2926
  #
2716
2927
  # @option params [String] :content_md5
2717
2928
  # The `Content-MD5` header for the metadata table configuration.
@@ -2723,8 +2934,8 @@ module Aws::S3
2723
2934
  # The contents of your metadata table configuration.
2724
2935
  #
2725
2936
  # @option params [String] :expected_bucket_owner
2726
- # The expected owner of the general purpose bucket that contains your
2727
- # metadata table configuration.
2937
+ # The expected owner of the general purpose bucket that corresponds to
2938
+ # your metadata table configuration.
2728
2939
  #
2729
2940
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2730
2941
  #
@@ -2752,6 +2963,20 @@ module Aws::S3
2752
2963
  req.send_request(options)
2753
2964
  end
2754
2965
 
2966
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
2967
+ # discontinue support for creating new Email Grantee Access Control
2968
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
2969
+ # continue to work and remain accessible through the Amazon Web Services
2970
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2971
+ # However, you will no longer be able to create new Email Grantee ACLs.
2972
+ #
2973
+ # This change affects the following Amazon Web Services Regions: US
2974
+ # East
2975
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2976
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2977
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2978
+ # America (São Paulo) Region.
2979
+ #
2755
2980
  # This action initiates a multipart upload and returns an upload ID.
2756
2981
  # This upload ID is used to associate all of the parts in the specific
2757
2982
  # multipart upload. You specify this upload ID in each of your
@@ -3047,19 +3272,20 @@ module Aws::S3
3047
3272
  # naming restrictions, see [Directory bucket naming rules][1] in the
3048
3273
  # *Amazon S3 User Guide*.
3049
3274
  #
3050
- # **Access points** - When you use this action with an access point, you
3051
- # must provide the alias of the access point in place of the bucket name
3052
- # or specify the access point ARN. When using the access point ARN, you
3053
- # must direct requests to the access point hostname. The access point
3054
- # hostname takes the form
3275
+ # **Access points** - When you use this action with an access point for
3276
+ # general purpose buckets, you must provide the alias of the access
3277
+ # point in place of the bucket name or specify the access point ARN.
3278
+ # When you use this action with an access point for directory buckets,
3279
+ # you must provide the access point name in place of the bucket name.
3280
+ # When using the access point ARN, you must direct requests to the
3281
+ # access point hostname. The access point hostname takes the form
3055
3282
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
3056
3283
  # When using this action with an access point through the Amazon Web
3057
3284
  # Services SDKs, you provide the access point ARN in place of the bucket
3058
3285
  # name. For more information about access point ARNs, see [Using access
3059
3286
  # points][2] in the *Amazon S3 User Guide*.
3060
3287
  #
3061
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
3062
- # directory buckets.
3288
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
3063
3289
  #
3064
3290
  # </note>
3065
3291
  #
@@ -3367,7 +3593,7 @@ module Aws::S3
3367
3593
  #
3368
3594
  # @option params [String] :server_side_encryption
3369
3595
  # The server-side encryption algorithm used when you store this object
3370
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3596
+ # in Amazon S3 or Amazon FSx.
3371
3597
  #
3372
3598
  # * <b>Directory buckets </b> - For directory buckets, there are only
3373
3599
  # two supported options for server-side encryption: server-side
@@ -3409,6 +3635,14 @@ module Aws::S3
3409
3635
  #
3410
3636
  # </note>
3411
3637
  #
3638
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
3639
+ # in Amazon FSx file systems using S3 access points, the only valid
3640
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
3641
+ # systems have encryption configured by default and are encrypted at
3642
+ # rest. Data is automatically encrypted before being written to the
3643
+ # file system, and automatically decrypted as it is read. These
3644
+ # processes are handled transparently by Amazon FSx.
3645
+ #
3412
3646
  #
3413
3647
  #
3414
3648
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -3423,8 +3657,9 @@ module Aws::S3
3423
3657
  # a different Storage Class. For more information, see [Storage
3424
3658
  # Classes][1] in the *Amazon S3 User Guide*.
3425
3659
  #
3426
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
3427
- # supported to store newly created objects.
3660
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
3661
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
3662
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
3428
3663
  #
3429
3664
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
3430
3665
  #
@@ -3665,8 +3900,8 @@ module Aws::S3
3665
3900
  # metadata: {
3666
3901
  # "MetadataKey" => "MetadataValue",
3667
3902
  # },
3668
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
3669
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
3903
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3904
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
3670
3905
  # website_redirect_location: "WebsiteRedirectLocation",
3671
3906
  # sse_customer_algorithm: "SSECustomerAlgorithm",
3672
3907
  # sse_customer_key: "SSECustomerKey",
@@ -3691,7 +3926,7 @@ module Aws::S3
3691
3926
  # resp.bucket #=> String
3692
3927
  # resp.key #=> String
3693
3928
  # resp.upload_id #=> String
3694
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
3929
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3695
3930
  # resp.sse_customer_algorithm #=> String
3696
3931
  # resp.sse_customer_key_md5 #=> String
3697
3932
  # resp.ssekms_key_id #=> String
@@ -3898,6 +4133,14 @@ module Aws::S3
3898
4133
  # SSE-S3. For more information, see [Protecting data with server-side
3899
4134
  # encryption][1] in the *Amazon S3 User Guide*.
3900
4135
  #
4136
+ # <b>S3 access points for Amazon FSx </b> - When accessing data stored
4137
+ # in Amazon FSx file systems using S3 access points, the only valid
4138
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
4139
+ # systems have encryption configured by default and are encrypted at
4140
+ # rest. Data is automatically encrypted before being written to the file
4141
+ # system, and automatically decrypted as it is read. These processes are
4142
+ # handled transparently by Amazon FSx.
4143
+ #
3901
4144
  #
3902
4145
  #
3903
4146
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
@@ -3978,7 +4221,7 @@ module Aws::S3
3978
4221
  # resp = client.create_session({
3979
4222
  # session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
3980
4223
  # bucket: "BucketName", # required
3981
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
4224
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3982
4225
  # ssekms_key_id: "SSEKMSKeyId",
3983
4226
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
3984
4227
  # bucket_key_enabled: false,
@@ -3986,7 +4229,7 @@ module Aws::S3
3986
4229
  #
3987
4230
  # @example Response structure
3988
4231
  #
3989
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
4232
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3990
4233
  # resp.ssekms_key_id #=> String
3991
4234
  # resp.ssekms_encryption_context #=> String
3992
4235
  # resp.bucket_key_enabled #=> Boolean
@@ -4394,6 +4637,11 @@ module Aws::S3
4394
4637
  # @option params [required, String] :id
4395
4638
  # The ID used to identify the S3 Intelligent-Tiering configuration.
4396
4639
  #
4640
+ # @option params [String] :expected_bucket_owner
4641
+ # The account ID of the expected bucket owner. If the account ID that
4642
+ # you provide does not match the actual owner of the bucket, the request
4643
+ # fails with the HTTP status code `403 Forbidden` (access denied).
4644
+ #
4397
4645
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4398
4646
  #
4399
4647
  # @example Request syntax with placeholder values
@@ -4401,6 +4649,7 @@ module Aws::S3
4401
4649
  # resp = client.delete_bucket_intelligent_tiering_configuration({
4402
4650
  # bucket: "BucketName", # required
4403
4651
  # id: "IntelligentTieringId", # required
4652
+ # expected_bucket_owner: "AccountId",
4404
4653
  # })
4405
4654
  #
4406
4655
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration AWS API Documentation
@@ -4416,7 +4665,7 @@ module Aws::S3
4416
4665
  #
4417
4666
  # </note>
4418
4667
  #
4419
- # Deletes an inventory configuration (identified by the inventory ID)
4668
+ # Deletes an S3 Inventory configuration (identified by the inventory ID)
4420
4669
  # from the bucket.
4421
4670
  #
4422
4671
  # To use this operation, you must have permissions to perform the
@@ -4587,10 +4836,18 @@ module Aws::S3
4587
4836
  req.send_request(options)
4588
4837
  end
4589
4838
 
4590
- # Deletes a metadata table configuration from a general purpose bucket.
4839
+ # Deletes an S3 Metadata configuration from a general purpose bucket.
4591
4840
  # For more information, see [Accelerating data discovery with S3
4592
4841
  # Metadata][1] in the *Amazon S3 User Guide*.
4593
4842
  #
4843
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4844
+ # with V1 or V2 metadata configurations. However, if you try to use the
4845
+ # V1 `DeleteBucketMetadataTableConfiguration` API operation with V2
4846
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
4847
+ # error.
4848
+ #
4849
+ # </note>
4850
+ #
4594
4851
  # Permissions
4595
4852
  #
4596
4853
  # : To use this operation, you must have the
@@ -4598,19 +4855,107 @@ module Aws::S3
4598
4855
  # information, see [Setting up permissions for configuring metadata
4599
4856
  # tables][2] in the *Amazon S3 User Guide*.
4600
4857
  #
4858
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
4859
+ # operations.
4860
+ #
4861
+ # </note>
4862
+ #
4601
4863
  # The following operations are related to
4602
- # `DeleteBucketMetadataTableConfiguration`:
4864
+ # `DeleteBucketMetadataConfiguration`:
4865
+ #
4866
+ # * [CreateBucketMetadataConfiguration][3]
4867
+ #
4868
+ # * [GetBucketMetadataConfiguration][4]
4603
4869
  #
4604
- # * [CreateBucketMetadataTableConfiguration][3]
4870
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
4605
4871
  #
4606
- # * [GetBucketMetadataTableConfiguration][4]
4872
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
4607
4873
  #
4608
4874
  #
4609
4875
  #
4610
4876
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4611
4877
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4612
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4613
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4878
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4879
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
4880
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
4881
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
4882
+ #
4883
+ # @option params [required, String] :bucket
4884
+ # The general purpose bucket that you want to remove the metadata
4885
+ # configuration from.
4886
+ #
4887
+ # @option params [String] :expected_bucket_owner
4888
+ # The expected bucket owner of the general purpose bucket that you want
4889
+ # to remove the metadata table configuration from.
4890
+ #
4891
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4892
+ #
4893
+ # @example Request syntax with placeholder values
4894
+ #
4895
+ # resp = client.delete_bucket_metadata_configuration({
4896
+ # bucket: "BucketName", # required
4897
+ # expected_bucket_owner: "AccountId",
4898
+ # })
4899
+ #
4900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfiguration AWS API Documentation
4901
+ #
4902
+ # @overload delete_bucket_metadata_configuration(params = {})
4903
+ # @param [Hash] params ({})
4904
+ def delete_bucket_metadata_configuration(params = {}, options = {})
4905
+ req = build_request(:delete_bucket_metadata_configuration, params)
4906
+ req.send_request(options)
4907
+ end
4908
+
4909
+ # We recommend that you delete your S3 Metadata configurations by using
4910
+ # the V2 [DeleteBucketMetadataTableConfiguration][1] API operation. We
4911
+ # no longer recommend using the V1
4912
+ # `DeleteBucketMetadataTableConfiguration` API operation.
4913
+ #
4914
+ # If you created your S3 Metadata configuration before July 15, 2025,
4915
+ # we
4916
+ # recommend that you delete and re-create your configuration by using
4917
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
4918
+ # table records and create a live inventory table.
4919
+ #
4920
+ # Deletes a V1 S3 Metadata configuration from a general purpose bucket.
4921
+ # For more information, see [Accelerating data discovery with S3
4922
+ # Metadata][3] in the *Amazon S3 User Guide*.
4923
+ #
4924
+ # <note markdown="1"> You can use the V2 `DeleteBucketMetadataConfiguration` API operation
4925
+ # with V1 or V2 metadata table configurations. However, if you try to
4926
+ # use the V1 `DeleteBucketMetadataTableConfiguration` API operation with
4927
+ # V2 configurations, you will receive an HTTP `405 Method Not Allowed`
4928
+ # error.
4929
+ #
4930
+ # Make sure that you update your processes to use the new V2 API
4931
+ # operations (`CreateBucketMetadataConfiguration`,
4932
+ # `GetBucketMetadataConfiguration`, and
4933
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
4934
+ #
4935
+ # </note>
4936
+ #
4937
+ # Permissions
4938
+ #
4939
+ # : To use this operation, you must have the
4940
+ # `s3:DeleteBucketMetadataTableConfiguration` permission. For more
4941
+ # information, see [Setting up permissions for configuring metadata
4942
+ # tables][4] in the *Amazon S3 User Guide*.
4943
+ #
4944
+ # The following operations are related to
4945
+ # `DeleteBucketMetadataTableConfiguration`:
4946
+ #
4947
+ # * [CreateBucketMetadataTableConfiguration][5]
4948
+ #
4949
+ # * [GetBucketMetadataTableConfiguration][6]
4950
+ #
4951
+ #
4952
+ #
4953
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
4954
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
4955
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
4956
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
4957
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
4958
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
4614
4959
  #
4615
4960
  # @option params [required, String] :bucket
4616
4961
  # The general purpose bucket that you want to remove the metadata table
@@ -5213,19 +5558,20 @@ module Aws::S3
5213
5558
  # naming restrictions, see [Directory bucket naming rules][1] in the
5214
5559
  # *Amazon S3 User Guide*.
5215
5560
  #
5216
- # **Access points** - When you use this action with an access point, you
5217
- # must provide the alias of the access point in place of the bucket name
5218
- # or specify the access point ARN. When using the access point ARN, you
5219
- # must direct requests to the access point hostname. The access point
5220
- # hostname takes the form
5561
+ # **Access points** - When you use this action with an access point for
5562
+ # general purpose buckets, you must provide the alias of the access
5563
+ # point in place of the bucket name or specify the access point ARN.
5564
+ # When you use this action with an access point for directory buckets,
5565
+ # you must provide the access point name in place of the bucket name.
5566
+ # When using the access point ARN, you must direct requests to the
5567
+ # access point hostname. The access point hostname takes the form
5221
5568
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5222
5569
  # When using this action with an access point through the Amazon Web
5223
5570
  # Services SDKs, you provide the access point ARN in place of the bucket
5224
5571
  # name. For more information about access point ARNs, see [Using access
5225
5572
  # points][2] in the *Amazon S3 User Guide*.
5226
5573
  #
5227
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
5228
- # directory buckets.
5574
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
5229
5575
  #
5230
5576
  # </note>
5231
5577
  #
@@ -5346,6 +5692,15 @@ module Aws::S3
5346
5692
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
5347
5693
  #
5348
5694
  #
5695
+ # @example Example: To delete an object (from a non-versioned bucket)
5696
+ #
5697
+ # # The following example deletes an object from a non-versioned bucket.
5698
+ #
5699
+ # resp = client.delete_object({
5700
+ # bucket: "ExampleBucket",
5701
+ # key: "HappyFace.jpg",
5702
+ # })
5703
+ #
5349
5704
  # @example Example: To delete an object
5350
5705
  #
5351
5706
  # # The following example deletes an object from an S3 bucket.
@@ -5359,15 +5714,6 @@ module Aws::S3
5359
5714
  # {
5360
5715
  # }
5361
5716
  #
5362
- # @example Example: To delete an object (from a non-versioned bucket)
5363
- #
5364
- # # The following example deletes an object from a non-versioned bucket.
5365
- #
5366
- # resp = client.delete_object({
5367
- # bucket: "ExampleBucket",
5368
- # key: "HappyFace.jpg",
5369
- # })
5370
- #
5371
5717
  # @example Request syntax with placeholder values
5372
5718
  #
5373
5719
  # resp = client.delete_object({
@@ -5427,11 +5773,13 @@ module Aws::S3
5427
5773
  # @option params [required, String] :bucket
5428
5774
  # The bucket name containing the objects from which to remove the tags.
5429
5775
  #
5430
- # **Access points** - When you use this action with an access point, you
5431
- # must provide the alias of the access point in place of the bucket name
5432
- # or specify the access point ARN. When using the access point ARN, you
5433
- # must direct requests to the access point hostname. The access point
5434
- # hostname takes the form
5776
+ # **Access points** - When you use this action with an access point for
5777
+ # general purpose buckets, you must provide the alias of the access
5778
+ # point in place of the bucket name or specify the access point ARN.
5779
+ # When you use this action with an access point for directory buckets,
5780
+ # you must provide the access point name in place of the bucket name.
5781
+ # When using the access point ARN, you must direct requests to the
5782
+ # access point hostname. The access point hostname takes the form
5435
5783
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5436
5784
  # When using this action with an access point through the Amazon Web
5437
5785
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -5655,19 +6003,20 @@ module Aws::S3
5655
6003
  # naming restrictions, see [Directory bucket naming rules][1] in the
5656
6004
  # *Amazon S3 User Guide*.
5657
6005
  #
5658
- # **Access points** - When you use this action with an access point, you
5659
- # must provide the alias of the access point in place of the bucket name
5660
- # or specify the access point ARN. When using the access point ARN, you
5661
- # must direct requests to the access point hostname. The access point
5662
- # hostname takes the form
6006
+ # **Access points** - When you use this action with an access point for
6007
+ # general purpose buckets, you must provide the alias of the access
6008
+ # point in place of the bucket name or specify the access point ARN.
6009
+ # When you use this action with an access point for directory buckets,
6010
+ # you must provide the access point name in place of the bucket name.
6011
+ # When using the access point ARN, you must direct requests to the
6012
+ # access point hostname. The access point hostname takes the form
5663
6013
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5664
6014
  # When using this action with an access point through the Amazon Web
5665
6015
  # Services SDKs, you provide the access point ARN in place of the bucket
5666
6016
  # name. For more information about access point ARNs, see [Using access
5667
6017
  # points][2] in the *Amazon S3 User Guide*.
5668
6018
  #
5669
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
5670
- # directory buckets.
6019
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
5671
6020
  #
5672
6021
  # </note>
5673
6022
  #
@@ -5786,22 +6135,20 @@ module Aws::S3
5786
6135
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5787
6136
  #
5788
6137
  #
5789
- # @example Example: To delete multiple object versions from a versioned bucket
6138
+ # @example Example: To delete multiple objects from a versioned bucket
5790
6139
  #
5791
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5792
- # # versions and returns the key and versions of deleted objects in the response.
6140
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
6141
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5793
6142
  #
5794
6143
  # resp = client.delete_objects({
5795
6144
  # bucket: "examplebucket",
5796
6145
  # delete: {
5797
6146
  # objects: [
5798
6147
  # {
5799
- # key: "HappyFace.jpg",
5800
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
6148
+ # key: "objectkey1",
5801
6149
  # },
5802
6150
  # {
5803
- # key: "HappyFace.jpg",
5804
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
6151
+ # key: "objectkey2",
5805
6152
  # },
5806
6153
  # ],
5807
6154
  # quiet: false,
@@ -5812,30 +6159,34 @@ module Aws::S3
5812
6159
  # {
5813
6160
  # deleted: [
5814
6161
  # {
5815
- # key: "HappyFace.jpg",
5816
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
6162
+ # delete_marker: true,
6163
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
6164
+ # key: "objectkey1",
5817
6165
  # },
5818
6166
  # {
5819
- # key: "HappyFace.jpg",
5820
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
6167
+ # delete_marker: true,
6168
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
6169
+ # key: "objectkey2",
5821
6170
  # },
5822
6171
  # ],
5823
6172
  # }
5824
6173
  #
5825
- # @example Example: To delete multiple objects from a versioned bucket
6174
+ # @example Example: To delete multiple object versions from a versioned bucket
5826
6175
  #
5827
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5828
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
6176
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
6177
+ # # versions and returns the key and versions of deleted objects in the response.
5829
6178
  #
5830
6179
  # resp = client.delete_objects({
5831
6180
  # bucket: "examplebucket",
5832
6181
  # delete: {
5833
6182
  # objects: [
5834
6183
  # {
5835
- # key: "objectkey1",
6184
+ # key: "HappyFace.jpg",
6185
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5836
6186
  # },
5837
6187
  # {
5838
- # key: "objectkey2",
6188
+ # key: "HappyFace.jpg",
6189
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5839
6190
  # },
5840
6191
  # ],
5841
6192
  # quiet: false,
@@ -5846,14 +6197,12 @@ module Aws::S3
5846
6197
  # {
5847
6198
  # deleted: [
5848
6199
  # {
5849
- # delete_marker: true,
5850
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5851
- # key: "objectkey1",
6200
+ # key: "HappyFace.jpg",
6201
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5852
6202
  # },
5853
6203
  # {
5854
- # delete_marker: true,
5855
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5856
- # key: "objectkey2",
6204
+ # key: "HappyFace.jpg",
6205
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5857
6206
  # },
5858
6207
  # ],
5859
6208
  # }
@@ -6057,6 +6406,19 @@ module Aws::S3
6057
6406
  req.send_request(options)
6058
6407
  end
6059
6408
 
6409
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
6410
+ # returning `DisplayName`. Update your applications to use canonical IDs
6411
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
6412
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
6413
+ # naming) as a direct replacement of `DisplayName`.
6414
+ #
6415
+ # This change affects the following Amazon Web Services Regions: US
6416
+ # East
6417
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
6418
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
6419
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
6420
+ # America (São Paulo) Region.
6421
+ #
6060
6422
  # <note markdown="1"> This operation is not supported for directory buckets.
6061
6423
  #
6062
6424
  # </note>
@@ -6460,7 +6822,7 @@ module Aws::S3
6460
6822
  # @example Response structure
6461
6823
  #
6462
6824
  # resp.server_side_encryption_configuration.rules #=> Array
6463
- # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
6825
+ # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
6464
6826
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
6465
6827
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
6466
6828
  #
@@ -6522,6 +6884,11 @@ module Aws::S3
6522
6884
  # @option params [required, String] :id
6523
6885
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6524
6886
  #
6887
+ # @option params [String] :expected_bucket_owner
6888
+ # The account ID of the expected bucket owner. If the account ID that
6889
+ # you provide does not match the actual owner of the bucket, the request
6890
+ # fails with the HTTP status code `403 Forbidden` (access denied).
6891
+ #
6525
6892
  # @return [Types::GetBucketIntelligentTieringConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6526
6893
  #
6527
6894
  # * {Types::GetBucketIntelligentTieringConfigurationOutput#intelligent_tiering_configuration #intelligent_tiering_configuration} => Types::IntelligentTieringConfiguration
@@ -6531,6 +6898,7 @@ module Aws::S3
6531
6898
  # resp = client.get_bucket_intelligent_tiering_configuration({
6532
6899
  # bucket: "BucketName", # required
6533
6900
  # id: "IntelligentTieringId", # required
6901
+ # expected_bucket_owner: "AccountId",
6534
6902
  # })
6535
6903
  #
6536
6904
  # @example Response structure
@@ -6561,7 +6929,7 @@ module Aws::S3
6561
6929
  #
6562
6930
  # </note>
6563
6931
  #
6564
- # Returns an inventory configuration (identified by the inventory
6932
+ # Returns an S3 Inventory configuration (identified by the inventory
6565
6933
  # configuration ID) from the bucket.
6566
6934
  #
6567
6935
  # To use this operation, you must have permissions to perform the
@@ -7041,6 +7409,19 @@ module Aws::S3
7041
7409
  req.send_request(options)
7042
7410
  end
7043
7411
 
7412
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
7413
+ # returning `DisplayName`. Update your applications to use canonical IDs
7414
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
7415
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
7416
+ # naming) as a direct replacement of `DisplayName`.
7417
+ #
7418
+ # This change affects the following Amazon Web Services Regions: US
7419
+ # East
7420
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
7421
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
7422
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
7423
+ # America (São Paulo) Region.
7424
+ #
7044
7425
  # <note markdown="1"> This operation is not supported for directory buckets.
7045
7426
  #
7046
7427
  # </note>
@@ -7100,10 +7481,18 @@ module Aws::S3
7100
7481
  req.send_request(options)
7101
7482
  end
7102
7483
 
7103
- # Retrieves the metadata table configuration for a general purpose
7104
- # bucket. For more information, see [Accelerating data discovery with S3
7484
+ # Retrieves the S3 Metadata configuration for a general purpose bucket.
7485
+ # For more information, see [Accelerating data discovery with S3
7105
7486
  # Metadata][1] in the *Amazon S3 User Guide*.
7106
7487
  #
7488
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7489
+ # V1 or V2 metadata configurations. However, if you try to use the V1
7490
+ # `GetBucketMetadataTableConfiguration` API operation with V2
7491
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7492
+ # error.
7493
+ #
7494
+ # </note>
7495
+ #
7107
7496
  # Permissions
7108
7497
  #
7109
7498
  # : To use this operation, you must have the
@@ -7111,29 +7500,138 @@ module Aws::S3
7111
7500
  # information, see [Setting up permissions for configuring metadata
7112
7501
  # tables][2] in the *Amazon S3 User Guide*.
7113
7502
  #
7503
+ # <note markdown="1"> The IAM policy action name is the same for the V1 and V2 API
7504
+ # operations.
7505
+ #
7506
+ # </note>
7507
+ #
7114
7508
  # The following operations are related to
7115
- # `GetBucketMetadataTableConfiguration`:
7509
+ # `GetBucketMetadataConfiguration`:
7510
+ #
7511
+ # * [CreateBucketMetadataConfiguration][3]
7116
7512
  #
7117
- # * [CreateBucketMetadataTableConfiguration][3]
7513
+ # * [DeleteBucketMetadataConfiguration][4]
7118
7514
  #
7119
- # * [DeleteBucketMetadataTableConfiguration][4]
7515
+ # * [UpdateBucketMetadataInventoryTableConfiguration][5]
7516
+ #
7517
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
7120
7518
  #
7121
7519
  #
7122
7520
  #
7123
7521
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7124
7522
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7125
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7126
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7523
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7524
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
7525
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
7526
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
7127
7527
  #
7128
7528
  # @option params [required, String] :bucket
7129
- # The general purpose bucket that contains the metadata table
7529
+ # The general purpose bucket that corresponds to the metadata
7130
7530
  # configuration that you want to retrieve.
7131
7531
  #
7132
7532
  # @option params [String] :expected_bucket_owner
7133
7533
  # The expected owner of the general purpose bucket that you want to
7134
- # retrieve the metadata table configuration from.
7534
+ # retrieve the metadata table configuration for.
7135
7535
  #
7136
- # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7536
+ # @return [Types::GetBucketMetadataConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7537
+ #
7538
+ # * {Types::GetBucketMetadataConfigurationOutput#get_bucket_metadata_configuration_result #get_bucket_metadata_configuration_result} => Types::GetBucketMetadataConfigurationResult
7539
+ #
7540
+ # @example Request syntax with placeholder values
7541
+ #
7542
+ # resp = client.get_bucket_metadata_configuration({
7543
+ # bucket: "BucketName", # required
7544
+ # expected_bucket_owner: "AccountId",
7545
+ # })
7546
+ #
7547
+ # @example Response structure
7548
+ #
7549
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_type #=> String, one of "aws", "customer"
7550
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_bucket_arn #=> String
7551
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.destination_result.table_namespace #=> String
7552
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_status #=> String
7553
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_code #=> String
7554
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.error.error_message #=> String
7555
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_name #=> String
7556
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.table_arn #=> String
7557
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.expiration #=> String, one of "ENABLED", "DISABLED"
7558
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.journal_table_configuration_result.record_expiration.days #=> Integer
7559
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.configuration_state #=> String, one of "ENABLED", "DISABLED"
7560
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_status #=> String
7561
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_code #=> String
7562
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.error.error_message #=> String
7563
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_name #=> String
7564
+ # resp.get_bucket_metadata_configuration_result.metadata_configuration_result.inventory_table_configuration_result.table_arn #=> String
7565
+ #
7566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfiguration AWS API Documentation
7567
+ #
7568
+ # @overload get_bucket_metadata_configuration(params = {})
7569
+ # @param [Hash] params ({})
7570
+ def get_bucket_metadata_configuration(params = {}, options = {})
7571
+ req = build_request(:get_bucket_metadata_configuration, params)
7572
+ req.send_request(options)
7573
+ end
7574
+
7575
+ # We recommend that you retrieve your S3 Metadata configurations by
7576
+ # using the V2 [GetBucketMetadataTableConfiguration][1] API operation.
7577
+ # We no longer recommend using the V1
7578
+ # `GetBucketMetadataTableConfiguration` API operation.
7579
+ #
7580
+ # If you created your S3 Metadata configuration before July 15, 2025,
7581
+ # we
7582
+ # recommend that you delete and re-create your configuration by using
7583
+ # [CreateBucketMetadataConfiguration][2] so that you can expire journal
7584
+ # table records and create a live inventory table.
7585
+ #
7586
+ # Retrieves the V1 S3 Metadata configuration for a general purpose
7587
+ # bucket. For more information, see [Accelerating data discovery with S3
7588
+ # Metadata][3] in the *Amazon S3 User Guide*.
7589
+ #
7590
+ # <note markdown="1"> You can use the V2 `GetBucketMetadataConfiguration` API operation with
7591
+ # V1 or V2 metadata table configurations. However, if you try to use the
7592
+ # V1 `GetBucketMetadataTableConfiguration` API operation with V2
7593
+ # configurations, you will receive an HTTP `405 Method Not Allowed`
7594
+ # error.
7595
+ #
7596
+ # Make sure that you update your processes to use the new V2 API
7597
+ # operations (`CreateBucketMetadataConfiguration`,
7598
+ # `GetBucketMetadataConfiguration`, and
7599
+ # `DeleteBucketMetadataConfiguration`) instead of the V1 API operations.
7600
+ #
7601
+ # </note>
7602
+ #
7603
+ # Permissions
7604
+ #
7605
+ # : To use this operation, you must have the
7606
+ # `s3:GetBucketMetadataTableConfiguration` permission. For more
7607
+ # information, see [Setting up permissions for configuring metadata
7608
+ # tables][4] in the *Amazon S3 User Guide*.
7609
+ #
7610
+ # The following operations are related to
7611
+ # `GetBucketMetadataTableConfiguration`:
7612
+ #
7613
+ # * [CreateBucketMetadataTableConfiguration][5]
7614
+ #
7615
+ # * [DeleteBucketMetadataTableConfiguration][6]
7616
+ #
7617
+ #
7618
+ #
7619
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html
7620
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
7621
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
7622
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
7623
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html
7624
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html
7625
+ #
7626
+ # @option params [required, String] :bucket
7627
+ # The general purpose bucket that corresponds to the metadata table
7628
+ # configuration that you want to retrieve.
7629
+ #
7630
+ # @option params [String] :expected_bucket_owner
7631
+ # The expected owner of the general purpose bucket that you want to
7632
+ # retrieve the metadata table configuration for.
7633
+ #
7634
+ # @return [Types::GetBucketMetadataTableConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7137
7635
  #
7138
7636
  # * {Types::GetBucketMetadataTableConfigurationOutput#get_bucket_metadata_table_configuration_result #get_bucket_metadata_table_configuration_result} => Types::GetBucketMetadataTableConfigurationResult
7139
7637
  #
@@ -7504,6 +8002,21 @@ module Aws::S3
7504
8002
  # permission. For more information about Amazon S3 permissions, see
7505
8003
  # [Specifying permissions in a policy][1].
7506
8004
  #
8005
+ # <note markdown="1"> A bucket doesn't have `OwnershipControls` settings in the following
8006
+ # cases:
8007
+ #
8008
+ # * The bucket was created before the `BucketOwnerEnforced` ownership
8009
+ # setting was introduced and you've never explicitly applied this
8010
+ # value
8011
+ #
8012
+ # * You've manually deleted the bucket ownership control value using
8013
+ # the `DeleteBucketOwnershipControls` API operation.
8014
+ #
8015
+ # By default, Amazon S3 sets `OwnershipControls` for all newly created
8016
+ # buckets.
8017
+ #
8018
+ # </note>
8019
+ #
7507
8020
  # For information about Amazon S3 Object Ownership, see [Using Object
7508
8021
  # Ownership][2].
7509
8022
  #
@@ -7659,8 +8172,7 @@ module Aws::S3
7659
8172
  # `InvalidAccessPointAliasError` is returned. For more information about
7660
8173
  # `InvalidAccessPointAliasError`, see [List of Error Codes][2].
7661
8174
  #
7662
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
7663
- # directory buckets.
8175
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
7664
8176
  #
7665
8177
  # </note>
7666
8178
  #
@@ -7888,7 +8400,7 @@ module Aws::S3
7888
8400
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
7889
8401
  # resp.replication_configuration.rules[0].destination.bucket #=> String
7890
8402
  # resp.replication_configuration.rules[0].destination.account #=> String
7891
- # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
8403
+ # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
7892
8404
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
7893
8405
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
7894
8406
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -8316,10 +8828,12 @@ module Aws::S3
8316
8828
  # objects, see [Restoring Archived Objects][7] in the *Amazon S3 User
8317
8829
  # Guide*.
8318
8830
  #
8319
- # <b>Directory buckets </b> - For directory buckets, only the S3
8320
- # Express One Zone storage class is supported to store newly created
8321
- # objects. Unsupported storage class values won't write a destination
8322
- # object and will respond with the HTTP status code `400 Bad Request`.
8831
+ # <b>Directory buckets </b> - Directory buckets only support
8832
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
8833
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
8834
+ # Access storage class) in Dedicated Local Zones. Unsupported storage
8835
+ # class values won't write a destination object and will respond with
8836
+ # the HTTP status code `400 Bad Request`.
8323
8837
  #
8324
8838
  # Encryption
8325
8839
  #
@@ -8417,11 +8931,13 @@ module Aws::S3
8417
8931
  # naming restrictions, see [Directory bucket naming rules][1] in the
8418
8932
  # *Amazon S3 User Guide*.
8419
8933
  #
8420
- # **Access points** - When you use this action with an access point, you
8421
- # must provide the alias of the access point in place of the bucket name
8422
- # or specify the access point ARN. When using the access point ARN, you
8423
- # must direct requests to the access point hostname. The access point
8424
- # hostname takes the form
8934
+ # **Access points** - When you use this action with an access point for
8935
+ # general purpose buckets, you must provide the alias of the access
8936
+ # point in place of the bucket name or specify the access point ARN.
8937
+ # When you use this action with an access point for directory buckets,
8938
+ # you must provide the access point name in place of the bucket name.
8939
+ # When using the access point ARN, you must direct requests to the
8940
+ # access point hostname. The access point hostname takes the form
8425
8941
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8426
8942
  # When using this action with an access point through the Amazon Web
8427
8943
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -8434,8 +8950,7 @@ module Aws::S3
8434
8950
  # takes the form
8435
8951
  # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
8436
8952
  #
8437
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
8438
- # directory buckets.
8953
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
8439
8954
  #
8440
8955
  # </note>
8441
8956
  #
@@ -8739,49 +9254,49 @@ module Aws::S3
8739
9254
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8740
9255
  #
8741
9256
  #
8742
- # @example Example: To retrieve an object
9257
+ # @example Example: To retrieve a byte range of an object
8743
9258
  #
8744
- # # The following example retrieves an object for an S3 bucket.
9259
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
9260
+ # # specific byte range.
8745
9261
  #
8746
9262
  # resp = client.get_object({
8747
9263
  # bucket: "examplebucket",
8748
- # key: "HappyFace.jpg",
9264
+ # key: "SampleFile.txt",
9265
+ # range: "bytes=0-9",
8749
9266
  # })
8750
9267
  #
8751
9268
  # resp.to_h outputs the following:
8752
9269
  # {
8753
9270
  # accept_ranges: "bytes",
8754
- # content_length: 3191,
8755
- # content_type: "image/jpeg",
8756
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8757
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
9271
+ # content_length: 10,
9272
+ # content_range: "bytes 0-9/43",
9273
+ # content_type: "text/plain",
9274
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
9275
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8758
9276
  # metadata: {
8759
9277
  # },
8760
- # tag_count: 2,
8761
9278
  # version_id: "null",
8762
9279
  # }
8763
9280
  #
8764
- # @example Example: To retrieve a byte range of an object
9281
+ # @example Example: To retrieve an object
8765
9282
  #
8766
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8767
- # # specific byte range.
9283
+ # # The following example retrieves an object for an S3 bucket.
8768
9284
  #
8769
9285
  # resp = client.get_object({
8770
9286
  # bucket: "examplebucket",
8771
- # key: "SampleFile.txt",
8772
- # range: "bytes=0-9",
9287
+ # key: "HappyFace.jpg",
8773
9288
  # })
8774
9289
  #
8775
9290
  # resp.to_h outputs the following:
8776
9291
  # {
8777
9292
  # accept_ranges: "bytes",
8778
- # content_length: 10,
8779
- # content_range: "bytes 0-9/43",
8780
- # content_type: "text/plain",
8781
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8782
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
9293
+ # content_length: 3191,
9294
+ # content_type: "image/jpeg",
9295
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
9296
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8783
9297
  # metadata: {
8784
9298
  # },
9299
+ # tag_count: 2,
8785
9300
  # version_id: "null",
8786
9301
  # }
8787
9302
  #
@@ -8867,14 +9382,14 @@ module Aws::S3
8867
9382
  # resp.expires #=> Time
8868
9383
  # resp.expires_string #=> String
8869
9384
  # resp.website_redirect_location #=> String
8870
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
9385
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
8871
9386
  # resp.metadata #=> Hash
8872
9387
  # resp.metadata["MetadataKey"] #=> String
8873
9388
  # resp.sse_customer_algorithm #=> String
8874
9389
  # resp.sse_customer_key_md5 #=> String
8875
9390
  # resp.ssekms_key_id #=> String
8876
9391
  # resp.bucket_key_enabled #=> Boolean
8877
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
9392
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
8878
9393
  # resp.request_charged #=> String, one of "requester"
8879
9394
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
8880
9395
  # resp.parts_count #=> Integer
@@ -8939,11 +9454,13 @@ module Aws::S3
8939
9454
  # The bucket name that contains the object for which to get the ACL
8940
9455
  # information.
8941
9456
  #
8942
- # **Access points** - When you use this action with an access point, you
8943
- # must provide the alias of the access point in place of the bucket name
8944
- # or specify the access point ARN. When using the access point ARN, you
8945
- # must direct requests to the access point hostname. The access point
8946
- # hostname takes the form
9457
+ # **Access points** - When you use this action with an access point for
9458
+ # general purpose buckets, you must provide the alias of the access
9459
+ # point in place of the bucket name or specify the access point ARN.
9460
+ # When you use this action with an access point for directory buckets,
9461
+ # you must provide the access point name in place of the bucket name.
9462
+ # When using the access point ARN, you must direct requests to the
9463
+ # access point hostname. The access point hostname takes the form
8947
9464
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8948
9465
  # When using this action with an access point through the Amazon Web
8949
9466
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9076,12 +9593,12 @@ module Aws::S3
9076
9593
  req.send_request(options)
9077
9594
  end
9078
9595
 
9079
- # Retrieves all the metadata from an object without returning the object
9080
- # itself. This operation is useful if you're interested only in an
9081
- # object's metadata.
9596
+ # Retrieves all of the metadata from an object without returning the
9597
+ # object itself. This operation is useful if you're interested only in
9598
+ # an object's metadata.
9082
9599
  #
9083
9600
  # `GetObjectAttributes` combines the functionality of `HeadObject` and
9084
- # `ListParts`. All of the data returned with each of those individual
9601
+ # `ListParts`. All of the data returned with both of those individual
9085
9602
  # calls can be returned with a single call to `GetObjectAttributes`.
9086
9603
  #
9087
9604
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
@@ -9100,16 +9617,23 @@ module Aws::S3
9100
9617
  # Permissions
9101
9618
  # : * **General purpose bucket permissions** - To use
9102
9619
  # `GetObjectAttributes`, you must have READ access to the object.
9103
- # The permissions that you need to use this operation depend on
9104
- # whether the bucket is versioned. If the bucket is versioned, you
9105
- # need both the `s3:GetObjectVersion` and
9106
- # `s3:GetObjectVersionAttributes` permissions for this operation. If
9107
- # the bucket is not versioned, you need the `s3:GetObject` and
9108
- # `s3:GetObjectAttributes` permissions. For more information, see
9109
- # [Specifying Permissions in a Policy][3] in the *Amazon S3 User
9110
- # Guide*. If the object that you request does not exist, the error
9111
- # Amazon S3 returns depends on whether you also have the
9112
- # `s3:ListBucket` permission.
9620
+ #
9621
+ # The other permissions that you need to use this operation depend
9622
+ # on whether the bucket is versioned and if a version ID is passed
9623
+ # in the `GetObjectAttributes` request.
9624
+ #
9625
+ # * If you pass a version ID in your request, you need both the
9626
+ # `s3:GetObjectVersion` and `s3:GetObjectVersionAttributes`
9627
+ # permissions.
9628
+ #
9629
+ # * If you do not pass a version ID in your request, you need the
9630
+ # `s3:GetObject` and `s3:GetObjectAttributes` permissions.
9631
+ # For more information, see [Specifying Permissions in a Policy][3]
9632
+ # in the *Amazon S3 User Guide*.
9633
+ #
9634
+ # If the object that you request does not exist, the error Amazon S3
9635
+ # returns depends on whether you also have the `s3:ListBucket`
9636
+ # permission.
9113
9637
  #
9114
9638
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon
9115
9639
  # S3 returns an HTTP status code `404 Not Found` ("no such key")
@@ -9153,12 +9677,12 @@ module Aws::S3
9153
9677
  #
9154
9678
  # </note>
9155
9679
  #
9156
- # If you encrypt an object by using server-side encryption with
9157
- # customer-provided encryption keys (SSE-C) when you store the object
9158
- # in Amazon S3, then when you retrieve the metadata from the object,
9159
- # you must use the following headers to provide the encryption key for
9160
- # the server to be able to retrieve the object's metadata. The
9161
- # headers are:
9680
+ # If you encrypted an object when you stored the object in Amazon S3
9681
+ # by using server-side encryption with customer-provided encryption
9682
+ # keys (SSE-C), then when you retrieve the metadata from the object,
9683
+ # you must use the following headers. These headers provide the server
9684
+ # with the encryption key required to retrieve the object's metadata.
9685
+ # The headers are:
9162
9686
  #
9163
9687
  # * `x-amz-server-side-encryption-customer-algorithm`
9164
9688
  #
@@ -9272,19 +9796,20 @@ module Aws::S3
9272
9796
  # naming restrictions, see [Directory bucket naming rules][1] in the
9273
9797
  # *Amazon S3 User Guide*.
9274
9798
  #
9275
- # **Access points** - When you use this action with an access point, you
9276
- # must provide the alias of the access point in place of the bucket name
9277
- # or specify the access point ARN. When using the access point ARN, you
9278
- # must direct requests to the access point hostname. The access point
9279
- # hostname takes the form
9799
+ # **Access points** - When you use this action with an access point for
9800
+ # general purpose buckets, you must provide the alias of the access
9801
+ # point in place of the bucket name or specify the access point ARN.
9802
+ # When you use this action with an access point for directory buckets,
9803
+ # you must provide the access point name in place of the bucket name.
9804
+ # When using the access point ARN, you must direct requests to the
9805
+ # access point hostname. The access point hostname takes the form
9280
9806
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9281
9807
  # When using this action with an access point through the Amazon Web
9282
9808
  # Services SDKs, you provide the access point ARN in place of the bucket
9283
9809
  # name. For more information about access point ARNs, see [Using access
9284
9810
  # points][2] in the *Amazon S3 User Guide*.
9285
9811
  #
9286
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
9287
- # directory buckets.
9812
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
9288
9813
  #
9289
9814
  # </note>
9290
9815
  #
@@ -9317,11 +9842,23 @@ module Aws::S3
9317
9842
  # </note>
9318
9843
  #
9319
9844
  # @option params [Integer] :max_parts
9320
- # Sets the maximum number of parts to return.
9845
+ # Sets the maximum number of parts to return. For more information, see
9846
+ # [Uploading and copying objects using multipart upload in Amazon S3
9847
+ # ][1] in the *Amazon Simple Storage Service user guide*.
9848
+ #
9849
+ #
9850
+ #
9851
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
9321
9852
  #
9322
9853
  # @option params [Integer] :part_number_marker
9323
9854
  # Specifies the part after which listing should begin. Only parts with
9324
- # higher part numbers will be listed.
9855
+ # higher part numbers will be listed. For more information, see
9856
+ # [Uploading and copying objects using multipart upload in Amazon S3
9857
+ # ][1] in the *Amazon Simple Storage Service user guide*.
9858
+ #
9859
+ #
9860
+ #
9861
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
9325
9862
  #
9326
9863
  # @option params [String] :sse_customer_algorithm
9327
9864
  # Specifies the algorithm to use when encrypting the object (for
@@ -9431,7 +9968,7 @@ module Aws::S3
9431
9968
  # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9432
9969
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9433
9970
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9434
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
9971
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
9435
9972
  # resp.object_size #=> Integer
9436
9973
  #
9437
9974
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes AWS API Documentation
@@ -9467,11 +10004,13 @@ module Aws::S3
9467
10004
  # The bucket name containing the object whose legal hold status you want
9468
10005
  # to retrieve.
9469
10006
  #
9470
- # **Access points** - When you use this action with an access point, you
9471
- # must provide the alias of the access point in place of the bucket name
9472
- # or specify the access point ARN. When using the access point ARN, you
9473
- # must direct requests to the access point hostname. The access point
9474
- # hostname takes the form
10007
+ # **Access points** - When you use this action with an access point for
10008
+ # general purpose buckets, you must provide the alias of the access
10009
+ # point in place of the bucket name or specify the access point ARN.
10010
+ # When you use this action with an access point for directory buckets,
10011
+ # you must provide the access point name in place of the bucket name.
10012
+ # When using the access point ARN, you must direct requests to the
10013
+ # access point hostname. The access point hostname takes the form
9475
10014
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9476
10015
  # When using this action with an access point through the Amazon Web
9477
10016
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9562,11 +10101,13 @@ module Aws::S3
9562
10101
  # @option params [required, String] :bucket
9563
10102
  # The bucket whose Object Lock configuration you want to retrieve.
9564
10103
  #
9565
- # **Access points** - When you use this action with an access point, you
9566
- # must provide the alias of the access point in place of the bucket name
9567
- # or specify the access point ARN. When using the access point ARN, you
9568
- # must direct requests to the access point hostname. The access point
9569
- # hostname takes the form
10104
+ # **Access points** - When you use this action with an access point for
10105
+ # general purpose buckets, you must provide the alias of the access
10106
+ # point in place of the bucket name or specify the access point ARN.
10107
+ # When you use this action with an access point for directory buckets,
10108
+ # you must provide the access point name in place of the bucket name.
10109
+ # When using the access point ARN, you must direct requests to the
10110
+ # access point hostname. The access point hostname takes the form
9570
10111
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9571
10112
  # When using this action with an access point through the Amazon Web
9572
10113
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9633,11 +10174,13 @@ module Aws::S3
9633
10174
  # The bucket name containing the object whose retention settings you
9634
10175
  # want to retrieve.
9635
10176
  #
9636
- # **Access points** - When you use this action with an access point, you
9637
- # must provide the alias of the access point in place of the bucket name
9638
- # or specify the access point ARN. When using the access point ARN, you
9639
- # must direct requests to the access point hostname. The access point
9640
- # hostname takes the form
10177
+ # **Access points** - When you use this action with an access point for
10178
+ # general purpose buckets, you must provide the alias of the access
10179
+ # point in place of the bucket name or specify the access point ARN.
10180
+ # When you use this action with an access point for directory buckets,
10181
+ # you must provide the access point name in place of the bucket name.
10182
+ # When using the access point ARN, you must direct requests to the
10183
+ # access point hostname. The access point hostname takes the form
9641
10184
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9642
10185
  # When using this action with an access point through the Amazon Web
9643
10186
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -9745,11 +10288,13 @@ module Aws::S3
9745
10288
  # The bucket name containing the object for which to get the tagging
9746
10289
  # information.
9747
10290
  #
9748
- # **Access points** - When you use this action with an access point, you
9749
- # must provide the alias of the access point in place of the bucket name
9750
- # or specify the access point ARN. When using the access point ARN, you
9751
- # must direct requests to the access point hostname. The access point
9752
- # hostname takes the form
10291
+ # **Access points** - When you use this action with an access point for
10292
+ # general purpose buckets, you must provide the alias of the access
10293
+ # point in place of the bucket name or specify the access point ARN.
10294
+ # When you use this action with an access point for directory buckets,
10295
+ # you must provide the access point name in place of the bucket name.
10296
+ # When using the access point ARN, you must direct requests to the
10297
+ # access point hostname. The access point hostname takes the form
9753
10298
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9754
10299
  # When using this action with an access point through the Amazon Web
9755
10300
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -10143,11 +10688,13 @@ module Aws::S3
10143
10688
  # naming restrictions, see [Directory bucket naming rules][1] in the
10144
10689
  # *Amazon S3 User Guide*.
10145
10690
  #
10146
- # **Access points** - When you use this action with an access point, you
10147
- # must provide the alias of the access point in place of the bucket name
10148
- # or specify the access point ARN. When using the access point ARN, you
10149
- # must direct requests to the access point hostname. The access point
10150
- # hostname takes the form
10691
+ # **Access points** - When you use this action with an access point for
10692
+ # general purpose buckets, you must provide the alias of the access
10693
+ # point in place of the bucket name or specify the access point ARN.
10694
+ # When you use this action with an access point for directory buckets,
10695
+ # you must provide the access point name in place of the bucket name.
10696
+ # When using the access point ARN, you must direct requests to the
10697
+ # access point hostname. The access point hostname takes the form
10151
10698
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10152
10699
  # When using this action with an access point through the Amazon Web
10153
10700
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -10161,8 +10708,7 @@ module Aws::S3
10161
10708
  # `InvalidAccessPointAliasError` is returned. For more information about
10162
10709
  # `InvalidAccessPointAliasError`, see [List of Error Codes][3].
10163
10710
  #
10164
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
10165
- # directory buckets.
10711
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
10166
10712
  #
10167
10713
  # </note>
10168
10714
  #
@@ -10189,6 +10735,7 @@ module Aws::S3
10189
10735
  #
10190
10736
  # @return [Types::HeadBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10191
10737
  #
10738
+ # * {Types::HeadBucketOutput#bucket_arn #bucket_arn} => String
10192
10739
  # * {Types::HeadBucketOutput#bucket_location_type #bucket_location_type} => String
10193
10740
  # * {Types::HeadBucketOutput#bucket_location_name #bucket_location_name} => String
10194
10741
  # * {Types::HeadBucketOutput#bucket_region #bucket_region} => String
@@ -10212,6 +10759,7 @@ module Aws::S3
10212
10759
  #
10213
10760
  # @example Response structure
10214
10761
  #
10762
+ # resp.bucket_arn #=> String
10215
10763
  # resp.bucket_location_type #=> String, one of "AvailabilityZone", "LocalZone"
10216
10764
  # resp.bucket_location_name #=> String
10217
10765
  # resp.bucket_region #=> String
@@ -10403,19 +10951,20 @@ module Aws::S3
10403
10951
  # naming restrictions, see [Directory bucket naming rules][1] in the
10404
10952
  # *Amazon S3 User Guide*.
10405
10953
  #
10406
- # **Access points** - When you use this action with an access point, you
10407
- # must provide the alias of the access point in place of the bucket name
10408
- # or specify the access point ARN. When using the access point ARN, you
10409
- # must direct requests to the access point hostname. The access point
10410
- # hostname takes the form
10954
+ # **Access points** - When you use this action with an access point for
10955
+ # general purpose buckets, you must provide the alias of the access
10956
+ # point in place of the bucket name or specify the access point ARN.
10957
+ # When you use this action with an access point for directory buckets,
10958
+ # you must provide the access point name in place of the bucket name.
10959
+ # When using the access point ARN, you must direct requests to the
10960
+ # access point hostname. The access point hostname takes the form
10411
10961
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10412
10962
  # When using this action with an access point through the Amazon Web
10413
10963
  # Services SDKs, you provide the access point ARN in place of the bucket
10414
10964
  # name. For more information about access point ARNs, see [Using access
10415
10965
  # points][2] in the *Amazon S3 User Guide*.
10416
10966
  #
10417
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
10418
- # directory buckets.
10967
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
10419
10968
  #
10420
10969
  # </note>
10421
10970
  #
@@ -10656,6 +11205,7 @@ module Aws::S3
10656
11205
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
10657
11206
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
10658
11207
  # * {Types::HeadObjectOutput#parts_count #parts_count} => Integer
11208
+ # * {Types::HeadObjectOutput#tag_count #tag_count} => Integer
10659
11209
  # * {Types::HeadObjectOutput#object_lock_mode #object_lock_mode} => String
10660
11210
  # * {Types::HeadObjectOutput#object_lock_retain_until_date #object_lock_retain_until_date} => Time
10661
11211
  # * {Types::HeadObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
@@ -10735,17 +11285,18 @@ module Aws::S3
10735
11285
  # resp.expires #=> Time
10736
11286
  # resp.expires_string #=> String
10737
11287
  # resp.website_redirect_location #=> String
10738
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
11288
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
10739
11289
  # resp.metadata #=> Hash
10740
11290
  # resp.metadata["MetadataKey"] #=> String
10741
11291
  # resp.sse_customer_algorithm #=> String
10742
11292
  # resp.sse_customer_key_md5 #=> String
10743
11293
  # resp.ssekms_key_id #=> String
10744
11294
  # resp.bucket_key_enabled #=> Boolean
10745
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
11295
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
10746
11296
  # resp.request_charged #=> String, one of "requester"
10747
11297
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
10748
11298
  # resp.parts_count #=> Integer
11299
+ # resp.tag_count #=> Integer
10749
11300
  # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
10750
11301
  # resp.object_lock_retain_until_date #=> Time
10751
11302
  # resp.object_lock_legal_hold_status #=> String, one of "ON", "OFF"
@@ -10916,6 +11467,11 @@ module Aws::S3
10916
11467
  # The `ContinuationToken` that represents a placeholder from where this
10917
11468
  # request should begin.
10918
11469
  #
11470
+ # @option params [String] :expected_bucket_owner
11471
+ # The account ID of the expected bucket owner. If the account ID that
11472
+ # you provide does not match the actual owner of the bucket, the request
11473
+ # fails with the HTTP status code `403 Forbidden` (access denied).
11474
+ #
10919
11475
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10920
11476
  #
10921
11477
  # * {Types::ListBucketIntelligentTieringConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -10928,6 +11484,7 @@ module Aws::S3
10928
11484
  # resp = client.list_bucket_intelligent_tiering_configurations({
10929
11485
  # bucket: "BucketName", # required
10930
11486
  # continuation_token: "Token",
11487
+ # expected_bucket_owner: "AccountId",
10931
11488
  # })
10932
11489
  #
10933
11490
  # @example Response structure
@@ -10962,7 +11519,7 @@ module Aws::S3
10962
11519
  #
10963
11520
  # </note>
10964
11521
  #
10965
- # Returns a list of inventory configurations for the bucket. You can
11522
+ # Returns a list of S3 Inventory configurations for the bucket. You can
10966
11523
  # have up to 1,000 analytics configurations per bucket.
10967
11524
  #
10968
11525
  # This action supports list pagination and does not return more than 100
@@ -11162,6 +11719,19 @@ module Aws::S3
11162
11719
  req.send_request(options)
11163
11720
  end
11164
11721
 
11722
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11723
+ # returning `DisplayName`. Update your applications to use canonical IDs
11724
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
11725
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
11726
+ # naming) as a direct replacement of `DisplayName`.
11727
+ #
11728
+ # This change affects the following Amazon Web Services Regions: US
11729
+ # East
11730
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11731
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11732
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11733
+ # America (São Paulo) Region.
11734
+ #
11165
11735
  # <note markdown="1"> This operation is not supported for directory buckets.
11166
11736
  #
11167
11737
  # </note>
@@ -11286,6 +11856,7 @@ module Aws::S3
11286
11856
  # resp.buckets[0].name #=> String
11287
11857
  # resp.buckets[0].creation_date #=> Time
11288
11858
  # resp.buckets[0].bucket_region #=> String
11859
+ # resp.buckets[0].bucket_arn #=> String
11289
11860
  # resp.owner.display_name #=> String
11290
11861
  # resp.owner.id #=> String
11291
11862
  # resp.continuation_token #=> String
@@ -11377,6 +11948,7 @@ module Aws::S3
11377
11948
  # resp.buckets[0].name #=> String
11378
11949
  # resp.buckets[0].creation_date #=> Time
11379
11950
  # resp.buckets[0].bucket_region #=> String
11951
+ # resp.buckets[0].bucket_arn #=> String
11380
11952
  # resp.continuation_token #=> String
11381
11953
  #
11382
11954
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListDirectoryBuckets AWS API Documentation
@@ -11388,6 +11960,19 @@ module Aws::S3
11388
11960
  req.send_request(options)
11389
11961
  end
11390
11962
 
11963
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11964
+ # returning `DisplayName`. Update your applications to use canonical IDs
11965
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
11966
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
11967
+ # naming) as a direct replacement of `DisplayName`.
11968
+ #
11969
+ # This change affects the following Amazon Web Services Regions: US
11970
+ # East
11971
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11972
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11973
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11974
+ # America (São Paulo) Region.
11975
+ #
11391
11976
  # This operation lists in-progress multipart uploads in a bucket. An
11392
11977
  # in-progress multipart upload is a multipart upload that has been
11393
11978
  # initiated by the `CreateMultipartUpload` request, but has not yet been
@@ -11522,19 +12107,20 @@ module Aws::S3
11522
12107
  # naming restrictions, see [Directory bucket naming rules][1] in the
11523
12108
  # *Amazon S3 User Guide*.
11524
12109
  #
11525
- # **Access points** - When you use this action with an access point, you
11526
- # must provide the alias of the access point in place of the bucket name
11527
- # or specify the access point ARN. When using the access point ARN, you
11528
- # must direct requests to the access point hostname. The access point
11529
- # hostname takes the form
12110
+ # **Access points** - When you use this action with an access point for
12111
+ # general purpose buckets, you must provide the alias of the access
12112
+ # point in place of the bucket name or specify the access point ARN.
12113
+ # When you use this action with an access point for directory buckets,
12114
+ # you must provide the access point name in place of the bucket name.
12115
+ # When using the access point ARN, you must direct requests to the
12116
+ # access point hostname. The access point hostname takes the form
11530
12117
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11531
12118
  # When using this action with an access point through the Amazon Web
11532
12119
  # Services SDKs, you provide the access point ARN in place of the bucket
11533
12120
  # name. For more information about access point ARNs, see [Using access
11534
12121
  # points][2] in the *Amazon S3 User Guide*.
11535
12122
  #
11536
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
11537
- # directory buckets.
12123
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
11538
12124
  #
11539
12125
  # </note>
11540
12126
  #
@@ -11563,6 +12149,9 @@ module Aws::S3
11563
12149
  # beginning of the key. The keys that are grouped under `CommonPrefixes`
11564
12150
  # result element are not returned elsewhere in the response.
11565
12151
  #
12152
+ # `CommonPrefixes` is filtered out from results if it is not
12153
+ # lexicographically greater than the key-marker.
12154
+ #
11566
12155
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
11567
12156
  # supported delimiter.
11568
12157
  #
@@ -11688,97 +12277,97 @@ module Aws::S3
11688
12277
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11689
12278
  #
11690
12279
  #
11691
- # @example Example: To list in-progress multipart uploads on a bucket
12280
+ # @example Example: List next set of multipart uploads when previous result is truncated
11692
12281
  #
11693
- # # The following example lists in-progress multipart uploads on a specific bucket.
12282
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
12283
+ # # setup of multipart uploads.
11694
12284
  #
11695
12285
  # resp = client.list_multipart_uploads({
11696
12286
  # bucket: "examplebucket",
12287
+ # key_marker: "nextkeyfrompreviousresponse",
12288
+ # max_uploads: 2,
12289
+ # upload_id_marker: "valuefrompreviousresponse",
11697
12290
  # })
11698
12291
  #
11699
12292
  # resp.to_h outputs the following:
11700
12293
  # {
12294
+ # bucket: "acl1",
12295
+ # is_truncated: true,
12296
+ # key_marker: "",
12297
+ # max_uploads: 2,
12298
+ # next_key_marker: "someobjectkey",
12299
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
12300
+ # upload_id_marker: "",
11701
12301
  # uploads: [
11702
12302
  # {
11703
12303
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11704
12304
  # initiator: {
11705
- # display_name: "display-name",
12305
+ # display_name: "ownder-display-name",
11706
12306
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11707
12307
  # },
11708
12308
  # key: "JavaFile",
11709
12309
  # owner: {
11710
- # display_name: "display-name",
11711
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
12310
+ # display_name: "mohanataws",
12311
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11712
12312
  # },
11713
12313
  # storage_class: "STANDARD",
11714
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
12314
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11715
12315
  # },
11716
12316
  # {
11717
12317
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11718
12318
  # initiator: {
11719
- # display_name: "display-name",
12319
+ # display_name: "ownder-display-name",
11720
12320
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11721
12321
  # },
11722
12322
  # key: "JavaFile",
11723
12323
  # owner: {
11724
- # display_name: "display-name",
12324
+ # display_name: "ownder-display-name",
11725
12325
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11726
12326
  # },
11727
12327
  # storage_class: "STANDARD",
11728
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
12328
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11729
12329
  # },
11730
12330
  # ],
11731
12331
  # }
11732
12332
  #
11733
- # @example Example: List next set of multipart uploads when previous result is truncated
12333
+ # @example Example: To list in-progress multipart uploads on a bucket
11734
12334
  #
11735
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
11736
- # # setup of multipart uploads.
12335
+ # # The following example lists in-progress multipart uploads on a specific bucket.
11737
12336
  #
11738
12337
  # resp = client.list_multipart_uploads({
11739
12338
  # bucket: "examplebucket",
11740
- # key_marker: "nextkeyfrompreviousresponse",
11741
- # max_uploads: 2,
11742
- # upload_id_marker: "valuefrompreviousresponse",
11743
12339
  # })
11744
12340
  #
11745
12341
  # resp.to_h outputs the following:
11746
12342
  # {
11747
- # bucket: "acl1",
11748
- # is_truncated: true,
11749
- # key_marker: "",
11750
- # max_uploads: 2,
11751
- # next_key_marker: "someobjectkey",
11752
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11753
- # upload_id_marker: "",
11754
12343
  # uploads: [
11755
12344
  # {
11756
12345
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
11757
12346
  # initiator: {
11758
- # display_name: "ownder-display-name",
12347
+ # display_name: "display-name",
11759
12348
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11760
12349
  # },
11761
12350
  # key: "JavaFile",
11762
12351
  # owner: {
11763
- # display_name: "mohanataws",
11764
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
12352
+ # display_name: "display-name",
12353
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11765
12354
  # },
11766
12355
  # storage_class: "STANDARD",
11767
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
12356
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
11768
12357
  # },
11769
12358
  # {
11770
12359
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
11771
12360
  # initiator: {
11772
- # display_name: "ownder-display-name",
12361
+ # display_name: "display-name",
11773
12362
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11774
12363
  # },
11775
12364
  # key: "JavaFile",
11776
12365
  # owner: {
11777
- # display_name: "ownder-display-name",
12366
+ # display_name: "display-name",
11778
12367
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
11779
12368
  # },
11780
12369
  # storage_class: "STANDARD",
11781
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
12370
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
11782
12371
  # },
11783
12372
  # ],
11784
12373
  # }
@@ -11812,7 +12401,7 @@ module Aws::S3
11812
12401
  # resp.uploads[0].upload_id #=> String
11813
12402
  # resp.uploads[0].key #=> String
11814
12403
  # resp.uploads[0].initiated #=> Time
11815
- # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12404
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
11816
12405
  # resp.uploads[0].owner.display_name #=> String
11817
12406
  # resp.uploads[0].owner.id #=> String
11818
12407
  # resp.uploads[0].initiator.id #=> String
@@ -11833,6 +12422,19 @@ module Aws::S3
11833
12422
  req.send_request(options)
11834
12423
  end
11835
12424
 
12425
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12426
+ # returning `DisplayName`. Update your applications to use canonical IDs
12427
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
12428
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
12429
+ # naming) as a direct replacement of `DisplayName`.
12430
+ #
12431
+ # This change affects the following Amazon Web Services Regions: US
12432
+ # East
12433
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12434
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12435
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12436
+ # America (São Paulo) Region.
12437
+ #
11836
12438
  # <note markdown="1"> This operation is not supported for directory buckets.
11837
12439
  #
11838
12440
  # </note>
@@ -11880,6 +12482,9 @@ module Aws::S3
11880
12482
  # the `max-keys` limitation. These keys are not returned elsewhere in
11881
12483
  # the response.
11882
12484
  #
12485
+ # `CommonPrefixes` is filtered out from results if it is not
12486
+ # lexicographically greater than the key-marker.
12487
+ #
11883
12488
  # @option params [String] :encoding_type
11884
12489
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
11885
12490
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12073,6 +12678,19 @@ module Aws::S3
12073
12678
  req.send_request(options)
12074
12679
  end
12075
12680
 
12681
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12682
+ # returning `DisplayName`. Update your applications to use canonical IDs
12683
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
12684
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
12685
+ # naming) as a direct replacement of `DisplayName`.
12686
+ #
12687
+ # This change affects the following Amazon Web Services Regions: US
12688
+ # East
12689
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12690
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12691
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12692
+ # America (São Paulo) Region.
12693
+ #
12076
12694
  # <note markdown="1"> This operation is not supported for directory buckets.
12077
12695
  #
12078
12696
  # </note>
@@ -12120,19 +12738,20 @@ module Aws::S3
12120
12738
  # naming restrictions, see [Directory bucket naming rules][1] in the
12121
12739
  # *Amazon S3 User Guide*.
12122
12740
  #
12123
- # **Access points** - When you use this action with an access point, you
12124
- # must provide the alias of the access point in place of the bucket name
12125
- # or specify the access point ARN. When using the access point ARN, you
12126
- # must direct requests to the access point hostname. The access point
12127
- # hostname takes the form
12741
+ # **Access points** - When you use this action with an access point for
12742
+ # general purpose buckets, you must provide the alias of the access
12743
+ # point in place of the bucket name or specify the access point ARN.
12744
+ # When you use this action with an access point for directory buckets,
12745
+ # you must provide the access point name in place of the bucket name.
12746
+ # When using the access point ARN, you must direct requests to the
12747
+ # access point hostname. The access point hostname takes the form
12128
12748
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12129
12749
  # When using this action with an access point through the Amazon Web
12130
12750
  # Services SDKs, you provide the access point ARN in place of the bucket
12131
12751
  # name. For more information about access point ARNs, see [Using access
12132
12752
  # points][2] in the *Amazon S3 User Guide*.
12133
12753
  #
12134
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
12135
- # directory buckets.
12754
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
12136
12755
  #
12137
12756
  # </note>
12138
12757
  #
@@ -12154,6 +12773,9 @@ module Aws::S3
12154
12773
  # @option params [String] :delimiter
12155
12774
  # A delimiter is a character that you use to group keys.
12156
12775
  #
12776
+ # `CommonPrefixes` is filtered out from results if it is not
12777
+ # lexicographically greater than the key-marker.
12778
+ #
12157
12779
  # @option params [String] :encoding_type
12158
12780
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
12159
12781
  # response. Responses are encoded only in UTF-8. An object key can
@@ -12285,7 +12907,7 @@ module Aws::S3
12285
12907
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12286
12908
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12287
12909
  # resp.contents[0].size #=> Integer
12288
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
12910
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12289
12911
  # resp.contents[0].owner.display_name #=> String
12290
12912
  # resp.contents[0].owner.id #=> String
12291
12913
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12413,19 +13035,20 @@ module Aws::S3
12413
13035
  # naming restrictions, see [Directory bucket naming rules][1] in the
12414
13036
  # *Amazon S3 User Guide*.
12415
13037
  #
12416
- # **Access points** - When you use this action with an access point, you
12417
- # must provide the alias of the access point in place of the bucket name
12418
- # or specify the access point ARN. When using the access point ARN, you
12419
- # must direct requests to the access point hostname. The access point
12420
- # hostname takes the form
13038
+ # **Access points** - When you use this action with an access point for
13039
+ # general purpose buckets, you must provide the alias of the access
13040
+ # point in place of the bucket name or specify the access point ARN.
13041
+ # When you use this action with an access point for directory buckets,
13042
+ # you must provide the access point name in place of the bucket name.
13043
+ # When using the access point ARN, you must direct requests to the
13044
+ # access point hostname. The access point hostname takes the form
12421
13045
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12422
13046
  # When using this action with an access point through the Amazon Web
12423
13047
  # Services SDKs, you provide the access point ARN in place of the bucket
12424
13048
  # name. For more information about access point ARNs, see [Using access
12425
13049
  # points][2] in the *Amazon S3 User Guide*.
12426
13050
  #
12427
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
12428
- # directory buckets.
13051
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
12429
13052
  #
12430
13053
  # </note>
12431
13054
  #
@@ -12447,6 +13070,9 @@ module Aws::S3
12447
13070
  # @option params [String] :delimiter
12448
13071
  # A delimiter is a character that you use to group keys.
12449
13072
  #
13073
+ # `CommonPrefixes` is filtered out from results if it is not
13074
+ # lexicographically greater than the `StartAfter` value.
13075
+ #
12450
13076
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
12451
13077
  # supported delimiter.
12452
13078
  #
@@ -12627,7 +13253,7 @@ module Aws::S3
12627
13253
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12628
13254
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12629
13255
  # resp.contents[0].size #=> Integer
12630
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
13256
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12631
13257
  # resp.contents[0].owner.display_name #=> String
12632
13258
  # resp.contents[0].owner.id #=> String
12633
13259
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12654,6 +13280,19 @@ module Aws::S3
12654
13280
  req.send_request(options)
12655
13281
  end
12656
13282
 
13283
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
13284
+ # returning `DisplayName`. Update your applications to use canonical IDs
13285
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
13286
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
13287
+ # naming) as a direct replacement of `DisplayName`.
13288
+ #
13289
+ # This change affects the following Amazon Web Services Regions: US
13290
+ # East
13291
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13292
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13293
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13294
+ # America (São Paulo) Region.
13295
+ #
12657
13296
  # Lists the parts that have been uploaded for a specific multipart
12658
13297
  # upload.
12659
13298
  #
@@ -12760,19 +13399,20 @@ module Aws::S3
12760
13399
  # naming restrictions, see [Directory bucket naming rules][1] in the
12761
13400
  # *Amazon S3 User Guide*.
12762
13401
  #
12763
- # **Access points** - When you use this action with an access point, you
12764
- # must provide the alias of the access point in place of the bucket name
12765
- # or specify the access point ARN. When using the access point ARN, you
12766
- # must direct requests to the access point hostname. The access point
12767
- # hostname takes the form
13402
+ # **Access points** - When you use this action with an access point for
13403
+ # general purpose buckets, you must provide the alias of the access
13404
+ # point in place of the bucket name or specify the access point ARN.
13405
+ # When you use this action with an access point for directory buckets,
13406
+ # you must provide the access point name in place of the bucket name.
13407
+ # When using the access point ARN, you must direct requests to the
13408
+ # access point hostname. The access point hostname takes the form
12768
13409
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12769
13410
  # When using this action with an access point through the Amazon Web
12770
13411
  # Services SDKs, you provide the access point ARN in place of the bucket
12771
13412
  # name. For more information about access point ARNs, see [Using access
12772
13413
  # points][2] in the *Amazon S3 User Guide*.
12773
13414
  #
12774
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
12775
- # directory buckets.
13415
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
12776
13416
  #
12777
13417
  # </note>
12778
13418
  #
@@ -12968,7 +13608,7 @@ module Aws::S3
12968
13608
  # resp.initiator.display_name #=> String
12969
13609
  # resp.owner.display_name #=> String
12970
13610
  # resp.owner.id #=> String
12971
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
13611
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12972
13612
  # resp.request_charged #=> String, one of "requester"
12973
13613
  # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12974
13614
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
@@ -13081,6 +13721,20 @@ module Aws::S3
13081
13721
  req.send_request(options)
13082
13722
  end
13083
13723
 
13724
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
13725
+ # discontinue support for creating new Email Grantee Access Control
13726
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
13727
+ # continue to work and remain accessible through the Amazon Web Services
13728
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
13729
+ # However, you will no longer be able to create new Email Grantee ACLs.
13730
+ #
13731
+ # This change affects the following Amazon Web Services Regions: US
13732
+ # East
13733
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13734
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13735
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13736
+ # America (São Paulo) Region.
13737
+ #
13084
13738
  # <note markdown="1"> This operation is not supported for directory buckets.
13085
13739
  #
13086
13740
  # </note>
@@ -13187,7 +13841,10 @@ module Aws::S3
13187
13841
  # Grantee Values
13188
13842
  #
13189
13843
  # : You can specify the person (grantee) to whom you're assigning
13190
- # access rights (using request elements) in the following ways:
13844
+ # access rights (using request elements) in the following ways. For
13845
+ # examples of how to specify these grantee values in JSON format, see
13846
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
13847
+ # access logging][6] in the *Amazon S3 User Guide*.
13191
13848
  #
13192
13849
  # * By the person's ID:
13193
13850
  #
@@ -13237,11 +13894,11 @@ module Aws::S3
13237
13894
  #
13238
13895
  # The following operations are related to `PutBucketAcl`:
13239
13896
  #
13240
- # * [CreateBucket][6]
13897
+ # * [CreateBucket][7]
13241
13898
  #
13242
- # * [DeleteBucket][7]
13899
+ # * [DeleteBucket][8]
13243
13900
  #
13244
- # * [GetObjectAcl][8]
13901
+ # * [GetObjectAcl][9]
13245
13902
  #
13246
13903
  #
13247
13904
  #
@@ -13250,9 +13907,10 @@ module Aws::S3
13250
13907
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
13251
13908
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
13252
13909
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
13253
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13254
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13255
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
13910
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
13911
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13912
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13913
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
13256
13914
  #
13257
13915
  # @option params [String] :acl
13258
13916
  # The canned ACL to apply to the bucket.
@@ -13906,7 +14564,7 @@ module Aws::S3
13906
14564
  # rules: [ # required
13907
14565
  # {
13908
14566
  # apply_server_side_encryption_by_default: {
13909
- # sse_algorithm: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
14567
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
13910
14568
  # kms_master_key_id: "SSEKMSKeyId",
13911
14569
  # },
13912
14570
  # bucket_key_enabled: false,
@@ -14003,6 +14661,11 @@ module Aws::S3
14003
14661
  # @option params [required, String] :id
14004
14662
  # The ID used to identify the S3 Intelligent-Tiering configuration.
14005
14663
  #
14664
+ # @option params [String] :expected_bucket_owner
14665
+ # The account ID of the expected bucket owner. If the account ID that
14666
+ # you provide does not match the actual owner of the bucket, the request
14667
+ # fails with the HTTP status code `403 Forbidden` (access denied).
14668
+ #
14006
14669
  # @option params [required, Types::IntelligentTieringConfiguration] :intelligent_tiering_configuration
14007
14670
  # Container for S3 Intelligent-Tiering configuration.
14008
14671
  #
@@ -14013,6 +14676,7 @@ module Aws::S3
14013
14676
  # resp = client.put_bucket_intelligent_tiering_configuration({
14014
14677
  # bucket: "BucketName", # required
14015
14678
  # id: "IntelligentTieringId", # required
14679
+ # expected_bucket_owner: "AccountId",
14016
14680
  # intelligent_tiering_configuration: { # required
14017
14681
  # id: "IntelligentTieringId", # required
14018
14682
  # filter: {
@@ -14054,7 +14718,7 @@ module Aws::S3
14054
14718
  #
14055
14719
  # </note>
14056
14720
  #
14057
- # This implementation of the `PUT` action adds an inventory
14721
+ # This implementation of the `PUT` action adds an S3 Inventory
14058
14722
  # configuration (identified by the inventory ID) to the bucket. You can
14059
14723
  # have up to 1,000 inventory configurations per bucket.
14060
14724
  #
@@ -14651,6 +15315,20 @@ module Aws::S3
14651
15315
  req.send_request(options)
14652
15316
  end
14653
15317
 
15318
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
15319
+ # discontinue support for creating new Email Grantee Access Control
15320
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
15321
+ # continue to work and remain accessible through the Amazon Web Services
15322
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
15323
+ # However, you will no longer be able to create new Email Grantee ACLs.
15324
+ #
15325
+ # This change affects the following Amazon Web Services Regions: US
15326
+ # East
15327
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
15328
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
15329
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
15330
+ # America (São Paulo) Region.
15331
+ #
14654
15332
  # <note markdown="1"> This operation is not supported for directory buckets.
14655
15333
  #
14656
15334
  # </note>
@@ -14674,7 +15352,10 @@ module Aws::S3
14674
15352
  # Grantee Values
14675
15353
  #
14676
15354
  # : You can specify the person (grantee) to whom you're assigning
14677
- # access rights (by using request elements) in the following ways:
15355
+ # access rights (by using request elements) in the following ways. For
15356
+ # examples of how to specify these grantee values in JSON format, see
15357
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
15358
+ # access logging][2] in the *Amazon S3 User Guide*.
14678
15359
  #
14679
15360
  # * By the person's ID:
14680
15361
  #
@@ -14705,30 +15386,31 @@ module Aws::S3
14705
15386
  # />`
14706
15387
  #
14707
15388
  # For more information about server access logging, see [Server Access
14708
- # Logging][2] in the *Amazon S3 User Guide*.
15389
+ # Logging][3] in the *Amazon S3 User Guide*.
14709
15390
  #
14710
- # For more information about creating a bucket, see [CreateBucket][3].
15391
+ # For more information about creating a bucket, see [CreateBucket][4].
14711
15392
  # For more information about returning the logging status of a bucket,
14712
- # see [GetBucketLogging][4].
15393
+ # see [GetBucketLogging][5].
14713
15394
  #
14714
15395
  # The following operations are related to `PutBucketLogging`:
14715
15396
  #
14716
- # * [PutObject][5]
15397
+ # * [PutObject][6]
14717
15398
  #
14718
- # * [DeleteBucket][6]
15399
+ # * [DeleteBucket][7]
14719
15400
  #
14720
- # * [CreateBucket][3]
15401
+ # * [CreateBucket][4]
14721
15402
  #
14722
- # * [GetBucketLogging][4]
15403
+ # * [GetBucketLogging][5]
14723
15404
  #
14724
15405
  #
14725
15406
  #
14726
15407
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
14727
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
14728
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14729
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
14730
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
14731
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
15408
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
15409
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
15410
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
15411
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
15412
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
15413
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
14732
15414
  #
14733
15415
  # @option params [required, String] :bucket
14734
15416
  # The name of the bucket for which to set the logging parameters.
@@ -15251,6 +15933,22 @@ module Aws::S3
15251
15933
  # The `OwnershipControls` (BucketOwnerEnforced, BucketOwnerPreferred, or
15252
15934
  # ObjectWriter) that you want to apply to this Amazon S3 bucket.
15253
15935
  #
15936
+ # @option params [String] :checksum_algorithm
15937
+ # Indicates the algorithm used to create the checksum for the object
15938
+ # when you use the SDK. This header will not provide any additional
15939
+ # functionality if you don't use the SDK. When you send this header,
15940
+ # there must be a corresponding `x-amz-checksum-algorithm ` header sent.
15941
+ # Otherwise, Amazon S3 fails the request with the HTTP status code `400
15942
+ # Bad Request`. For more information, see [Checking object integrity][1]
15943
+ # in the *Amazon S3 User Guide*.
15944
+ #
15945
+ # If you provide an individual checksum, Amazon S3 ignores any provided
15946
+ # `ChecksumAlgorithm` parameter.
15947
+ #
15948
+ #
15949
+ #
15950
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
15951
+ #
15254
15952
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
15255
15953
  #
15256
15954
  # @example Request syntax with placeholder values
@@ -15266,6 +15964,7 @@ module Aws::S3
15266
15964
  # },
15267
15965
  # ],
15268
15966
  # },
15967
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15269
15968
  # })
15270
15969
  #
15271
15970
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls AWS API Documentation
@@ -15683,7 +16382,7 @@ module Aws::S3
15683
16382
  # destination: { # required
15684
16383
  # bucket: "BucketName", # required
15685
16384
  # account: "AccountId",
15686
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
16385
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
15687
16386
  # access_control_translation: {
15688
16387
  # owner: "Destination", # required, accepts Destination
15689
16388
  # },
@@ -16295,6 +16994,20 @@ module Aws::S3
16295
16994
  req.send_request(options)
16296
16995
  end
16297
16996
 
16997
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
16998
+ # discontinue support for creating new Email Grantee Access Control
16999
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
17000
+ # continue to work and remain accessible through the Amazon Web Services
17001
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
17002
+ # However, you will no longer be able to create new Email Grantee ACLs.
17003
+ #
17004
+ # This change affects the following Amazon Web Services Regions: US
17005
+ # East
17006
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
17007
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
17008
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
17009
+ # America (São Paulo) Region.
17010
+ #
16298
17011
  # Adds an object to a bucket.
16299
17012
  #
16300
17013
  # <note markdown="1"> * Amazon S3 never adds partial objects; if you receive a success
@@ -16491,19 +17204,20 @@ module Aws::S3
16491
17204
  # naming restrictions, see [Directory bucket naming rules][1] in the
16492
17205
  # *Amazon S3 User Guide*.
16493
17206
  #
16494
- # **Access points** - When you use this action with an access point, you
16495
- # must provide the alias of the access point in place of the bucket name
16496
- # or specify the access point ARN. When using the access point ARN, you
16497
- # must direct requests to the access point hostname. The access point
16498
- # hostname takes the form
17207
+ # **Access points** - When you use this action with an access point for
17208
+ # general purpose buckets, you must provide the alias of the access
17209
+ # point in place of the bucket name or specify the access point ARN.
17210
+ # When you use this action with an access point for directory buckets,
17211
+ # you must provide the access point name in place of the bucket name.
17212
+ # When using the access point ARN, you must direct requests to the
17213
+ # access point hostname. The access point hostname takes the form
16499
17214
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
16500
17215
  # When using this action with an access point through the Amazon Web
16501
17216
  # Services SDKs, you provide the access point ARN in place of the bucket
16502
17217
  # name. For more information about access point ARNs, see [Using access
16503
17218
  # points][2] in the *Amazon S3 User Guide*.
16504
17219
  #
16505
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
16506
- # directory buckets.
17220
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
16507
17221
  #
16508
17222
  # </note>
16509
17223
  #
@@ -16802,8 +17516,7 @@ module Aws::S3
16802
17516
  #
16803
17517
  # @option params [String] :server_side_encryption
16804
17518
  # The server-side encryption algorithm that was used when you store this
16805
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
16806
- # `aws:kms:dsse`).
17519
+ # object in Amazon S3 or Amazon FSx.
16807
17520
  #
16808
17521
  # * <b>General purpose buckets </b> - You have four mutually exclusive
16809
17522
  # options to protect data using server-side encryption in Amazon S3,
@@ -16857,6 +17570,14 @@ module Aws::S3
16857
17570
  #
16858
17571
  # </note>
16859
17572
  #
17573
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
17574
+ # in Amazon FSx file systems using S3 access points, the only valid
17575
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
17576
+ # systems have encryption configured by default and are encrypted at
17577
+ # rest. Data is automatically encrypted before being written to the
17578
+ # file system, and automatically decrypted as it is read. These
17579
+ # processes are handled transparently by Amazon FSx.
17580
+ #
16860
17581
  #
16861
17582
  #
16862
17583
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -16872,8 +17593,9 @@ module Aws::S3
16872
17593
  # a different Storage Class. For more information, see [Storage
16873
17594
  # Classes][1] in the *Amazon S3 User Guide*.
16874
17595
  #
16875
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
16876
- # supported to store newly created objects.
17596
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
17597
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
17598
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
16877
17599
  #
16878
17600
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
16879
17601
  #
@@ -17102,6 +17824,24 @@ module Aws::S3
17102
17824
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
17103
17825
  #
17104
17826
  #
17827
+ # @example Example: To upload an object and specify canned ACL.
17828
+ #
17829
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17830
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
17831
+ #
17832
+ # resp = client.put_object({
17833
+ # acl: "authenticated-read",
17834
+ # body: "filetoupload",
17835
+ # bucket: "examplebucket",
17836
+ # key: "exampleobject",
17837
+ # })
17838
+ #
17839
+ # resp.to_h outputs the following:
17840
+ # {
17841
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17842
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17843
+ # }
17844
+ #
17105
17845
  # @example Example: To upload an object
17106
17846
  #
17107
17847
  # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
@@ -17139,29 +17879,13 @@ module Aws::S3
17139
17879
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17140
17880
  # }
17141
17881
  #
17142
- # @example Example: To create an object.
17882
+ # @example Example: To upload an object and specify optional tags
17143
17883
  #
17144
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17884
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17885
+ # # S3 returns version ID of the newly created object.
17145
17886
  #
17146
17887
  # resp = client.put_object({
17147
- # body: "filetoupload",
17148
- # bucket: "examplebucket",
17149
- # key: "objectkey",
17150
- # })
17151
- #
17152
- # resp.to_h outputs the following:
17153
- # {
17154
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17155
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17156
- # }
17157
- #
17158
- # @example Example: To upload an object and specify optional tags
17159
- #
17160
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17161
- # # S3 returns version ID of the newly created object.
17162
- #
17163
- # resp = client.put_object({
17164
- # body: "c:\\HappyFace.jpg",
17888
+ # body: "c:\\HappyFace.jpg",
17165
17889
  # bucket: "examplebucket",
17166
17890
  # key: "HappyFace.jpg",
17167
17891
  # tagging: "key1=value1&key2=value2",
@@ -17214,22 +17938,20 @@ module Aws::S3
17214
17938
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
17215
17939
  # }
17216
17940
  #
17217
- # @example Example: To upload an object and specify canned ACL.
17941
+ # @example Example: To create an object.
17218
17942
  #
17219
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17220
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
17943
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17221
17944
  #
17222
17945
  # resp = client.put_object({
17223
- # acl: "authenticated-read",
17224
17946
  # body: "filetoupload",
17225
17947
  # bucket: "examplebucket",
17226
- # key: "exampleobject",
17948
+ # key: "objectkey",
17227
17949
  # })
17228
17950
  #
17229
17951
  # resp.to_h outputs the following:
17230
17952
  # {
17231
17953
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17232
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17954
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17233
17955
  # }
17234
17956
  #
17235
17957
  # @example Streaming a file from disk
@@ -17269,8 +17991,8 @@ module Aws::S3
17269
17991
  # metadata: {
17270
17992
  # "MetadataKey" => "MetadataValue",
17271
17993
  # },
17272
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
17273
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
17994
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
17995
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
17274
17996
  # website_redirect_location: "WebsiteRedirectLocation",
17275
17997
  # sse_customer_algorithm: "SSECustomerAlgorithm",
17276
17998
  # sse_customer_key: "SSECustomerKey",
@@ -17296,7 +18018,7 @@ module Aws::S3
17296
18018
  # resp.checksum_sha1 #=> String
17297
18019
  # resp.checksum_sha256 #=> String
17298
18020
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
17299
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
18021
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
17300
18022
  # resp.version_id #=> String
17301
18023
  # resp.sse_customer_algorithm #=> String
17302
18024
  # resp.sse_customer_key_md5 #=> String
@@ -17412,7 +18134,10 @@ module Aws::S3
17412
18134
  # Grantee Values
17413
18135
  #
17414
18136
  # : You can specify the person (grantee) to whom you're assigning
17415
- # access rights (using request elements) in the following ways:
18137
+ # access rights (using request elements) in the following ways. For
18138
+ # examples of how to specify these grantee values in JSON format, see
18139
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
18140
+ # access logging][6] in the *Amazon S3 User Guide*.
17416
18141
  #
17417
18142
  # * By the person's ID:
17418
18143
  #
@@ -17468,9 +18193,9 @@ module Aws::S3
17468
18193
  #
17469
18194
  # The following operations are related to `PutObjectAcl`:
17470
18195
  #
17471
- # * [CopyObject][6]
18196
+ # * [CopyObject][7]
17472
18197
  #
17473
- # * [GetObject][7]
18198
+ # * [GetObject][8]
17474
18199
  #
17475
18200
  #
17476
18201
  #
@@ -17479,8 +18204,9 @@ module Aws::S3
17479
18204
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
17480
18205
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
17481
18206
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
17482
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
17483
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
18207
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
18208
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
18209
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
17484
18210
  #
17485
18211
  # @option params [String] :acl
17486
18212
  # The canned ACL to apply to the object. For more information, see
@@ -17498,11 +18224,13 @@ module Aws::S3
17498
18224
  # The bucket name that contains the object to which you want to attach
17499
18225
  # the ACL.
17500
18226
  #
17501
- # **Access points** - When you use this action with an access point, you
17502
- # must provide the alias of the access point in place of the bucket name
17503
- # or specify the access point ARN. When using the access point ARN, you
17504
- # must direct requests to the access point hostname. The access point
17505
- # hostname takes the form
18227
+ # **Access points** - When you use this action with an access point for
18228
+ # general purpose buckets, you must provide the alias of the access
18229
+ # point in place of the bucket name or specify the access point ARN.
18230
+ # When you use this action with an access point for directory buckets,
18231
+ # you must provide the access point name in place of the bucket name.
18232
+ # When using the access point ARN, you must direct requests to the
18233
+ # access point hostname. The access point hostname takes the form
17506
18234
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
17507
18235
  # When using this action with an access point through the Amazon Web
17508
18236
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -17701,11 +18429,13 @@ module Aws::S3
17701
18429
  # The bucket name containing the object that you want to place a legal
17702
18430
  # hold on.
17703
18431
  #
17704
- # **Access points** - When you use this action with an access point, you
17705
- # must provide the alias of the access point in place of the bucket name
17706
- # or specify the access point ARN. When using the access point ARN, you
17707
- # must direct requests to the access point hostname. The access point
17708
- # hostname takes the form
18432
+ # **Access points** - When you use this action with an access point for
18433
+ # general purpose buckets, you must provide the alias of the access
18434
+ # point in place of the bucket name or specify the access point ARN.
18435
+ # When you use this action with an access point for directory buckets,
18436
+ # you must provide the access point name in place of the bucket name.
18437
+ # When using the access point ARN, you must direct requests to the
18438
+ # access point hostname. The access point hostname takes the form
17709
18439
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
17710
18440
  # When using this action with an access point through the Amazon Web
17711
18441
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -17942,11 +18672,13 @@ module Aws::S3
17942
18672
  # The bucket name that contains the object you want to apply this Object
17943
18673
  # Retention configuration to.
17944
18674
  #
17945
- # **Access points** - When you use this action with an access point, you
17946
- # must provide the alias of the access point in place of the bucket name
17947
- # or specify the access point ARN. When using the access point ARN, you
17948
- # must direct requests to the access point hostname. The access point
17949
- # hostname takes the form
18675
+ # **Access points** - When you use this action with an access point for
18676
+ # general purpose buckets, you must provide the alias of the access
18677
+ # point in place of the bucket name or specify the access point ARN.
18678
+ # When you use this action with an access point for directory buckets,
18679
+ # you must provide the access point name in place of the bucket name.
18680
+ # When using the access point ARN, you must direct requests to the
18681
+ # access point hostname. The access point hostname takes the form
17950
18682
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
17951
18683
  # When using this action with an access point through the Amazon Web
17952
18684
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -18107,11 +18839,13 @@ module Aws::S3
18107
18839
  # @option params [required, String] :bucket
18108
18840
  # The bucket name containing the object.
18109
18841
  #
18110
- # **Access points** - When you use this action with an access point, you
18111
- # must provide the alias of the access point in place of the bucket name
18112
- # or specify the access point ARN. When using the access point ARN, you
18113
- # must direct requests to the access point hostname. The access point
18114
- # hostname takes the form
18842
+ # **Access points** - When you use this action with an access point for
18843
+ # general purpose buckets, you must provide the alias of the access
18844
+ # point in place of the bucket name or specify the access point ARN.
18845
+ # When you use this action with an access point for directory buckets,
18846
+ # you must provide the access point name in place of the bucket name.
18847
+ # When using the access point ARN, you must direct requests to the
18848
+ # access point hostname. The access point hostname takes the form
18115
18849
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
18116
18850
  # When using this action with an access point through the Amazon Web
18117
18851
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -18358,6 +19092,179 @@ module Aws::S3
18358
19092
  req.send_request(options)
18359
19093
  end
18360
19094
 
19095
+ # Renames an existing object in a directory bucket that uses the S3
19096
+ # Express One Zone storage class. You can use `RenameObject` by
19097
+ # specifying an existing object’s name as the source and the new name of
19098
+ # the object as the destination within the same directory bucket.
19099
+ #
19100
+ # <note markdown="1"> `RenameObject` is only supported for objects stored in the S3 Express
19101
+ # One Zone storage class.
19102
+ #
19103
+ # </note>
19104
+ #
19105
+ # To prevent overwriting an object, you can use the `If-None-Match`
19106
+ # conditional header.
19107
+ #
19108
+ # * **If-None-Match** - Renames the object only if an object with the
19109
+ # specified name does not already exist in the directory bucket. If
19110
+ # you don't want to overwrite an existing object, you can add the
19111
+ # `If-None-Match` conditional header with the value `‘*’` in the
19112
+ # `RenameObject` request. Amazon S3 then returns a `412 Precondition
19113
+ # Failed` error if the object with the specified name already exists.
19114
+ # For more information, see [RFC 7232][1].
19115
+ #
19116
+ # ^
19117
+ #
19118
+ # Permissions
19119
+ #
19120
+ # : To grant access to the `RenameObject` operation on a directory
19121
+ # bucket, we recommend that you use the `CreateSession` operation for
19122
+ # session-based authorization. Specifically, you grant the
19123
+ # `s3express:CreateSession` permission to the directory bucket in a
19124
+ # bucket policy or an IAM identity-based policy. Then, you make the
19125
+ # `CreateSession` API call on the directory bucket to obtain a session
19126
+ # token. With the session token in your request header, you can make
19127
+ # API requests to this operation. After the session token expires, you
19128
+ # make another `CreateSession` API call to generate a new session
19129
+ # token for use. The Amazon Web Services CLI and SDKs will create and
19130
+ # manage your session including refreshing the session token
19131
+ # automatically to avoid service interruptions when a session expires.
19132
+ # In your bucket policy, you can specify the `s3express:SessionMode`
19133
+ # condition key to control who can create a `ReadWrite` or `ReadOnly`
19134
+ # session. A `ReadWrite` session is required for executing all the
19135
+ # Zonal endpoint API operations, including `RenameObject`. For more
19136
+ # information about authorization, see [ `CreateSession` ][2]. To
19137
+ # learn more about Zonal endpoint API operations, see [Authorizing
19138
+ # Zonal endpoint API operations with CreateSession][3] in the *Amazon
19139
+ # S3 User Guide*.
19140
+ #
19141
+ # HTTP Host header syntax
19142
+ #
19143
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is `
19144
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
19145
+ #
19146
+ #
19147
+ #
19148
+ # [1]: https://datatracker.ietf.org/doc/rfc7232/
19149
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
19150
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-create-session.html
19151
+ #
19152
+ # @option params [required, String] :bucket
19153
+ # The bucket name of the directory bucket containing the object.
19154
+ #
19155
+ # You must use virtual-hosted-style requests in the format
19156
+ # `Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
19157
+ # requests are not supported. Directory bucket names must be unique in
19158
+ # the chosen Availability Zone. Bucket names must follow the format
19159
+ # `bucket-base-name--zone-id--x-s3 ` (for example,
19160
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
19161
+ # naming restrictions, see [Directory bucket naming rules][1] in the
19162
+ # *Amazon S3 User Guide*.
19163
+ #
19164
+ #
19165
+ #
19166
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
19167
+ #
19168
+ # @option params [required, String] :key
19169
+ # Key name of the object to rename.
19170
+ #
19171
+ # @option params [required, String] :rename_source
19172
+ # Specifies the source for the rename operation. The value must be URL
19173
+ # encoded.
19174
+ #
19175
+ # @option params [String] :destination_if_match
19176
+ # Renames the object only if the ETag (entity tag) value provided during
19177
+ # the operation matches the ETag of the object in S3. The `If-Match`
19178
+ # header field makes the request method conditional on ETags. If the
19179
+ # ETag values do not match, the operation returns a `412 Precondition
19180
+ # Failed` error.
19181
+ #
19182
+ # Expects the ETag value as a string.
19183
+ #
19184
+ # @option params [String] :destination_if_none_match
19185
+ # Renames the object only if the destination does not already exist in
19186
+ # the specified directory bucket. If the object does exist when you send
19187
+ # a request with `If-None-Match:*`, the S3 API will return a `412
19188
+ # Precondition Failed` error, preventing an overwrite. The
19189
+ # `If-None-Match` header prevents overwrites of existing data by
19190
+ # validating that there's not an object with the same key name already
19191
+ # in your directory bucket.
19192
+ #
19193
+ # Expects the `*` character (asterisk).
19194
+ #
19195
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_modified_since
19196
+ # Renames the object if the destination exists and if it has been
19197
+ # modified since the specified time.
19198
+ #
19199
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_unmodified_since
19200
+ # Renames the object if it hasn't been modified since the specified
19201
+ # time.
19202
+ #
19203
+ # @option params [String] :source_if_match
19204
+ # Renames the object if the source exists and if its entity tag (ETag)
19205
+ # matches the specified ETag.
19206
+ #
19207
+ # @option params [String] :source_if_none_match
19208
+ # Renames the object if the source exists and if its entity tag (ETag)
19209
+ # is different than the specified ETag. If an asterisk (`*`) character
19210
+ # is provided, the operation will fail and return a `412 Precondition
19211
+ # Failed` error.
19212
+ #
19213
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_modified_since
19214
+ # Renames the object if the source exists and if it has been modified
19215
+ # since the specified time.
19216
+ #
19217
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_unmodified_since
19218
+ # Renames the object if the source exists and hasn't been modified
19219
+ # since the specified time.
19220
+ #
19221
+ # @option params [String] :client_token
19222
+ # A unique string with a max of 64 ASCII characters in the ASCII range
19223
+ # of 33 - 126.
19224
+ #
19225
+ # <note markdown="1"> `RenameObject` supports idempotency using a client token. To make an
19226
+ # idempotent API request using `RenameObject`, specify a client token in
19227
+ # the request. You should not reuse the same client token for other API
19228
+ # requests. If you retry a request that completed successfully using the
19229
+ # same client token and the same parameters, the retry succeeds without
19230
+ # performing any further actions. If you retry a successful request
19231
+ # using the same client token, but one or more of the parameters are
19232
+ # different, the retry fails and an `IdempotentParameterMismatch` error
19233
+ # is returned.
19234
+ #
19235
+ # </note>
19236
+ #
19237
+ # **A suitable default value is auto-generated.** You should normally
19238
+ # not need to pass this option.**
19239
+ #
19240
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
19241
+ #
19242
+ # @example Request syntax with placeholder values
19243
+ #
19244
+ # resp = client.rename_object({
19245
+ # bucket: "BucketName", # required
19246
+ # key: "ObjectKey", # required
19247
+ # rename_source: "RenameSource", # required
19248
+ # destination_if_match: "IfMatch",
19249
+ # destination_if_none_match: "IfNoneMatch",
19250
+ # destination_if_modified_since: Time.now,
19251
+ # destination_if_unmodified_since: Time.now,
19252
+ # source_if_match: "RenameSourceIfMatch",
19253
+ # source_if_none_match: "RenameSourceIfNoneMatch",
19254
+ # source_if_modified_since: Time.now,
19255
+ # source_if_unmodified_since: Time.now,
19256
+ # client_token: "ClientToken",
19257
+ # })
19258
+ #
19259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObject AWS API Documentation
19260
+ #
19261
+ # @overload rename_object(params = {})
19262
+ # @param [Hash] params ({})
19263
+ def rename_object(params = {}, options = {})
19264
+ req = build_request(:rename_object, params)
19265
+ req.send_request(options)
19266
+ end
19267
+
18361
19268
  # <note markdown="1"> This operation is not supported for directory buckets.
18362
19269
  #
18363
19270
  # </note>
@@ -18393,20 +19300,19 @@ module Aws::S3
18393
19300
  #
18394
19301
  # Restoring objects
18395
19302
  #
18396
- # : Objects that you archive to the S3 Glacier Flexible Retrieval
18397
- # Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3
18398
- # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
18399
- # tiers, are not accessible in real time. For objects in the S3
18400
- # Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep
18401
- # Archive storage classes, you must first initiate a restore request,
18402
- # and then wait until a temporary copy of the object is available. If
18403
- # you want a permanent copy of the object, create a copy of it in the
18404
- # Amazon S3 Standard storage class in your S3 bucket. To access an
18405
- # archived object, you must restore the object for the duration
18406
- # (number of days) that you specify. For objects in the Archive Access
18407
- # or Deep Archive Access tiers of S3 Intelligent-Tiering, you must
18408
- # first initiate a restore request, and then wait until the object is
18409
- # moved into the Frequent Access tier.
19303
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval or S3
19304
+ # Glacier Deep Archive storage class, and S3 Intelligent-Tiering
19305
+ # Archive or S3 Intelligent-Tiering Deep Archive tiers, are not
19306
+ # accessible in real time. For objects in the S3 Glacier Flexible
19307
+ # Retrieval or S3 Glacier Deep Archive storage classes, you must first
19308
+ # initiate a restore request, and then wait until a temporary copy of
19309
+ # the object is available. If you want a permanent copy of the object,
19310
+ # create a copy of it in the Amazon S3 Standard storage class in your
19311
+ # S3 bucket. To access an archived object, you must restore the object
19312
+ # for the duration (number of days) that you specify. For objects in
19313
+ # the Archive Access or Deep Archive Access tiers of S3
19314
+ # Intelligent-Tiering, you must first initiate a restore request, and
19315
+ # then wait until the object is moved into the Frequent Access tier.
18410
19316
  #
18411
19317
  # To restore a specific object version, you can provide a version ID.
18412
19318
  # If you don't provide a version ID, Amazon S3 restores the current
@@ -18417,38 +19323,37 @@ module Aws::S3
18417
19323
  # request body:
18418
19324
  #
18419
19325
  # * `Expedited` - Expedited retrievals allow you to quickly access
18420
- # your data stored in the S3 Glacier Flexible Retrieval Flexible
18421
- # Retrieval storage class or S3 Intelligent-Tiering Archive tier
18422
- # when occasional urgent requests for restoring archives are
18423
- # required. For all but the largest archived objects (250 MB+), data
18424
- # accessed using Expedited retrievals is typically made available
18425
- # within 1–5 minutes. Provisioned capacity ensures that retrieval
18426
- # capacity for Expedited retrievals is available when you need it.
18427
- # Expedited retrievals and provisioned capacity are not available
18428
- # for objects stored in the S3 Glacier Deep Archive storage class or
18429
- # S3 Intelligent-Tiering Deep Archive tier.
19326
+ # your data stored in the S3 Glacier Flexible Retrieval storage
19327
+ # class or S3 Intelligent-Tiering Archive tier when occasional
19328
+ # urgent requests for restoring archives are required. For all but
19329
+ # the largest archived objects (250 MB+), data accessed using
19330
+ # Expedited retrievals is typically made available within 1–5
19331
+ # minutes. Provisioned capacity ensures that retrieval capacity for
19332
+ # Expedited retrievals is available when you need it. Expedited
19333
+ # retrievals and provisioned capacity are not available for objects
19334
+ # stored in the S3 Glacier Deep Archive storage class or S3
19335
+ # Intelligent-Tiering Deep Archive tier.
18430
19336
  #
18431
19337
  # * `Standard` - Standard retrievals allow you to access any of your
18432
19338
  # archived objects within several hours. This is the default option
18433
19339
  # for retrieval requests that do not specify the retrieval option.
18434
19340
  # Standard retrievals typically finish within 3–5 hours for objects
18435
- # stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
18436
- # storage class or S3 Intelligent-Tiering Archive tier. They
18437
- # typically finish within 12 hours for objects stored in the S3
18438
- # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
18439
- # Archive tier. Standard retrievals are free for objects stored in
18440
- # S3 Intelligent-Tiering.
19341
+ # stored in the S3 Glacier Flexible Retrieval storage class or S3
19342
+ # Intelligent-Tiering Archive tier. They typically finish within 12
19343
+ # hours for objects stored in the S3 Glacier Deep Archive storage
19344
+ # class or S3 Intelligent-Tiering Deep Archive tier. Standard
19345
+ # retrievals are free for objects stored in S3 Intelligent-Tiering.
18441
19346
  #
18442
19347
  # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
18443
19348
  # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
18444
19349
  # enabling you to retrieve large amounts, even petabytes, of data at
18445
19350
  # no cost. Bulk retrievals typically finish within 5–12 hours for
18446
- # objects stored in the S3 Glacier Flexible Retrieval Flexible
18447
- # Retrieval storage class or S3 Intelligent-Tiering Archive tier.
18448
- # Bulk retrievals are also the lowest-cost retrieval option when
18449
- # restoring objects from S3 Glacier Deep Archive. They typically
18450
- # finish within 48 hours for objects stored in the S3 Glacier Deep
18451
- # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
19351
+ # objects stored in the S3 Glacier Flexible Retrieval storage class
19352
+ # or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also
19353
+ # the lowest-cost retrieval option when restoring objects from S3
19354
+ # Glacier Deep Archive. They typically finish within 48 hours for
19355
+ # objects stored in the S3 Glacier Deep Archive storage class or S3
19356
+ # Intelligent-Tiering Deep Archive tier.
18452
19357
  #
18453
19358
  # For more information about archive retrieval options and provisioned
18454
19359
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -18539,11 +19444,13 @@ module Aws::S3
18539
19444
  # @option params [required, String] :bucket
18540
19445
  # The bucket name containing the object to restore.
18541
19446
  #
18542
- # **Access points** - When you use this action with an access point, you
18543
- # must provide the alias of the access point in place of the bucket name
18544
- # or specify the access point ARN. When using the access point ARN, you
18545
- # must direct requests to the access point hostname. The access point
18546
- # hostname takes the form
19447
+ # **Access points** - When you use this action with an access point for
19448
+ # general purpose buckets, you must provide the alias of the access
19449
+ # point in place of the bucket name or specify the access point ARN.
19450
+ # When you use this action with an access point for directory buckets,
19451
+ # you must provide the access point name in place of the bucket name.
19452
+ # When using the access point ARN, you must direct requests to the
19453
+ # access point hostname. The access point hostname takes the form
18547
19454
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
18548
19455
  # When using this action with an access point through the Amazon Web
18549
19456
  # Services SDKs, you provide the access point ARN in place of the bucket
@@ -18688,7 +19595,7 @@ module Aws::S3
18688
19595
  # bucket_name: "BucketName", # required
18689
19596
  # prefix: "LocationPrefix", # required
18690
19597
  # encryption: {
18691
- # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
19598
+ # encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
18692
19599
  # kms_key_id: "SSEKMSKeyId",
18693
19600
  # kms_context: "KMSContext",
18694
19601
  # },
@@ -18719,7 +19626,7 @@ module Aws::S3
18719
19626
  # value: "MetadataValue",
18720
19627
  # },
18721
19628
  # ],
18722
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
19629
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
18723
19630
  # },
18724
19631
  # },
18725
19632
  # },
@@ -18940,122 +19847,128 @@ module Aws::S3
18940
19847
  #
18941
19848
  # @example EventStream Operation Example
18942
19849
  #
18943
- # You can process the event once it arrives immediately, or wait until the
18944
- # full response is complete and iterate through the eventstream enumerator.
18945
- #
18946
- # To interact with event immediately, you need to register #select_object_content
18947
- # with callbacks. Callbacks can be registered for specific events or for all
18948
- # events, including error events.
18949
- #
18950
- # Callbacks can be passed into the `:event_stream_handler` option or within a
18951
- # block statement attached to the #select_object_content call directly. Hybrid
18952
- # pattern of both is also supported.
18953
- #
18954
- # `:event_stream_handler` option takes in either a Proc object or
18955
- # Aws::S3::EventStreams::SelectObjectContentEventStream object.
18956
- #
18957
- # Usage pattern a): Callbacks with a block attached to #select_object_content
18958
- # Example for registering callbacks for all event types and an error event
18959
- #
18960
- # client.select_object_content( # params input# ) do |stream|
18961
- # stream.on_error_event do |event|
18962
- # # catch unmodeled error event in the stream
18963
- # raise event
18964
- # # => Aws::Errors::EventError
18965
- # # event.event_type => :error
18966
- # # event.error_code => String
18967
- # # event.error_message => String
18968
- # end
18969
- #
18970
- # stream.on_event do |event|
18971
- # # process all events arrive
18972
- # puts event.event_type
18973
- # ...
18974
- # end
18975
- #
19850
+ # # You can process the event once it arrives immediately, or wait until the
19851
+ # # full response is complete and iterate through the eventstream enumerator.
19852
+ #
19853
+ # # To interact with event immediately, you need to register select_object_content
19854
+ # # with callbacks. Callbacks can be registered for specific events or for all
19855
+ # # events, including error events.
19856
+ #
19857
+ # # Callbacks can be passed into the `:event_stream_handler` option or within a
19858
+ # # block statement attached to the #select_object_content call directly. Hybrid
19859
+ # # pattern of both is also supported.
19860
+ #
19861
+ # # `:event_stream_handler` option takes in either a Proc object or
19862
+ # # Aws::S3::EventStreams::SelectObjectContentEventStream object.
19863
+ #
19864
+ # # Usage pattern a): Callbacks with a block attached to #select_object_content
19865
+ # # Example for registering callbacks for all event types and an error event
19866
+ # client.select_object_content(
19867
+ # # params input
19868
+ # ) do |stream|
19869
+ # stream.on_error_event do |event|
19870
+ # # catch unmodeled error event in the stream
19871
+ # raise event
19872
+ # # => Aws::Errors::EventError
19873
+ # # event.event_type => :error
19874
+ # # event.error_code => String
19875
+ # # event.error_message => String
18976
19876
  # end
18977
19877
  #
18978
- # Usage pattern b): Pass in `:event_stream_handler` for #select_object_content
18979
- #
18980
- # 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object
18981
- # Example for registering callbacks with specific events
19878
+ # stream.on_event do |event|
19879
+ # # process all events arrive
19880
+ # puts event.event_type
19881
+ # # ...
19882
+ # end
19883
+ # end
18982
19884
  #
18983
- # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
18984
- # handler.on_records_event do |event|
18985
- # event # => Aws::S3::Types::Records
18986
- # end
18987
- # handler.on_stats_event do |event|
18988
- # event # => Aws::S3::Types::Stats
18989
- # end
18990
- # handler.on_progress_event do |event|
18991
- # event # => Aws::S3::Types::Progress
18992
- # end
18993
- # handler.on_cont_event do |event|
18994
- # event # => Aws::S3::Types::Cont
18995
- # end
18996
- # handler.on_end_event do |event|
18997
- # event # => Aws::S3::Types::End
18998
- # end
19885
+ # # Usage pattern b): Pass in `:event_stream_handler` for #select_object_content
19886
+ # # 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object
19887
+ # # Example for registering callbacks with specific events
18999
19888
  #
19000
- # client.select_object_content( # params input #, event_stream_handler: handler)
19889
+ # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
19890
+ # handler.on_records_event do |event|
19891
+ # event # => Aws::S3::Types::Records
19892
+ # end
19893
+ # handler.on_stats_event do |event|
19894
+ # event # => Aws::S3::Types::Stats
19895
+ # end
19896
+ # handler.on_progress_event do |event|
19897
+ # event # => Aws::S3::Types::Progress
19898
+ # end
19899
+ # handler.on_cont_event do |event|
19900
+ # event # => Aws::S3::Types::Cont
19901
+ # end
19902
+ # handler.on_end_event do |event|
19903
+ # event # => Aws::S3::Types::End
19904
+ # end
19001
19905
  #
19002
- # 2) Use a Ruby Proc object
19003
- # Example for registering callbacks with specific events
19906
+ # client.select_object_content(
19907
+ # # params inputs
19908
+ # event_stream_handler: handler
19909
+ # )
19004
19910
  #
19005
- # handler = Proc.new do |stream|
19006
- # stream.on_records_event do |event|
19007
- # event # => Aws::S3::Types::Records
19008
- # end
19009
- # stream.on_stats_event do |event|
19010
- # event # => Aws::S3::Types::Stats
19011
- # end
19012
- # stream.on_progress_event do |event|
19013
- # event # => Aws::S3::Types::Progress
19014
- # end
19015
- # stream.on_cont_event do |event|
19016
- # event # => Aws::S3::Types::Cont
19017
- # end
19018
- # stream.on_end_event do |event|
19019
- # event # => Aws::S3::Types::End
19020
- # end
19911
+ # # 2) Use a Ruby Proc object
19912
+ # # Example for registering callbacks with specific events
19913
+ # handler = Proc.new do |stream|
19914
+ # stream.on_records_event do |event|
19915
+ # event # => Aws::S3::Types::Records
19021
19916
  # end
19917
+ # stream.on_stats_event do |event|
19918
+ # event # => Aws::S3::Types::Stats
19919
+ # end
19920
+ # stream.on_progress_event do |event|
19921
+ # event # => Aws::S3::Types::Progress
19922
+ # end
19923
+ # stream.on_cont_event do |event|
19924
+ # event # => Aws::S3::Types::Cont
19925
+ # end
19926
+ # stream.on_end_event do |event|
19927
+ # event # => Aws::S3::Types::End
19928
+ # end
19929
+ # end
19022
19930
  #
19023
- # client.select_object_content( # params input #, event_stream_handler: handler)
19024
- #
19025
- # Usage pattern c): Hybrid pattern of a) and b)
19931
+ # client.select_object_content(
19932
+ # # params inputs
19933
+ # event_stream_handler: handler
19934
+ # )
19026
19935
  #
19027
- # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
19028
- # handler.on_records_event do |event|
19029
- # event # => Aws::S3::Types::Records
19030
- # end
19031
- # handler.on_stats_event do |event|
19032
- # event # => Aws::S3::Types::Stats
19033
- # end
19034
- # handler.on_progress_event do |event|
19035
- # event # => Aws::S3::Types::Progress
19036
- # end
19037
- # handler.on_cont_event do |event|
19038
- # event # => Aws::S3::Types::Cont
19039
- # end
19040
- # handler.on_end_event do |event|
19041
- # event # => Aws::S3::Types::End
19042
- # end
19936
+ # # Usage pattern c): Hybrid pattern of a) and b)
19937
+ # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
19938
+ # handler.on_records_event do |event|
19939
+ # event # => Aws::S3::Types::Records
19940
+ # end
19941
+ # handler.on_stats_event do |event|
19942
+ # event # => Aws::S3::Types::Stats
19943
+ # end
19944
+ # handler.on_progress_event do |event|
19945
+ # event # => Aws::S3::Types::Progress
19946
+ # end
19947
+ # handler.on_cont_event do |event|
19948
+ # event # => Aws::S3::Types::Cont
19949
+ # end
19950
+ # handler.on_end_event do |event|
19951
+ # event # => Aws::S3::Types::End
19952
+ # end
19043
19953
  #
19044
- # client.select_object_content( # params input #, event_stream_handler: handler) do |stream|
19045
- # stream.on_error_event do |event|
19046
- # # catch unmodeled error event in the stream
19047
- # raise event
19048
- # # => Aws::Errors::EventError
19049
- # # event.event_type => :error
19050
- # # event.error_code => String
19051
- # # event.error_message => String
19052
- # end
19954
+ # client.select_object_content(
19955
+ # # params input
19956
+ # event_stream_handler: handler
19957
+ # ) do |stream|
19958
+ # stream.on_error_event do |event|
19959
+ # # catch unmodeled error event in the stream
19960
+ # raise event
19961
+ # # => Aws::Errors::EventError
19962
+ # # event.event_type => :error
19963
+ # # event.error_code => String
19964
+ # # event.error_message => String
19053
19965
  # end
19966
+ # end
19054
19967
  #
19055
- # You can also iterate through events after the response complete.
19056
- #
19057
- # Events are available at resp.payload # => Enumerator
19058
- # For parameter input example, please refer to following request syntax
19968
+ # # You can also iterate through events after the response complete.
19969
+ # # Events are available at
19970
+ # resp.payload # => Enumerator
19971
+ # # For parameter input example, please refer to following request syntax.
19059
19972
  #
19060
19973
  # @example Request syntax with placeholder values
19061
19974
  #
@@ -19108,26 +20021,26 @@ module Aws::S3
19108
20021
  #
19109
20022
  # @example Response structure
19110
20023
  #
19111
- # All events are available at resp.payload:
20024
+ # # All events are available at resp.payload:
19112
20025
  # resp.payload #=> Enumerator
19113
20026
  # resp.payload.event_types #=> [:records, :stats, :progress, :cont, :end]
19114
20027
  #
19115
- # For :records event available at #on_records_event callback and response eventstream enumerator:
20028
+ # # For :records event available at #on_records_event callback and response eventstream enumerator:
19116
20029
  # event.payload #=> IO
19117
20030
  #
19118
- # For :stats event available at #on_stats_event callback and response eventstream enumerator:
20031
+ # # For :stats event available at #on_stats_event callback and response eventstream enumerator:
19119
20032
  # event.details.bytes_scanned #=> Integer
19120
20033
  # event.details.bytes_processed #=> Integer
19121
20034
  # event.details.bytes_returned #=> Integer
19122
20035
  #
19123
- # For :progress event available at #on_progress_event callback and response eventstream enumerator:
20036
+ # # For :progress event available at #on_progress_event callback and response eventstream enumerator:
19124
20037
  # event.details.bytes_scanned #=> Integer
19125
20038
  # event.details.bytes_processed #=> Integer
19126
20039
  # event.details.bytes_returned #=> Integer
19127
20040
  #
19128
- # For :cont event available at #on_cont_event callback and response eventstream enumerator:
20041
+ # # For :cont event available at #on_cont_event callback and response eventstream enumerator:
19129
20042
  # #=> EmptyStruct
19130
- # For :end event available at #on_end_event callback and response eventstream enumerator:
20043
+ # # For :end event available at #on_end_event callback and response eventstream enumerator:
19131
20044
  # #=> EmptyStruct
19132
20045
  #
19133
20046
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent AWS API Documentation
@@ -19157,6 +20070,182 @@ module Aws::S3
19157
20070
  req.send_request(options, &block)
19158
20071
  end
19159
20072
 
20073
+ # Enables or disables a live inventory table for an S3 Metadata
20074
+ # configuration on a general purpose bucket. For more information, see
20075
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20076
+ # User Guide*.
20077
+ #
20078
+ # Permissions
20079
+ #
20080
+ # : To use this operation, you must have the following permissions. For
20081
+ # more information, see [Setting up permissions for configuring
20082
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20083
+ #
20084
+ # If you want to encrypt your inventory table with server-side
20085
+ # encryption with Key Management Service (KMS) keys (SSE-KMS), you
20086
+ # need additional permissions in your KMS key policy. For more
20087
+ # information, see [ Setting up permissions for configuring metadata
20088
+ # tables][2] in the *Amazon S3 User Guide*.
20089
+ #
20090
+ # * `s3:UpdateBucketMetadataInventoryTableConfiguration`
20091
+ #
20092
+ # * `s3tables:CreateTableBucket`
20093
+ #
20094
+ # * `s3tables:CreateNamespace`
20095
+ #
20096
+ # * `s3tables:GetTable`
20097
+ #
20098
+ # * `s3tables:CreateTable`
20099
+ #
20100
+ # * `s3tables:PutTablePolicy`
20101
+ #
20102
+ # * `s3tables:PutTableEncryption`
20103
+ #
20104
+ # * `kms:DescribeKey`
20105
+ #
20106
+ # The following operations are related to
20107
+ # `UpdateBucketMetadataInventoryTableConfiguration`:
20108
+ #
20109
+ # * [CreateBucketMetadataConfiguration][3]
20110
+ #
20111
+ # * [DeleteBucketMetadataConfiguration][4]
20112
+ #
20113
+ # * [GetBucketMetadataConfiguration][5]
20114
+ #
20115
+ # * [UpdateBucketMetadataJournalTableConfiguration][6]
20116
+ #
20117
+ #
20118
+ #
20119
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20120
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20121
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20122
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20123
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20124
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html
20125
+ #
20126
+ # @option params [required, String] :bucket
20127
+ # The general purpose bucket that corresponds to the metadata
20128
+ # configuration that you want to enable or disable an inventory table
20129
+ # for.
20130
+ #
20131
+ # @option params [String] :content_md5
20132
+ # The `Content-MD5` header for the inventory table configuration.
20133
+ #
20134
+ # @option params [String] :checksum_algorithm
20135
+ # The checksum algorithm to use with your inventory table configuration.
20136
+ #
20137
+ # @option params [required, Types::InventoryTableConfigurationUpdates] :inventory_table_configuration
20138
+ # The contents of your inventory table configuration.
20139
+ #
20140
+ # @option params [String] :expected_bucket_owner
20141
+ # The expected owner of the general purpose bucket that corresponds to
20142
+ # the metadata table configuration that you want to enable or disable an
20143
+ # inventory table for.
20144
+ #
20145
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20146
+ #
20147
+ # @example Request syntax with placeholder values
20148
+ #
20149
+ # resp = client.update_bucket_metadata_inventory_table_configuration({
20150
+ # bucket: "BucketName", # required
20151
+ # content_md5: "ContentMD5",
20152
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20153
+ # inventory_table_configuration: { # required
20154
+ # configuration_state: "ENABLED", # required, accepts ENABLED, DISABLED
20155
+ # encryption_configuration: {
20156
+ # sse_algorithm: "aws:kms", # required, accepts aws:kms, AES256
20157
+ # kms_key_arn: "KmsKeyArn",
20158
+ # },
20159
+ # },
20160
+ # expected_bucket_owner: "AccountId",
20161
+ # })
20162
+ #
20163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfiguration AWS API Documentation
20164
+ #
20165
+ # @overload update_bucket_metadata_inventory_table_configuration(params = {})
20166
+ # @param [Hash] params ({})
20167
+ def update_bucket_metadata_inventory_table_configuration(params = {}, options = {})
20168
+ req = build_request(:update_bucket_metadata_inventory_table_configuration, params)
20169
+ req.send_request(options)
20170
+ end
20171
+
20172
+ # Enables or disables journal table record expiration for an S3 Metadata
20173
+ # configuration on a general purpose bucket. For more information, see
20174
+ # [Accelerating data discovery with S3 Metadata][1] in the *Amazon S3
20175
+ # User Guide*.
20176
+ #
20177
+ # Permissions
20178
+ #
20179
+ # : To use this operation, you must have the
20180
+ # `s3:UpdateBucketMetadataJournalTableConfiguration` permission. For
20181
+ # more information, see [Setting up permissions for configuring
20182
+ # metadata tables][2] in the *Amazon S3 User Guide*.
20183
+ #
20184
+ # The following operations are related to
20185
+ # `UpdateBucketMetadataJournalTableConfiguration`:
20186
+ #
20187
+ # * [CreateBucketMetadataConfiguration][3]
20188
+ #
20189
+ # * [DeleteBucketMetadataConfiguration][4]
20190
+ #
20191
+ # * [GetBucketMetadataConfiguration][5]
20192
+ #
20193
+ # * [UpdateBucketMetadataInventoryTableConfiguration][6]
20194
+ #
20195
+ #
20196
+ #
20197
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html
20198
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html
20199
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
20200
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html
20201
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html
20202
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html
20203
+ #
20204
+ # @option params [required, String] :bucket
20205
+ # The general purpose bucket that corresponds to the metadata
20206
+ # configuration that you want to enable or disable journal table record
20207
+ # expiration for.
20208
+ #
20209
+ # @option params [String] :content_md5
20210
+ # The `Content-MD5` header for the journal table configuration.
20211
+ #
20212
+ # @option params [String] :checksum_algorithm
20213
+ # The checksum algorithm to use with your journal table configuration.
20214
+ #
20215
+ # @option params [required, Types::JournalTableConfigurationUpdates] :journal_table_configuration
20216
+ # The contents of your journal table configuration.
20217
+ #
20218
+ # @option params [String] :expected_bucket_owner
20219
+ # The expected owner of the general purpose bucket that corresponds to
20220
+ # the metadata table configuration that you want to enable or disable
20221
+ # journal table record expiration for.
20222
+ #
20223
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
20224
+ #
20225
+ # @example Request syntax with placeholder values
20226
+ #
20227
+ # resp = client.update_bucket_metadata_journal_table_configuration({
20228
+ # bucket: "BucketName", # required
20229
+ # content_md5: "ContentMD5",
20230
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
20231
+ # journal_table_configuration: { # required
20232
+ # record_expiration: { # required
20233
+ # expiration: "ENABLED", # required, accepts ENABLED, DISABLED
20234
+ # days: 1,
20235
+ # },
20236
+ # },
20237
+ # expected_bucket_owner: "AccountId",
20238
+ # })
20239
+ #
20240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfiguration AWS API Documentation
20241
+ #
20242
+ # @overload update_bucket_metadata_journal_table_configuration(params = {})
20243
+ # @param [Hash] params ({})
20244
+ def update_bucket_metadata_journal_table_configuration(params = {}, options = {})
20245
+ req = build_request(:update_bucket_metadata_journal_table_configuration, params)
20246
+ req.send_request(options)
20247
+ end
20248
+
19160
20249
  # Uploads a part in a multipart upload.
19161
20250
  #
19162
20251
  # <note markdown="1"> In this operation, you provide new data as a part of an object in your
@@ -19365,19 +20454,20 @@ module Aws::S3
19365
20454
  # naming restrictions, see [Directory bucket naming rules][1] in the
19366
20455
  # *Amazon S3 User Guide*.
19367
20456
  #
19368
- # **Access points** - When you use this action with an access point, you
19369
- # must provide the alias of the access point in place of the bucket name
19370
- # or specify the access point ARN. When using the access point ARN, you
19371
- # must direct requests to the access point hostname. The access point
19372
- # hostname takes the form
20457
+ # **Access points** - When you use this action with an access point for
20458
+ # general purpose buckets, you must provide the alias of the access
20459
+ # point in place of the bucket name or specify the access point ARN.
20460
+ # When you use this action with an access point for directory buckets,
20461
+ # you must provide the access point name in place of the bucket name.
20462
+ # When using the access point ARN, you must direct requests to the
20463
+ # access point hostname. The access point hostname takes the form
19373
20464
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
19374
20465
  # When using this action with an access point through the Amazon Web
19375
20466
  # Services SDKs, you provide the access point ARN in place of the bucket
19376
20467
  # name. For more information about access point ARNs, see [Using access
19377
20468
  # points][2] in the *Amazon S3 User Guide*.
19378
20469
  #
19379
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
19380
- # directory buckets.
20470
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
19381
20471
  #
19382
20472
  # </note>
19383
20473
  #
@@ -19605,7 +20695,7 @@ module Aws::S3
19605
20695
  #
19606
20696
  # @example Response structure
19607
20697
  #
19608
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
20698
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
19609
20699
  # resp.etag #=> String
19610
20700
  # resp.checksum_crc32 #=> String
19611
20701
  # resp.checksum_crc32c #=> String
@@ -19844,19 +20934,20 @@ module Aws::S3
19844
20934
  #
19845
20935
  # </note>
19846
20936
  #
19847
- # **Access points** - When you use this action with an access point, you
19848
- # must provide the alias of the access point in place of the bucket name
19849
- # or specify the access point ARN. When using the access point ARN, you
19850
- # must direct requests to the access point hostname. The access point
19851
- # hostname takes the form
20937
+ # **Access points** - When you use this action with an access point for
20938
+ # general purpose buckets, you must provide the alias of the access
20939
+ # point in place of the bucket name or specify the access point ARN.
20940
+ # When you use this action with an access point for directory buckets,
20941
+ # you must provide the access point name in place of the bucket name.
20942
+ # When using the access point ARN, you must direct requests to the
20943
+ # access point hostname. The access point hostname takes the form
19852
20944
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
19853
20945
  # When using this action with an access point through the Amazon Web
19854
20946
  # Services SDKs, you provide the access point ARN in place of the bucket
19855
20947
  # name. For more information about access point ARNs, see [Using access
19856
20948
  # points][2] in the *Amazon S3 User Guide*.
19857
20949
  #
19858
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
19859
- # directory buckets.
20950
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
19860
20951
  #
19861
20952
  # </note>
19862
20953
  #
@@ -20115,45 +21206,45 @@ module Aws::S3
20115
21206
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
20116
21207
  #
20117
21208
  #
20118
- # @example Example: To upload a part by copying byte range from an existing object as data source
21209
+ # @example Example: To upload a part by copying data from an existing object as data source
20119
21210
  #
20120
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
20121
- # # data source.
21211
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
20122
21212
  #
20123
21213
  # resp = client.upload_part_copy({
20124
21214
  # bucket: "examplebucket",
20125
21215
  # copy_source: "/bucketname/sourceobjectkey",
20126
- # copy_source_range: "bytes=1-100000",
20127
21216
  # key: "examplelargeobject",
20128
- # part_number: 2,
21217
+ # part_number: 1,
20129
21218
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
20130
21219
  # })
20131
21220
  #
20132
21221
  # resp.to_h outputs the following:
20133
21222
  # {
20134
21223
  # copy_part_result: {
20135
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
20136
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
21224
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
21225
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
20137
21226
  # },
20138
21227
  # }
20139
21228
  #
20140
- # @example Example: To upload a part by copying data from an existing object as data source
21229
+ # @example Example: To upload a part by copying byte range from an existing object as data source
20141
21230
  #
20142
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
21231
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
21232
+ # # data source.
20143
21233
  #
20144
21234
  # resp = client.upload_part_copy({
20145
21235
  # bucket: "examplebucket",
20146
21236
  # copy_source: "/bucketname/sourceobjectkey",
21237
+ # copy_source_range: "bytes=1-100000",
20147
21238
  # key: "examplelargeobject",
20148
- # part_number: 1,
21239
+ # part_number: 2,
20149
21240
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
20150
21241
  # })
20151
21242
  #
20152
21243
  # resp.to_h outputs the following:
20153
21244
  # {
20154
21245
  # copy_part_result: {
20155
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20156
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
21246
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
21247
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20157
21248
  # },
20158
21249
  # }
20159
21250
  #
@@ -20191,7 +21282,7 @@ module Aws::S3
20191
21282
  # resp.copy_part_result.checksum_crc64nvme #=> String
20192
21283
  # resp.copy_part_result.checksum_sha1 #=> String
20193
21284
  # resp.copy_part_result.checksum_sha256 #=> String
20194
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
21285
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
20195
21286
  # resp.sse_customer_algorithm #=> String
20196
21287
  # resp.sse_customer_key_md5 #=> String
20197
21288
  # resp.ssekms_key_id #=> String
@@ -20500,19 +21591,30 @@ module Aws::S3
20500
21591
  #
20501
21592
  # @option params [String] :request_charged
20502
21593
  # If present, indicates that the requester was successfully charged for
20503
- # the request.
21594
+ # the request. For more information, see [Using Requester Pays buckets
21595
+ # for storage transfers and usage][1] in the *Amazon Simple Storage
21596
+ # Service user guide*.
20504
21597
  #
20505
21598
  # <note markdown="1"> This functionality is not supported for directory buckets.
20506
21599
  #
20507
21600
  # </note>
20508
21601
  #
21602
+ #
21603
+ #
21604
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
21605
+ #
20509
21606
  # @option params [String] :restore
20510
21607
  # Provides information about object restoration operation and expiration
20511
21608
  # time of the restored object copy.
20512
21609
  #
20513
21610
  # @option params [String] :server_side_encryption
20514
21611
  # The server-side encryption algorithm used when storing requested
20515
- # object in Amazon S3 (for example, AES256, `aws:kms`).
21612
+ # object in Amazon S3 or Amazon FSx.
21613
+ #
21614
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3 access
21615
+ # points, the only valid server side encryption option is `aws:fsx`.
21616
+ #
21617
+ # </note>
20516
21618
  #
20517
21619
  # @option params [String] :sse_customer_algorithm
20518
21620
  # Encryption algorithm used if server-side encryption with a
@@ -20596,11 +21698,11 @@ module Aws::S3
20596
21698
  # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA, COMPLETED
20597
21699
  # request_charged: "requester", # accepts requester
20598
21700
  # restore: "Restore",
20599
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
21701
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
20600
21702
  # sse_customer_algorithm: "SSECustomerAlgorithm",
20601
21703
  # ssekms_key_id: "SSEKMSKeyId",
20602
21704
  # sse_customer_key_md5: "SSECustomerKeyMD5",
20603
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
21705
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
20604
21706
  # tag_count: 1,
20605
21707
  # version_id: "ObjectVersionId",
20606
21708
  # bucket_key_enabled: false,
@@ -20633,7 +21735,7 @@ module Aws::S3
20633
21735
  tracer: tracer
20634
21736
  )
20635
21737
  context[:gem_name] = 'aws-sdk-s3'
20636
- context[:gem_version] = '1.182.0'
21738
+ context[:gem_version] = '1.198.0'
20637
21739
  Seahorse::Client::Request.new(handlers, context)
20638
21740
  end
20639
21741