aws-sdk-s3 1.184.0 → 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.
@@ -256,8 +256,7 @@ module Aws::S3
256
256
  # accepted modes and the configuration defaults that are included.
257
257
  #
258
258
  # @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.
259
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
261
260
  #
262
261
  # @option options [Boolean] :disable_request_compression (false)
263
262
  # When set to 'true' the request body will not be compressed
@@ -1265,7 +1264,7 @@ module Aws::S3
1265
1264
  # resp.checksum_sha1 #=> String
1266
1265
  # resp.checksum_sha256 #=> String
1267
1266
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
1268
- # 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"
1269
1268
  # resp.version_id #=> String
1270
1269
  # resp.ssekms_key_id #=> String
1271
1270
  # resp.bucket_key_enabled #=> Boolean
@@ -1280,6 +1279,20 @@ module Aws::S3
1280
1279
  req.send_request(options)
1281
1280
  end
1282
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
+ #
1283
1296
  # Creates a copy of an object that is already stored in Amazon S3.
1284
1297
  #
1285
1298
  # <note markdown="1"> You can store individual objects of up to 5 TB in Amazon S3. You
@@ -1915,6 +1928,14 @@ module Aws::S3
1915
1928
  # key is the same customer managed key that you specified for the
1916
1929
  # directory bucket's default encryption configuration.
1917
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
+ #
1918
1939
  #
1919
1940
  #
1920
1941
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
@@ -2298,8 +2319,8 @@ module Aws::S3
2298
2319
  # },
2299
2320
  # metadata_directive: "COPY", # accepts COPY, REPLACE
2300
2321
  # tagging_directive: "COPY", # accepts COPY, REPLACE
2301
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2302
- # 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
2303
2324
  # website_redirect_location: "WebsiteRedirectLocation",
2304
2325
  # sse_customer_algorithm: "SSECustomerAlgorithm",
2305
2326
  # sse_customer_key: "SSECustomerKey",
@@ -2332,7 +2353,7 @@ module Aws::S3
2332
2353
  # resp.expiration #=> String
2333
2354
  # resp.copy_source_version_id #=> String
2334
2355
  # resp.version_id #=> String
2335
- # 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"
2336
2357
  # resp.sse_customer_algorithm #=> String
2337
2358
  # resp.sse_customer_key_md5 #=> String
2338
2359
  # resp.ssekms_key_id #=> String
@@ -2349,6 +2370,33 @@ module Aws::S3
2349
2370
  req.send_request(options)
2350
2371
  end
2351
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
+ #
2352
2400
  # <note markdown="1"> This action creates an Amazon S3 bucket. To create an Amazon S3 on
2353
2401
  # Outposts bucket, see [ `CreateBucket` ][1].
2354
2402
  #
@@ -2606,33 +2654,33 @@ module Aws::S3
2606
2654
  # * {Types::CreateBucketOutput#location #location} => String
2607
2655
  #
2608
2656
  #
2609
- # @example Example: To create a bucket
2657
+ # @example Example: To create a bucket in a specific region
2610
2658
  #
2611
- # # The following example creates a bucket.
2659
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2612
2660
  #
2613
2661
  # resp = client.create_bucket({
2614
2662
  # bucket: "examplebucket",
2663
+ # create_bucket_configuration: {
2664
+ # location_constraint: "eu-west-1",
2665
+ # },
2615
2666
  # })
2616
2667
  #
2617
2668
  # resp.to_h outputs the following:
2618
2669
  # {
2619
- # location: "/examplebucket",
2670
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2620
2671
  # }
2621
2672
  #
2622
- # @example Example: To create a bucket in a specific region
2673
+ # @example Example: To create a bucket
2623
2674
  #
2624
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2675
+ # # The following example creates a bucket.
2625
2676
  #
2626
2677
  # resp = client.create_bucket({
2627
2678
  # bucket: "examplebucket",
2628
- # create_bucket_configuration: {
2629
- # location_constraint: "eu-west-1",
2630
- # },
2631
2679
  # })
2632
2680
  #
2633
2681
  # resp.to_h outputs the following:
2634
2682
  # {
2635
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2683
+ # location: "/examplebucket",
2636
2684
  # }
2637
2685
  #
2638
2686
  # @example Request syntax with placeholder values
@@ -2757,6 +2805,20 @@ module Aws::S3
2757
2805
  req.send_request(options)
2758
2806
  end
2759
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
+ #
2760
2822
  # This action initiates a multipart upload and returns an upload ID.
2761
2823
  # This upload ID is used to associate all of the parts in the specific
2762
2824
  # multipart upload. You specify this upload ID in each of your
@@ -3373,7 +3435,7 @@ module Aws::S3
3373
3435
  #
3374
3436
  # @option params [String] :server_side_encryption
3375
3437
  # The server-side encryption algorithm used when you store this object
3376
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3438
+ # in Amazon S3 or Amazon FSx.
3377
3439
  #
3378
3440
  # * <b>Directory buckets </b> - For directory buckets, there are only
3379
3441
  # two supported options for server-side encryption: server-side
@@ -3415,6 +3477,14 @@ module Aws::S3
3415
3477
  #
3416
3478
  # </note>
3417
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
+ #
3418
3488
  #
3419
3489
  #
3420
3490
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -3672,8 +3742,8 @@ module Aws::S3
3672
3742
  # metadata: {
