aws-sdk-s3 1.186.1 → 1.191.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.
@@ -1264,7 +1264,7 @@ module Aws::S3
1264
1264
  # resp.checksum_sha1 #=> String
1265
1265
  # resp.checksum_sha256 #=> String
1266
1266
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1267
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1267
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
1268
1268
  # resp.version_id #=> String
1269
1269
  # resp.ssekms_key_id #=> String
1270
1270
  # resp.bucket_key_enabled #=> Boolean
@@ -1279,6 +1279,20 @@ module Aws::S3
1279
1279
  req.send_request(options)
1280
1280
  end
1281
1281
 
1282
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
1283
+ # discontinue support for creating new Email Grantee Access Control
1284
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
1285
+ # continue to work and remain accessible through the Amazon Web Services
1286
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
1287
+ # However, you will no longer be able to create new Email Grantee ACLs.
1288
+ #
1289
+ # This change affects the following Amazon Web Services Regions: US
1290
+ # East
1291
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
1292
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
1293
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
1294
+ # America (São Paulo) Region.
1295
+ #
1282
1296
  # Creates a copy of an object that is already stored in Amazon S3.
1283
1297
  #
1284
1298
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
@@ -1914,6 +1928,14 @@ module Aws::S3
1914
1928
  # key is the same customer managed key that you specified for the
1915
1929
  # directory bucket's default encryption configuration.
1916
1930
  #
1931
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
1932
+ # in Amazon FSx file systems using S3 access points, the only valid
1933
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
1934
+ # systems have encryption configured by default and are encrypted at
1935
+ # rest. Data is automatically encrypted before being written to the
1936
+ # file system, and automatically decrypted as it is read. These
1937
+ # processes are handled transparently by Amazon FSx.
1938
+ #
1917
1939
  #
1918
1940
  #
1919
1941
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
@@ -2297,8 +2319,8 @@ module Aws::S3
2297
2319
  # },
2298
2320
  # metadata_directive: "COPY", # accepts COPY, REPLACE
2299
2321
  # tagging_directive: "COPY", # accepts COPY, REPLACE
2300
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2301
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
2322
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
2323
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
2302
2324
  # website_redirect_location: "WebsiteRedirectLocation",
2303
2325
  # sse_customer_algorithm: "SSECustomerAlgorithm",
2304
2326
  # sse_customer_key: "SSECustomerKey",
@@ -2331,7 +2353,7 @@ module Aws::S3
2331
2353
  # resp.expiration #=> String
2332
2354
  # resp.copy_source_version_id #=> String
2333
2355
  # resp.version_id #=> String
2334
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
2356
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
2335
2357
  # resp.sse_customer_algorithm #=> String
2336
2358
  # resp.sse_customer_key_md5 #=> String
2337
2359
  # resp.ssekms_key_id #=> String
@@ -2348,6 +2370,33 @@ module Aws::S3
2348
2370
  req.send_request(options)
2349
2371
  end
2350
2372
 
2373
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
2374
+ # discontinue support for creating new Email Grantee Access Control
2375
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
2376
+ # continue to work and remain accessible through the Amazon Web Services
2377
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2378
+ # However, you will no longer be able to create new Email Grantee ACLs.
2379
+ #
2380
+ # This change affects the following Amazon Web Services Regions: US
2381
+ # East
2382
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2383
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2384
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2385
+ # America (São Paulo) Region.
2386
+ #
2387
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
2388
+ # returning `DisplayName`. Update your applications to use canonical IDs
2389
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
2390
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
2391
+ # naming) as a direct replacement of `DisplayName`.
2392
+ #
2393
+ # This change affects the following Amazon Web Services Regions: US
2394
+ # East
2395
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2396
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2397
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2398
+ # America (São Paulo) Region.
2399
+ #
2351
2400
  # <note markdown="1"> This action creates an Amazon S3 bucket. To create an Amazon S3 on
2352
2401
  # Outposts bucket, see [ `CreateBucket` ][1].
2353
2402
  #
@@ -2605,33 +2654,33 @@ module Aws::S3
2605
2654
  # * {Types::CreateBucketOutput#location #location} => String
2606
2655
  #
2607
2656
  #
2608
- # @example Example: To create a bucket
2657
+ # @example Example: To create a bucket in a specific region
2609
2658
  #
2610
- # # The following example creates a bucket.
2659
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2611
2660
  #
2612
2661
  # resp = client.create_bucket({
2613
2662
  # bucket: "examplebucket",
2663
+ # create_bucket_configuration: {
2664
+ # location_constraint: "eu-west-1",
2665
+ # },
2614
2666
  # })
2615
2667
  #
2616
2668
  # resp.to_h outputs the following:
2617
2669
  # {
2618
- # location: "/examplebucket",
2670
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2619
2671
  # }
2620
2672
  #
2621
- # @example Example: To create a bucket in a specific region
2673
+ # @example Example: To create a bucket
2622
2674
  #
2623
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2675
+ # # The following example creates a bucket.
2624
2676
  #
2625
2677
  # resp = client.create_bucket({
2626
2678
  # bucket: "examplebucket",
2627
- # create_bucket_configuration: {
2628
- # location_constraint: "eu-west-1",
2629
- # },
2630
2679
  # })
2631
2680
  #
2632
2681
  # resp.to_h outputs the following:
2633
2682
  # {
2634
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2683
+ # location: "/examplebucket",
2635
2684
  # }
2636
2685
  #
2637
2686
  # @example Request syntax with placeholder values
@@ -2756,6 +2805,20 @@ module Aws::S3
2756
2805
  req.send_request(options)
2757
2806
  end
2758
2807
 
2808
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
2809
+ # discontinue support for creating new Email Grantee Access Control
2810
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
2811
+ # continue to work and remain accessible through the Amazon Web Services
2812
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
2813
+ # However, you will no longer be able to create new Email Grantee ACLs.
2814
+ #
2815
+ # This change affects the following Amazon Web Services Regions: US
2816
+ # East
2817
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
2818
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
2819
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
2820
+ # America (São Paulo) Region.
2821
+ #
2759
2822
  # This action initiates a multipart upload and returns an upload ID.
2760
2823
  # This upload ID is used to associate all of the parts in the specific
2761
2824
  # multipart upload. You specify this upload ID in each of your
@@ -3372,7 +3435,7 @@ module Aws::S3
3372
3435
  #
3373
3436
  # @option params [String] :server_side_encryption
3374
3437
  # The server-side encryption algorithm used when you store this object
3375
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3438
+ # in Amazon S3 or Amazon FSx.
3376
3439
  #
3377
3440
  # * <b>Directory buckets </b> - For directory buckets, there are only
3378
3441
  # two supported options for server-side encryption: server-side
@@ -3414,6 +3477,14 @@ module Aws::S3
3414
3477
  #
3415
3478
  # </note>
3416
3479
  #
3480
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
3481
+ # in Amazon FSx file systems using S3 access points, the only valid
3482
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
3483
+ # systems have encryption configured by default and are encrypted at
3484
+ # rest. Data is automatically encrypted before being written to the
3485
+ # file system, and automatically decrypted as it is read. These
3486
+ # processes are handled transparently by Amazon FSx.
3487
+ #
3417
3488
  #
3418
3489
  #
3419
3490
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -3671,8 +3742,8 @@ module Aws::S3
3671
3742
  # metadata: {
3672
3743
  # "MetadataKey" => "MetadataValue",
3673
3744
  # },
3674
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
3675
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
3745
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3746
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
3676
3747
  # website_redirect_location: "WebsiteRedirectLocation",
3677
3748
  # sse_customer_algorithm: "SSECustomerAlgorithm",
3678
3749
  # sse_customer_key: "SSECustomerKey",
@@ -3697,7 +3768,7 @@ module Aws::S3
3697
3768
  # resp.bucket #=> String
3698
3769
  # resp.key #=> String
3699
3770
  # resp.upload_id #=> String
3700
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
3771
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3701
3772
  # resp.sse_customer_algorithm #=> String