3673
3743
  # "MetadataKey" => "MetadataValue",
3674
3744
  # },
3675
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
3676
- # 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
3677
3747
  # website_redirect_location: "WebsiteRedirectLocation",
3678
3748
  # sse_customer_algorithm: "SSECustomerAlgorithm",
3679
3749
  # sse_customer_key: "SSECustomerKey",
@@ -3698,7 +3768,7 @@ module Aws::S3
3698
3768
  # resp.bucket #=> String
3699
3769
  # resp.key #=> String
3700
3770
  # resp.upload_id #=> String
3701
- # 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"
3702
3772
  # resp.sse_customer_algorithm #=> String
3703
3773
  # resp.sse_customer_key_md5 #=> String
3704
3774
  # resp.ssekms_key_id #=> String
@@ -3905,6 +3975,14 @@ module Aws::S3
3905
3975
  # SSE-S3. For more information, see [Protecting data with server-side
3906
3976
  # encryption][1] in the *Amazon S3 User Guide*.
3907
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
+ #
3908
3986
  #
3909
3987
  #
3910
3988
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
@@ -3985,7 +4063,7 @@ module Aws::S3
3985
4063
  # resp = client.create_session({
3986
4064
  # session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
3987
4065
  # bucket: "BucketName", # required
3988
- # 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
3989
4067
  # ssekms_key_id: "SSEKMSKeyId",
3990
4068
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
3991
4069
  # bucket_key_enabled: false,
@@ -3993,7 +4071,7 @@ module Aws::S3
3993
4071
  #
3994
4072
  # @example Response structure
3995
4073
  #
3996
- # 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"
3997
4075
  # resp.ssekms_key_id #=> String
3998
4076
  # resp.ssekms_encryption_context #=> String
3999
4077
  # resp.bucket_key_enabled #=> Boolean
@@ -4401,6 +4479,11 @@ module Aws::S3
4401
4479
  # @option params [required, String] :id
4402
4480
  # The ID used to identify the S3 Intelligent-Tiering configuration.
4403
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
+ #
4404
4487
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4405
4488
  #
4406
4489
  # @example Request syntax with placeholder values
@@ -4408,6 +4491,7 @@ module Aws::S3
4408
4491
  # resp = client.delete_bucket_intelligent_tiering_configuration({
4409
4492
  # bucket: "BucketName", # required
4410
4493
  # id: "IntelligentTieringId", # required
4494
+ # expected_bucket_owner: "AccountId",
4411
4495
  # })
4412
4496
  #
4413
4497
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration AWS API Documentation
@@ -5797,22 +5881,20 @@ module Aws::S3
5797
5881
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
5798
5882
  #
5799
5883
  #
5800
- # @example Example: To delete multiple object versions from a versioned bucket
5884
+ # @example Example: To delete multiple objects from a versioned bucket
5801
5885
  #
5802
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
5803
- # # 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.
5804
5888
  #
5805
5889
  # resp = client.delete_objects({
5806
5890
  # bucket: "examplebucket",
5807
5891
  # delete: {
5808
5892
  # objects: [
5809
5893
  # {
5810
- # key: "HappyFace.jpg",
5811
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5894
+ # key: "objectkey1",
5812
5895
  # },
5813
5896
  # {
5814
- # key: "HappyFace.jpg",
5815
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5897
+ # key: "objectkey2",
5816
5898
  # },
5817
5899
  # ],
5818
5900
  # quiet: false,
@@ -5823,30 +5905,34 @@ module Aws::S3
5823
5905
  # {
5824
5906
  # deleted: [
5825
5907
  # {
5826
- # key: "HappyFace.jpg",
5827
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5908
+ # delete_marker: true,
5909
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5910
+ # key: "objectkey1",
5828
5911
  # },
5829
5912
  # {
5830
- # key: "HappyFace.jpg",
5831
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5913
+ # delete_marker: true,
5914
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5915
+ # key: "objectkey2",
5832
5916
  # },
5833
5917
  # ],
5834
5918
  # }
5835
5919
  #
5836
- # @example Example: To delete multiple objects from a versioned bucket
5920
+ # @example Example: To delete multiple object versions from a versioned bucket
5837
5921
  #
5838
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
5839
- # # 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.
5840
5924
  #
5841
5925
  # resp = client.delete_objects({
5842
5926
  # bucket: "examplebucket",
5843
5927
  # delete: {
5844
5928
  # objects: [
5845
5929
  # {
5846
- # key: "objectkey1",
5930
+ # key: "HappyFace.jpg",
5931
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5847
5932
  # },
5848
5933
  # {
5849
- # key: "objectkey2",
5934
+ # key: "HappyFace.jpg",
5935
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5850
5936
  # },
5851
5937
  # ],
5852
5938
  # quiet: false,
@@ -5857,14 +5943,12 @@ module Aws::S3
5857
5943
  # {
5858
5944
  # deleted: [
5859
5945
  # {
5860
- # delete_marker: true,
5861
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
5862
- # key: "objectkey1",
5946
+ # key: "HappyFace.jpg",
5947
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
5863
5948
  # },
5864
5949
  # {
5865
- # delete_marker: true,
5866
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
5867
- # key: "objectkey2",
5950
+ # key: "HappyFace.jpg",
5951
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
5868
5952
  # },
5869
5953
  # ],
5870
5954
  # }
@@ -6068,6 +6152,19 @@ module Aws::S3
6068
6152
  req.send_request(options)
6069
6153
  end
6070
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
+ #
6071
6168
  # <note markdown="1"> This operation is not supported for directory buckets.
6072
6169
  #
6073
6170
  # </note>
@@ -6471,7 +6568,7 @@ module Aws::S3
6471
6568
  # @example Response structure
6472
6569
  #
6473
6570
  # resp.server_side_encryption_configuration.rules #=> Array
6474
- # 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"
6475
6572
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
6476
6573
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
6477
6574
  #
@@ -6533,6 +6630,11 @@ module Aws::S3
6533
6630
  # @option params [required, String] :id
6534
6631
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6535
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
+ #
6536
6638
  # @return [Types::GetBucketIntelligentTieringConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6537
6639
  #
6538
6640
  # * {Types::GetBucketIntelligentTieringConfigurationOutput#intelligent_tiering_configuration #intelligent_tiering_configuration} => Types::IntelligentTieringConfiguration
@@ -6542,6 +6644,7 @@ module Aws::S3
6542
6644
  # resp = client.get_bucket_intelligent_tiering_configuration({
6543
6645
  # bucket: "BucketName", # required
6544
6646
  # id: "IntelligentTieringId", # required
6647
+ # expected_bucket_owner: "AccountId",
6545
6648
  # })
6546
6649
  #
6547
6650
  # @example Response structure
@@ -7052,6 +7155,19 @@ module Aws::S3
7052
7155
  req.send_request(options)
7053
7156
  end
7054
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
+ #
7055
7171
  # <note markdown="1"> This operation is not supported for directory buckets.
7056
7172
  #
7057
7173
  # </note>
@@ -7515,6 +7631,21 @@ module Aws::S3
7515
7631
  # permission. For more information about Amazon S3 permissions, see
7516
7632
  # [Specifying permissions in a policy][1].
7517
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
+ #
7518
7649
  # For information about Amazon S3 Object Ownership, see [Using Object
7519
7650
  # Ownership][2].
7520
7651
  #
@@ -7898,7 +8029,7 @@ module Aws::S3
7898
8029
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
7899
8030
  # resp.replication_configuration.rules[0].destination.bucket #=> String
7900
8031
  # resp.replication_configuration.rules[0].destination.account #=> String
7901
- # 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"
7902
8033
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
7903
8034
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
7904
8035
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -8752,49 +8883,49 @@ module Aws::S3
8752
8883
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
8753
8884
  #
8754
8885
  #
8755
- # @example Example: To retrieve an object
8886
+ # @example Example: To retrieve a byte range of an object
8756
8887
  #
8757
- # # 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.
8758
8890
  #
8759
8891
  # resp = client.get_object({
8760
8892
  # bucket: "examplebucket",
8761
- # key: "HappyFace.jpg",
8893
+ # key: "SampleFile.txt",
8894
+ # range: "bytes=0-9",
8762
8895
  # })
8763
8896
  #
8764
8897
  # resp.to_h outputs the following:
8765
8898
  # {
8766
8899
  # accept_ranges: "bytes",
8767
- # content_length: 3191,
8768
- # content_type: "image/jpeg",
8769
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
8770
- # 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"),
8771
8905
  # metadata: {
8772
8906
  # },
8773
- # tag_count: 2,
8774
8907
  # version_id: "null",
8775
8908
  # }
8776
8909
  #
8777
- # @example Example: To retrieve a byte range of an object
8910
+ # @example Example: To retrieve an object
8778
8911
  #
8779
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
8780
- # # specific byte range.
8912
+ # # The following example retrieves an object for an S3 bucket.
8781
8913
  #
8782
8914
  # resp = client.get_object({
8783
8915
  # bucket: "examplebucket",
8784
- # key: "SampleFile.txt",
8785
- # range: "bytes=0-9",
8916
+ # key: "HappyFace.jpg",
8786
8917
  # })
8787
8918
  #
8788
8919
  # resp.to_h outputs the following:
8789
8920
  # {
8790
8921
  # accept_ranges: "bytes",
8791
- # content_length: 10,
8792
- # content_range: "bytes 0-9/43",
8793
- # content_type: "text/plain",
8794
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
8795
- # 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"),
8796
8926
  # metadata: {
8797
8927
  # },
8928
+ # tag_count: 2,
8798
8929
  # version_id: "null",
8799
8930
  # }
8800
8931
  #
@@ -8880,14 +9011,14 @@ module Aws::S3
8880
9011
  # resp.expires #=> Time
8881
9012
  # resp.expires_string #=> String
8882
9013
  # resp.website_redirect_location #=> String
8883
- # 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"
8884
9015
  # resp.metadata #=> Hash
8885
9016
  # resp.metadata["MetadataKey"] #=> String
8886
9017
  # resp.sse_customer_algorithm #=> String
8887
9018
  # resp.sse_customer_key_md5 #=> String
8888
9019
  # resp.ssekms_key_id #=> String
8889
9020
  # resp.bucket_key_enabled #=> Boolean
8890
- # 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"
8891
9022
  # resp.request_charged #=> String, one of "requester"
8892
9023
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
8893
9024
  # resp.parts_count #=> Integer