3702
3773
  # resp.sse_customer_key_md5 #=> String
3703
3774
  # resp.ssekms_key_id #=> String
@@ -3904,6 +3975,14 @@ module Aws::S3
3904
3975
  # SSE-S3. For more information, see [Protecting data with server-side
3905
3976
  # encryption][1] in the *Amazon S3 User Guide*.
3906
3977
  #
3978
+ # <b>S3 access points for Amazon FSx </b> - When accessing data stored
3979
+ # in Amazon FSx file systems using S3 access points, the only valid
3980
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
3981
+ # systems have encryption configured by default and are encrypted at
3982
+ # rest. Data is automatically encrypted before being written to the file
3983
+ # system, and automatically decrypted as it is read. These processes are
3984
+ # handled transparently by Amazon FSx.
3985
+ #
3907
3986
  #
3908
3987
  #
3909
3988
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
@@ -3984,7 +4063,7 @@ module Aws::S3
3984
4063
  # resp = client.create_session({
3985
4064
  # session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
3986
4065
  # bucket: "BucketName", # required
3987
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
4066
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
3988
4067
  # ssekms_key_id: "SSEKMSKeyId",
3989
4068
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
3990
4069
  # bucket_key_enabled: false,
@@ -3992,7 +4071,7 @@ module Aws::S3
3992
4071
  #
3993
4072
  # @example Response structure
3994
4073
  #
3995
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
4074
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
3996
4075
  # resp.ssekms_key_id #=> String
3997
4076
  # resp.ssekms_encryption_context #=> String
3998
4077
  # resp.bucket_key_enabled #=> Boolean
@@ -4400,6 +4479,11 @@ module Aws::S3
4400
4479
  # @option params [required, String] :id
4401
4480
  # The ID used to identify the S3 Intelligent-Tiering configuration.
4402
4481
  #
4482
+ # @option params [String] :expected_bucket_owner
4483
+ # The account ID of the expected bucket owner. If the account ID that
4484
+ # you provide does not match the actual owner of the bucket, the request
4485
+ # fails with the HTTP status code `403 Forbidden` (access denied).
4486
+ #
4403
4487
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4404
4488
  #
4405
4489
  # @example Request syntax with placeholder values
@@ -4407,6 +4491,7 @@ module Aws::S3
4407
4491
  # resp = client.delete_bucket_intelligent_tiering_configuration({
4408
4492
  # bucket: "BucketName", # required
4409
4493
  # id: "IntelligentTieringId", # required
4494
+ # expected_bucket_owner: "AccountId",
4410
4495
  # })
4411
4496
  #
4412
4497
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration AWS API Documentation
@@ -5796,22 +5881,20 @@ module Aws::S3
5796
5881
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5797
5882
  #
5798
5883
  #
5799
- # @example Example: To delete multiple object versions from a versioned bucket
5884
+ # @example Example: To delete multiple objects from a versioned bucket
5800
5885
  #
5801
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5802
- # # versions and returns the key and versions of deleted objects in the response.
5886
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5887
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5803
5888
  #
5804
5889
  # resp = client.delete_objects({
5805
5890
  # bucket: "examplebucket",
5806
5891
  # delete: {
5807
5892
  # objects: [
5808
5893
  # {
5809
- # key: "HappyFace.jpg",
5810
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5894
+ # key: "objectkey1",
5811
5895
  # },
5812
5896
  # {
5813
- # key: "HappyFace.jpg",
5814
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5897
+ # key: "objectkey2",
5815
5898
  # },
5816
5899
  # ],
5817
5900
  # quiet: false,
@@ -5822,30 +5905,34 @@ module Aws::S3
5822
5905
  # {
5823
5906
  # deleted: [
5824
5907
  # {
5825
- # key: "HappyFace.jpg",
5826
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5908
+ # delete_marker: true,
5909
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5910
+ # key: "objectkey1",
5827
5911
  # },
5828
5912
  # {
5829
- # key: "HappyFace.jpg",
5830
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5913
+ # delete_marker: true,
5914
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5915
+ # key: "objectkey2",
5831
5916
  # },
5832
5917
  # ],
5833
5918
  # }
5834
5919
  #
5835
- # @example Example: To delete multiple objects from a versioned bucket
5920
+ # @example Example: To delete multiple object versions from a versioned bucket
5836
5921
  #
5837
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5838
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
5922
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5923
+ # # versions and returns the key and versions of deleted objects in the response.
5839
5924
  #
5840
5925
  # resp = client.delete_objects({
5841
5926
  # bucket: "examplebucket",
5842
5927
  # delete: {
5843
5928
  # objects: [
5844
5929
  # {
5845
- # key: "objectkey1",
5930
+ # key: "HappyFace.jpg",
5931
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5846
5932
  # },
5847
5933
  # {
5848
- # key: "objectkey2",
5934
+ # key: "HappyFace.jpg",
5935
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5849
5936
  # },
5850
5937
  # ],
5851
5938
  # quiet: false,
@@ -5856,14 +5943,12 @@ module Aws::S3
5856
5943
  # {
5857
5944
  # deleted: [
5858
5945
  # {
5859
- # delete_marker: true,
5860
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5861
- # key: "objectkey1",
5946
+ # key: "HappyFace.jpg",
5947
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5862
5948
  # },
5863
5949
  # {
5864
- # delete_marker: true,
5865
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5866
- # key: "objectkey2",
5950
+ # key: "HappyFace.jpg",
5951
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5867
5952
  # },
5868
5953
  # ],
5869
5954
  # }
@@ -6067,6 +6152,19 @@ module Aws::S3
6067
6152
  req.send_request(options)
6068
6153
  end
6069
6154
 
6155
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
6156
+ # returning `DisplayName`. Update your applications to use canonical IDs
6157
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
6158
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
6159
+ # naming) as a direct replacement of `DisplayName`.
6160
+ #
6161
+ # This change affects the following Amazon Web Services Regions: US
6162
+ # East
6163
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
6164
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
6165
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
6166
+ # America (São Paulo) Region.
6167
+ #
6070
6168
  # <note markdown="1"> This operation is not supported for directory buckets.
6071
6169
  #
6072
6170
  # </note>
@@ -6470,7 +6568,7 @@ module Aws::S3
6470
6568
  # @example Response structure
6471
6569
  #
6472
6570
  # resp.server_side_encryption_configuration.rules #=> Array
6473
- # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
6571
+ # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
6474
6572
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
6475
6573
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
6476
6574
  #
@@ -6532,6 +6630,11 @@ module Aws::S3
6532
6630
  # @option params [required, String] :id
6533
6631
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6534
6632
  #
6633
+ # @option params [String] :expected_bucket_owner
6634
+ # The account ID of the expected bucket owner. If the account ID that
6635
+ # you provide does not match the actual owner of the bucket, the request
6636
+ # fails with the HTTP status code `403 Forbidden` (access denied).
6637
+ #
6535
6638
  # @return [Types::GetBucketIntelligentTieringConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6536
6639
  #
6537
6640
  # * {Types::GetBucketIntelligentTieringConfigurationOutput#intelligent_tiering_configuration #intelligent_tiering_configuration} => Types::IntelligentTieringConfiguration
@@ -6541,6 +6644,7 @@ module Aws::S3
6541
6644
  # resp = client.get_bucket_intelligent_tiering_configuration({
6542
6645
  # bucket: "BucketName", # required
6543
6646
  # id: "IntelligentTieringId", # required
6647
+ # expected_bucket_owner: "AccountId",
6544
6648
  # })
6545
6649
  #
6546
6650
  # @example Response structure
@@ -7051,6 +7155,19 @@ module Aws::S3
7051
7155
  req.send_request(options)
7052
7156
  end
7053
7157
 
7158
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
7159
+ # returning `DisplayName`. Update your applications to use canonical IDs
7160
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
7161
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
7162
+ # naming) as a direct replacement of `DisplayName`.
7163
+ #
7164
+ # This change affects the following Amazon Web Services Regions: US
7165
+ # East
7166
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
7167
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
7168
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
7169
+ # America (São Paulo) Region.
7170
+ #
7054
7171
  # <note markdown="1"> This operation is not supported for directory buckets.
7055
7172
  #
7056
7173
  # </note>
@@ -7514,6 +7631,21 @@ module Aws::S3
7514
7631
  # permission. For more information about Amazon S3 permissions, see
7515
7632
  # [Specifying permissions in a policy][1].
7516
7633
  #
7634
+ # <note markdown="1"> A bucket doesn't have `OwnershipControls` settings in the following
7635
+ # cases:
7636
+ #
7637
+ # * The bucket was created before the `BucketOwnerEnforced` ownership
7638
+ # setting was introduced and you've never explicitly applied this
7639
+ # value
7640
+ #
7641
+ # * You've manually deleted the bucket ownership control value using
7642
+ # the `DeleteBucketOwnershipControls` API operation.
7643
+ #
7644
+ # By default, Amazon S3 sets `OwnershipControls` for all newly created
7645
+ # buckets.
7646
+ #
7647
+ # </note>
7648
+ #
7517
7649
  # For information about Amazon S3 Object Ownership, see [Using Object
7518
7650
  # Ownership][2].
7519
7651
  #
@@ -7897,7 +8029,7 @@ module Aws::S3
7897
8029
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
7898
8030
  # resp.replication_configuration.rules[0].destination.bucket #=> String
7899
8031
  # resp.replication_configuration.rules[0].destination.account #=> String
7900
- # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
8032
+ # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
7901
8033
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
7902
8034
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
7903
8035
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -8751,49 +8883,49 @@ module Aws::S3
8751
8883
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8752
8884
  #
8753
8885
  #
8754
- # @example Example: To retrieve an object
8886
+ # @example Example: To retrieve a byte range of an object
8755
8887
  #
8756
- # # The following example retrieves an object for an S3 bucket.
8888
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8889
+ # # specific byte range.
8757
8890
  #
8758
8891
  # resp = client.get_object({
8759
8892
  # bucket: "examplebucket",
8760
- # key: "HappyFace.jpg",
8893
+ # key: "SampleFile.txt",
8894
+ # range: "bytes=0-9",
8761
8895
  # })
8762
8896
  #
8763
8897
  # resp.to_h outputs the following:
8764
8898
  # {
8765
8899
  # accept_ranges: "bytes",
8766
- # content_length: 3191,
8767
- # content_type: "image/jpeg",
8768
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8769
- # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8900
+ # content_length: 10,
8901
+ # content_range: "bytes 0-9/43",
8902
+ # content_type: "text/plain",
8903
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8904
+ # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8770
8905
  # metadata: {
8771
8906
  # },
8772
- # tag_count: 2,
8773
8907
  # version_id: "null",
8774
8908
  # }
8775
8909
  #
8776
- # @example Example: To retrieve a byte range of an object
8910
+ # @example Example: To retrieve an object
8777
8911
  #
8778
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8779
- # # specific byte range.
8912
+ # # The following example retrieves an object for an S3 bucket.
8780
8913
  #
8781
8914
  # resp = client.get_object({
8782
8915
  # bucket: "examplebucket",
8783
- # key: "SampleFile.txt",
8784
- # range: "bytes=0-9",
8916
+ # key: "HappyFace.jpg",
8785
8917
  # })
8786
8918
  #
8787
8919
  # resp.to_h outputs the following:
8788
8920
  # {
8789
8921
  # accept_ranges: "bytes",
8790
- # content_length: 10,
8791
- # content_range: "bytes 0-9/43",
8792
- # content_type: "text/plain",
8793
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8794
- # last_modified: Time.parse("2014-10-09T22:57:28.000Z"),
8922
+ # content_length: 3191,
8923
+ # content_type: "image/jpeg",
8924
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8925
+ # last_modified: Time.parse("2016-12-15T01:19:41.000Z"),
8795
8926
  # metadata: {
8796
8927
  # },
8928
+ # tag_count: 2,
8797
8929
  # version_id: "null",
8798
8930
  # }
8799
8931
  #
@@ -8879,14 +9011,14 @@ module Aws::S3
8879
9011
  # resp.expires #=> Time
8880
9012
  # resp.expires_string #=> String
8881
9013
  # resp.website_redirect_location #=> String
8882
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
9014
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
8883
9015
  # resp.metadata #=> Hash
8884
9016
  # resp.metadata["MetadataKey"] #=> String
8885
9017
  # resp.sse_customer_algorithm #=> String
8886
9018
  # resp.sse_customer_key_md5 #=> String
8887
9019
  # resp.ssekms_key_id #=> String
8888
9020
  # resp.bucket_key_enabled #=> Boolean
8889
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
9021
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
8890
9022
  # resp.request_charged #=> String, one of "requester"
8891
9023
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
8892
9024
  # resp.parts_count #=> Integer
@@ -9090,12 +9222,12 @@ module Aws::S3
9090
9222
  req.send_request(options)
9091
9223
  end
9092
9224
 
9093
- # Retrieves all the metadata from an object without returning the object
9094
- # itself. This operation is useful if you're interested only in an
9095
- # object's metadata.
9225
+ # Retrieves all of the metadata from an object without returning the
9226
+ # object itself. This operation is useful if you're interested only in
9227
+ # an object's metadata.
9096
9228
  #
9097
9229
  # `GetObjectAttributes` combines the functionality of `HeadObject` and
9098
- # `ListParts`. All of the data returned with each of those individual
9230
+ # `ListParts`. All of the data returned with both of those individual
9099
9231
  # calls can be returned with a single call to `GetObjectAttributes`.
9100
9232
  #
9101
9233
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
@@ -9114,16 +9246,23 @@ module Aws::S3
9114
9246
  # Permissions
9115
9247
  # : * **General purpose bucket permissions** - To use
9116
9248
  # `GetObjectAttributes`, you must have READ access to the object.
9117
- # The permissions that you need to use this operation depend on
9118
- # whether the bucket is versioned. If the bucket is versioned, you
9119
- # need both the `s3:GetObjectVersion` and
9120
- # `s3:GetObjectVersionAttributes` permissions for this operation. If
9121
- # the bucket is not versioned, you need the `s3:GetObject` and
9122
- # `s3:GetObjectAttributes` permissions. For more information, see
9123
- # [Specifying Permissions in a Policy][3] in the *Amazon S3 User
9124
- # Guide*. If the object that you request does not exist, the error
9125
- # Amazon S3 returns depends on whether you also have the
9126
- # `s3:ListBucket` permission.
9249
+ #
9250
+ # The other permissions that you need to use this operation depend
9251
+ # on whether the bucket is versioned and if a version ID is passed
9252
+ # in the `GetObjectAttributes` request.
9253
+ #
9254
+ # * If you pass a version ID in your request, you need both the
9255
+ # `s3:GetObjectVersion` and `s3:GetObjectVersionAttributes`
9256
+ # permissions.
9257
+ #
9258
+ # * If you do not pass a version ID in your request, you need the
9259
+ # `s3:GetObject` and `s3:GetObjectAttributes` permissions.
9260
+ # For more information, see [Specifying Permissions in a Policy][3]
9261
+ # in the *Amazon S3 User Guide*.
9262
+ #
9263
+ # If the object that you request does not exist, the error Amazon S3
9264
+ # returns depends on whether you also have the `s3:ListBucket`
9265
+ # permission.
9127
9266
  #
9128
9267
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon
9129
9268
  # S3 returns an HTTP status code `404 Not Found` ("no such key")
@@ -9167,12 +9306,12 @@ module Aws::S3
9167
9306
  #
9168
9307
  # </note>
9169
9308
  #