@@ -9091,12 +9222,12 @@ module Aws::S3
9091
9222
  req.send_request(options)
9092
9223
  end
9093
9224
 
9094
- # Retrieves all the metadata from an object without returning the object
9095
- # itself. This operation is useful if you're interested only in an
9096
- # 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.
9097
9228
  #
9098
9229
  # `GetObjectAttributes` combines the functionality of `HeadObject` and
9099
- # `ListParts`. All of the data returned with each of those individual
9230
+ # `ListParts`. All of the data returned with both of those individual
9100
9231
  # calls can be returned with a single call to `GetObjectAttributes`.
9101
9232
  #
9102
9233
  # <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
@@ -9115,16 +9246,23 @@ module Aws::S3
9115
9246
  # Permissions
9116
9247
  # : * **General purpose bucket permissions** - To use
9117
9248
  # `GetObjectAttributes`, you must have READ access to the object.
9118
- # The permissions that you need to use this operation depend on
9119
- # whether the bucket is versioned. If the bucket is versioned, you
9120
- # need both the `s3:GetObjectVersion` and
9121
- # `s3:GetObjectVersionAttributes` permissions for this operation. If
9122
- # the bucket is not versioned, you need the `s3:GetObject` and
9123
- # `s3:GetObjectAttributes` permissions. For more information, see
9124
- # [Specifying Permissions in a Policy][3] in the *Amazon S3 User
9125
- # Guide*. If the object that you request does not exist, the error
9126
- # Amazon S3 returns depends on whether you also have the
9127
- # `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.
9128
9266
  #
9129
9267
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon
9130
9268
  # S3 returns an HTTP status code `404 Not Found` ("no such key")
@@ -9168,12 +9306,12 @@ module Aws::S3
9168
9306
  #
9169
9307
  # </note>
9170
9308
  #
9171
- # If you encrypt an object by using server-side encryption with
9172
- # customer-provided encryption keys (SSE-C) when you store the object
9173
- # in Amazon S3, then when you retrieve the metadata from the object,
9174
- # you must use the following headers to provide the encryption key for
9175
- # the server to be able to retrieve the object's metadata. The
9176
- # 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:
9177
9315
  #
9178
9316
  # * `x-amz-server-side-encryption-customer-algorithm`
9179
9317
  #
@@ -9333,11 +9471,23 @@ module Aws::S3
9333
9471
  # </note>
9334
9472
  #
9335
9473
  # @option params [Integer] :max_parts
9336
- # 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
9337
9481
  #
9338
9482
  # @option params [Integer] :part_number_marker
9339
9483
  # Specifies the part after which listing should begin. Only parts with
9340
- # 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
9341
9491
  #
9342
9492
  # @option params [String] :sse_customer_algorithm
9343
9493
  # Specifies the algorithm to use when encrypting the object (for
@@ -9447,7 +9597,7 @@ module Aws::S3
9447
9597
  # resp.object_parts.parts[0].checksum_crc64nvme #=> String
9448
9598
  # resp.object_parts.parts[0].checksum_sha1 #=> String
9449
9599
  # resp.object_parts.parts[0].checksum_sha256 #=> String
9450
- # 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"
9451
9601
  # resp.object_size #=> Integer
9452
9602
  #
9453
9603
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes AWS API Documentation
@@ -10682,6 +10832,7 @@ module Aws::S3
10682
10832
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
10683
10833
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
10684
10834
  # * {Types::HeadObjectOutput#parts_count #parts_count} => Integer
10835
+ # * {Types::HeadObjectOutput#tag_count #tag_count} => Integer
10685
10836
  # * {Types::HeadObjectOutput#object_lock_mode #object_lock_mode} => String
10686
10837
  # * {Types::HeadObjectOutput#object_lock_retain_until_date #object_lock_retain_until_date} => Time
10687
10838
  # * {Types::HeadObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
@@ -10761,17 +10912,18 @@ module Aws::S3
10761
10912
  # resp.expires #=> Time
10762
10913
  # resp.expires_string #=> String
10763
10914
  # resp.website_redirect_location #=> String
10764
- # 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"
10765
10916
  # resp.metadata #=> Hash
10766
10917
  # resp.metadata["MetadataKey"] #=> String
10767
10918
  # resp.sse_customer_algorithm #=> String
10768
10919
  # resp.sse_customer_key_md5 #=> String
10769
10920
  # resp.ssekms_key_id #=> String
10770
10921
  # resp.bucket_key_enabled #=> Boolean
10771
- # 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"
10772
10923
  # resp.request_charged #=> String, one of "requester"
10773
10924
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
10774
10925
  # resp.parts_count #=> Integer
10926
+ # resp.tag_count #=> Integer
10775
10927
  # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
10776
10928
  # resp.object_lock_retain_until_date #=> Time
10777
10929
  # resp.object_lock_legal_hold_status #=> String, one of "ON", "OFF"
@@ -10942,6 +11094,11 @@ module Aws::S3
10942
11094
  # The `ContinuationToken` that represents a placeholder from where this
10943
11095
  # request should begin.
10944
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
+ #
10945
11102
  # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10946
11103
  #
10947
11104
  # * {Types::ListBucketIntelligentTieringConfigurationsOutput#is_truncated #is_truncated} => Boolean