9170
- # If you encrypt an object by using server-side encryption with
9171
- # customer-provided encryption keys (SSE-C) when you store the object
9172
- # in Amazon S3, then when you retrieve the metadata from the object,
9173
- # you must use the following headers to provide the encryption key for
9174
- # the server to be able to retrieve the object's metadata. The
9175
- # headers are:
9309
+ # If you encrypted an object when you stored the object in Amazon S3
9310
+ # by using server-side encryption with customer-provided encryption
9311
+ # keys (SSE-C), then when you retrieve the metadata from the object,
9312
+ # you must use the following headers. These headers provide the server
9313
+ # with the encryption key required to retrieve the object's metadata.
9314
+ # The headers are:
9176
9315
  #
9177
9316
  # * `x-amz-server-side-encryption-customer-algorithm`
9178
9317
  #
@@ -9332,11 +9471,23 @@ module Aws::S3
9332
9471
  # </note>
9333
9472
  #
9334
9473
  # @option params [Integer] :max_parts
9335
- # Sets the maximum number of parts to return.
9474
+ # Sets the maximum number of parts to return. For more information, see
9475
+ # [Uploading and copying objects using multipart upload in Amazon S3
9476
+ # ][1] in the *Amazon Simple Storage Service user guide*.
9477
+ #
9478
+ #
9479
+ #
9480
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
9336
9481
  #
9337
9482
  # @option params [Integer] :part_number_marker
9338
9483
  # Specifies the part after which listing should begin. Only parts with
9339
- # higher part numbers will be listed.
9484
+ # higher part numbers will be listed. For more information, see
9485
+ # [Uploading and copying objects using multipart upload in Amazon S3
9486
+ # ][1] in the *Amazon Simple Storage Service user guide*.
9487
+ #
9488
+ #
9489
+ #
9490
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
9340
9491
  #
9341
9492
  # @option params [String] :sse_customer_algorithm
9342
9493
  # Specifies the algorithm to use when encrypting the object (for
@@ -9446,7 +9597,7 @@ module Aws::S3
9446
9597
  # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9447
9598
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9448
9599
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9449
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
9600
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
9450
9601
  # resp.object_size #=> Integer
9451
9602
  #
9452
9603
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes AWS API Documentation
@@ -10681,6 +10832,7 @@ module Aws::S3
10681
10832
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
10682
10833
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
10683
10834
  # * {Types::HeadObjectOutput#parts_count #parts_count} => Integer
10835
+ # * {Types::HeadObjectOutput#tag_count #tag_count} => Integer
10684
10836
  # * {Types::HeadObjectOutput#object_lock_mode #object_lock_mode} => String
10685
10837
  # * {Types::HeadObjectOutput#object_lock_retain_until_date #object_lock_retain_until_date} => Time
10686
10838
  # * {Types::HeadObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
@@ -10760,17 +10912,18 @@ module Aws::S3
10760
10912
  # resp.expires #=> Time
10761
10913
  # resp.expires_string #=> String
10762
10914
  # resp.website_redirect_location #=> String
10763
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
10915
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
10764
10916
  # resp.metadata #=> Hash
10765
10917
  # resp.metadata["MetadataKey"] #=> String
10766
10918
  # resp.sse_customer_algorithm #=> String
10767
10919
  # resp.sse_customer_key_md5 #=> String
10768
10920
  # resp.ssekms_key_id #=> String
10769
10921
  # resp.bucket_key_enabled #=> Boolean
10770
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
10922
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
10771
10923
  # resp.request_charged #=> String, one of "requester"
10772
10924
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
10773
10925
  # resp.parts_count #=> Integer
10926
+ # resp.tag_count #=> Integer
10774
10927
  # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
10775
10928
  # resp.object_lock_retain_until_date #=> Time
10776
10929
  # resp.object_lock_legal_hold_status #=> String, one of "ON", "OFF"
@@ -10941,6 +11094,11 @@ module Aws::S3
10941
11094
  # The `ContinuationToken` that represents a placeholder from where this
10942
11095
  # request should begin.
10943
11096
  #
11097
+ # @option params [String] :expected_bucket_owner
11098
+ # The account ID of the expected bucket owner. If the account ID that
11099
+ # you provide does not match the actual owner of the bucket, the request
11100
+ # fails with the HTTP status code `403 Forbidden` (access denied).
11101
+ #
10944
11102
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10945
11103
  #
10946
11104
  # * {Types::ListBucketIntelligentTieringConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -10953,6 +11111,7 @@ module Aws::S3
10953
11111
  # resp = client.list_bucket_intelligent_tiering_configurations({
10954
11112
  # bucket: "BucketName", # required
10955
11113
  # continuation_token: "Token",
11114
+ # expected_bucket_owner: "AccountId",
10956
11115
  # })
10957
11116
  #
10958
11117
  # @example Response structure
@@ -11187,6 +11346,19 @@ module Aws::S3
11187
11346
  req.send_request(options)
11188
11347
  end
11189
11348
 
11349
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11350
+ # returning `DisplayName`. Update your applications to use canonical IDs
11351
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
11352
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
11353
+ # naming) as a direct replacement of `DisplayName`.
11354
+ #
11355
+ # This change affects the following Amazon Web Services Regions: US
11356
+ # East
11357
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11358
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11359
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11360
+ # America (São Paulo) Region.
11361
+ #
11190
11362
  # <note markdown="1"> This operation is not supported for directory buckets.
11191
11363
  #
11192
11364
  # </note>
@@ -11413,6 +11585,19 @@ module Aws::S3
11413
11585
  req.send_request(options)
11414
11586
  end
11415
11587
 
11588
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
11589
+ # returning `DisplayName`. Update your applications to use canonical IDs
11590
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
11591
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
11592
+ # naming) as a direct replacement of `DisplayName`.
11593
+ #
11594
+ # This change affects the following Amazon Web Services Regions: US
11595
+ # East
11596
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
11597
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
11598
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
11599
+ # America (São Paulo) Region.
11600
+ #
11416
11601
  # This operation lists in-progress multipart uploads in a bucket. An
11417
11602
  # in-progress multipart upload is a multipart upload that has been
11418
11603
  # initiated by the `CreateMultipartUpload` request, but has not yet been
@@ -11838,7 +12023,7 @@ module Aws::S3
11838
12023
  # resp.uploads[0].upload_id #=> String
11839
12024
  # resp.uploads[0].key #=> String
11840
12025
  # resp.uploads[0].initiated #=> Time
11841
- # 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"
12026
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
11842
12027
  # resp.uploads[0].owner.display_name #=> String
11843
12028
  # resp.uploads[0].owner.id #=> String
11844
12029
  # resp.uploads[0].initiator.id #=> String
@@ -11859,6 +12044,19 @@ module Aws::S3
11859
12044
  req.send_request(options)
11860
12045
  end
11861
12046
 
12047
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12048
+ # returning `DisplayName`. Update your applications to use canonical IDs
12049
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
12050
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
12051
+ # naming) as a direct replacement of `DisplayName`.
12052
+ #
12053
+ # This change affects the following Amazon Web Services Regions: US
12054
+ # East
12055
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12056
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12057
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12058
+ # America (São Paulo) Region.
12059
+ #
11862
12060
  # <note markdown="1"> This operation is not supported for directory buckets.
11863
12061
  #
11864
12062
  # </note>
@@ -12099,6 +12297,19 @@ module Aws::S3
12099
12297
  req.send_request(options)
12100
12298
  end
12101
12299
 
12300
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12301
+ # returning `DisplayName`. Update your applications to use canonical IDs
12302
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
12303
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
12304
+ # naming) as a direct replacement of `DisplayName`.
12305
+ #
12306
+ # This change affects the following Amazon Web Services Regions: US
12307
+ # East
12308
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12309
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12310
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12311
+ # America (São Paulo) Region.
12312
+ #
12102
12313
  # <note markdown="1"> This operation is not supported for directory buckets.
12103
12314
  #
12104
12315
  # </note>
@@ -12312,7 +12523,7 @@ module Aws::S3
12312
12523
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12313
12524
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12314
12525
  # resp.contents[0].size #=> Integer
12315
- # 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"
12526
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12316
12527
  # resp.contents[0].owner.display_name #=> String