@@ -10954,6 +11111,7 @@ module Aws::S3
10954
11111
  # resp = client.list_bucket_intelligent_tiering_configurations({
10955
11112
  # bucket: "BucketName", # required
10956
11113
  # continuation_token: "Token",
11114
+ # expected_bucket_owner: "AccountId",
10957
11115
  # })
10958
11116
  #
10959
11117
  # @example Response structure
@@ -11188,6 +11346,19 @@ module Aws::S3
11188
11346
  req.send_request(options)
11189
11347
  end
11190
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
+ #
11191
11362
  # <note markdown="1"> This operation is not supported for directory buckets.
11192
11363
  #
11193
11364
  # </note>
@@ -11414,6 +11585,19 @@ module Aws::S3
11414
11585
  req.send_request(options)
11415
11586
  end
11416
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
+ #
11417
11601
  # This operation lists in-progress multipart uploads in a bucket. An
11418
11602
  # in-progress multipart upload is a multipart upload that has been
11419
11603
  # initiated by the `CreateMultipartUpload` request, but has not yet been
@@ -11839,7 +12023,7 @@ module Aws::S3
11839
12023
  # resp.uploads[0].upload_id #=> String
11840
12024
  # resp.uploads[0].key #=> String
11841
12025
  # resp.uploads[0].initiated #=> Time
11842
- # 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"
11843
12027
  # resp.uploads[0].owner.display_name #=> String
11844
12028
  # resp.uploads[0].owner.id #=> String
11845
12029
  # resp.uploads[0].initiator.id #=> String
@@ -11860,6 +12044,19 @@ module Aws::S3
11860
12044
  req.send_request(options)
11861
12045
  end
11862
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
+ #
11863
12060
  # <note markdown="1"> This operation is not supported for directory buckets.
11864
12061
  #
11865
12062
  # </note>
@@ -12100,6 +12297,19 @@ module Aws::S3
12100
12297
  req.send_request(options)
12101
12298
  end
12102
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
+ #
12103
12313
  # <note markdown="1"> This operation is not supported for directory buckets.
12104
12314
  #
12105
12315
  # </note>
@@ -12313,7 +12523,7 @@ module Aws::S3
12313
12523
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12314
12524
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12315
12525
  # resp.contents[0].size #=> Integer
12316
- # 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"
12317
12527
  # resp.contents[0].owner.display_name #=> String
12318
12528
  # resp.contents[0].owner.id #=> String
12319
12529
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12656,7 +12866,7 @@ module Aws::S3
12656
12866
  # resp.contents[0].checksum_algorithm[0] #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
12657
12867
  # resp.contents[0].checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
12658
12868
  # resp.contents[0].size #=> Integer
12659
- # 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"
12660
12870
  # resp.contents[0].owner.display_name #=> String
12661
12871
  # resp.contents[0].owner.id #=> String
12662
12872
  # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
@@ -12683,6 +12893,19 @@ module Aws::S3
12683
12893
  req.send_request(options)
12684
12894
  end
12685
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
+ #
12686
12909
  # Lists the parts that have been uploaded for a specific multipart
12687
12910
  # upload.
12688
12911
  #
@@ -12998,7 +13221,7 @@ module Aws::S3
12998
13221
  # resp.initiator.display_name #=> String
12999
13222
  # resp.owner.display_name #=> String
13000
13223
  # resp.owner.id #=> String
13001
- # 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"
13002
13225
  # resp.request_charged #=> String, one of "requester"
13003
13226
  # resp.checksum_algorithm #=> String, one of "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME"
13004
13227
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
@@ -13111,6 +13334,20 @@ module Aws::S3
13111
13334
  req.send_request(options)
13112
13335
  end
13113
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
+ #
13114
13351
  # <note markdown="1"> This operation is not supported for directory buckets.
13115
13352
  #
13116
13353
  # </note>
@@ -13217,7 +13454,10 @@ module Aws::S3
13217
13454
  # Grantee Values
13218
13455
  #
13219
13456
  # : You can specify the person (grantee) to whom you're assigning
13220
- # 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*.
13221
13461
  #
13222
13462
  # * By the person's ID:
13223
13463
  #
@@ -13267,11 +13507,11 @@ module Aws::S3
13267
13507
  #
13268
13508
  # The following operations are related to `PutBucketAcl`:
13269
13509
  #
13270
- # * [CreateBucket][6]
13510
+ # * [CreateBucket][7]
13271
13511
  #
13272
- # * [DeleteBucket][7]
13512
+ # * [DeleteBucket][8]
13273
13513
  #
13274
- # * [GetObjectAcl][8]
13514
+ # * [GetObjectAcl][9]
13275
13515
  #
13276
13516
  #
13277
13517
  #
@@ -13280,9 +13520,10 @@ module Aws::S3
13280
13520
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
13281
13521
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
13282
13522
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
13283
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
13284
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
13285
- # [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
13286
13527
  #
13287
13528
  # @option params [String] :acl
13288
13529
  # The canned ACL to apply to the bucket.
@@ -13936,7 +14177,7 @@ module Aws::S3
13936
14177
  # rules: [ # required
13937
14178
  # {
13938
14179
  # apply_server_side_encryption_by_default: {
13939
- # 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
13940
14181
  # kms_master_key_id: "SSEKMSKeyId",
13941
14182
  # },