12317
12528
  # resp.contents[0].owner.id #=> String
12318
12529
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12655,7 +12866,7 @@ module Aws::S3
12655
12866
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12656
12867
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12657
12868
  # resp.contents[0].size #=> Integer
12658
- # 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"
12869
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
12659
12870
  # resp.contents[0].owner.display_name #=> String
12660
12871
  # resp.contents[0].owner.id #=> String
12661
12872
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12682,6 +12893,19 @@ module Aws::S3
12682
12893
  req.send_request(options)
12683
12894
  end
12684
12895
 
12896
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
12897
+ # returning `DisplayName`. Update your applications to use canonical IDs
12898
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
12899
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
12900
+ # naming) as a direct replacement of `DisplayName`.
12901
+ #
12902
+ # This change affects the following Amazon Web Services Regions: US
12903
+ # East
12904
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
12905
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
12906
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
12907
+ # America (São Paulo) Region.
12908
+ #
12685
12909
  # Lists the parts that have been uploaded for a specific multipart
12686
12910
  # upload.
12687
12911
  #
@@ -12997,7 +13221,7 @@ module Aws::S3
12997
13221
  # resp.initiator.display_name #=> String
12998
13222
  # resp.owner.display_name #=> String
12999
13223
  # resp.owner.id #=> String
13000
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE"
13224
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS"
13001
13225
  # resp.request_charged #=> String, one of "requester"
13002
13226
  # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
13003
13227
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
@@ -13110,6 +13334,20 @@ module Aws::S3
13110
13334
  req.send_request(options)
13111
13335
  end
13112
13336
 
13337
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
13338
+ # discontinue support for creating new Email Grantee Access Control
13339
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
13340
+ # continue to work and remain accessible through the Amazon Web Services
13341
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
13342
+ # However, you will no longer be able to create new Email Grantee ACLs.
13343
+ #
13344
+ # This change affects the following Amazon Web Services Regions: US
13345
+ # East
13346
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13347
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13348
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13349
+ # America (São Paulo) Region.
13350
+ #
13113
13351
  # <note markdown="1"> This operation is not supported for directory buckets.
13114
13352
  #
13115
13353
  # </note>
@@ -13216,7 +13454,10 @@ module Aws::S3
13216
13454
  # Grantee Values
13217
13455
  #
13218
13456
  # : You can specify the person (grantee) to whom you're assigning
13219
- # access rights (using request elements) in the following ways:
13457
+ # access rights (using request elements) in the following ways. For
13458
+ # examples of how to specify these grantee values in JSON format, see
13459
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
13460
+ # access logging][6] in the *Amazon S3 User Guide*.
13220
13461
  #
13221
13462
  # * By the person's ID:
13222
13463
  #
@@ -13266,11 +13507,11 @@ module Aws::S3
13266
13507
  #
13267
13508
  # The following operations are related to `PutBucketAcl`:
13268
13509
  #
13269
- # * [CreateBucket][6]
13510
+ # * [CreateBucket][7]
13270
13511
  #
13271
- # * [DeleteBucket][7]
13512
+ # * [DeleteBucket][8]
13272
13513
  #
13273
- # * [GetObjectAcl][8]
13514
+ # * [GetObjectAcl][9]
13274
13515
  #
13275
13516
  #
13276
13517
  #
@@ -13279,9 +13520,10 @@ module Aws::S3
13279
13520
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
13280
13521
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
13281
13522
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
13282
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13283
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13284
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
13523
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
13524
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13525
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13526
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
13285
13527
  #
13286
13528
  # @option params [String] :acl
13287
13529
  # The canned ACL to apply to the bucket.
@@ -13935,7 +14177,7 @@ module Aws::S3
13935
14177
  # rules: [ # required
13936
14178
  # {
13937
14179
  # apply_server_side_encryption_by_default: {
13938
- # sse_algorithm: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
14180
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
13939
14181
  # kms_master_key_id: "SSEKMSKeyId",
13940
14182
  # },
13941
14183
  # bucket_key_enabled: false,
@@ -14032,6 +14274,11 @@ module Aws::S3
14032
14274
  # @option params [required, String] :id
14033
14275
  # The ID used to identify the S3 Intelligent-Tiering configuration.
14034
14276
  #
14277
+ # @option params [String] :expected_bucket_owner
14278
+ # The account ID of the expected bucket owner. If the account ID that
14279
+ # you provide does not match the actual owner of the bucket, the request
14280
+ # fails with the HTTP status code `403 Forbidden` (access denied).
14281
+ #
14035
14282
  # @option params [required, Types::IntelligentTieringConfiguration] :intelligent_tiering_configuration
14036
14283
  # Container for S3 Intelligent-Tiering configuration.
14037
14284
  #
@@ -14042,6 +14289,7 @@ module Aws::S3
14042
14289
  # resp = client.put_bucket_intelligent_tiering_configuration({
14043
14290
  # bucket: "BucketName", # required
14044
14291
  # id: "IntelligentTieringId", # required
14292
+ # expected_bucket_owner: "AccountId",
14045
14293
  # intelligent_tiering_configuration: { # required
14046
14294
  # id: "IntelligentTieringId", # required
14047
14295
  # filter: {
@@ -14680,6 +14928,20 @@ module Aws::S3
14680
14928
  req.send_request(options)
14681
14929
  end
14682
14930
 
14931
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
14932
+ # discontinue support for creating new Email Grantee Access Control
14933
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
14934
+ # continue to work and remain accessible through the Amazon Web Services
14935
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
14936
+ # However, you will no longer be able to create new Email Grantee ACLs.
14937
+ #
14938
+ # This change affects the following Amazon Web Services Regions: US
14939
+ # East
14940
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
14941
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
14942
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
14943
+ # America (São Paulo) Region.
14944
+ #
14683
14945
  # <note markdown="1"> This operation is not supported for directory buckets.
14684
14946
  #
14685
14947
  # </note>
@@ -14703,7 +14965,10 @@ module Aws::S3
14703
14965
  # Grantee Values
14704
14966
  #
14705
14967
  # : You can specify the person (grantee) to whom you're assigning
14706
- # access rights (by using request elements) in the following ways:
14968
+ # access rights (by using request elements) in the following ways. For
14969
+ # examples of how to specify these grantee values in JSON format, see
14970
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
14971
+ # access logging][2] in the *Amazon S3 User Guide*.
14707
14972
  #
14708
14973
  # * By the person's ID:
14709
14974
  #
@@ -14734,30 +14999,31 @@ module Aws::S3
14734
14999
  # />`
14735
15000
  #
14736
15001
  # For more information about server access logging, see [Server Access
14737
- # Logging][2] in the *Amazon S3 User Guide*.
15002
+ # Logging][3] in the *Amazon S3 User Guide*.
14738
15003
  #
14739
- # For more information about creating a bucket, see [CreateBucket][3].
15004
+ # For more information about creating a bucket, see [CreateBucket][4].
14740
15005
  # For more information about returning the logging status of a bucket,
14741
- # see [GetBucketLogging][4].
15006
+ # see [GetBucketLogging][5].
14742
15007
  #
14743
15008
  # The following operations are related to `PutBucketLogging`:
14744
15009
  #
14745
- # * [PutObject][5]
15010
+ # * [PutObject][6]
14746
15011
  #
14747
- # * [DeleteBucket][6]
15012
+ # * [DeleteBucket][7]
14748
15013
  #
14749
- # * [CreateBucket][3]
15014
+ # * [CreateBucket][4]
14750
15015
  #
14751
- # * [GetBucketLogging][4]
15016
+ # * [GetBucketLogging][5]
14752
15017
  #
14753
15018
  #
14754
15019
  #
14755
15020
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
14756
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
14757
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14758
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
14759
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
14760
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
15021
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
15022
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
15023
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
15024
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
15025
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
15026
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
14761
15027
  #
14762
15028
  # @option params [required, String] :bucket
14763
15029
  # The name of the bucket for which to set the logging parameters.