13942
14183
  # bucket_key_enabled: false,
@@ -14033,6 +14274,11 @@ module Aws::S3
14033
14274
  # @option params [required, String] :id
14034
14275
  # The ID used to identify the S3 Intelligent-Tiering configuration.
14035
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
+ #
14036
14282
  # @option params [required, Types::IntelligentTieringConfiguration] :intelligent_tiering_configuration
14037
14283
  # Container for S3 Intelligent-Tiering configuration.
14038
14284
  #
@@ -14043,6 +14289,7 @@ module Aws::S3
14043
14289
  # resp = client.put_bucket_intelligent_tiering_configuration({
14044
14290
  # bucket: "BucketName", # required
14045
14291
  # id: "IntelligentTieringId", # required
14292
+ # expected_bucket_owner: "AccountId",
14046
14293
  # intelligent_tiering_configuration: { # required
14047
14294
  # id: "IntelligentTieringId", # required
14048
14295
  # filter: {
@@ -14681,6 +14928,20 @@ module Aws::S3
14681
14928
  req.send_request(options)
14682
14929
  end
14683
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
+ #
14684
14945
  # <note markdown="1"> This operation is not supported for directory buckets.
14685
14946
  #
14686
14947
  # </note>
@@ -14704,7 +14965,10 @@ module Aws::S3
14704
14965
  # Grantee Values
14705
14966
  #
14706
14967
  # : You can specify the person (grantee) to whom you're assigning
14707
- # 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*.
14708
14972
  #
14709
14973
  # * By the person's ID:
14710
14974
  #
@@ -14735,30 +14999,31 @@ module Aws::S3
14735
14999
  # />`
14736
15000
  #
14737
15001
  # For more information about server access logging, see [Server Access
14738
- # Logging][2] in the *Amazon S3 User Guide*.
15002
+ # Logging][3] in the *Amazon S3 User Guide*.
14739
15003
  #
14740
- # For more information about creating a bucket, see [CreateBucket][3].
15004
+ # For more information about creating a bucket, see [CreateBucket][4].
14741
15005
  # For more information about returning the logging status of a bucket,
14742
- # see [GetBucketLogging][4].
15006
+ # see [GetBucketLogging][5].
14743
15007
  #
14744
15008
  # The following operations are related to `PutBucketLogging`:
14745
15009
  #
14746
- # * [PutObject][5]
15010
+ # * [PutObject][6]
14747
15011
  #
14748
- # * [DeleteBucket][6]
15012
+ # * [DeleteBucket][7]
14749
15013
  #
14750
- # * [CreateBucket][3]
15014
+ # * [CreateBucket][4]
14751
15015
  #
14752
- # * [GetBucketLogging][4]
15016
+ # * [GetBucketLogging][5]
14753
15017
  #
14754
15018
  #
14755
15019
  #
14756
15020
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
14757
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
14758
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
14759
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
14760
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
14761
- # [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
14762
15027
  #
14763
15028
  # @option params [required, String] :bucket
14764
15029
  # The name of the bucket for which to set the logging parameters.
@@ -15281,6 +15546,22 @@ module Aws::S3
15281
15546
  # The `OwnershipControls` (BucketOwnerEnforced, BucketOwnerPreferred, or
15282
15547
  # ObjectWriter) that you want to apply to this Amazon S3 bucket.
15283
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
+ #
15284
15565
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
15285
15566
  #
15286
15567
  # @example Request syntax with placeholder values
@@ -15296,6 +15577,7 @@ module Aws::S3
15296
15577
  # },
15297
15578
  # ],
15298
15579
  # },
15580
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
15299
15581
  # })
15300
15582
  #
15301
15583
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls AWS API Documentation
@@ -15713,7 +15995,7 @@ module Aws::S3
15713
15995
  # destination: { # required
15714
15996
  # bucket: "BucketName", # required
15715
15997
  # account: "AccountId",
15716
- # 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
15717
15999
  # access_control_translation: {
15718
16000
  # owner: "Destination", # required, accepts Destination
15719
16001
  # },
@@ -16325,6 +16607,20 @@ module Aws::S3
16325
16607
  req.send_request(options)
16326
16608
  end
16327
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
+ #
16328
16624
  # Adds an object to a bucket.
16329
16625
  #
16330
16626
  # <note markdown="1"> * Amazon S3 never adds partial objects; if you receive a success
@@ -16833,8 +17129,7 @@ module Aws::S3
16833
17129
  #
16834
17130
  # @option params [String] :server_side_encryption
16835
17131
  # The server-side encryption algorithm that was used when you store this
16836
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
16837
- # `aws:kms:dsse`).
17132
+ # object in Amazon S3 or Amazon FSx.
16838
17133
  #
16839
17134
  # * <b>General purpose buckets </b> - You have four mutually exclusive
16840
17135
  # options to protect data using server-side encryption in Amazon S3,
@@ -16888,6 +17183,14 @@ module Aws::S3
16888
17183
  #
16889
17184
  # </note>
16890
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
+ #
16891
17194
  #
16892
17195
  #
16893
17196
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -17134,38 +17437,39 @@ module Aws::S3
17134
17437
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
17135
17438
  #
17136
17439
  #
17137
- # @example Example: To create an object.
17440
+ # @example Example: To upload an object and specify canned ACL.
17138
17441
  #
17139
- # # 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.
17140
17444
  #
17141
17445
  # resp = client.put_object({
17446
+ # acl: "authenticated-read",
17142
17447
  # body: "filetoupload",
17143
17448
  # bucket: "examplebucket",
17144
- # key: "objectkey",
17449
+ # key: "exampleobject",
17145
17450
  # })
17146
17451
  #
17147
17452
  # resp.to_h outputs the following:
17148
17453
  # {
17149
17454
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17150
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17455
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17151
17456
  # }
17152
17457
  #
17153
- # @example Example: To upload an object and specify optional tags
17458
+ # @example Example: To upload an object
17154
17459
  #
17155
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
17156
- # # 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.
17157
17462
  #
17158
17463
  # resp = client.put_object({
17159
- # body: "c:\\HappyFace.jpg",
17464
+ # body: "HappyFace.jpg",
17160
17465
  # bucket: "examplebucket",
17161
17466
  # key: "HappyFace.jpg",
17162
- # tagging: "key1=value1&key2=value2",
17163
17467
  # })
17164
17468
  #
17165
17469
  # resp.to_h outputs the following:
17166
17470
  # {
17167
17471
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17168
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
17472
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17169
17473
  # }
17170
17474
  #
17171
17475
  # @example Example: To upload an object (specify optional headers)
@@ -17188,22 +17492,22 @@ module Aws::S3
17188
17492
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
17189
17493
  # }
17190
17494
  #
17191
- # @example Example: To upload an object and specify canned ACL.
17495
+ # @example Example: To upload an object and specify optional tags
17192
17496
  #
17193
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
17194
- # # 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.
17195
17499
  #
17196
17500
  # resp = client.put_object({
17197
- # acl: "authenticated-read",
17198
- # body: "filetoupload",
17501
+ # body: "c:\\HappyFace.jpg",
17199
17502
  # bucket: "examplebucket",
17200
- # key: "exampleobject",
17503
+ # key: "HappyFace.jpg",
17504
+ # tagging: "key1=value1&key2=value2",
17201
17505
  # })
17202
17506
  #
17203
17507
  # resp.to_h outputs the following:
17204
17508
  # {
17205
17509
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17206
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
17510
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
17207
17511
  # }
17208
17512
  #
17209
17513
  # @example Example: To upload an object and specify server-side encryption and object tags
@@ -17247,21 +17551,20 @@ module Aws::S3
17247
17551
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
17248
17552
  # }
17249
17553
  #
17250
- # @example Example: To upload an object
17554
+ # @example Example: To create an object.
17251
17555
  #
17252
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
17253
- # # 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.
17254
17557
  #
17255
17558
  # resp = client.put_object({
17256
- # body: "HappyFace.jpg",
17559
+ # body: "filetoupload",
17257
17560
  # bucket: "examplebucket",
17258
- # key: "HappyFace.jpg",
17561
+ # key: "objectkey",
17259
17562
  # })
17260
17563
  #
17261
17564
  # resp.to_h outputs the following:
17262
17565
  # {
17263
17566
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
17264
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
17567
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
17265
17568
  # }
17266
17569
  #
17267
17570
  # @example Streaming a file from disk
@@ -17301,8 +17604,8 @@ module Aws::S3
17301
17604
  # metadata: {
17302
17605
  # "MetadataKey" => "MetadataValue",
17303
17606
  # },
17304
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
17305
- # 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
17306
17609
  # website_redirect_location: "WebsiteRedirectLocation",
17307
17610
  # sse_customer_algorithm: "SSECustomerAlgorithm",
17308
17611
  # sse_customer_key: "SSECustomerKey",
@@ -17328,7 +17631,7 @@ module Aws::S3
17328
17631
  # resp.checksum_sha1 #=> String
17329
17632
  # resp.checksum_sha256 #=> String
17330
17633
  # resp.checksum_type #=> String, one of "COMPOSITE", "FULL_OBJECT"
17331
- # 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"
17332
17635
  # resp.version_id #=> String
17333
17636
  # resp.sse_customer_algorithm #=> String
17334
17637
  # resp.sse_customer_key_md5 #=> String
@@ -17444,7 +17747,10 @@ module Aws::S3
17444
17747
  # Grantee Values
17445
17748
  #
17446
17749
  # : You can specify the person (grantee) to whom you're assigning
17447
- # 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*.
17448
17754
  #
17449
17755
  # * By the person's ID:
17450
17756
  #
@@ -17500,9 +17806,9 @@ module Aws::S3
17500
17806
  #
17501
17807
  # The following operations are related to `PutObjectAcl`:
17502
17808
  #
17503
- # * [CopyObject][6]
17809
+ # * [CopyObject][7]
17504
17810
  #
17505
- # * [GetObject][7]
17811
+ # * [GetObject][8]
17506
17812
  #
17507
17813
  #
17508
17814
  #
@@ -17511,8 +17817,9 @@ module Aws::S3
17511
17817
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
17512
17818
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
17513
17819
  # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
17514
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
17515
- # [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
17516
17823
  #
17517
17824
  # @option params [String] :acl
17518
17825
  # The canned ACL to apply to the object. For more information, see
@@ -18398,6 +18705,179 @@ module Aws::S3
18398
18705
  req.send_request(options)
18399
18706
  end