@@ -15280,6 +15546,22 @@ module Aws::S3
15280
15546
  # The `OwnershipControls` (BucketOwnerEnforced, BucketOwnerPreferred, or
15281
15547
  # ObjectWriter) that you want to apply to this Amazon S3 bucket.
15282
15548
  #
15549
+ # @option params [String] :checksum_algorithm
15550
+ # Indicates the algorithm used to create the checksum for the object
15551
+ # when you use the SDK. This header will not provide any additional
15552
+ # functionality if you don't use the SDK. When you send this header,
15553
+ # there must be a corresponding `x-amz-checksum-algorithm ` header sent.
15554
+ # Otherwise, Amazon S3 fails the request with the HTTP status code `400
15555
+ # Bad Request`. For more information, see [Checking object integrity][1]
15556
+ # in the *Amazon S3 User Guide*.
15557
+ #
15558
+ # If you provide an individual checksum, Amazon S3 ignores any provided
15559
+ # `ChecksumAlgorithm` parameter.
15560
+ #
15561
+ #
15562
+ #
15563
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
15564
+ #
15283
15565
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
15284
15566
  #
15285
15567
  # @example Request syntax with placeholder values
@@ -15295,6 +15577,7 @@ module Aws::S3
15295
15577
  # },
15296
15578
  # ],
15297
15579
  # },
15580
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15298
15581
  # })
15299
15582
  #
15300
15583
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls AWS API Documentation
@@ -15712,7 +15995,7 @@ module Aws::S3
15712
15995
  # destination: { # required
15713
15996
  # bucket: "BucketName", # required
15714
15997
  # account: "AccountId",
15715
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
15998
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
15716
15999
  # access_control_translation: {
15717
16000
  # owner: "Destination", # required, accepts Destination
15718
16001
  # },
@@ -16324,6 +16607,20 @@ module Aws::S3
16324
16607
  req.send_request(options)
16325
16608
  end
16326
16609
 
16610
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will
16611
+ # discontinue support for creating new Email Grantee Access Control
16612
+ # Lists (ACL). Email Grantee ACLs created prior to this date will
16613
+ # continue to work and remain accessible through the Amazon Web Services
16614
+ # Management Console, Command Line Interface (CLI), SDKs, and REST API.
16615
+ # However, you will no longer be able to create new Email Grantee ACLs.
16616
+ #
16617
+ # This change affects the following Amazon Web Services Regions: US
16618
+ # East
16619
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
16620
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
16621
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
16622
+ # America (São Paulo) Region.
16623
+ #
16327
16624
  # Adds an object to a bucket.
16328
16625
  #
16329
16626
  # <note markdown="1"> * Amazon S3 never adds partial objects; if you receive a success
@@ -16832,8 +17129,7 @@ module Aws::S3
16832
17129
  #
16833
17130
  # @option params [String] :server_side_encryption
16834
17131
  # The server-side encryption algorithm that was used when you store this
16835
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
16836
- # `aws:kms:dsse`).
17132
+ # object in Amazon S3 or Amazon FSx.
16837
17133
  #
16838
17134
  # * <b>General purpose buckets </b> - You have four mutually exclusive
16839
17135
  # options to protect data using server-side encryption in Amazon S3,
@@ -16887,6 +17183,14 @@ module Aws::S3
16887
17183
  #
16888
17184
  # </note>
16889
17185
  #
17186
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
17187
+ # in Amazon FSx file systems using S3 access points, the only valid
17188
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
17189
+ # systems have encryption configured by default and are encrypted at
17190
+ # rest. Data is automatically encrypted before being written to the
17191
+ # file system, and automatically decrypted as it is read. These
17192
+ # processes are handled transparently by Amazon FSx.
17193
+ #
16890
17194
  #
16891
17195
  #
16892
17196
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -17133,38 +17437,39 @@ module Aws::S3
17133
17437
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
17134
17438
  #
17135
17439
  #
17136
- # @example Example: To create an object.
17440
+ # @example Example: To upload an object and specify canned ACL.
17137
17441
  #
17138
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17442
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17443
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
17139
17444
  #
17140
17445
  # resp = client.put_object({
17446
+ # acl: "authenticated-read",
17141
17447
  # body: "filetoupload",
17142
17448
  # bucket: "examplebucket",
17143
- # key: "objectkey",
17449
+ # key: "exampleobject",
17144
17450
  # })
17145
17451
  #
17146
17452
  # resp.to_h outputs the following:
17147
17453
  # {
17148
17454
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17149
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17455
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17150
17456
  # }
17151
17457
  #
17152
- # @example Example: To upload an object and specify optional tags
17458
+ # @example Example: To upload an object
17153
17459
  #
17154
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17155
- # # S3 returns version ID of the newly created object.
17460
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
17461
+ # # syntax. S3 returns VersionId of the newly created object.
17156
17462
  #
17157
17463
  # resp = client.put_object({
17158
- # body: "c:\\HappyFace.jpg",
17464
+ # body: "HappyFace.jpg",
17159
17465
  # bucket: "examplebucket",
17160
17466
  # key: "HappyFace.jpg",
17161
- # tagging: "key1=value1&key2=value2",
17162
17467
  # })
17163
17468
  #
17164
17469
  # resp.to_h outputs the following:
17165
17470
  # {
17166
17471
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17167
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
17472
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17168
17473
  # }
17169
17474
  #
17170
17475
  # @example Example: To upload an object (specify optional headers)
@@ -17187,22 +17492,22 @@ module Aws::S3
17187
17492
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17188
17493
  # }
17189
17494
  #
17190
- # @example Example: To upload an object and specify canned ACL.
17495
+ # @example Example: To upload an object and specify optional tags
17191
17496
  #
17192
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17193
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
17497
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17498
+ # # S3 returns version ID of the newly created object.
17194
17499
  #
17195
17500
  # resp = client.put_object({
17196
- # acl: "authenticated-read",
17197
- # body: "filetoupload",
17501
+ # body: "c:\\HappyFace.jpg",
17198
17502
  # bucket: "examplebucket",
17199
- # key: "exampleobject",
17503
+ # key: "HappyFace.jpg",
17504
+ # tagging: "key1=value1&key2=value2",
17200
17505
  # })
17201
17506
  #
17202
17507
  # resp.to_h outputs the following:
17203
17508
  # {
17204
17509
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17205
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17510
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
17206
17511
  # }
17207
17512
  #
17208
17513
  # @example Example: To upload an object and specify server-side encryption and object tags
@@ -17246,21 +17551,20 @@ module Aws::S3
17246
17551
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
17247
17552
  # }
17248
17553
  #
17249
- # @example Example: To upload an object
17554
+ # @example Example: To create an object.
17250
17555
  #
17251
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
17252
- # # syntax. S3 returns VersionId of the newly created object.
17556
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
17253
17557
  #
17254
17558
  # resp = client.put_object({
17255
- # body: "HappyFace.jpg",
17559
+ # body: "filetoupload",
17256
17560
  # bucket: "examplebucket",
17257
- # key: "HappyFace.jpg",
17561
+ # key: "objectkey",
17258
17562
  # })
17259
17563
  #
17260
17564
  # resp.to_h outputs the following:
17261
17565
  # {
17262
17566
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17263
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17567
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17264
17568
  # }
17265
17569
  #
17266
17570
  # @example Streaming a file from disk
@@ -17300,8 +17604,8 @@ module Aws::S3
17300
17604
  # metadata: {
17301
17605
  # "MetadataKey" => "MetadataValue",
17302
17606
  # },
17303
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
17304
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
17607
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
17608
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
17305
17609
  # website_redirect_location: "WebsiteRedirectLocation",
17306
17610
  # sse_customer_algorithm: "SSECustomerAlgorithm",
17307
17611
  # sse_customer_key: "SSECustomerKey",
@@ -17327,7 +17631,7 @@ module Aws::S3
17327
17631
  # resp.checksum_sha1 #=> String
17328
17632
  # resp.checksum_sha256 #=> String
17329
17633
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
17330
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
17634
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
17331
17635
  # resp.version_id #=> String
17332
17636
  # resp.sse_customer_algorithm #=> String
17333
17637
  # resp.sse_customer_key_md5 #=> String
@@ -17443,7 +17747,10 @@ module Aws::S3
17443
17747
  # Grantee Values
17444
17748
  #
17445
17749
  # : You can specify the person (grantee) to whom you're assigning
17446
- # access rights (using request elements) in the following ways:
17750
+ # access rights (using request elements) in the following ways. For
17751
+ # examples of how to specify these grantee values in JSON format, see
17752
+ # the Amazon Web Services CLI example in [ Enabling Amazon S3 server
17753
+ # access logging][6] in the *Amazon S3 User Guide*.
17447
17754
  #
17448
17755
  # * By the person's ID:
17449
17756
  #
@@ -17499,9 +17806,9 @@ module Aws::S3
17499
17806
  #
17500
17807
  # The following operations are related to `PutObjectAcl`:
17501
17808
  #
17502
- # * [CopyObject][6]
17809
+ # * [CopyObject][7]
17503
17810
  #
17504
- # * [GetObject][7]
17811
+ # * [GetObject][8]
17505
17812
  #
17506
17813
  #
17507
17814
  #
@@ -17510,8 +17817,9 @@ module Aws::S3
17510
17817
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
17511
17818
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
17512
17819
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
17513
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
17514
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
17820
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html
17821
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
17822
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
17515
17823
  #
17516
17824
  # @option params [String] :acl
17517
17825
  # The canned ACL to apply to the object. For more information, see
@@ -18397,6 +18705,179 @@ module Aws::S3
18397
18705
  req.send_request(options)
18398
18706
  end
18399
18707
 
18708
+ # Renames an existing object in a directory bucket that uses the S3
18709
+ # Express One Zone storage class. You can use `RenameObject` by
18710
+ # specifying an existing object’s name as the source and the new name of
18711
+ # the object as the destination within the same directory bucket.
18712
+ #
18713
+ # <note markdown="1"> `RenameObject` is only supported for objects stored in the S3 Express
18714
+ # One Zone storage class.
18715
+ #
18716
+ # </note>
18717
+ #
18718
+ # To prevent overwriting an object, you can use the `If-None-Match`
18719
+ # conditional header.
18720
+ #
18721
+ # * **If-None-Match** - Renames the object only if an object with the
18722
+ # specified name does not already exist in the directory bucket. If
18723
+ # you don't want to overwrite an existing object, you can add the
18724
+ # `If-None-Match` conditional header with the value `‘*’` in the
18725
+ # `RenameObject` request. Amazon S3 then returns a `412 Precondition
18726
+ # Failed` error if the object with the specified name already exists.
18727
+ # For more information, see [RFC 7232][1].
18728
+ #
18729
+ # ^
18730
+ #
18731
+ # Permissions
18732
+ #
18733
+ # : To grant access to the `RenameObject` operation on a directory
18734
+ # bucket, we recommend that you use the `CreateSession` operation for
18735
+ # session-based authorization. Specifically, you grant the
18736
+ # `s3express:CreateSession` permission to the directory bucket in a
18737
+ # bucket policy or an IAM identity-based policy. Then, you make the
18738
+ # `CreateSession` API call on the directory bucket to obtain a session
18739
+ # token. With the session token in your request header, you can make
18740
+ # API requests to this operation. After the session token expires, you
18741
+ # make another `CreateSession` API call to generate a new session
18742
+ # token for use. The Amazon Web Services CLI and SDKs will create and
18743
+ # manage your session including refreshing the session token
18744
+ # automatically to avoid service interruptions when a session expires.
18745
+ # In your bucket policy, you can specify the `s3express:SessionMode`
18746
+ # condition key to control who can create a `ReadWrite` or `ReadOnly`
18747
+ # session. A `ReadWrite` session is required for executing all the
18748
+ # Zonal endpoint API operations, including `RenameObject`. For more
18749
+ # information about authorization, see [ `CreateSession` ][2]. To
18750
+ # learn more about Zonal endpoint API operations, see [Authorizing
18751
+ # Zonal endpoint API operations with CreateSession][3] in the *Amazon
18752
+ # S3 User Guide*.
18753
+ #
18754
+ # HTTP Host header syntax
18755
+ #
18756
+ # : <b>Directory buckets </b> - The HTTP Host header syntax is `
18757
+ # Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
18758
+ #
18759
+ #
18760
+ #
18761
+ # [1]: https://datatracker.ietf.org/doc/rfc7232/
18762
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
18763
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-create-session.html
18764
+ #
18765
+ # @option params [required, String] :bucket
18766
+ # The bucket name of the directory bucket containing the object.
18767
+ #
18768
+ # You must use virtual-hosted-style requests in the format
18769
+ # `Bucket-name.s3express-zone-id.region-code.amazonaws.com`. Path-style
18770
+ # requests are not supported. Directory bucket names must be unique in
18771
+ # the chosen Availability Zone. Bucket names must follow the format
18772
+ # `bucket-base-name--zone-id--x-s3 ` (for example,
18773
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
18774
+ # naming restrictions, see [Directory bucket naming rules][1] in the
18775
+ # *Amazon S3 User Guide*.
18776
+ #
18777
+ #
18778
+ #
18779
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
18780
+ #
18781
+ # @option params [required, String] :key
18782
+ # Key name of the object to rename.
18783
+ #
18784
+ # @option params [required, String] :rename_source
18785
+ # Specifies the source for the rename operation. The value must be URL
18786
+ # encoded.
18787
+ #
18788
+ # @option params [String] :destination_if_match
18789
+ # Renames the object only if the ETag (entity tag) value provided during
18790
+ # the operation matches the ETag of the object in S3. The `If-Match`
18791
+ # header field makes the request method conditional on ETags. If the
18792
+ # ETag values do not match, the operation returns a `412 Precondition
18793
+ # Failed` error.
18794
+ #
18795
+ # Expects the ETag value as a string.
18796
+ #
18797
+ # @option params [String] :destination_if_none_match
18798
+ # Renames the object only if the destination does not already exist in
18799
+ # the specified directory bucket. If the object does exist when you send
18800
+ # a request with `If-None-Match:*`, the S3 API will return a `412
18801
+ # Precondition Failed` error, preventing an overwrite. The
18802
+ # `If-None-Match` header prevents overwrites of existing data by
18803
+ # validating that there's not an object with the same key name already
18804
+ # in your directory bucket.
18805
+ #
18806
+ # Expects the `*` character (asterisk).
18807
+ #
18808
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_modified_since
18809
+ # Renames the object if the destination exists and if it has been
18810
+ # modified since the specified time.
18811
+ #
18812
+ # @option params [Time,DateTime,Date,Integer,String] :destination_if_unmodified_since
18813
+ # Renames the object if it hasn't been modified since the specified
18814
+ # time.
18815
+ #
18816
+ # @option params [String] :source_if_match
18817
+ # Renames the object if the source exists and if its entity tag (ETag)
18818
+ # matches the specified ETag.
18819
+ #
18820
+ # @option params [String] :source_if_none_match
18821
+ # Renames the object if the source exists and if its entity tag (ETag)
18822
+ # is different than the specified ETag. If an asterisk (`*`) character
18823
+ # is provided, the operation will fail and return a `412 Precondition
18824
+ # Failed` error.
18825
+ #
18826
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_modified_since
18827
+ # Renames the object if the source exists and if it has been modified
18828
+ # since the specified time.
18829
+ #
18830
+ # @option params [Time,DateTime,Date,Integer,String] :source_if_unmodified_since
18831
+ # Renames the object if the source exists and hasn't been modified
18832
+ # since the specified time.
18833
+ #
18834
+ # @option params [String] :client_token
18835
+ # A unique string with a max of 64 ASCII characters in the ASCII range
18836
+ # of 33 - 126.
18837
+ #
18838
+ # <note markdown="1"> `RenameObject` supports idempotency using a client token. To make an
18839
+ # idempotent API request using `RenameObject`, specify a client token in
18840
+ # the request. You should not reuse the same client token for other API
18841
+ # requests. If you retry a request that completed successfully using the
18842
+ # same client token and the same parameters, the retry succeeds without
18843
+ # performing any further actions. If you retry a successful request
18844
+ # using the same client token, but one or more of the parameters are
18845
+ # different, the retry fails and an `IdempotentParameterMismatch` error
18846
+ # is returned.
18847
+ #
18848
+ # </note>
18849
+ #
18850
+ # **A suitable default value is auto-generated.** You should normally
18851
+ # not need to pass this option.**
18852
+ #
18853
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
18854
+ #
18855
+ # @example Request syntax with placeholder values
18856
+ #
18857
+ # resp = client.rename_object({
18858
+ # bucket: "BucketName", # required
18859
+ # key: "ObjectKey", # required
18860
+ # rename_source: "RenameSource", # required
18861
+ # destination_if_match: "IfMatch",
18862
+ # destination_if_none_match: "IfNoneMatch",
18863
+ # destination_if_modified_since: Time.now,
18864
+ # destination_if_unmodified_since: Time.now,
18865
+ # source_if_match: "RenameSourceIfMatch",
18866
+ # source_if_none_match: "RenameSourceIfNoneMatch",
18867
+ # source_if_modified_since: Time.now,
18868
+ # source_if_unmodified_since: Time.now,
18869
+ # client_token: "ClientToken",
18870
+ # })
18871
+ #
18872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObject AWS API Documentation
18873
+ #
18874
+ # @overload rename_object(params = {})
18875
+ # @param [Hash] params ({})
18876
+ def rename_object(params = {}, options = {})
18877
+ req = build_request(:rename_object, params)
18878
+ req.send_request(options)
18879
+ end
18880
+
18400
18881
  # <note markdown="1"> This operation is not supported for directory buckets.