18400
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
+
18401
18881
  # <note markdown="1"> This operation is not supported for directory buckets.
18402
18882
  #
18403
18883
  # </note>
@@ -18728,7 +19208,7 @@ module Aws::S3
18728
19208
  # bucket_name: "BucketName", # required
18729
19209
  # prefix: "LocationPrefix", # required
18730
19210
  # encryption: {
18731
- # 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
18732
19212
  # kms_key_id: "SSEKMSKeyId",
18733
19213
  # kms_context: "KMSContext",
18734
19214
  # },
@@ -18759,7 +19239,7 @@ module Aws::S3
18759
19239
  # value: "MetadataValue",
18760
19240
  # },
18761
19241
  # ],
18762
- # 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
18763
19243
  # },
18764
19244
  # },
18765
19245
  # },
@@ -19652,7 +20132,7 @@ module Aws::S3
19652
20132
  #
19653
20133
  # @example Response structure
19654
20134
  #
19655
- # 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"
19656
20136
  # resp.etag #=> String
19657
20137
  # resp.checksum_crc32 #=> String
19658
20138
  # resp.checksum_crc32c #=> String
@@ -20163,45 +20643,45 @@ module Aws::S3
20163
20643
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
20164
20644
  #
20165
20645
  #
20166
- # @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
20167
20647
  #
20168
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
20169
- # # data source.
20648
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
20170
20649
  #
20171
20650
  # resp = client.upload_part_copy({
20172
20651
  # bucket: "examplebucket",
20173
20652
  # copy_source: "/bucketname/sourceobjectkey",
20174
- # copy_source_range: "bytes=1-100000",
20175
20653
  # key: "examplelargeobject",
20176
- # part_number: 2,
20654
+ # part_number: 1,
20177
20655
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
20178
20656
  # })
20179
20657
  #
20180
20658
  # resp.to_h outputs the following:
20181
20659
  # {
20182
20660
  # copy_part_result: {
20183
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
20184
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20661
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20662
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
20185
20663
  # },
20186
20664
  # }
20187
20665
  #
20188
- # @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
20189
20667
  #
20190
- # # 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.
20191
20670
  #
20192
20671
  # resp = client.upload_part_copy({
20193
20672
  # bucket: "examplebucket",
20194
20673
  # copy_source: "/bucketname/sourceobjectkey",
20674
+ # copy_source_range: "bytes=1-100000",
20195
20675
  # key: "examplelargeobject",
20196
- # part_number: 1,
20676
+ # part_number: 2,
20197
20677
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
20198
20678
  # })
20199
20679
  #
20200
20680
  # resp.to_h outputs the following:
20201
20681
  # {
20202
20682
  # copy_part_result: {
20203
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
20204
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
20683
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
20684
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
20205
20685
  # },
20206
20686
  # }
20207
20687
  #
@@ -20239,7 +20719,7 @@ module Aws::S3
20239
20719
  # resp.copy_part_result.checksum_crc64nvme #=> String
20240
20720
  # resp.copy_part_result.checksum_sha1 #=> String
20241
20721
  # resp.copy_part_result.checksum_sha256 #=> String
20242
- # 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"
20243
20723
  # resp.sse_customer_algorithm #=> String
20244
20724
  # resp.sse_customer_key_md5 #=> String
20245
20725
  # resp.ssekms_key_id #=> String
@@ -20548,19 +21028,30 @@ module Aws::S3
20548
21028
  #
20549
21029
  # @option params [String] :request_charged
20550
21030
  # If present, indicates that the requester was successfully charged for
20551
- # 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*.
20552
21034
  #
20553
21035
  # <note markdown="1"> This functionality is not supported for directory buckets.
20554
21036
  #
20555
21037
  # </note>
20556
21038
  #
21039
+ #
21040
+ #
21041
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
21042
+ #
20557
21043
  # @option params [String] :restore
20558
21044
  # Provides information about object restoration operation and expiration
20559
21045
  # time of the restored object copy.
20560
21046
  #
20561
21047
  # @option params [String] :server_side_encryption
20562
21048
  # The server-side encryption algorithm used when storing requested
20563
- # 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>
20564
21055
  #
20565
21056
  # @option params [String] :sse_customer_algorithm
20566
21057
  # Encryption algorithm used if server-side encryption with a
@@ -20644,11 +21135,11 @@ module Aws::S3
20644
21135
  # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA, COMPLETED
20645
21136
  # request_charged: "requester", # accepts requester
20646
21137
  # restore: "Restore",
20647
- # 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
20648
21139
  # sse_customer_algorithm: "SSECustomerAlgorithm",
20649
21140
  # ssekms_key_id: "SSEKMSKeyId",
20650
21141
  # sse_customer_key_md5: "SSECustomerKeyMD5",
20651
- # 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
20652
21143
  # tag_count: 1,
20653
21144
  # version_id: "ObjectVersionId",
20654
21145
  # bucket_key_enabled: false,
@@ -20681,7 +21172,7 @@ module Aws::S3
20681
21172
  tracer: tracer
20682
21173
  )
20683
21174
  context[:gem_name] = 'aws-sdk-s3'
20684
- context[:gem_version] = '1.184.0'
21175
+ context[:gem_version] = '1.191.0'
20685
21176
  Seahorse::Client::Request.new(handlers, context)
20686
21177
  end
20687
21178