18401
18882
  #
18402
18883
  # </note>
@@ -18727,7 +19208,7 @@ module Aws::S3
18727
19208
  # bucket_name: "BucketName", # required
18728
19209
  # prefix: "LocationPrefix", # required
18729
19210
  # encryption: {
18730
- # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
19211
+ # encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
18731
19212
  # kms_key_id: "SSEKMSKeyId",
18732
19213
  # kms_context: "KMSContext",
18733
19214
  # },
@@ -18758,7 +19239,7 @@ module Aws::S3
18758
19239
  # value: "MetadataValue",
18759
19240
  # },
18760
19241
  # ],
18761
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
19242
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
18762
19243
  # },
18763
19244
  # },
18764
19245
  # },
@@ -19651,7 +20132,7 @@ module Aws::S3
19651
20132
  #
19652
20133
  # @example Response structure
19653
20134
  #
19654
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
20135
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
19655
20136
  # resp.etag #=> String
19656
20137
  # resp.checksum_crc32 #=> String
19657
20138
  # resp.checksum_crc32c #=> String
@@ -20162,45 +20643,45 @@ module Aws::S3
20162
20643
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
20163
20644
  #
20164
20645
  #
20165
- # @example Example: To upload a part by copying byte range from an existing object as data source
20646
+ # @example Example: To upload a part by copying data from an existing object as data source
20166
20647
  #
20167
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
20168
- # # data source.
20648
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
20169
20649
  #
20170
20650
  # resp = client.upload_part_copy({
20171
20651
  # bucket: "examplebucket",
20172
20652
  # copy_source: "/bucketname/sourceobjectkey",
20173
- # copy_source_range: "bytes=1-100000",
20174
20653
  # key: "examplelargeobject",
20175
- # part_number: 2,
20654
+ # part_number: 1,
20176
20655
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
20177
20656
  # })
20178
20657
  #
20179
20658
  # resp.to_h outputs the following:
20180
20659
  # {
20181
20660
  # copy_part_result: {
20182
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
20183
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20661
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20662
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
20184
20663
  # },
20185
20664
  # }
20186
20665
  #
20187
- # @example Example: To upload a part by copying data from an existing object as data source
20666
+ # @example Example: To upload a part by copying byte range from an existing object as data source
20188
20667
  #
20189
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
20668
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
20669
+ # # data source.
20190
20670
  #
20191
20671
  # resp = client.upload_part_copy({
20192
20672
  # bucket: "examplebucket",
20193
20673
  # copy_source: "/bucketname/sourceobjectkey",
20674
+ # copy_source_range: "bytes=1-100000",
20194
20675
  # key: "examplelargeobject",
20195
- # part_number: 1,
20676
+ # part_number: 2,
20196
20677
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
20197
20678
  # })
20198
20679
  #
20199
20680
  # resp.to_h outputs the following:
20200
20681
  # {
20201
20682
  # copy_part_result: {
20202
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20203
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
20683
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
20684
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20204
20685
  # },
20205
20686
  # }
20206
20687
  #
@@ -20238,7 +20719,7 @@ module Aws::S3
20238
20719
  # resp.copy_part_result.checksum_crc64nvme #=> String
20239
20720
  # resp.copy_part_result.checksum_sha1 #=> String
20240
20721
  # resp.copy_part_result.checksum_sha256 #=> String
20241
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
20722
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:fsx", "aws:kms", "aws:kms:dsse"
20242
20723
  # resp.sse_customer_algorithm #=> String
20243
20724
  # resp.sse_customer_key_md5 #=> String
20244
20725
  # resp.ssekms_key_id #=> String
@@ -20547,19 +21028,30 @@ module Aws::S3
20547
21028
  #
20548
21029
  # @option params [String] :request_charged
20549
21030
  # If present, indicates that the requester was successfully charged for
20550
- # the request.
21031
+ # the request. For more information, see [Using Requester Pays buckets
21032
+ # for storage transfers and usage][1] in the *Amazon Simple Storage
21033
+ # Service user guide*.
20551
21034
  #
20552
21035
  # <note markdown="1"> This functionality is not supported for directory buckets.
20553
21036
  #
20554
21037
  # </note>
20555
21038
  #
21039
+ #
21040
+ #
21041
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
21042
+ #
20556
21043
  # @option params [String] :restore
20557
21044
  # Provides information about object restoration operation and expiration
20558
21045
  # time of the restored object copy.
20559
21046
  #
20560
21047
  # @option params [String] :server_side_encryption
20561
21048
  # The server-side encryption algorithm used when storing requested
20562
- # object in Amazon S3 (for example, AES256, `aws:kms`).
21049
+ # object in Amazon S3 or Amazon FSx.
21050
+ #
21051
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3 access
21052
+ # points, the only valid server side encryption option is `aws:fsx`.
21053
+ #
21054
+ # </note>
20563
21055
  #
20564
21056
  # @option params [String] :sse_customer_algorithm
20565
21057
  # Encryption algorithm used if server-side encryption with a
@@ -20643,11 +21135,11 @@ module Aws::S3
20643
21135
  # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA, COMPLETED
20644
21136
  # request_charged: "requester", # accepts requester
20645
21137
  # restore: "Restore",
20646
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
21138
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
20647
21139
  # sse_customer_algorithm: "SSECustomerAlgorithm",
20648
21140
  # ssekms_key_id: "SSEKMSKeyId",
20649
21141
  # sse_customer_key_md5: "SSECustomerKeyMD5",
20650
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
21142
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
20651
21143
  # tag_count: 1,
20652
21144
  # version_id: "ObjectVersionId",
20653
21145
  # bucket_key_enabled: false,
@@ -20680,7 +21172,7 @@ module Aws::S3
20680
21172
  tracer: tracer
20681
21173
  )
20682
21174
  context[:gem_name] = 'aws-sdk-s3'
20683
- context[:gem_version] = '1.186.1'
21175
+ context[:gem_version] = '1.191.0'
20684
21176
  Seahorse::Client::Request.new(handlers, context)
20685
21177
  end
20686
21178