aws-sdk-s3 1.182.0 → 1.198.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +106 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +46 -6
  5. data/lib/aws-sdk-s3/client.rb +1693 -591
  6. data/lib/aws-sdk-s3/client_api.rb +396 -162
  7. data/lib/aws-sdk-s3/customizations/object.rb +57 -76
  8. data/lib/aws-sdk-s3/customizations.rb +2 -1
  9. data/lib/aws-sdk-s3/endpoint_provider.rb +234 -129
  10. data/lib/aws-sdk-s3/endpoints.rb +84 -0
  11. data/lib/aws-sdk-s3/errors.rb +11 -0
  12. data/lib/aws-sdk-s3/file_downloader.rb +65 -82
  13. data/lib/aws-sdk-s3/file_uploader.rb +3 -5
  14. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  15. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  16. data/lib/aws-sdk-s3/multipart_file_uploader.rb +34 -65
  17. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +80 -88
  18. data/lib/aws-sdk-s3/multipart_upload.rb +4 -2
  19. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  20. data/lib/aws-sdk-s3/object.rb +85 -26
  21. data/lib/aws-sdk-s3/object_acl.rb +7 -1
  22. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  23. data/lib/aws-sdk-s3/object_summary.rb +54 -24
  24. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  25. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  26. data/lib/aws-sdk-s3/resource.rb +6 -0
  27. data/lib/aws-sdk-s3/transfer_manager.rb +246 -0
  28. data/lib/aws-sdk-s3/types.rb +1627 -295
  29. data/lib/aws-sdk-s3.rb +1 -1
  30. data/sig/bucket.rbs +12 -3
  31. data/sig/client.rbs +143 -31
  32. data/sig/errors.rbs +2 -0
  33. data/sig/multipart_upload.rbs +1 -1
  34. data/sig/object.rbs +13 -10
  35. data/sig/object_summary.rbs +9 -9
  36. data/sig/resource.rbs +8 -1
  37. data/sig/types.rbs +183 -29
  38. metadata +8 -9
@@ -35,11 +35,17 @@ module Aws::S3
35
35
 
36
36
  # @!attribute [rw] request_charged
37
37
  # If present, indicates that the requester was successfully charged
38
- # for the request.
38
+ # for the request. For more information, see [Using Requester Pays
39
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
40
+ # Storage Service user guide*.
39
41
  #
40
42
  # <note markdown="1"> This functionality is not supported for directory buckets.
41
43
  #
42
44
  # </note>
45
+ #
46
+ #
47
+ #
48
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
43
49
  # @return [String]
44
50
  #
45
51
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUploadOutput AWS API Documentation
@@ -63,19 +69,21 @@ module Aws::S3
63
69
  # naming restrictions, see [Directory bucket naming rules][1] in the
64
70
  # *Amazon S3 User Guide*.
65
71
  #
66
- # **Access points** - When you use this action with an access point,
67
- # you must provide the alias of the access point in place of the
68
- # bucket name or specify the access point ARN. When using the access
69
- # point ARN, you must direct requests to the access point hostname.
70
- # The access point hostname takes the form
72
+ # **Access points** - When you use this action with an access point
73
+ # for general purpose buckets, you must provide the alias of the
74
+ # access point in place of the bucket name or specify the access point
75
+ # ARN. When you use this action with an access point for directory
76
+ # buckets, you must provide the access point name in place of the
77
+ # bucket name. When using the access point ARN, you must direct
78
+ # requests to the access point hostname. The access point hostname
79
+ # takes the form
71
80
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
72
81
  # When using this action with an access point through the Amazon Web
73
82
  # Services SDKs, you provide the access point ARN in place of the
74
83
  # bucket name. For more information about access point ARNs, see
75
84
  # [Using access points][2] in the *Amazon S3 User Guide*.
76
85
  #
77
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
78
- # directory buckets.
86
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
79
87
  #
80
88
  # </note>
81
89
  #
@@ -364,12 +372,28 @@ module Aws::S3
364
372
  # parameter, it is included in the response.
365
373
  # @return [String]
366
374
  #
375
+ # @!attribute [rw] bucket_arn
376
+ # The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
377
+ # identify Amazon Web Services resources across all of Amazon Web
378
+ # Services.
379
+ #
380
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
381
+ # information, see [Using tags with directory buckets][1].
382
+ #
383
+ # </note>
384
+ #
385
+ #
386
+ #
387
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
388
+ # @return [String]
389
+ #
367
390
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket AWS API Documentation
368
391
  #
369
392
  class Bucket < Struct.new(
370
393
  :name,
371
394
  :creation_date,
372
- :bucket_region)
395
+ :bucket_region,
396
+ :bucket_arn)
373
397
  SENSITIVE = []
374
398
  include Aws::Structure
375
399
  end
@@ -937,7 +961,13 @@ module Aws::S3
937
961
  #
938
962
  # @!attribute [rw] server_side_encryption
939
963
  # The server-side encryption algorithm used when storing this object
940
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
964
+ # in Amazon S3.
965
+ #
966
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
967
+ # access points, the only valid server side encryption option is
968
+ # `aws:fsx`.
969
+ #
970
+ # </note>
941
971
  # @return [String]
942
972
  #
943
973
  # @!attribute [rw] version_id
@@ -962,11 +992,17 @@ module Aws::S3
962
992
  #
963
993
  # @!attribute [rw] request_charged
964
994
  # If present, indicates that the requester was successfully charged
965
- # for the request.
995
+ # for the request. For more information, see [Using Requester Pays
996
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
997
+ # Storage Service user guide*.
966
998
  #
967
999
  # <note markdown="1"> This functionality is not supported for directory buckets.
968
1000
  #
969
1001
  # </note>
1002
+ #
1003
+ #
1004
+ #
1005
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
970
1006
  # @return [String]
971
1007
  #
972
1008
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUploadOutput AWS API Documentation
@@ -1005,19 +1041,21 @@ module Aws::S3
1005
1041
  # naming restrictions, see [Directory bucket naming rules][1] in the
1006
1042
  # *Amazon S3 User Guide*.
1007
1043
  #
1008
- # **Access points** - When you use this action with an access point,
1009
- # you must provide the alias of the access point in place of the
1010
- # bucket name or specify the access point ARN. When using the access
1011
- # point ARN, you must direct requests to the access point hostname.
1012
- # The access point hostname takes the form
1044
+ # **Access points** - When you use this action with an access point
1045
+ # for general purpose buckets, you must provide the alias of the
1046
+ # access point in place of the bucket name or specify the access point
1047
+ # ARN. When you use this action with an access point for directory
1048
+ # buckets, you must provide the access point name in place of the
1049
+ # bucket name. When using the access point ARN, you must direct
1050
+ # requests to the access point hostname. The access point hostname
1051
+ # takes the form
1013
1052
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1014
1053
  # When using this action with an access point through the Amazon Web
1015
1054
  # Services SDKs, you provide the access point ARN in place of the
1016
1055
  # bucket name. For more information about access point ARNs, see
1017
1056
  # [Using access points][2] in the *Amazon S3 User Guide*.
1018
1057
  #
1019
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
1020
- # directory buckets.
1058
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
1021
1059
  #
1022
1060
  # </note>
1023
1061
  #
@@ -1465,7 +1503,13 @@ module Aws::S3
1465
1503
  #
1466
1504
  # @!attribute [rw] server_side_encryption
1467
1505
  # The server-side encryption algorithm used when you store this object
1468
- # in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
1506
+ # in Amazon S3 or Amazon FSx.
1507
+ #
1508
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
1509
+ # access points, the only valid server side encryption option is
1510
+ # `aws:fsx`.
1511
+ #
1512
+ # </note>
1469
1513
  # @return [String]
1470
1514
  #
1471
1515
  # @!attribute [rw] sse_customer_algorithm
@@ -1509,11 +1553,17 @@ module Aws::S3
1509
1553
  #
1510
1554
  # @!attribute [rw] request_charged
1511
1555
  # If present, indicates that the requester was successfully charged
1512
- # for the request.
1556
+ # for the request. For more information, see [Using Requester Pays
1557
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
1558
+ # Storage Service user guide*.
1513
1559
  #
1514
1560
  # <note markdown="1"> This functionality is not supported for directory buckets.
1515
1561
  #
1516
1562
  # </note>
1563
+ #
1564
+ #
1565
+ #
1566
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
1517
1567
  # @return [String]
1518
1568
  #
1519
1569
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectOutput AWS API Documentation
@@ -1589,19 +1639,21 @@ module Aws::S3
1589
1639
  #
1590
1640
  # </note>
1591
1641
  #
1592
- # **Access points** - When you use this action with an access point,
1593
- # you must provide the alias of the access point in place of the
1594
- # bucket name or specify the access point ARN. When using the access
1595
- # point ARN, you must direct requests to the access point hostname.
1596
- # The access point hostname takes the form
1642
+ # **Access points** - When you use this action with an access point
1643
+ # for general purpose buckets, you must provide the alias of the
1644
+ # access point in place of the bucket name or specify the access point
1645
+ # ARN. When you use this action with an access point for directory
1646
+ # buckets, you must provide the access point name in place of the
1647
+ # bucket name. When using the access point ARN, you must direct
1648
+ # requests to the access point hostname. The access point hostname
1649
+ # takes the form
1597
1650
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1598
1651
  # When using this action with an access point through the Amazon Web
1599
1652
  # Services SDKs, you provide the access point ARN in place of the
1600
1653
  # bucket name. For more information about access point ARNs, see
1601
1654
  # [Using access points][2] in the *Amazon S3 User Guide*.
1602
1655
  #
1603
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
1604
- # directory buckets.
1656
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
1605
1657
  #
1606
1658
  # </note>
1607
1659
  #
@@ -2014,6 +2066,14 @@ module Aws::S3
2014
2066
  # key is the same customer managed key that you specified for the
2015
2067
  # directory bucket's default encryption configuration.
2016
2068
  #
2069
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data
2070
+ # stored in Amazon FSx file systems using S3 access points, the only
2071
+ # valid server side encryption option is `aws:fsx`. All Amazon FSx
2072
+ # file systems have encryption configured by default and are
2073
+ # encrypted at rest. Data is automatically encrypted before being
2074
+ # written to the file system, and automatically decrypted as it is
2075
+ # read. These processes are handled transparently by Amazon FSx.
2076
+ #
2017
2077
  #
2018
2078
  #
2019
2079
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
@@ -2030,11 +2090,12 @@ module Aws::S3
2030
2090
  # availability. Depending on performance needs, you can specify a
2031
2091
  # different Storage Class.
2032
2092
  #
2033
- # <note markdown="1"> * <b>Directory buckets </b> - For directory buckets, only the S3
2034
- # Express One Zone storage class is supported to store newly created
2035
- # objects. Unsupported storage class values won't write a
2036
- # destination object and will respond with the HTTP status code `400
2037
- # Bad Request`.
2093
+ # <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
2094
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
2095
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
2096
+ # Access storage class) in Dedicated Local Zones. Unsupported
2097
+ # storage class values won't write a destination object and will
2098
+ # respond with the HTTP status code `400 Bad Request`.
2038
2099
  #
2039
2100
  # * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
2040
2101
  # `OUTPOSTS` Storage Class.
@@ -2614,10 +2675,10 @@ module Aws::S3
2614
2675
  #
2615
2676
  # <b>Directory buckets </b> - The location type is Availability Zone
2616
2677
  # or Local Zone. To use the Local Zone location type, your account
2617
- # must be enabled for Dedicated Local Zones. Otherwise, you get an
2618
- # HTTP `403 Forbidden` error with the error code `AccessDenied`. To
2619
- # learn more, see [Enable accounts for Dedicated Local Zones][1] in
2620
- # the *Amazon S3 User Guide*.
2678
+ # must be enabled for Local Zones. Otherwise, you get an HTTP `403
2679
+ # Forbidden` error with the error code `AccessDenied`. To learn more,
2680
+ # see [Enable accounts for Local Zones][1] in the *Amazon S3 User
2681
+ # Guide*.
2621
2682
  #
2622
2683
  # <note markdown="1"> This functionality is only supported by directory buckets.
2623
2684
  #
@@ -2636,19 +2697,69 @@ module Aws::S3
2636
2697
  # </note>
2637
2698
  # @return [Types::BucketInfo]
2638
2699
  #
2700
+ # @!attribute [rw] tags
2701
+ # An array of tags that you can apply to the bucket that you're
2702
+ # creating. Tags are key-value pairs of metadata used to categorize
2703
+ # and organize your buckets, track costs, and control access.
2704
+ #
2705
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
2706
+ # information, see [Using tags with directory buckets][1].
2707
+ #
2708
+ # </note>
2709
+ #
2710
+ #
2711
+ #
2712
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
2713
+ # @return [Array<Types::Tag>]
2714
+ #
2639
2715
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration AWS API Documentation
2640
2716
  #
2641
2717
  class CreateBucketConfiguration < Struct.new(
2642
2718
  :location_constraint,
2643
2719
  :location,
2644
- :bucket)
2720
+ :bucket,
2721
+ :tags)
2645
2722
  SENSITIVE = []
2646
2723
  include Aws::Structure
2647
2724
  end
2648
2725
 
2649
2726
  # @!attribute [rw] bucket
2650
2727
  # The general purpose bucket that you want to create the metadata
2651
- # table configuration in.
2728
+ # configuration for.
2729
+ # @return [String]
2730
+ #
2731
+ # @!attribute [rw] content_md5
2732
+ # The `Content-MD5` header for the metadata configuration.
2733
+ # @return [String]
2734
+ #
2735
+ # @!attribute [rw] checksum_algorithm
2736
+ # The checksum algorithm to use with your metadata configuration.
2737
+ # @return [String]
2738
+ #
2739
+ # @!attribute [rw] metadata_configuration
2740
+ # The contents of your metadata configuration.
2741
+ # @return [Types::MetadataConfiguration]
2742
+ #
2743
+ # @!attribute [rw] expected_bucket_owner
2744
+ # The expected owner of the general purpose bucket that corresponds to
2745
+ # your metadata configuration.
2746
+ # @return [String]
2747
+ #
2748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfigurationRequest AWS API Documentation
2749
+ #
2750
+ class CreateBucketMetadataConfigurationRequest < Struct.new(
2751
+ :bucket,
2752
+ :content_md5,
2753
+ :checksum_algorithm,
2754
+ :metadata_configuration,
2755
+ :expected_bucket_owner)
2756
+ SENSITIVE = []
2757
+ include Aws::Structure
2758
+ end
2759
+
2760
+ # @!attribute [rw] bucket
2761
+ # The general purpose bucket that you want to create the metadata
2762
+ # table configuration for.
2652
2763
  # @return [String]
2653
2764
  #
2654
2765
  # @!attribute [rw] content_md5
@@ -2665,8 +2776,8 @@ module Aws::S3
2665
2776
  # @return [Types::MetadataTableConfiguration]
2666
2777
  #
2667
2778
  # @!attribute [rw] expected_bucket_owner
2668
- # The expected owner of the general purpose bucket that contains your
2669
- # metadata table configuration.
2779
+ # The expected owner of the general purpose bucket that corresponds to
2780
+ # your metadata table configuration.
2670
2781
  # @return [String]
2671
2782
  #
2672
2783
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -2685,10 +2796,26 @@ module Aws::S3
2685
2796
  # A forward slash followed by the name of the bucket.
2686
2797
  # @return [String]
2687
2798
  #
2799
+ # @!attribute [rw] bucket_arn
2800
+ # The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
2801
+ # identify Amazon Web Services resources across all of Amazon Web
2802
+ # Services.
2803
+ #
2804
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
2805
+ # information, see [Using tags with directory buckets][1].
2806
+ #
2807
+ # </note>
2808
+ #
2809
+ #
2810
+ #
2811
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
2812
+ # @return [String]
2813
+ #
2688
2814
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketOutput AWS API Documentation
2689
2815
  #
2690
2816
  class CreateBucketOutput < Struct.new(
2691
- :location)
2817
+ :location,
2818
+ :bucket_arn)
2692
2819
  SENSITIVE = []
2693
2820
  include Aws::Structure
2694
2821
  end
@@ -2887,7 +3014,13 @@ module Aws::S3
2887
3014
  #
2888
3015
  # @!attribute [rw] server_side_encryption
2889
3016
  # The server-side encryption algorithm used when you store this object
2890
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3017
+ # in Amazon S3 or Amazon FSx.
3018
+ #
3019
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
3020
+ # access points, the only valid server side encryption option is
3021
+ # `aws:fsx`.
3022
+ #
3023
+ # </note>
2891
3024
  # @return [String]
2892
3025
  #
2893
3026
  # @!attribute [rw] sse_customer_algorithm
@@ -2931,11 +3064,17 @@ module Aws::S3
2931
3064
  #
2932
3065
  # @!attribute [rw] request_charged
2933
3066
  # If present, indicates that the requester was successfully charged
2934
- # for the request.
3067
+ # for the request. For more information, see [Using Requester Pays
3068
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
3069
+ # Storage Service user guide*.
2935
3070
  #
2936
3071
  # <note markdown="1"> This functionality is not supported for directory buckets.
2937
3072
  #
2938
3073
  # </note>
3074
+ #
3075
+ #
3076
+ #
3077
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
2939
3078
  # @return [String]
2940
3079
  #
2941
3080
  # @!attribute [rw] checksum_algorithm
@@ -3014,19 +3153,21 @@ module Aws::S3
3014
3153
  # naming restrictions, see [Directory bucket naming rules][1] in the
3015
3154
  # *Amazon S3 User Guide*.
3016
3155
  #
3017
- # **Access points** - When you use this action with an access point,
3018
- # you must provide the alias of the access point in place of the
3019
- # bucket name or specify the access point ARN. When using the access
3020
- # point ARN, you must direct requests to the access point hostname.
3021
- # The access point hostname takes the form
3156
+ # **Access points** - When you use this action with an access point
3157
+ # for general purpose buckets, you must provide the alias of the
3158
+ # access point in place of the bucket name or specify the access point
3159
+ # ARN. When you use this action with an access point for directory
3160
+ # buckets, you must provide the access point name in place of the
3161
+ # bucket name. When using the access point ARN, you must direct
3162
+ # requests to the access point hostname. The access point hostname
3163
+ # takes the form
3022
3164
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
3023
3165
  # When using this action with an access point through the Amazon Web
3024
3166
  # Services SDKs, you provide the access point ARN in place of the
3025
3167
  # bucket name. For more information about access point ARNs, see
3026
3168
  # [Using access points][2] in the *Amazon S3 User Guide*.
3027
3169
  #
3028
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
3029
- # directory buckets.
3170
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
3030
3171
  #
3031
3172
  # </note>
3032
3173
  #
@@ -3347,7 +3488,7 @@ module Aws::S3
3347
3488
  #
3348
3489
  # @!attribute [rw] server_side_encryption
3349
3490
  # The server-side encryption algorithm used when you store this object
3350
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3491
+ # in Amazon S3 or Amazon FSx.
3351
3492
  #
3352
3493
  # * <b>Directory buckets </b> - For directory buckets, there are only
3353
3494
  # two supported options for server-side encryption: server-side
@@ -3390,6 +3531,14 @@ module Aws::S3
3390
3531
  #
3391
3532
  # </note>
3392
3533
  #
3534
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data
3535
+ # stored in Amazon FSx file systems using S3 access points, the only
3536
+ # valid server side encryption option is `aws:fsx`. All Amazon FSx
3537
+ # file systems have encryption configured by default and are
3538
+ # encrypted at rest. Data is automatically encrypted before being
3539
+ # written to the file system, and automatically decrypted as it is
3540
+ # read. These processes are handled transparently by Amazon FSx.
3541
+ #
3393
3542
  #
3394
3543
  #
3395
3544
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -3405,8 +3554,10 @@ module Aws::S3
3405
3554
  # specify a different Storage Class. For more information, see
3406
3555
  # [Storage Classes][1] in the *Amazon S3 User Guide*.
3407
3556
  #
3408
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class
3409
- # is supported to store newly created objects.
3557
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express
3558
+ # One Zone storage class) in Availability Zones and `ONEZONE_IA`
3559
+ # (the S3 One Zone-Infrequent Access storage class) in Dedicated
3560
+ # Local Zones.
3410
3561
  #
3411
3562
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
3412
3563
  #
@@ -3654,6 +3805,12 @@ module Aws::S3
3654
3805
  # @!attribute [rw] server_side_encryption
3655
3806
  # The server-side encryption algorithm used when you store objects in
3656
3807
  # the directory bucket.
3808
+ #
3809
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
3810
+ # access points, the only valid server side encryption option is
3811
+ # `aws:fsx`.
3812
+ #
3813
+ # </note>
3657
3814
  # @return [String]
3658
3815
  #
3659
3816
  # @!attribute [rw] ssekms_key_id
@@ -3718,6 +3875,14 @@ module Aws::S3
3718
3875
  # SSE-S3. For more information, see [Protecting data with server-side
3719
3876
  # encryption][1] in the *Amazon S3 User Guide*.
3720
3877
  #
3878
+ # <b>S3 access points for Amazon FSx </b> - When accessing data stored
3879
+ # in Amazon FSx file systems using S3 access points, the only valid
3880
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
3881
+ # systems have encryption configured by default and are encrypted at
3882
+ # rest. Data is automatically encrypted before being written to the
3883
+ # file system, and automatically decrypted as it is read. These
3884
+ # processes are handled transparently by Amazon FSx.
3885
+ #
3721
3886
  #
3722
3887
  #
3723
3888
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
@@ -3965,11 +4130,19 @@ module Aws::S3
3965
4130
  # The ID used to identify the S3 Intelligent-Tiering configuration.
3966
4131
  # @return [String]
3967
4132
  #
4133
+ # @!attribute [rw] expected_bucket_owner
4134
+ # The account ID of the expected bucket owner. If the account ID that
4135
+ # you provide does not match the actual owner of the bucket, the
4136
+ # request fails with the HTTP status code `403 Forbidden` (access
4137
+ # denied).
4138
+ # @return [String]
4139
+ #
3968
4140
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfigurationRequest AWS API Documentation
3969
4141
  #
3970
4142
  class DeleteBucketIntelligentTieringConfigurationRequest < Struct.new(
3971
4143
  :bucket,
3972
- :id)
4144
+ :id,
4145
+ :expected_bucket_owner)
3973
4146
  SENSITIVE = []
3974
4147
  include Aws::Structure
3975
4148
  end
@@ -4025,6 +4198,25 @@ module Aws::S3
4025
4198
  include Aws::Structure
4026
4199
  end
4027
4200
 
4201
+ # @!attribute [rw] bucket
4202
+ # The general purpose bucket that you want to remove the metadata
4203
+ # configuration from.
4204
+ # @return [String]
4205
+ #
4206
+ # @!attribute [rw] expected_bucket_owner
4207
+ # The expected bucket owner of the general purpose bucket that you
4208
+ # want to remove the metadata table configuration from.
4209
+ # @return [String]
4210
+ #
4211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfigurationRequest AWS API Documentation
4212
+ #
4213
+ class DeleteBucketMetadataConfigurationRequest < Struct.new(
4214
+ :bucket,
4215
+ :expected_bucket_owner)
4216
+ SENSITIVE = []
4217
+ include Aws::Structure
4218
+ end
4219
+
4028
4220
  # @!attribute [rw] bucket
4029
4221
  # The general purpose bucket that you want to remove the metadata
4030
4222
  # table configuration from.
@@ -4337,11 +4529,17 @@ module Aws::S3
4337
4529
  #
4338
4530
  # @!attribute [rw] request_charged
4339
4531
  # If present, indicates that the requester was successfully charged
4340
- # for the request.
4532
+ # for the request. For more information, see [Using Requester Pays
4533
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
4534
+ # Storage Service user guide*.
4341
4535
  #
4342
4536
  # <note markdown="1"> This functionality is not supported for directory buckets.
4343
4537
  #
4344
4538
  # </note>
4539
+ #
4540
+ #
4541
+ #
4542
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
4345
4543
  # @return [String]
4346
4544
  #
4347
4545
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectOutput AWS API Documentation
@@ -4367,19 +4565,21 @@ module Aws::S3
4367
4565
  # naming restrictions, see [Directory bucket naming rules][1] in the
4368
4566
  # *Amazon S3 User Guide*.
4369
4567
  #
4370
- # **Access points** - When you use this action with an access point,
4371
- # you must provide the alias of the access point in place of the
4372
- # bucket name or specify the access point ARN. When using the access
4373
- # point ARN, you must direct requests to the access point hostname.
4374
- # The access point hostname takes the form
4568
+ # **Access points** - When you use this action with an access point
4569
+ # for general purpose buckets, you must provide the alias of the
4570
+ # access point in place of the bucket name or specify the access point
4571
+ # ARN. When you use this action with an access point for directory
4572
+ # buckets, you must provide the access point name in place of the
4573
+ # bucket name. When using the access point ARN, you must direct
4574
+ # requests to the access point hostname. The access point hostname
4575
+ # takes the form
4375
4576
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4376
4577
  # When using this action with an access point through the Amazon Web
4377
4578
  # Services SDKs, you provide the access point ARN in place of the
4378
4579
  # bucket name. For more information about access point ARNs, see
4379
4580
  # [Using access points][2] in the *Amazon S3 User Guide*.
4380
4581
  #
4381
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
4382
- # directory buckets.
4582
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
4383
4583
  #
4384
4584
  # </note>
4385
4585
  #
@@ -4537,11 +4737,14 @@ module Aws::S3
4537
4737
  # The bucket name containing the objects from which to remove the
4538
4738
  # tags.
4539
4739
  #
4540
- # **Access points** - When you use this action with an access point,
4541
- # you must provide the alias of the access point in place of the
4542
- # bucket name or specify the access point ARN. When using the access
4543
- # point ARN, you must direct requests to the access point hostname.
4544
- # The access point hostname takes the form
4740
+ # **Access points** - When you use this action with an access point
4741
+ # for general purpose buckets, you must provide the alias of the
4742
+ # access point in place of the bucket name or specify the access point
4743
+ # ARN. When you use this action with an access point for directory
4744
+ # buckets, you must provide the access point name in place of the
4745
+ # bucket name. When using the access point ARN, you must direct
4746
+ # requests to the access point hostname. The access point hostname
4747
+ # takes the form
4545
4748
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4546
4749
  # When using this action with an access point through the Amazon Web
4547
4750
  # Services SDKs, you provide the access point ARN in place of the
@@ -4597,11 +4800,17 @@ module Aws::S3
4597
4800
  #
4598
4801
  # @!attribute [rw] request_charged
4599
4802
  # If present, indicates that the requester was successfully charged
4600
- # for the request.
4803
+ # for the request. For more information, see [Using Requester Pays
4804
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
4805
+ # Storage Service user guide*.
4601
4806
  #
4602
4807
  # <note markdown="1"> This functionality is not supported for directory buckets.
4603
4808
  #
4604
4809
  # </note>
4810
+ #
4811
+ #
4812
+ #
4813
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
4605
4814
  # @return [String]
4606
4815
  #
4607
4816
  # @!attribute [rw] errors
@@ -4632,19 +4841,21 @@ module Aws::S3
4632
4841
  # naming restrictions, see [Directory bucket naming rules][1] in the
4633
4842
  # *Amazon S3 User Guide*.
4634
4843
  #
4635
- # **Access points** - When you use this action with an access point,
4636
- # you must provide the alias of the access point in place of the
4637
- # bucket name or specify the access point ARN. When using the access
4638
- # point ARN, you must direct requests to the access point hostname.
4639
- # The access point hostname takes the form
4844
+ # **Access points** - When you use this action with an access point
4845
+ # for general purpose buckets, you must provide the alias of the
4846
+ # access point in place of the bucket name or specify the access point
4847
+ # ARN. When you use this action with an access point for directory
4848
+ # buckets, you must provide the access point name in place of the
4849
+ # bucket name. When using the access point ARN, you must direct
4850
+ # requests to the access point hostname. The access point hostname
4851
+ # takes the form
4640
4852
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4641
4853
  # When using this action with an access point through the Amazon Web
4642
4854
  # Services SDKs, you provide the access point ARN in place of the
4643
4855
  # bucket name. For more information about access point ARNs, see
4644
4856
  # [Using access points][2] in the *Amazon S3 User Guide*.
4645
4857
  #
4646
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
4647
- # directory buckets.
4858
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
4648
4859
  #
4649
4860
  # </note>
4650
4861
  #
@@ -4884,6 +5095,8 @@ module Aws::S3
4884
5095
  # For valid values, see the `StorageClass` element of the [PUT Bucket
4885
5096
  # replication][1] action in the *Amazon S3 API Reference*.
4886
5097
  #
5098
+ # `FSX_OPENZFS` is not an accepted value when replicating objects.
5099
+ #
4887
5100
  #
4888
5101
  #
4889
5102
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html
@@ -4930,6 +5143,37 @@ module Aws::S3
4930
5143
  include Aws::Structure
4931
5144
  end
4932
5145
 
5146
+ # The destination information for the S3 Metadata configuration.
5147
+ #
5148
+ # @!attribute [rw] table_bucket_type
5149
+ # The type of the table bucket where the metadata configuration is
5150
+ # stored. The `aws` value indicates an Amazon Web Services managed
5151
+ # table bucket, and the `customer` value indicates a customer-managed
5152
+ # table bucket. V2 metadata configurations are stored in Amazon Web
5153
+ # Services managed table buckets, and V1 metadata configurations are
5154
+ # stored in customer-managed table buckets.
5155
+ # @return [String]
5156
+ #
5157
+ # @!attribute [rw] table_bucket_arn
5158
+ # The Amazon Resource Name (ARN) of the table bucket where the
5159
+ # metadata configuration is stored.
5160
+ # @return [String]
5161
+ #
5162
+ # @!attribute [rw] table_namespace
5163
+ # The namespace in the table bucket where the metadata tables for a
5164
+ # metadata configuration are stored.
5165
+ # @return [String]
5166
+ #
5167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DestinationResult AWS API Documentation
5168
+ #
5169
+ class DestinationResult < Struct.new(
5170
+ :table_bucket_type,
5171
+ :table_bucket_arn,
5172
+ :table_namespace)
5173
+ SENSITIVE = []
5174
+ include Aws::Structure
5175
+ end
5176
+
4933
5177
  # Contains the type of server-side encryption used.
4934
5178
  #
4935
5179
  # @!attribute [rw] encryption_type
@@ -5771,12 +6015,24 @@ module Aws::S3
5771
6015
  include Aws::Structure
5772
6016
  end
5773
6017
 
5774
- # If the `CreateBucketMetadataTableConfiguration` request succeeds, but
5775
- # S3 Metadata was unable to create the table, this structure contains
5776
- # the error code and error message.
6018
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
6019
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3 Metadata
6020
+ # was unable to create the table, this structure contains the error code
6021
+ # and error message.
6022
+ #
6023
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
6024
+ # recommend that you delete and re-create your configuration by using
6025
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
6026
+ # table records and create a live inventory table.
6027
+ #
6028
+ # </note>
6029
+ #
6030
+ #
6031
+ #
6032
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
5777
6033
  #
5778
6034
  # @!attribute [rw] error_code
5779
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
6035
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
5780
6036
  # but S3 Metadata was unable to create the table, this structure
5781
6037
  # contains the error code. The possible error codes and error messages
5782
6038
  # are as follows:
@@ -5815,10 +6071,65 @@ module Aws::S3
5815
6071
  # Create or choose a different table bucket. To create a new
5816
6072
  # metadata table, you must delete the metadata configuration for
5817
6073
  # this bucket, and then create a new metadata configuration.
6074
+ #
6075
+ # If the V2 `CreateBucketMetadataConfiguration` request succeeds, but
6076
+ # S3 Metadata was unable to create the table, this structure contains
6077
+ # the error code. The possible error codes and error messages are as
6078
+ # follows:
6079
+ #
6080
+ # * `AccessDeniedCreatingResources` - You don't have sufficient
6081
+ # permissions to create the required resources. Make sure that you
6082
+ # have `s3tables:CreateTableBucket`, `s3tables:CreateNamespace`,
6083
+ # `s3tables:CreateTable`, `s3tables:GetTable`,
6084
+ # `s3tables:PutTablePolicy`, `kms:DescribeKey`, and
6085
+ # `s3tables:PutTableEncryption` permissions. Additionally, ensure
6086
+ # that the KMS key used to encrypt the table still exists, is active
6087
+ # and has a resource policy granting access to the S3 service
6088
+ # principals '`maintenance.s3tables.amazonaws.com`' and
6089
+ # '`metadata.s3.amazonaws.com`'. To create a new metadata table,
6090
+ # you must delete the metadata configuration for this bucket, and
6091
+ # then create a new metadata configuration.
6092
+ #
6093
+ # * `AccessDeniedWritingToTable` - Unable to write to the metadata
6094
+ # table because of missing resource permissions. To fix the resource
6095
+ # policy, Amazon S3 needs to create a new metadata table. To create
6096
+ # a new metadata table, you must delete the metadata configuration
6097
+ # for this bucket, and then create a new metadata configuration.
6098
+ #
6099
+ # * `DestinationTableNotFound` - The destination table doesn't exist.
6100
+ # To create a new metadata table, you must delete the metadata
6101
+ # configuration for this bucket, and then create a new metadata
6102
+ # configuration.
6103
+ #
6104
+ # * `ServerInternalError` - An internal error has occurred. To create
6105
+ # a new metadata table, you must delete the metadata configuration
6106
+ # for this bucket, and then create a new metadata configuration.
6107
+ #
6108
+ # * `JournalTableAlreadyExists` - A journal table already exists in
6109
+ # the Amazon Web Services managed table bucket's namespace. Delete
6110
+ # the journal table, and then try again. To create a new metadata
6111
+ # table, you must delete the metadata configuration for this bucket,
6112
+ # and then create a new metadata configuration.
6113
+ #
6114
+ # * `InventoryTableAlreadyExists` - An inventory table already exists
6115
+ # in the Amazon Web Services managed table bucket's namespace.
6116
+ # Delete the inventory table, and then try again. To create a new
6117
+ # metadata table, you must delete the metadata configuration for
6118
+ # this bucket, and then create a new metadata configuration.
6119
+ #
6120
+ # * `JournalTableNotAvailable` - The journal table that the inventory
6121
+ # table relies on has a `FAILED` status. An inventory table requires
6122
+ # a journal table with an `ACTIVE` status. To create a new journal
6123
+ # or inventory table, you must delete the metadata configuration for
6124
+ # this bucket, along with any journal or inventory tables, and then
6125
+ # create a new metadata configuration.
6126
+ #
6127
+ # * `NoSuchBucket` - The specified general purpose bucket does not
6128
+ # exist.
5818
6129
  # @return [String]
5819
6130
  #
5820
6131
  # @!attribute [rw] error_message
5821
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
6132
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
5822
6133
  # but S3 Metadata was unable to create the table, this structure
5823
6134
  # contains the error message. The possible error codes and error
5824
6135
  # messages are as follows:
@@ -5857,6 +6168,61 @@ module Aws::S3
5857
6168
  # Create or choose a different table bucket. To create a new
5858
6169
  # metadata table, you must delete the metadata configuration for
5859
6170
  # this bucket, and then create a new metadata configuration.
6171
+ #
6172
+ # If the V2 `CreateBucketMetadataConfiguration` request succeeds, but
6173
+ # S3 Metadata was unable to create the table, this structure contains
6174
+ # the error code. The possible error codes and error messages are as
6175
+ # follows:
6176
+ #
6177
+ # * `AccessDeniedCreatingResources` - You don't have sufficient
6178
+ # permissions to create the required resources. Make sure that you
6179
+ # have `s3tables:CreateTableBucket`, `s3tables:CreateNamespace`,
6180
+ # `s3tables:CreateTable`, `s3tables:GetTable`,
6181
+ # `s3tables:PutTablePolicy`, `kms:DescribeKey`, and
6182
+ # `s3tables:PutTableEncryption` permissions. Additionally, ensure
6183
+ # that the KMS key used to encrypt the table still exists, is active
6184
+ # and has a resource policy granting access to the S3 service
6185
+ # principals '`maintenance.s3tables.amazonaws.com`' and
6186
+ # '`metadata.s3.amazonaws.com`'. To create a new metadata table,
6187
+ # you must delete the metadata configuration for this bucket, and
6188
+ # then create a new metadata configuration.
6189
+ #
6190
+ # * `AccessDeniedWritingToTable` - Unable to write to the metadata
6191
+ # table because of missing resource permissions. To fix the resource
6192
+ # policy, Amazon S3 needs to create a new metadata table. To create
6193
+ # a new metadata table, you must delete the metadata configuration
6194
+ # for this bucket, and then create a new metadata configuration.
6195
+ #
6196
+ # * `DestinationTableNotFound` - The destination table doesn't exist.
6197
+ # To create a new metadata table, you must delete the metadata
6198
+ # configuration for this bucket, and then create a new metadata
6199
+ # configuration.
6200
+ #
6201
+ # * `ServerInternalError` - An internal error has occurred. To create
6202
+ # a new metadata table, you must delete the metadata configuration
6203
+ # for this bucket, and then create a new metadata configuration.
6204
+ #
6205
+ # * `JournalTableAlreadyExists` - A journal table already exists in
6206
+ # the Amazon Web Services managed table bucket's namespace. Delete
6207
+ # the journal table, and then try again. To create a new metadata
6208
+ # table, you must delete the metadata configuration for this bucket,
6209
+ # and then create a new metadata configuration.
6210
+ #
6211
+ # * `InventoryTableAlreadyExists` - An inventory table already exists
6212
+ # in the Amazon Web Services managed table bucket's namespace.
6213
+ # Delete the inventory table, and then try again. To create a new
6214
+ # metadata table, you must delete the metadata configuration for
6215
+ # this bucket, and then create a new metadata configuration.
6216
+ #
6217
+ # * `JournalTableNotAvailable` - The journal table that the inventory
6218
+ # table relies on has a `FAILED` status. An inventory table requires
6219
+ # a journal table with an `ACTIVE` status. To create a new journal
6220
+ # or inventory table, you must delete the metadata configuration for
6221
+ # this bucket, along with any journal or inventory tables, and then
6222
+ # create a new metadata configuration.
6223
+ #
6224
+ # * `NoSuchBucket` - The specified general purpose bucket does not
6225
+ # exist.
5860
6226
  # @return [String]
5861
6227
  #
5862
6228
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDetails AWS API Documentation
@@ -5965,11 +6331,17 @@ module Aws::S3
5965
6331
  #
5966
6332
  # @!attribute [rw] request_charged
5967
6333
  # If present, indicates that the requester was successfully charged
5968
- # for the request.
6334
+ # for the request. For more information, see [Using Requester Pays
6335
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
6336
+ # Storage Service user guide*.
5969
6337
  #
5970
6338
  # <note markdown="1"> This functionality is not supported for directory buckets.
5971
6339
  #
5972
6340
  # </note>
6341
+ #
6342
+ #
6343
+ #
6344
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
5973
6345
  # @return [String]
5974
6346
  #
5975
6347
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationOutput AWS API Documentation
@@ -6232,11 +6604,19 @@ module Aws::S3
6232
6604
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6233
6605
  # @return [String]
6234
6606
  #
6607
+ # @!attribute [rw] expected_bucket_owner
6608
+ # The account ID of the expected bucket owner. If the account ID that
6609
+ # you provide does not match the actual owner of the bucket, the
6610
+ # request fails with the HTTP status code `403 Forbidden` (access
6611
+ # denied).
6612
+ # @return [String]
6613
+ #
6235
6614
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfigurationRequest AWS API Documentation
6236
6615
  #
6237
6616
  class GetBucketIntelligentTieringConfigurationRequest < Struct.new(
6238
6617
  :bucket,
6239
- :id)
6618
+ :id,
6619
+ :expected_bucket_owner)
6240
6620
  SENSITIVE = []
6241
6621
  include Aws::Structure
6242
6622
  end
@@ -6465,6 +6845,51 @@ module Aws::S3
6465
6845
  include Aws::Structure
6466
6846
  end
6467
6847
 
6848
+ # @!attribute [rw] get_bucket_metadata_configuration_result
6849
+ # The metadata configuration for the general purpose bucket.
6850
+ # @return [Types::GetBucketMetadataConfigurationResult]
6851
+ #
6852
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationOutput AWS API Documentation
6853
+ #
6854
+ class GetBucketMetadataConfigurationOutput < Struct.new(
6855
+ :get_bucket_metadata_configuration_result)
6856
+ SENSITIVE = []
6857
+ include Aws::Structure
6858
+ end
6859
+
6860
+ # @!attribute [rw] bucket
6861
+ # The general purpose bucket that corresponds to the metadata
6862
+ # configuration that you want to retrieve.
6863
+ # @return [String]
6864
+ #
6865
+ # @!attribute [rw] expected_bucket_owner
6866
+ # The expected owner of the general purpose bucket that you want to
6867
+ # retrieve the metadata table configuration for.
6868
+ # @return [String]
6869
+ #
6870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationRequest AWS API Documentation
6871
+ #
6872
+ class GetBucketMetadataConfigurationRequest < Struct.new(
6873
+ :bucket,
6874
+ :expected_bucket_owner)
6875
+ SENSITIVE = []
6876
+ include Aws::Structure
6877
+ end
6878
+
6879
+ # The S3 Metadata configuration for a general purpose bucket.
6880
+ #
6881
+ # @!attribute [rw] metadata_configuration_result
6882
+ # The metadata configuration for a general purpose bucket.
6883
+ # @return [Types::MetadataConfigurationResult]
6884
+ #
6885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationResult AWS API Documentation
6886
+ #
6887
+ class GetBucketMetadataConfigurationResult < Struct.new(
6888
+ :metadata_configuration_result)
6889
+ SENSITIVE = []
6890
+ include Aws::Structure
6891
+ end
6892
+
6468
6893
  # @!attribute [rw] get_bucket_metadata_table_configuration_result
6469
6894
  # The metadata table configuration for the general purpose bucket.
6470
6895
  # @return [Types::GetBucketMetadataTableConfigurationResult]
@@ -6478,13 +6903,13 @@ module Aws::S3
6478
6903
  end
6479
6904
 
6480
6905
  # @!attribute [rw] bucket
6481
- # The general purpose bucket that contains the metadata table
6906
+ # The general purpose bucket that corresponds to the metadata table
6482
6907
  # configuration that you want to retrieve.
6483
6908
  # @return [String]
6484
6909
  #
6485
6910
  # @!attribute [rw] expected_bucket_owner
6486
6911
  # The expected owner of the general purpose bucket that you want to
6487
- # retrieve the metadata table configuration from.
6912
+ # retrieve the metadata table configuration for.
6488
6913
  # @return [String]
6489
6914
  #
6490
6915
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -6496,10 +6921,21 @@ module Aws::S3
6496
6921
  include Aws::Structure
6497
6922
  end
6498
6923
 
6499
- # The metadata table configuration for a general purpose bucket.
6924
+ # The V1 S3 Metadata configuration for a general purpose bucket.
6925
+ #
6926
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
6927
+ # recommend that you delete and re-create your configuration by using
6928
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
6929
+ # table records and create a live inventory table.
6930
+ #
6931
+ # </note>
6932
+ #
6933
+ #
6934
+ #
6935
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
6500
6936
  #
6501
6937
  # @!attribute [rw] metadata_table_configuration_result
6502
- # The metadata table configuration for a general purpose bucket.
6938
+ # The V1 S3 Metadata configuration for a general purpose bucket.
6503
6939
  # @return [Types::MetadataTableConfigurationResult]
6504
6940
  #
6505
6941
  # @!attribute [rw] status
@@ -6508,7 +6944,7 @@ module Aws::S3
6508
6944
  # * `CREATING` - The metadata table is in the process of being created
6509
6945
  # in the specified table bucket.
6510
6946
  #
6511
- # * `ACTIVE` - The metadata table has been created successfully and
6947
+ # * `ACTIVE` - The metadata table has been created successfully, and
6512
6948
  # records are being delivered to the table.
6513
6949
  #
6514
6950
  # * `FAILED` - Amazon S3 is unable to create the metadata table, or
@@ -6678,8 +7114,7 @@ module Aws::S3
6678
7114
  # `InvalidAccessPointAliasError` is returned. For more information
6679
7115
  # about `InvalidAccessPointAliasError`, see [List of Error Codes][2].
6680
7116
  #
6681
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
6682
- # directory buckets.
7117
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
6683
7118
  #
6684
7119
  # </note>
6685
7120
  #
@@ -6943,11 +7378,17 @@ module Aws::S3
6943
7378
  #
6944
7379
  # @!attribute [rw] request_charged
6945
7380
  # If present, indicates that the requester was successfully charged
6946
- # for the request.
7381
+ # for the request. For more information, see [Using Requester Pays
7382
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
7383
+ # Storage Service user guide*.
6947
7384
  #
6948
7385
  # <note markdown="1"> This functionality is not supported for directory buckets.
6949
7386
  #
6950
7387
  # </note>
7388
+ #
7389
+ #
7390
+ #
7391
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
6951
7392
  # @return [String]
6952
7393
  #
6953
7394
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAclOutput AWS API Documentation
@@ -6964,11 +7405,14 @@ module Aws::S3
6964
7405
  # The bucket name that contains the object for which to get the ACL
6965
7406
  # information.
6966
7407
  #
6967
- # **Access points** - When you use this action with an access point,
6968
- # you must provide the alias of the access point in place of the
6969
- # bucket name or specify the access point ARN. When using the access
6970
- # point ARN, you must direct requests to the access point hostname.
6971
- # The access point hostname takes the form
7408
+ # **Access points** - When you use this action with an access point
7409
+ # for general purpose buckets, you must provide the alias of the
7410
+ # access point in place of the bucket name or specify the access point
7411
+ # ARN. When you use this action with an access point for directory
7412
+ # buckets, you must provide the access point name in place of the
7413
+ # bucket name. When using the access point ARN, you must direct
7414
+ # requests to the access point hostname. The access point hostname
7415
+ # takes the form
6972
7416
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6973
7417
  # When using this action with an access point through the Amazon Web
6974
7418
  # Services SDKs, you provide the access point ARN in place of the
@@ -7058,11 +7502,17 @@ module Aws::S3
7058
7502
  #
7059
7503
  # @!attribute [rw] request_charged
7060
7504
  # If present, indicates that the requester was successfully charged
7061
- # for the request.
7505
+ # for the request. For more information, see [Using Requester Pays
7506
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
7507
+ # Storage Service user guide*.
7062
7508
  #
7063
7509
  # <note markdown="1"> This functionality is not supported for directory buckets.
7064
7510
  #
7065
7511
  # </note>
7512
+ #
7513
+ #
7514
+ #
7515
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
7066
7516
  # @return [String]
7067
7517
  #
7068
7518
  # @!attribute [rw] etag
@@ -7085,8 +7535,10 @@ module Aws::S3
7085
7535
  #
7086
7536
  # For more information, see [Storage Classes][1].
7087
7537
  #
7088
- # <note markdown="1"> **Directory buckets** - Only the S3 Express One Zone storage class
7089
- # is supported by directory buckets to store objects.
7538
+ # <note markdown="1"> **Directory buckets** - Directory buckets only support
7539
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
7540
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
7541
+ # Access storage class) in Dedicated Local Zones.
7090
7542
  #
7091
7543
  # </note>
7092
7544
  #
@@ -7146,15 +7598,15 @@ module Aws::S3
7146
7598
  # A container for elements related to a particular part. A response
7147
7599
  # can contain zero or more `Parts` elements.
7148
7600
  #
7149
- # <note markdown="1"> * **General purpose buckets** - For `GetObjectAttributes`, if a
7601
+ # <note markdown="1"> * **General purpose buckets** - For `GetObjectAttributes`, if an
7150
7602
  # additional checksum (including `x-amz-checksum-crc32`,
7151
7603
  # `x-amz-checksum-crc32c`, `x-amz-checksum-sha1`, or
7152
7604
  # `x-amz-checksum-sha256`) isn't applied to the object specified in
7153
- # the request, the response doesn't return `Part`.
7605
+ # the request, the response doesn't return the `Part` element.
7154
7606
  #
7155
- # * **Directory buckets** - For `GetObjectAttributes`, no matter
7156
- # whether a additional checksum is applied to the object specified
7157
- # in the request, the response returns `Part`.
7607
+ # * **Directory buckets** - For `GetObjectAttributes`, regardless of
7608
+ # whether an additional checksum is applied to the object specified
7609
+ # in the request, the response returns the `Part` element.
7158
7610
  #
7159
7611
  # </note>
7160
7612
  # @return [Array<Types::ObjectPart>]
@@ -7185,19 +7637,21 @@ module Aws::S3
7185
7637
  # naming restrictions, see [Directory bucket naming rules][1] in the
7186
7638
  # *Amazon S3 User Guide*.
7187
7639
  #
7188
- # **Access points** - When you use this action with an access point,
7189
- # you must provide the alias of the access point in place of the
7190
- # bucket name or specify the access point ARN. When using the access
7191
- # point ARN, you must direct requests to the access point hostname.
7192
- # The access point hostname takes the form
7640
+ # **Access points** - When you use this action with an access point
7641
+ # for general purpose buckets, you must provide the alias of the
7642
+ # access point in place of the bucket name or specify the access point
7643
+ # ARN. When you use this action with an access point for directory
7644
+ # buckets, you must provide the access point name in place of the
7645
+ # bucket name. When using the access point ARN, you must direct
7646
+ # requests to the access point hostname. The access point hostname
7647
+ # takes the form
7193
7648
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7194
7649
  # When using this action with an access point through the Amazon Web
7195
7650
  # Services SDKs, you provide the access point ARN in place of the
7196
7651
  # bucket name. For more information about access point ARNs, see
7197
7652
  # [Using access points][2] in the *Amazon S3 User Guide*.
7198
7653
  #
7199
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
7200
- # directory buckets.
7654
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
7201
7655
  #
7202
7656
  # </note>
7203
7657
  #
@@ -7233,12 +7687,24 @@ module Aws::S3
7233
7687
  # @return [String]
7234
7688
  #
7235
7689
  # @!attribute [rw] max_parts
7236
- # Sets the maximum number of parts to return.
7690
+ # Sets the maximum number of parts to return. For more information,
7691
+ # see [Uploading and copying objects using multipart upload in Amazon
7692
+ # S3 ][1] in the *Amazon Simple Storage Service user guide*.
7693
+ #
7694
+ #
7695
+ #
7696
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
7237
7697
  # @return [Integer]
7238
7698
  #
7239
7699
  # @!attribute [rw] part_number_marker
7240
7700
  # Specifies the part after which listing should begin. Only parts with
7241
- # higher part numbers will be listed.
7701
+ # higher part numbers will be listed. For more information, see
7702
+ # [Uploading and copying objects using multipart upload in Amazon S3
7703
+ # ][1] in the *Amazon Simple Storage Service user guide*.
7704
+ #
7705
+ #
7706
+ #
7707
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
7242
7708
  # @return [Integer]
7243
7709
  #
7244
7710
  # @!attribute [rw] sse_customer_algorithm
@@ -7336,11 +7802,14 @@ module Aws::S3
7336
7802
  # The bucket name containing the object whose legal hold status you
7337
7803
  # want to retrieve.
7338
7804
  #
7339
- # **Access points** - When you use this action with an access point,
7340
- # you must provide the alias of the access point in place of the
7341
- # bucket name or specify the access point ARN. When using the access
7342
- # point ARN, you must direct requests to the access point hostname.
7343
- # The access point hostname takes the form
7805
+ # **Access points** - When you use this action with an access point
7806
+ # for general purpose buckets, you must provide the alias of the
7807
+ # access point in place of the bucket name or specify the access point
7808
+ # ARN. When you use this action with an access point for directory
7809
+ # buckets, you must provide the access point name in place of the
7810
+ # bucket name. When using the access point ARN, you must direct
7811
+ # requests to the access point hostname. The access point hostname
7812
+ # takes the form
7344
7813
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7345
7814
  # When using this action with an access point through the Amazon Web
7346
7815
  # Services SDKs, you provide the access point ARN in place of the
@@ -7414,11 +7883,14 @@ module Aws::S3
7414
7883
  # @!attribute [rw] bucket
7415
7884
  # The bucket whose Object Lock configuration you want to retrieve.
7416
7885
  #
7417
- # **Access points** - When you use this action with an access point,
7418
- # you must provide the alias of the access point in place of the
7419
- # bucket name or specify the access point ARN. When using the access
7420
- # point ARN, you must direct requests to the access point hostname.
7421
- # The access point hostname takes the form
7886
+ # **Access points** - When you use this action with an access point
7887
+ # for general purpose buckets, you must provide the alias of the
7888
+ # access point in place of the bucket name or specify the access point
7889
+ # ARN. When you use this action with an access point for directory
7890
+ # buckets, you must provide the access point name in place of the
7891
+ # bucket name. When using the access point ARN, you must direct
7892
+ # requests to the access point hostname. The access point hostname
7893
+ # takes the form
7422
7894
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7423
7895
  # When using this action with an access point through the Amazon Web
7424
7896
  # Services SDKs, you provide the access point ARN in place of the
@@ -7492,9 +7964,10 @@ module Aws::S3
7492
7964
  # Provides information about object restoration action and expiration
7493
7965
  # time of the restored object copy.
7494
7966
  #
7495
- # <note markdown="1"> This functionality is not supported for directory buckets. Only the
7496
- # S3 Express One Zone storage class is supported by directory buckets
7497
- # to store objects.
7967
+ # <note markdown="1"> This functionality is not supported for directory buckets. Directory
7968
+ # buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
7969
+ # storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
7970
+ # Zone-Infrequent Access storage class) in Dedicated Local Zones.
7498
7971
  #
7499
7972
  # </note>
7500
7973
  # @return [String]
@@ -7650,7 +8123,13 @@ module Aws::S3
7650
8123
  #
7651
8124
  # @!attribute [rw] server_side_encryption
7652
8125
  # The server-side encryption algorithm used when you store this object
7653
- # in Amazon S3.
8126
+ # in Amazon S3 or Amazon FSx.
8127
+ #
8128
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
8129
+ # access points, the only valid server side encryption option is
8130
+ # `aws:fsx`.
8131
+ #
8132
+ # </note>
7654
8133
  # @return [String]
7655
8134
  #
7656
8135
  # @!attribute [rw] metadata
@@ -7693,19 +8172,27 @@ module Aws::S3
7693
8172
  # this header for all objects except for S3 Standard storage class
7694
8173
  # objects.
7695
8174
  #
7696
- # <note markdown="1"> <b>Directory buckets </b> - Only the S3 Express One Zone storage
7697
- # class is supported by directory buckets to store objects.
8175
+ # <note markdown="1"> <b>Directory buckets </b> - Directory buckets only support
8176
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
8177
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
8178
+ # Access storage class) in Dedicated Local Zones.
7698
8179
  #
7699
8180
  # </note>
7700
8181
  # @return [String]
7701
8182
  #
7702
8183
  # @!attribute [rw] request_charged
7703
8184
  # If present, indicates that the requester was successfully charged
7704
- # for the request.
8185
+ # for the request. For more information, see [Using Requester Pays
8186
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
8187
+ # Storage Service user guide*.
7705
8188
  #
7706
8189
  # <note markdown="1"> This functionality is not supported for directory buckets.
7707
8190
  #
7708
8191
  # </note>
8192
+ #
8193
+ #
8194
+ #
8195
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
7709
8196
  # @return [String]
7710
8197
  #
7711
8198
  # @!attribute [rw] replication_status
@@ -7824,11 +8311,14 @@ module Aws::S3
7824
8311
  # naming restrictions, see [Directory bucket naming rules][1] in the
7825
8312
  # *Amazon S3 User Guide*.
7826
8313
  #
7827
- # **Access points** - When you use this action with an access point,
7828
- # you must provide the alias of the access point in place of the
7829
- # bucket name or specify the access point ARN. When using the access
7830
- # point ARN, you must direct requests to the access point hostname.
7831
- # The access point hostname takes the form
8314
+ # **Access points** - When you use this action with an access point
8315
+ # for general purpose buckets, you must provide the alias of the
8316
+ # access point in place of the bucket name or specify the access point
8317
+ # ARN. When you use this action with an access point for directory
8318
+ # buckets, you must provide the access point name in place of the
8319
+ # bucket name. When using the access point ARN, you must direct
8320
+ # requests to the access point hostname. The access point hostname
8321
+ # takes the form
7832
8322
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7833
8323
  # When using this action with an access point through the Amazon Web
7834
8324
  # Services SDKs, you provide the access point ARN in place of the
@@ -7841,8 +8331,7 @@ module Aws::S3
7841
8331
  # hostname takes the form
7842
8332
  # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
7843
8333
  #
7844
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
7845
- # directory buckets.
8334
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
7846
8335
  #
7847
8336
  # </note>
7848
8337
  #
@@ -8173,11 +8662,14 @@ module Aws::S3
8173
8662
  # The bucket name containing the object whose retention settings you
8174
8663
  # want to retrieve.
8175
8664
  #
8176
- # **Access points** - When you use this action with an access point,
8177
- # you must provide the alias of the access point in place of the
8178
- # bucket name or specify the access point ARN. When using the access
8179
- # point ARN, you must direct requests to the access point hostname.
8180
- # The access point hostname takes the form
8665
+ # **Access points** - When you use this action with an access point
8666
+ # for general purpose buckets, you must provide the alias of the
8667
+ # access point in place of the bucket name or specify the access point
8668
+ # ARN. When you use this action with an access point for directory
8669
+ # buckets, you must provide the access point name in place of the
8670
+ # bucket name. When using the access point ARN, you must direct
8671
+ # requests to the access point hostname. The access point hostname
8672
+ # takes the form
8181
8673
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8182
8674
  # When using this action with an access point through the Amazon Web
8183
8675
  # Services SDKs, you provide the access point ARN in place of the
@@ -8258,11 +8750,14 @@ module Aws::S3
8258
8750
  # The bucket name containing the object for which to get the tagging
8259
8751
  # information.
8260
8752
  #
8261
- # **Access points** - When you use this action with an access point,
8262
- # you must provide the alias of the access point in place of the
8263
- # bucket name or specify the access point ARN. When using the access
8264
- # point ARN, you must direct requests to the access point hostname.
8265
- # The access point hostname takes the form
8753
+ # **Access points** - When you use this action with an access point
8754
+ # for general purpose buckets, you must provide the alias of the
8755
+ # access point in place of the bucket name or specify the access point
8756
+ # ARN. When you use this action with an access point for directory
8757
+ # buckets, you must provide the access point name in place of the
8758
+ # bucket name. When using the access point ARN, you must direct
8759
+ # requests to the access point hostname. The access point hostname
8760
+ # takes the form
8266
8761
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8267
8762
  # When using this action with an access point through the Amazon Web
8268
8763
  # Services SDKs, you provide the access point ARN in place of the
@@ -8336,11 +8831,17 @@ module Aws::S3
8336
8831
  #
8337
8832
  # @!attribute [rw] request_charged
8338
8833
  # If present, indicates that the requester was successfully charged
8339
- # for the request.
8834
+ # for the request. For more information, see [Using Requester Pays
8835
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
8836
+ # Storage Service user guide*.
8340
8837
  #
8341
8838
  # <note markdown="1"> This functionality is not supported for directory buckets.
8342
8839
  #
8343
8840
  # </note>
8841
+ #
8842
+ #
8843
+ #
8844
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
8344
8845
  # @return [String]
8345
8846
  #
8346
8847
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrentOutput AWS API Documentation
@@ -8527,6 +9028,21 @@ module Aws::S3
8527
9028
  include Aws::Structure
8528
9029
  end
8529
9030
 
9031
+ # @!attribute [rw] bucket_arn
9032
+ # The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
9033
+ # identify Amazon Web Services resources across all of Amazon Web
9034
+ # Services.
9035
+ #
9036
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
9037
+ # information, see [Using tags with directory buckets][1].
9038
+ #
9039
+ # </note>
9040
+ #
9041
+ #
9042
+ #
9043
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
9044
+ # @return [String]
9045
+ #
8530
9046
  # @!attribute [rw] bucket_location_type
8531
9047
  # The type of location where the bucket is created.
8532
9048
  #
@@ -8563,6 +9079,7 @@ module Aws::S3
8563
9079
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketOutput AWS API Documentation
8564
9080
  #
8565
9081
  class HeadBucketOutput < Struct.new(
9082
+ :bucket_arn,
8566
9083
  :bucket_location_type,
8567
9084
  :bucket_location_name,
8568
9085
  :bucket_region,
@@ -8584,11 +9101,14 @@ module Aws::S3
8584
9101
  # naming restrictions, see [Directory bucket naming rules][1] in the
8585
9102
  # *Amazon S3 User Guide*.
8586
9103
  #
8587
- # **Access points** - When you use this action with an access point,
8588
- # you must provide the alias of the access point in place of the
8589
- # bucket name or specify the access point ARN. When using the access
8590
- # point ARN, you must direct requests to the access point hostname.
8591
- # The access point hostname takes the form
9104
+ # **Access points** - When you use this action with an access point
9105
+ # for general purpose buckets, you must provide the alias of the
9106
+ # access point in place of the bucket name or specify the access point
9107
+ # ARN. When you use this action with an access point for directory
9108
+ # buckets, you must provide the access point name in place of the
9109
+ # bucket name. When using the access point ARN, you must direct
9110
+ # requests to the access point hostname. The access point hostname
9111
+ # takes the form
8592
9112
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8593
9113
  # When using this action with an access point through the Amazon Web
8594
9114
  # Services SDKs, you provide the access point ARN in place of the
@@ -8602,8 +9122,7 @@ module Aws::S3
8602
9122
  # `InvalidAccessPointAliasError` is returned. For more information
8603
9123
  # about `InvalidAccessPointAliasError`, see [List of Error Codes][3].
8604
9124
  #
8605
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
8606
- # directory buckets.
9125
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
8607
9126
  #
8608
9127
  # </note>
8609
9128
  #
@@ -8690,9 +9209,10 @@ module Aws::S3
8690
9209
  # For more information about archiving objects, see [Transitioning
8691
9210
  # Objects: General Considerations][2].
8692
9211
  #
8693
- # <note markdown="1"> This functionality is not supported for directory buckets. Only the
8694
- # S3 Express One Zone storage class is supported by directory buckets
8695
- # to store objects.
9212
+ # <note markdown="1"> This functionality is not supported for directory buckets. Directory
9213
+ # buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
9214
+ # storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
9215
+ # Zone-Infrequent Access storage class) in Dedicated Local Zones.
8696
9216
  #
8697
9217
  # </note>
8698
9218
  #
@@ -8873,7 +9393,13 @@ module Aws::S3
8873
9393
  #
8874
9394
  # @!attribute [rw] server_side_encryption
8875
9395
  # The server-side encryption algorithm used when you store this object
8876
- # in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
9396
+ # in Amazon S3 or Amazon FSx.
9397
+ #
9398
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
9399
+ # access points, the only valid server side encryption option is
9400
+ # `aws:fsx`.
9401
+ #
9402
+ # </note>
8877
9403
  # @return [String]
8878
9404
  #
8879
9405
  # @!attribute [rw] metadata
@@ -8918,8 +9444,10 @@ module Aws::S3
8918
9444
  #
8919
9445
  # For more information, see [Storage Classes][1].
8920
9446
  #
8921
- # <note markdown="1"> <b>Directory buckets </b> - Only the S3 Express One Zone storage
8922
- # class is supported by directory buckets to store objects.
9447
+ # <note markdown="1"> <b>Directory buckets </b> - Directory buckets only support
9448
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
9449
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
9450
+ # Access storage class) in Dedicated Local Zones.
8923
9451
  #
8924
9452
  # </note>
8925
9453
  #
@@ -8930,11 +9458,17 @@ module Aws::S3
8930
9458
  #
8931
9459
  # @!attribute [rw] request_charged
8932
9460
  # If present, indicates that the requester was successfully charged
8933
- # for the request.
9461
+ # for the request. For more information, see [Using Requester Pays
9462
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
9463
+ # Storage Service user guide*.
8934
9464
  #
8935
9465
  # <note markdown="1"> This functionality is not supported for directory buckets.
8936
9466
  #
8937
9467
  # </note>
9468
+ #
9469
+ #
9470
+ #
9471
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
8938
9472
  # @return [String]
8939
9473
  #
8940
9474
  # @!attribute [rw] replication_status
@@ -8991,6 +9525,22 @@ module Aws::S3
8991
9525
  # as a multipart upload.
8992
9526
  # @return [Integer]
8993
9527
  #
9528
+ # @!attribute [rw] tag_count
9529
+ # The number of tags, if any, on the object, when you have the
9530
+ # relevant permission to read object tags.
9531
+ #
9532
+ # You can use [GetObjectTagging][1] to retrieve the tag set associated
9533
+ # with an object.
9534
+ #
9535
+ # <note markdown="1"> This functionality is not supported for directory buckets.
9536
+ #
9537
+ # </note>
9538
+ #
9539
+ #
9540
+ #
9541
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
9542
+ # @return [Integer]
9543
+ #
8994
9544
  # @!attribute [rw] object_lock_mode
8995
9545
  # The Object Lock mode, if any, that's in effect for this object.
8996
9546
  # This header is only returned if the requester has the
@@ -9071,6 +9621,7 @@ module Aws::S3
9071
9621
  :request_charged,
9072
9622
  :replication_status,
9073
9623
  :parts_count,
9624
+ :tag_count,
9074
9625
  :object_lock_mode,
9075
9626
  :object_lock_retain_until_date,
9076
9627
  :object_lock_legal_hold_status)
@@ -9091,19 +9642,21 @@ module Aws::S3
9091
9642
  # naming restrictions, see [Directory bucket naming rules][1] in the
9092
9643
  # *Amazon S3 User Guide*.
9093
9644
  #
9094
- # **Access points** - When you use this action with an access point,
9095
- # you must provide the alias of the access point in place of the
9096
- # bucket name or specify the access point ARN. When using the access
9097
- # point ARN, you must direct requests to the access point hostname.
9098
- # The access point hostname takes the form
9645
+ # **Access points** - When you use this action with an access point
9646
+ # for general purpose buckets, you must provide the alias of the
9647
+ # access point in place of the bucket name or specify the access point
9648
+ # ARN. When you use this action with an access point for directory
9649
+ # buckets, you must provide the access point name in place of the
9650
+ # bucket name. When using the access point ARN, you must direct
9651
+ # requests to the access point hostname. The access point hostname
9652
+ # takes the form
9099
9653
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9100
9654
  # When using this action with an access point through the Amazon Web
9101
9655
  # Services SDKs, you provide the access point ARN in place of the
9102
9656
  # bucket name. For more information about access point ARNs, see
9103
9657
  # [Using access points][2] in the *Amazon S3 User Guide*.
9104
9658
  #
9105
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
9106
- # directory buckets.
9659
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
9107
9660
  #
9108
9661
  # </note>
9109
9662
  #
@@ -9357,6 +9910,27 @@ module Aws::S3
9357
9910
  include Aws::Structure
9358
9911
  end
9359
9912
 
9913
+ # Parameters on this idempotent request are inconsistent with parameters
9914
+ # used in previous request(s).
9915
+ #
9916
+ # For a list of error codes and more information on Amazon S3 errors,
9917
+ # see [Error codes][1].
9918
+ #
9919
+ # <note markdown="1"> Idempotency ensures that an API request completes no more than one
9920
+ # time. With an idempotent request, if the original request completes
9921
+ # successfully, any subsequent retries complete successfully without
9922
+ # performing any further actions.
9923
+ #
9924
+ # </note>
9925
+ #
9926
+ #
9927
+ #
9928
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
9929
+ #
9930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IdempotencyParameterMismatch AWS API Documentation
9931
+ #
9932
+ class IdempotencyParameterMismatch < Aws::EmptyStructure; end
9933
+
9360
9934
  # Container for the `Suffix` element.
9361
9935
  #
9362
9936
  # @!attribute [rw] suffix
@@ -9597,7 +10171,7 @@ module Aws::S3
9597
10171
  #
9598
10172
  class InvalidWriteOffset < Aws::EmptyStructure; end
9599
10173
 
9600
- # Specifies the inventory configuration for an Amazon S3 bucket. For
10174
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket. For
9601
10175
  # more information, see [GET Bucket inventory][1] in the *Amazon S3 API
9602
10176
  # Reference*.
9603
10177
  #
@@ -9655,7 +10229,7 @@ module Aws::S3
9655
10229
  include Aws::Structure
9656
10230
  end
9657
10231
 
9658
- # Specifies the inventory configuration for an Amazon S3 bucket.
10232
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket.
9659
10233
  #
9660
10234
  # @!attribute [rw] s3_bucket_destination
9661
10235
  # Contains the bucket name, file format, bucket owner (optional), and
@@ -9670,8 +10244,8 @@ module Aws::S3
9670
10244
  include Aws::Structure
9671
10245
  end
9672
10246
 
9673
- # Contains the type of server-side encryption used to encrypt the
9674
- # inventory results.
10247
+ # Contains the type of server-side encryption used to encrypt the S3
10248
+ # Inventory results.
9675
10249
  #
9676
10250
  # @!attribute [rw] sses3
9677
10251
  # Specifies the use of SSE-S3 to encrypt delivered inventory reports.
@@ -9690,7 +10264,7 @@ module Aws::S3
9690
10264
  include Aws::Structure
9691
10265
  end
9692
10266
 
9693
- # Specifies an inventory filter. The inventory only includes objects
10267
+ # Specifies an S3 Inventory filter. The inventory only includes objects
9694
10268
  # that meet the filter's criteria.
9695
10269
  #
9696
10270
  # @!attribute [rw] prefix
@@ -9707,7 +10281,7 @@ module Aws::S3
9707
10281
  end
9708
10282
 
9709
10283
  # Contains the bucket name, file format, bucket owner (optional), and
9710
- # prefix (optional) where inventory results are published.
10284
+ # prefix (optional) where S3 Inventory results are published.
9711
10285
  #
9712
10286
  # @!attribute [rw] account_id
9713
10287
  # The account ID that owns the destination S3 bucket. If no account ID
@@ -9750,7 +10324,7 @@ module Aws::S3
9750
10324
  include Aws::Structure
9751
10325
  end
9752
10326
 
9753
- # Specifies the schedule for generating inventory results.
10327
+ # Specifies the schedule for generating S3 Inventory results.
9754
10328
  #
9755
10329
  # @!attribute [rw] frequency
9756
10330
  # Specifies how frequently inventory results are produced.
@@ -9764,6 +10338,117 @@ module Aws::S3
9764
10338
  include Aws::Structure
9765
10339
  end
9766
10340
 
10341
+ # The inventory table configuration for an S3 Metadata configuration.
10342
+ #
10343
+ # @!attribute [rw] configuration_state
10344
+ # The configuration state of the inventory table, indicating whether
10345
+ # the inventory table is enabled or disabled.
10346
+ # @return [String]
10347
+ #
10348
+ # @!attribute [rw] encryption_configuration
10349
+ # The encryption configuration for the inventory table.
10350
+ # @return [Types::MetadataTableEncryptionConfiguration]
10351
+ #
10352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfiguration AWS API Documentation
10353
+ #
10354
+ class InventoryTableConfiguration < Struct.new(
10355
+ :configuration_state,
10356
+ :encryption_configuration)
10357
+ SENSITIVE = []
10358
+ include Aws::Structure
10359
+ end
10360
+
10361
+ # The inventory table configuration for an S3 Metadata configuration.
10362
+ #
10363
+ # @!attribute [rw] configuration_state
10364
+ # The configuration state of the inventory table, indicating whether
10365
+ # the inventory table is enabled or disabled.
10366
+ # @return [String]
10367
+ #
10368
+ # @!attribute [rw] table_status
10369
+ # The status of the inventory table. The status values are:
10370
+ #
10371
+ # * `CREATING` - The inventory table is in the process of being
10372
+ # created in the specified Amazon Web Services managed table bucket.
10373
+ #
10374
+ # * `BACKFILLING` - The inventory table is in the process of being
10375
+ # backfilled. When you enable the inventory table for your metadata
10376
+ # configuration, the table goes through a process known as
10377
+ # backfilling, during which Amazon S3 scans your general purpose
10378
+ # bucket to retrieve the initial metadata for all objects in the
10379
+ # bucket. Depending on the number of objects in your bucket, this
10380
+ # process can take several hours. When the backfilling process is
10381
+ # finished, the status of your inventory table changes from
10382
+ # `BACKFILLING` to `ACTIVE`. After backfilling is completed, updates
10383
+ # to your objects are reflected in the inventory table within one
10384
+ # hour.
10385
+ #
10386
+ # * `ACTIVE` - The inventory table has been created successfully, and
10387
+ # records are being delivered to the table.
10388
+ #
10389
+ # * `FAILED` - Amazon S3 is unable to create the inventory table, or
10390
+ # Amazon S3 is unable to deliver records.
10391
+ # @return [String]
10392
+ #
10393
+ # @!attribute [rw] error
10394
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
10395
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3
10396
+ # Metadata was unable to create the table, this structure contains the
10397
+ # error code and error message.
10398
+ #
10399
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025,
10400
+ # we recommend that you delete and re-create your configuration by
10401
+ # using [CreateBucketMetadataConfiguration][1] so that you can expire
10402
+ # journal table records and create a live inventory table.
10403
+ #
10404
+ # </note>
10405
+ #
10406
+ #
10407
+ #
10408
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
10409
+ # @return [Types::ErrorDetails]
10410
+ #
10411
+ # @!attribute [rw] table_name
10412
+ # The name of the inventory table.
10413
+ # @return [String]
10414
+ #
10415
+ # @!attribute [rw] table_arn
10416
+ # The Amazon Resource Name (ARN) for the inventory table.
10417
+ # @return [String]
10418
+ #
10419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfigurationResult AWS API Documentation
10420
+ #
10421
+ class InventoryTableConfigurationResult < Struct.new(
10422
+ :configuration_state,
10423
+ :table_status,
10424
+ :error,
10425
+ :table_name,
10426
+ :table_arn)
10427
+ SENSITIVE = []
10428
+ include Aws::Structure
10429
+ end
10430
+
10431
+ # The specified updates to the S3 Metadata inventory table
10432
+ # configuration.
10433
+ #
10434
+ # @!attribute [rw] configuration_state
10435
+ # The configuration state of the inventory table, indicating whether
10436
+ # the inventory table is enabled or disabled.
10437
+ # @return [String]
10438
+ #
10439
+ # @!attribute [rw] encryption_configuration
10440
+ # The encryption configuration for the inventory table.
10441
+ # @return [Types::MetadataTableEncryptionConfiguration]
10442
+ #
10443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfigurationUpdates AWS API Documentation
10444
+ #
10445
+ class InventoryTableConfigurationUpdates < Struct.new(
10446
+ :configuration_state,
10447
+ :encryption_configuration)
10448
+ SENSITIVE = []
10449
+ include Aws::Structure
10450
+ end
10451
+
9767
10452
  # Specifies JSON as object's input serialization format.
9768
10453
  #
9769
10454
  # @!attribute [rw] type
@@ -9793,6 +10478,96 @@ module Aws::S3
9793
10478
  include Aws::Structure
9794
10479
  end
9795
10480
 
10481
+ # The journal table configuration for an S3 Metadata configuration.
10482
+ #
10483
+ # @!attribute [rw] record_expiration
10484
+ # The journal table record expiration settings for the journal table.
10485
+ # @return [Types::RecordExpiration]
10486
+ #
10487
+ # @!attribute [rw] encryption_configuration
10488
+ # The encryption configuration for the journal table.
10489
+ # @return [Types::MetadataTableEncryptionConfiguration]
10490
+ #
10491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfiguration AWS API Documentation
10492
+ #
10493
+ class JournalTableConfiguration < Struct.new(
10494
+ :record_expiration,
10495
+ :encryption_configuration)
10496
+ SENSITIVE = []
10497
+ include Aws::Structure
10498
+ end
10499
+
10500
+ # The journal table configuration for the S3 Metadata configuration.
10501
+ #
10502
+ # @!attribute [rw] table_status
10503
+ # The status of the journal table. The status values are:
10504
+ #
10505
+ # * `CREATING` - The journal table is in the process of being created
10506
+ # in the specified table bucket.
10507
+ #
10508
+ # * `ACTIVE` - The journal table has been created successfully, and
10509
+ # records are being delivered to the table.
10510
+ #
10511
+ # * `FAILED` - Amazon S3 is unable to create the journal table, or
10512
+ # Amazon S3 is unable to deliver records.
10513
+ # @return [String]
10514
+ #
10515
+ # @!attribute [rw] error
10516
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
10517
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3
10518
+ # Metadata was unable to create the table, this structure contains the
10519
+ # error code and error message.
10520
+ #
10521
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025,
10522
+ # we recommend that you delete and re-create your configuration by
10523
+ # using [CreateBucketMetadataConfiguration][1] so that you can expire
10524
+ # journal table records and create a live inventory table.
10525
+ #
10526
+ # </note>
10527
+ #
10528
+ #
10529
+ #
10530
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
10531
+ # @return [Types::ErrorDetails]
10532
+ #
10533
+ # @!attribute [rw] table_name
10534
+ # The name of the journal table.
10535
+ # @return [String]
10536
+ #
10537
+ # @!attribute [rw] table_arn
10538
+ # The Amazon Resource Name (ARN) for the journal table.
10539
+ # @return [String]
10540
+ #
10541
+ # @!attribute [rw] record_expiration
10542
+ # The journal table record expiration settings for the journal table.
10543
+ # @return [Types::RecordExpiration]
10544
+ #
10545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfigurationResult AWS API Documentation
10546
+ #
10547
+ class JournalTableConfigurationResult < Struct.new(
10548
+ :table_status,
10549
+ :error,
10550
+ :table_name,
10551
+ :table_arn,
10552
+ :record_expiration)
10553
+ SENSITIVE = []
10554
+ include Aws::Structure
10555
+ end
10556
+
10557
+ # The specified updates to the S3 Metadata journal table configuration.
10558
+ #
10559
+ # @!attribute [rw] record_expiration
10560
+ # The journal table record expiration settings for the journal table.
10561
+ # @return [Types::RecordExpiration]
10562
+ #
10563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfigurationUpdates AWS API Documentation
10564
+ #
10565
+ class JournalTableConfigurationUpdates < Struct.new(
10566
+ :record_expiration)
10567
+ SENSITIVE = []
10568
+ include Aws::Structure
10569
+ end
10570
+
9796
10571
  # A container for specifying the configuration for Lambda notifications.
9797
10572
  #
9798
10573
  # @!attribute [rw] id
@@ -9939,13 +10714,21 @@ module Aws::S3
9939
10714
  #
9940
10715
  # @!attribute [rw] filter
9941
10716
  # The `Filter` is used to identify objects that a Lifecycle Rule
9942
- # applies to. A `Filter` must have exactly one of `Prefix`, `Tag`, or
9943
- # `And` specified. `Filter` is required if the `LifecycleRule` does
9944
- # not contain a `Prefix` element.
10717
+ # applies to. A `Filter` must have exactly one of `Prefix`, `Tag`,
10718
+ # `ObjectSizeGreaterThan`, `ObjectSizeLessThan`, or `And` specified.
10719
+ # `Filter` is required if the `LifecycleRule` does not contain a
10720
+ # `Prefix` element.
10721
+ #
10722
+ # For more information about `Tag` filters, see [Adding filters to
10723
+ # Lifecycle rules][1] in the *Amazon S3 User Guide*.
9945
10724
  #
9946
10725
  # <note markdown="1"> `Tag` filters are not supported for directory buckets.
9947
10726
  #
9948
10727
  # </note>
10728
+ #
10729
+ #
10730
+ #
10731
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-filters.html
9949
10732
  # @return [Types::LifecycleRuleFilter]
9950
10733
  #
9951
10734
  # @!attribute [rw] status
@@ -10211,11 +10994,19 @@ module Aws::S3
10211
10994
  # this request should begin.
10212
10995
  # @return [String]
10213
10996
  #
10997
+ # @!attribute [rw] expected_bucket_owner
10998
+ # The account ID of the expected bucket owner. If the account ID that
10999
+ # you provide does not match the actual owner of the bucket, the
11000
+ # request fails with the HTTP status code `403 Forbidden` (access
11001
+ # denied).
11002
+ # @return [String]
11003
+ #
10214
11004
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurationsRequest AWS API Documentation
10215
11005
  #
10216
11006
  class ListBucketIntelligentTieringConfigurationsRequest < Struct.new(
10217
11007
  :bucket,
10218
- :continuation_token)
11008
+ :continuation_token,
11009
+ :expected_bucket_owner)
10219
11010
  SENSITIVE = []
10220
11011
  include Aws::Structure
10221
11012
  end
@@ -10585,11 +11376,17 @@ module Aws::S3
10585
11376
  #
10586
11377
  # @!attribute [rw] request_charged
10587
11378
  # If present, indicates that the requester was successfully charged
10588
- # for the request.
11379
+ # for the request. For more information, see [Using Requester Pays
11380
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
11381
+ # Storage Service user guide*.
10589
11382
  #
10590
11383
  # <note markdown="1"> This functionality is not supported for directory buckets.
10591
11384
  #
10592
11385
  # </note>
11386
+ #
11387
+ #
11388
+ #
11389
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
10593
11390
  # @return [String]
10594
11391
  #
10595
11392
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploadsOutput AWS API Documentation
@@ -10625,19 +11422,21 @@ module Aws::S3
10625
11422
  # naming restrictions, see [Directory bucket naming rules][1] in the
10626
11423
  # *Amazon S3 User Guide*.
10627
11424
  #
10628
- # **Access points** - When you use this action with an access point,
10629
- # you must provide the alias of the access point in place of the
10630
- # bucket name or specify the access point ARN. When using the access
10631
- # point ARN, you must direct requests to the access point hostname.
10632
- # The access point hostname takes the form
11425
+ # **Access points** - When you use this action with an access point
11426
+ # for general purpose buckets, you must provide the alias of the
11427
+ # access point in place of the bucket name or specify the access point
11428
+ # ARN. When you use this action with an access point for directory
11429
+ # buckets, you must provide the access point name in place of the
11430
+ # bucket name. When using the access point ARN, you must direct
11431
+ # requests to the access point hostname. The access point hostname
11432
+ # takes the form
10633
11433
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10634
11434
  # When using this action with an access point through the Amazon Web
10635
11435
  # Services SDKs, you provide the access point ARN in place of the
10636
11436
  # bucket name. For more information about access point ARNs, see
10637
11437
  # [Using access points][2] in the *Amazon S3 User Guide*.
10638
11438
  #
10639
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
10640
- # directory buckets.
11439
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
10641
11440
  #
10642
11441
  # </note>
10643
11442
  #
@@ -10668,6 +11467,9 @@ module Aws::S3
10668
11467
  # `CommonPrefixes` result element are not returned elsewhere in the
10669
11468
  # response.
10670
11469
  #
11470
+ # `CommonPrefixes` is filtered out from results if it is not
11471
+ # lexicographically greater than the key-marker.
11472
+ #
10671
11473
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
10672
11474
  # supported delimiter.
10673
11475
  #
@@ -10882,11 +11684,17 @@ module Aws::S3
10882
11684
  #
10883
11685
  # @!attribute [rw] request_charged
10884
11686
  # If present, indicates that the requester was successfully charged
10885
- # for the request.
11687
+ # for the request. For more information, see [Using Requester Pays
11688
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
11689
+ # Storage Service user guide*.
10886
11690
  #
10887
11691
  # <note markdown="1"> This functionality is not supported for directory buckets.
10888
11692
  #
10889
11693
  # </note>
11694
+ #
11695
+ #
11696
+ #
11697
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
10890
11698
  # @return [String]
10891
11699
  #
10892
11700
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersionsOutput AWS API Documentation
@@ -10921,6 +11729,9 @@ module Aws::S3
10921
11729
  # element in `CommonPrefixes`. These groups are counted as one result
10922
11730
  # against the `max-keys` limitation. These keys are not returned
10923
11731
  # elsewhere in the response.
11732
+ #
11733
+ # `CommonPrefixes` is filtered out from results if it is not
11734
+ # lexicographically greater than the key-marker.
10924
11735
  # @return [String]
10925
11736
  #
10926
11737
  # @!attribute [rw] encoding_type
@@ -11114,11 +11925,17 @@ module Aws::S3
11114
11925
  #
11115
11926
  # @!attribute [rw] request_charged
11116
11927
  # If present, indicates that the requester was successfully charged
11117
- # for the request.
11928
+ # for the request. For more information, see [Using Requester Pays
11929
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
11930
+ # Storage Service user guide*.
11118
11931
  #
11119
11932
  # <note markdown="1"> This functionality is not supported for directory buckets.
11120
11933
  #
11121
11934
  # </note>
11935
+ #
11936
+ #
11937
+ #
11938
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
11122
11939
  # @return [String]
11123
11940
  #
11124
11941
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsOutput AWS API Documentation
@@ -11152,19 +11969,21 @@ module Aws::S3
11152
11969
  # naming restrictions, see [Directory bucket naming rules][1] in the
11153
11970
  # *Amazon S3 User Guide*.
11154
11971
  #
11155
- # **Access points** - When you use this action with an access point,
11156
- # you must provide the alias of the access point in place of the
11157
- # bucket name or specify the access point ARN. When using the access
11158
- # point ARN, you must direct requests to the access point hostname.
11159
- # The access point hostname takes the form
11972
+ # **Access points** - When you use this action with an access point
11973
+ # for general purpose buckets, you must provide the alias of the
11974
+ # access point in place of the bucket name or specify the access point
11975
+ # ARN. When you use this action with an access point for directory
11976
+ # buckets, you must provide the access point name in place of the
11977
+ # bucket name. When using the access point ARN, you must direct
11978
+ # requests to the access point hostname. The access point hostname
11979
+ # takes the form
11160
11980
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11161
11981
  # When using this action with an access point through the Amazon Web
11162
11982
  # Services SDKs, you provide the access point ARN in place of the
11163
11983
  # bucket name. For more information about access point ARNs, see
11164
11984
  # [Using access points][2] in the *Amazon S3 User Guide*.
11165
11985
  #
11166
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
11167
- # directory buckets.
11986
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
11168
11987
  #
11169
11988
  # </note>
11170
11989
  #
@@ -11186,6 +12005,9 @@ module Aws::S3
11186
12005
  #
11187
12006
  # @!attribute [rw] delimiter
11188
12007
  # A delimiter is a character that you use to group keys.
12008
+ #
12009
+ # `CommonPrefixes` is filtered out from results if it is not
12010
+ # lexicographically greater than the key-marker.
11189
12011
  # @return [String]
11190
12012
  #
11191
12013
  # @!attribute [rw] encoding_type
@@ -11362,8 +12184,7 @@ module Aws::S3
11362
12184
  # @!attribute [rw] continuation_token
11363
12185
  # If `ContinuationToken` was sent with the request, it is included in
11364
12186
  # the response. You can use the returned `ContinuationToken` for
11365
- # pagination of the list response. You can use this
11366
- # `ContinuationToken` for pagination of the list results.
12187
+ # pagination of the list response.
11367
12188
  # @return [String]
11368
12189
  #
11369
12190
  # @!attribute [rw] next_continuation_token
@@ -11385,11 +12206,17 @@ module Aws::S3
11385
12206
  #
11386
12207
  # @!attribute [rw] request_charged
11387
12208
  # If present, indicates that the requester was successfully charged
11388
- # for the request.
12209
+ # for the request. For more information, see [Using Requester Pays
12210
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
12211
+ # Storage Service user guide*.
11389
12212
  #
11390
12213
  # <note markdown="1"> This functionality is not supported for directory buckets.
11391
12214
  #
11392
12215
  # </note>
12216
+ #
12217
+ #
12218
+ #
12219
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
11393
12220
  # @return [String]
11394
12221
  #
11395
12222
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2Output AWS API Documentation
@@ -11423,19 +12250,21 @@ module Aws::S3
11423
12250
  # naming restrictions, see [Directory bucket naming rules][1] in the
11424
12251
  # *Amazon S3 User Guide*.
11425
12252
  #
11426
- # **Access points** - When you use this action with an access point,
11427
- # you must provide the alias of the access point in place of the
11428
- # bucket name or specify the access point ARN. When using the access
11429
- # point ARN, you must direct requests to the access point hostname.
11430
- # The access point hostname takes the form
12253
+ # **Access points** - When you use this action with an access point
12254
+ # for general purpose buckets, you must provide the alias of the
12255
+ # access point in place of the bucket name or specify the access point
12256
+ # ARN. When you use this action with an access point for directory
12257
+ # buckets, you must provide the access point name in place of the
12258
+ # bucket name. When using the access point ARN, you must direct
12259
+ # requests to the access point hostname. The access point hostname
12260
+ # takes the form
11431
12261
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11432
12262
  # When using this action with an access point through the Amazon Web
11433
12263
  # Services SDKs, you provide the access point ARN in place of the
11434
12264
  # bucket name. For more information about access point ARNs, see
11435
12265
  # [Using access points][2] in the *Amazon S3 User Guide*.
11436
12266
  #
11437
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
11438
- # directory buckets.
12267
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
11439
12268
  #
11440
12269
  # </note>
11441
12270
  #
@@ -11458,6 +12287,9 @@ module Aws::S3
11458
12287
  # @!attribute [rw] delimiter
11459
12288
  # A delimiter is a character that you use to group keys.
11460
12289
  #
12290
+ # `CommonPrefixes` is filtered out from results if it is not
12291
+ # lexicographically greater than the `StartAfter` value.
12292
+ #
11461
12293
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
11462
12294
  # supported delimiter.
11463
12295
  #
@@ -11680,19 +12512,27 @@ module Aws::S3
11680
12512
  # @!attribute [rw] storage_class
11681
12513
  # The class of storage used to store the uploaded object.
11682
12514
  #
11683
- # <note markdown="1"> **Directory buckets** - Only the S3 Express One Zone storage class
11684
- # is supported by directory buckets to store objects.
12515
+ # <note markdown="1"> **Directory buckets** - Directory buckets only support
12516
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
12517
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
12518
+ # Access storage class) in Dedicated Local Zones.
11685
12519
  #
11686
12520
  # </note>
11687
12521
  # @return [String]
11688
12522
  #
11689
12523
  # @!attribute [rw] request_charged
11690
12524
  # If present, indicates that the requester was successfully charged
11691
- # for the request.
12525
+ # for the request. For more information, see [Using Requester Pays
12526
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
12527
+ # Storage Service user guide*.
11692
12528
  #
11693
12529
  # <note markdown="1"> This functionality is not supported for directory buckets.
11694
12530
  #
11695
12531
  # </note>
12532
+ #
12533
+ #
12534
+ #
12535
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
11696
12536
  # @return [String]
11697
12537
  #
11698
12538
  # @!attribute [rw] checksum_algorithm
@@ -11748,19 +12588,21 @@ module Aws::S3
11748
12588
  # naming restrictions, see [Directory bucket naming rules][1] in the
11749
12589
  # *Amazon S3 User Guide*.
11750
12590
  #
11751
- # **Access points** - When you use this action with an access point,
11752
- # you must provide the alias of the access point in place of the
11753
- # bucket name or specify the access point ARN. When using the access
11754
- # point ARN, you must direct requests to the access point hostname.
11755
- # The access point hostname takes the form
12591
+ # **Access points** - When you use this action with an access point
12592
+ # for general purpose buckets, you must provide the alias of the
12593
+ # access point in place of the bucket name or specify the access point
12594
+ # ARN. When you use this action with an access point for directory
12595
+ # buckets, you must provide the access point name in place of the
12596
+ # bucket name. When using the access point ARN, you must direct
12597
+ # requests to the access point hostname. The access point hostname
12598
+ # takes the form
11756
12599
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11757
12600
  # When using this action with an access point through the Amazon Web
11758
12601
  # Services SDKs, you provide the access point ARN in place of the
11759
12602
  # bucket name. For more information about access point ARNs, see
11760
12603
  # [Using access points][2] in the *Amazon S3 User Guide*.
11761
12604
  #
11762
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
11763
- # directory buckets.
12605
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
11764
12606
  #
11765
12607
  # </note>
11766
12608
  #
@@ -11972,6 +12814,49 @@ module Aws::S3
11972
12814
  include Aws::Structure
11973
12815
  end
11974
12816
 
12817
+ # The S3 Metadata configuration for a general purpose bucket.
12818
+ #
12819
+ # @!attribute [rw] journal_table_configuration
12820
+ # The journal table configuration for a metadata configuration.
12821
+ # @return [Types::JournalTableConfiguration]
12822
+ #
12823
+ # @!attribute [rw] inventory_table_configuration
12824
+ # The inventory table configuration for a metadata configuration.
12825
+ # @return [Types::InventoryTableConfiguration]
12826
+ #
12827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataConfiguration AWS API Documentation
12828
+ #
12829
+ class MetadataConfiguration < Struct.new(
12830
+ :journal_table_configuration,
12831
+ :inventory_table_configuration)
12832
+ SENSITIVE = []
12833
+ include Aws::Structure
12834
+ end
12835
+
12836
+ # The S3 Metadata configuration for a general purpose bucket.
12837
+ #
12838
+ # @!attribute [rw] destination_result
12839
+ # The destination settings for a metadata configuration.
12840
+ # @return [Types::DestinationResult]
12841
+ #
12842
+ # @!attribute [rw] journal_table_configuration_result
12843
+ # The journal table configuration for a metadata configuration.
12844
+ # @return [Types::JournalTableConfigurationResult]
12845
+ #
12846
+ # @!attribute [rw] inventory_table_configuration_result
12847
+ # The inventory table configuration for a metadata configuration.
12848
+ # @return [Types::InventoryTableConfigurationResult]
12849
+ #
12850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataConfigurationResult AWS API Documentation
12851
+ #
12852
+ class MetadataConfigurationResult < Struct.new(
12853
+ :destination_result,
12854
+ :journal_table_configuration_result,
12855
+ :inventory_table_configuration_result)
12856
+ SENSITIVE = []
12857
+ include Aws::Structure
12858
+ end
12859
+
11975
12860
  # A metadata key-value pair to store with an object.
11976
12861
  #
11977
12862
  # @!attribute [rw] name
@@ -11991,7 +12876,18 @@ module Aws::S3
11991
12876
  include Aws::Structure
11992
12877
  end
11993
12878
 
11994
- # The metadata table configuration for a general purpose bucket.
12879
+ # The V1 S3 Metadata configuration for a general purpose bucket.
12880
+ #
12881
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
12882
+ # recommend that you delete and re-create your configuration by using
12883
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
12884
+ # table records and create a live inventory table.
12885
+ #
12886
+ # </note>
12887
+ #
12888
+ #
12889
+ #
12890
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
11995
12891
  #
11996
12892
  # @!attribute [rw] s3_tables_destination
11997
12893
  # The destination information for the metadata table configuration.
@@ -12009,12 +12905,23 @@ module Aws::S3
12009
12905
  include Aws::Structure
12010
12906
  end
12011
12907
 
12012
- # The metadata table configuration for a general purpose bucket. The
12908
+ # The V1 S3 Metadata configuration for a general purpose bucket. The
12013
12909
  # destination table bucket must be in the same Region and Amazon Web
12014
12910
  # Services account as the general purpose bucket. The specified metadata
12015
12911
  # table name must be unique within the `aws_s3_metadata` namespace in
12016
12912
  # the destination table bucket.
12017
12913
  #
12914
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
12915
+ # recommend that you delete and re-create your configuration by using
12916
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
12917
+ # table records and create a live inventory table.
12918
+ #
12919
+ # </note>
12920
+ #
12921
+ #
12922
+ #
12923
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
12924
+ #
12018
12925
  # @!attribute [rw] s3_tables_destination_result
12019
12926
  # The destination information for the metadata table configuration.
12020
12927
  # The destination table bucket must be in the same Region and Amazon
@@ -12031,6 +12938,34 @@ module Aws::S3
12031
12938
  include Aws::Structure
12032
12939
  end
12033
12940
 
12941
+ # The encryption settings for an S3 Metadata journal table or inventory
12942
+ # table configuration.
12943
+ #
12944
+ # @!attribute [rw] sse_algorithm
12945
+ # The encryption type specified for a metadata table. To specify
12946
+ # server-side encryption with Key Management Service (KMS) keys
12947
+ # (SSE-KMS), use the `aws:kms` value. To specify server-side
12948
+ # encryption with Amazon S3 managed keys (SSE-S3), use the `AES256`
12949
+ # value.
12950
+ # @return [String]
12951
+ #
12952
+ # @!attribute [rw] kms_key_arn
12953
+ # If server-side encryption with Key Management Service (KMS) keys
12954
+ # (SSE-KMS) is specified, you must also specify the KMS key Amazon
12955
+ # Resource Name (ARN). You must specify a customer-managed KMS key
12956
+ # that's located in the same Region as the general purpose bucket
12957
+ # that corresponds to the metadata table configuration.
12958
+ # @return [String]
12959
+ #
12960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataTableEncryptionConfiguration AWS API Documentation
12961
+ #
12962
+ class MetadataTableEncryptionConfiguration < Struct.new(
12963
+ :sse_algorithm,
12964
+ :kms_key_arn)
12965
+ SENSITIVE = []
12966
+ include Aws::Structure
12967
+ end
12968
+
12034
12969
  # A container specifying replication metrics-related settings enabling
12035
12970
  # replication metrics and events.
12036
12971
  #
@@ -12169,8 +13104,10 @@ module Aws::S3
12169
13104
  # @!attribute [rw] storage_class
12170
13105
  # The class of storage used to store the object.
12171
13106
  #
12172
- # <note markdown="1"> **Directory buckets** - Only the S3 Express One Zone storage class
12173
- # is supported by directory buckets to store objects.
13107
+ # <note markdown="1"> **Directory buckets** - Directory buckets only support
13108
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
13109
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
13110
+ # Access storage class) in Dedicated Local Zones.
12174
13111
  #
12175
13112
  # </note>
12176
13113
  # @return [String]
@@ -12481,8 +13418,10 @@ module Aws::S3
12481
13418
  # @!attribute [rw] storage_class
12482
13419
  # The class of storage used to store the object.
12483
13420
  #
12484
- # <note markdown="1"> **Directory buckets** - Only the S3 Express One Zone storage class
12485
- # is supported by directory buckets to store objects.
13421
+ # <note markdown="1"> **Directory buckets** - Directory buckets only support
13422
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
13423
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
13424
+ # Access storage class) in Dedicated Local Zones.
12486
13425
  #
12487
13426
  # </note>
12488
13427
  # @return [String]
@@ -12503,9 +13442,10 @@ module Aws::S3
12503
13442
  # archived objects, see [ Working with archived objects][1] in the
12504
13443
  # *Amazon S3 User Guide*.
12505
13444
  #
12506
- # <note markdown="1"> This functionality is not supported for directory buckets. Only the
12507
- # S3 Express One Zone storage class is supported by directory buckets
12508
- # to store objects.
13445
+ # <note markdown="1"> This functionality is not supported for directory buckets. Directory
13446
+ # buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
13447
+ # storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
13448
+ # Zone-Infrequent Access storage class) in Dedicated Local Zones.
12509
13449
  #
12510
13450
  # </note>
12511
13451
  #
@@ -12877,6 +13817,19 @@ module Aws::S3
12877
13817
  include Aws::Structure
12878
13818
  end
12879
13819
 
13820
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
13821
+ # returning `DisplayName`. Update your applications to use canonical IDs
13822
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
13823
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
13824
+ # naming) as a direct replacement of `DisplayName`.
13825
+ #
13826
+ # This change affects the following Amazon Web Services Regions: US
13827
+ # East
13828
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13829
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13830
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13831
+ # America (São Paulo) Region.
13832
+ #
12880
13833
  # Container for the owner's display name and ID.
12881
13834
  #
12882
13835
  # @!attribute [rw] display_name
@@ -13558,6 +14511,13 @@ module Aws::S3
13558
14511
  # The ID used to identify the S3 Intelligent-Tiering configuration.
13559
14512
  # @return [String]
13560
14513
  #
14514
+ # @!attribute [rw] expected_bucket_owner
14515
+ # The account ID of the expected bucket owner. If the account ID that
14516
+ # you provide does not match the actual owner of the bucket, the
14517
+ # request fails with the HTTP status code `403 Forbidden` (access
14518
+ # denied).
14519
+ # @return [String]
14520
+ #
13561
14521
  # @!attribute [rw] intelligent_tiering_configuration
13562
14522
  # Container for S3 Intelligent-Tiering configuration.
13563
14523
  # @return [Types::IntelligentTieringConfiguration]
@@ -13567,6 +14527,7 @@ module Aws::S3
13567
14527
  class PutBucketIntelligentTieringConfigurationRequest < Struct.new(
13568
14528
  :bucket,
13569
14529
  :id,
14530
+ :expected_bucket_owner,
13570
14531
  :intelligent_tiering_configuration)
13571
14532
  SENSITIVE = []
13572
14533
  include Aws::Structure
@@ -13948,13 +14909,31 @@ module Aws::S3
13948
14909
  # or ObjectWriter) that you want to apply to this Amazon S3 bucket.
13949
14910
  # @return [Types::OwnershipControls]
13950
14911
  #
14912
+ # @!attribute [rw] checksum_algorithm
14913
+ # Indicates the algorithm used to create the checksum for the object
14914
+ # when you use the SDK. This header will not provide any additional
14915
+ # functionality if you don't use the SDK. When you send this header,
14916
+ # there must be a corresponding `x-amz-checksum-algorithm ` header
14917
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status
14918
+ # code `400 Bad Request`. For more information, see [Checking object
14919
+ # integrity][1] in the *Amazon S3 User Guide*.
14920
+ #
14921
+ # If you provide an individual checksum, Amazon S3 ignores any
14922
+ # provided `ChecksumAlgorithm` parameter.
14923
+ #
14924
+ #
14925
+ #
14926
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14927
+ # @return [String]
14928
+ #
13951
14929
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControlsRequest AWS API Documentation
13952
14930
  #
13953
14931
  class PutBucketOwnershipControlsRequest < Struct.new(
13954
14932
  :bucket,
13955
14933
  :content_md5,
13956
14934
  :expected_bucket_owner,
13957
- :ownership_controls)
14935
+ :ownership_controls,
14936
+ :checksum_algorithm)
13958
14937
  SENSITIVE = []
13959
14938
  include Aws::Structure
13960
14939
  end
@@ -14382,11 +15361,17 @@ module Aws::S3
14382
15361
 
14383
15362
  # @!attribute [rw] request_charged
14384
15363
  # If present, indicates that the requester was successfully charged
14385
- # for the request.
15364
+ # for the request. For more information, see [Using Requester Pays
15365
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
15366
+ # Storage Service user guide*.
14386
15367
  #
14387
15368
  # <note markdown="1"> This functionality is not supported for directory buckets.
14388
15369
  #
14389
15370
  # </note>
15371
+ #
15372
+ #
15373
+ #
15374
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
14390
15375
  # @return [String]
14391
15376
  #
14392
15377
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclOutput AWS API Documentation
@@ -14415,11 +15400,14 @@ module Aws::S3
14415
15400
  # The bucket name that contains the object to which you want to attach
14416
15401
  # the ACL.
14417
15402
  #
14418
- # **Access points** - When you use this action with an access point,
14419
- # you must provide the alias of the access point in place of the
14420
- # bucket name or specify the access point ARN. When using the access
14421
- # point ARN, you must direct requests to the access point hostname.
14422
- # The access point hostname takes the form
15403
+ # **Access points** - When you use this action with an access point
15404
+ # for general purpose buckets, you must provide the alias of the
15405
+ # access point in place of the bucket name or specify the access point
15406
+ # ARN. When you use this action with an access point for directory
15407
+ # buckets, you must provide the access point name in place of the
15408
+ # bucket name. When using the access point ARN, you must direct
15409
+ # requests to the access point hostname. The access point hostname
15410
+ # takes the form
14423
15411
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
14424
15412
  # When using this action with an access point through the Amazon Web
14425
15413
  # Services SDKs, you provide the access point ARN in place of the
@@ -14565,11 +15553,17 @@ module Aws::S3
14565
15553
 
14566
15554
  # @!attribute [rw] request_charged
14567
15555
  # If present, indicates that the requester was successfully charged
14568
- # for the request.
15556
+ # for the request. For more information, see [Using Requester Pays
15557
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
15558
+ # Storage Service user guide*.
14569
15559
  #
14570
15560
  # <note markdown="1"> This functionality is not supported for directory buckets.
14571
15561
  #
14572
15562
  # </note>
15563
+ #
15564
+ #
15565
+ #
15566
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
14573
15567
  # @return [String]
14574
15568
  #
14575
15569
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHoldOutput AWS API Documentation
@@ -14584,11 +15578,14 @@ module Aws::S3
14584
15578
  # The bucket name containing the object that you want to place a legal
14585
15579
  # hold on.
14586
15580
  #
14587
- # **Access points** - When you use this action with an access point,
14588
- # you must provide the alias of the access point in place of the
14589
- # bucket name or specify the access point ARN. When using the access
14590
- # point ARN, you must direct requests to the access point hostname.
14591
- # The access point hostname takes the form
15581
+ # **Access points** - When you use this action with an access point
15582
+ # for general purpose buckets, you must provide the alias of the
15583
+ # access point in place of the bucket name or specify the access point
15584
+ # ARN. When you use this action with an access point for directory
15585
+ # buckets, you must provide the access point name in place of the
15586
+ # bucket name. When using the access point ARN, you must direct
15587
+ # requests to the access point hostname. The access point hostname
15588
+ # takes the form
14592
15589
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
14593
15590
  # When using this action with an access point through the Amazon Web
14594
15591
  # Services SDKs, you provide the access point ARN in place of the
@@ -14680,11 +15677,17 @@ module Aws::S3
14680
15677
 
14681
15678
  # @!attribute [rw] request_charged
14682
15679
  # If present, indicates that the requester was successfully charged
14683
- # for the request.
15680
+ # for the request. For more information, see [Using Requester Pays
15681
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
15682
+ # Storage Service user guide*.
14684
15683
  #
14685
15684
  # <note markdown="1"> This functionality is not supported for directory buckets.
14686
15685
  #
14687
15686
  # </note>
15687
+ #
15688
+ #
15689
+ #
15690
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
14688
15691
  # @return [String]
14689
15692
  #
14690
15693
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfigurationOutput AWS API Documentation
@@ -14895,7 +15898,13 @@ module Aws::S3
14895
15898
  #
14896
15899
  # @!attribute [rw] server_side_encryption
14897
15900
  # The server-side encryption algorithm used when you store this object
14898
- # in Amazon S3.
15901
+ # in Amazon S3 or Amazon FSx.
15902
+ #
15903
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
15904
+ # access points, the only valid server side encryption option is
15905
+ # `aws:fsx`.
15906
+ #
15907
+ # </note>
14899
15908
  # @return [String]
14900
15909
  #
14901
15910
  # @!attribute [rw] version_id
@@ -14974,11 +15983,17 @@ module Aws::S3
14974
15983
  #
14975
15984
  # @!attribute [rw] request_charged
14976
15985
  # If present, indicates that the requester was successfully charged
14977
- # for the request.
15986
+ # for the request. For more information, see [Using Requester Pays
15987
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
15988
+ # Storage Service user guide*.
14978
15989
  #
14979
15990
  # <note markdown="1"> This functionality is not supported for directory buckets.
14980
15991
  #
14981
15992
  # </note>
15993
+ #
15994
+ #
15995
+ #
15996
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
14982
15997
  # @return [String]
14983
15998
  #
14984
15999
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectOutput AWS API Documentation
@@ -15061,19 +16076,21 @@ module Aws::S3
15061
16076
  # naming restrictions, see [Directory bucket naming rules][1] in the
15062
16077
  # *Amazon S3 User Guide*.
15063
16078
  #
15064
- # **Access points** - When you use this action with an access point,
15065
- # you must provide the alias of the access point in place of the
15066
- # bucket name or specify the access point ARN. When using the access
15067
- # point ARN, you must direct requests to the access point hostname.
15068
- # The access point hostname takes the form
16079
+ # **Access points** - When you use this action with an access point
16080
+ # for general purpose buckets, you must provide the alias of the
16081
+ # access point in place of the bucket name or specify the access point
16082
+ # ARN. When you use this action with an access point for directory
16083
+ # buckets, you must provide the access point name in place of the
16084
+ # bucket name. When using the access point ARN, you must direct
16085
+ # requests to the access point hostname. The access point hostname
16086
+ # takes the form
15069
16087
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
15070
16088
  # When using this action with an access point through the Amazon Web
15071
16089
  # Services SDKs, you provide the access point ARN in place of the
15072
16090
  # bucket name. For more information about access point ARNs, see
15073
16091
  # [Using access points][2] in the *Amazon S3 User Guide*.
15074
16092
  #
15075
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
15076
- # directory buckets.
16093
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
15077
16094
  #
15078
16095
  # </note>
15079
16096
  #
@@ -15399,8 +16416,7 @@ module Aws::S3
15399
16416
  #
15400
16417
  # @!attribute [rw] server_side_encryption
15401
16418
  # The server-side encryption algorithm that was used when you store
15402
- # this object in Amazon S3 (for example, `AES256`, `aws:kms`,
15403
- # `aws:kms:dsse`).
16419
+ # this object in Amazon S3 or Amazon FSx.
15404
16420
  #
15405
16421
  # * <b>General purpose buckets </b> - You have four mutually exclusive
15406
16422
  # options to protect data using server-side encryption in Amazon S3,
@@ -15455,6 +16471,14 @@ module Aws::S3
15455
16471
  #
15456
16472
  # </note>
15457
16473
  #
16474
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data
16475
+ # stored in Amazon FSx file systems using S3 access points, the only
16476
+ # valid server side encryption option is `aws:fsx`. All Amazon FSx
16477
+ # file systems have encryption configured by default and are
16478
+ # encrypted at rest. Data is automatically encrypted before being
16479
+ # written to the file system, and automatically decrypted as it is
16480
+ # read. These processes are handled transparently by Amazon FSx.
16481
+ #
15458
16482
  #
15459
16483
  #
15460
16484
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -15471,8 +16495,10 @@ module Aws::S3
15471
16495
  # specify a different Storage Class. For more information, see
15472
16496
  # [Storage Classes][1] in the *Amazon S3 User Guide*.
15473
16497
  #
15474
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class
15475
- # is supported to store newly created objects.
16498
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express
16499
+ # One Zone storage class) in Availability Zones and `ONEZONE_IA`
16500
+ # (the S3 One Zone-Infrequent Access storage class) in Dedicated
16501
+ # Local Zones.
15476
16502
  #
15477
16503
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
15478
16504
  #
@@ -15746,11 +16772,17 @@ module Aws::S3
15746
16772
 
15747
16773
  # @!attribute [rw] request_charged
15748
16774
  # If present, indicates that the requester was successfully charged
15749
- # for the request.
16775
+ # for the request. For more information, see [Using Requester Pays
16776
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
16777
+ # Storage Service user guide*.
15750
16778
  #
15751
16779
  # <note markdown="1"> This functionality is not supported for directory buckets.
15752
16780
  #
15753
16781
  # </note>
16782
+ #
16783
+ #
16784
+ #
16785
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
15754
16786
  # @return [String]
15755
16787
  #
15756
16788
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetentionOutput AWS API Documentation
@@ -15765,11 +16797,14 @@ module Aws::S3
15765
16797
  # The bucket name that contains the object you want to apply this
15766
16798
  # Object Retention configuration to.
15767
16799
  #
15768
- # **Access points** - When you use this action with an access point,
15769
- # you must provide the alias of the access point in place of the
15770
- # bucket name or specify the access point ARN. When using the access
15771
- # point ARN, you must direct requests to the access point hostname.
15772
- # The access point hostname takes the form
16800
+ # **Access points** - When you use this action with an access point
16801
+ # for general purpose buckets, you must provide the alias of the
16802
+ # access point in place of the bucket name or specify the access point
16803
+ # ARN. When you use this action with an access point for directory
16804
+ # buckets, you must provide the access point name in place of the
16805
+ # bucket name. When using the access point ARN, you must direct
16806
+ # requests to the access point hostname. The access point hostname
16807
+ # takes the form
15773
16808
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
15774
16809
  # When using this action with an access point through the Amazon Web
15775
16810
  # Services SDKs, you provide the access point ARN in place of the
@@ -15881,11 +16916,14 @@ module Aws::S3
15881
16916
  # @!attribute [rw] bucket
15882
16917
  # The bucket name containing the object.
15883
16918
  #
15884
- # **Access points** - When you use this action with an access point,
15885
- # you must provide the alias of the access point in place of the
15886
- # bucket name or specify the access point ARN. When using the access
15887
- # point ARN, you must direct requests to the access point hostname.
15888
- # The access point hostname takes the form
16919
+ # **Access points** - When you use this action with an access point
16920
+ # for general purpose buckets, you must provide the alias of the
16921
+ # access point in place of the bucket name or specify the access point
16922
+ # ARN. When you use this action with an access point for directory
16923
+ # buckets, you must provide the access point name in place of the
16924
+ # bucket name. When using the access point ARN, you must direct
16925
+ # requests to the access point hostname. The access point hostname
16926
+ # takes the form
15889
16927
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
15890
16928
  # When using this action with an access point through the Amazon Web
15891
16929
  # Services SDKs, you provide the access point ARN in place of the
@@ -16126,6 +17164,32 @@ module Aws::S3
16126
17164
  include Aws::Structure
16127
17165
  end
16128
17166
 
17167
+ # The journal table record expiration settings for a journal table in an
17168
+ # S3 Metadata configuration.
17169
+ #
17170
+ # @!attribute [rw] expiration
17171
+ # Specifies whether journal table record expiration is enabled or
17172
+ # disabled.
17173
+ # @return [String]
17174
+ #
17175
+ # @!attribute [rw] days
17176
+ # If you enable journal table record expiration, you can set the
17177
+ # number of days to retain your journal table records. Journal table
17178
+ # records must be retained for a minimum of 7 days. To set this value,
17179
+ # specify any whole number from `7` to `2147483647`. For example, to
17180
+ # retain your journal table records for one year, set this value to
17181
+ # `365`.
17182
+ # @return [Integer]
17183
+ #
17184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RecordExpiration AWS API Documentation
17185
+ #
17186
+ class RecordExpiration < Struct.new(
17187
+ :expiration,
17188
+ :days)
17189
+ SENSITIVE = []
17190
+ include Aws::Structure
17191
+ end
17192
+
16129
17193
  # The container for the records event.
16130
17194
  #
16131
17195
  # @!attribute [rw] payload
@@ -16134,7 +17198,7 @@ module Aws::S3
16134
17198
  # record frame. To ensure continuous streaming of data, S3 Select
16135
17199
  # might split the same record across multiple record frames instead of
16136
17200
  # aggregating the results in memory. Some S3 clients (for example, the
16137
- # SDK for Java) handle this behavior by creating a `ByteStream` out of
17201
+ # SDKforJava) handle this behavior by creating a `ByteStream` out of
16138
17202
  # the response by default. Other clients might not handle this
16139
17203
  # behavior by default. In those cases, you must aggregate the results
16140
17204
  # on the client side and parse the response.
@@ -16232,6 +17296,129 @@ module Aws::S3
16232
17296
  include Aws::Structure
16233
17297
  end
16234
17298
 
17299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObjectOutput AWS API Documentation
17300
+ #
17301
+ class RenameObjectOutput < Aws::EmptyStructure; end
17302
+
17303
+ # @!attribute [rw] bucket
17304
+ # The bucket name of the directory bucket containing the object.
17305
+ #
17306
+ # You must use virtual-hosted-style requests in the format
17307
+ # `Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
17308
+ # Path-style requests are not supported. Directory bucket names must
17309
+ # be unique in the chosen Availability Zone. Bucket names must follow
17310
+ # the format `bucket-base-name--zone-id--x-s3 ` (for example,
17311
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
17312
+ # naming restrictions, see [Directory bucket naming rules][1] in the
17313
+ # *Amazon S3 User Guide*.
17314
+ #
17315
+ #
17316
+ #
17317
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
17318
+ # @return [String]
17319
+ #
17320
+ # @!attribute [rw] key
17321
+ # Key name of the object to rename.
17322
+ # @return [String]
17323
+ #
17324
+ # @!attribute [rw] rename_source
17325
+ # Specifies the source for the rename operation. The value must be URL
17326
+ # encoded.
17327
+ # @return [String]
17328
+ #
17329
+ # @!attribute [rw] destination_if_match
17330
+ # Renames the object only if the ETag (entity tag) value provided
17331
+ # during the operation matches the ETag of the object in S3. The
17332
+ # `If-Match` header field makes the request method conditional on
17333
+ # ETags. If the ETag values do not match, the operation returns a `412
17334
+ # Precondition Failed` error.
17335
+ #
17336
+ # Expects the ETag value as a string.
17337
+ # @return [String]
17338
+ #
17339
+ # @!attribute [rw] destination_if_none_match
17340
+ # Renames the object only if the destination does not already exist in
17341
+ # the specified directory bucket. If the object does exist when you
17342
+ # send a request with `If-None-Match:*`, the S3 API will return a `412
17343
+ # Precondition Failed` error, preventing an overwrite. The
17344
+ # `If-None-Match` header prevents overwrites of existing data by
17345
+ # validating that there's not an object with the same key name
17346
+ # already in your directory bucket.
17347
+ #
17348
+ # Expects the `*` character (asterisk).
17349
+ # @return [String]
17350
+ #
17351
+ # @!attribute [rw] destination_if_modified_since
17352
+ # Renames the object if the destination exists and if it has been
17353
+ # modified since the specified time.
17354
+ # @return [Time]
17355
+ #
17356
+ # @!attribute [rw] destination_if_unmodified_since
17357
+ # Renames the object if it hasn't been modified since the specified
17358
+ # time.
17359
+ # @return [Time]
17360
+ #
17361
+ # @!attribute [rw] source_if_match
17362
+ # Renames the object if the source exists and if its entity tag (ETag)
17363
+ # matches the specified ETag.
17364
+ # @return [String]
17365
+ #
17366
+ # @!attribute [rw] source_if_none_match
17367
+ # Renames the object if the source exists and if its entity tag (ETag)
17368
+ # is different than the specified ETag. If an asterisk (`*`) character
17369
+ # is provided, the operation will fail and return a `412 Precondition
17370
+ # Failed` error.
17371
+ # @return [String]
17372
+ #
17373
+ # @!attribute [rw] source_if_modified_since
17374
+ # Renames the object if the source exists and if it has been modified
17375
+ # since the specified time.
17376
+ # @return [Time]
17377
+ #
17378
+ # @!attribute [rw] source_if_unmodified_since
17379
+ # Renames the object if the source exists and hasn't been modified
17380
+ # since the specified time.
17381
+ # @return [Time]
17382
+ #
17383
+ # @!attribute [rw] client_token
17384
+ # A unique string with a max of 64 ASCII characters in the ASCII range
17385
+ # of 33 - 126.
17386
+ #
17387
+ # <note markdown="1"> `RenameObject` supports idempotency using a client token. To make an
17388
+ # idempotent API request using `RenameObject`, specify a client token
17389
+ # in the request. You should not reuse the same client token for other
17390
+ # API requests. If you retry a request that completed successfully
17391
+ # using the same client token and the same parameters, the retry
17392
+ # succeeds without performing any further actions. If you retry a
17393
+ # successful request using the same client token, but one or more of
17394
+ # the parameters are different, the retry fails and an
17395
+ # `IdempotentParameterMismatch` error is returned.
17396
+ #
17397
+ # </note>
17398
+ #
17399
+ # **A suitable default value is auto-generated.** You should normally
17400
+ # not need to pass this option.
17401
+ # @return [String]
17402
+ #
17403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObjectRequest AWS API Documentation
17404
+ #
17405
+ class RenameObjectRequest < Struct.new(
17406
+ :bucket,
17407
+ :key,
17408
+ :rename_source,
17409
+ :destination_if_match,
17410
+ :destination_if_none_match,
17411
+ :destination_if_modified_since,
17412
+ :destination_if_unmodified_since,
17413
+ :source_if_match,
17414
+ :source_if_none_match,
17415
+ :source_if_modified_since,
17416
+ :source_if_unmodified_since,
17417
+ :client_token)
17418
+ SENSITIVE = []
17419
+ include Aws::Structure
17420
+ end
17421
+
16235
17422
  # A filter that you can specify for selection for modifications on
16236
17423
  # replicas. Amazon S3 doesn't replicate replica modifications by
16237
17424
  # default. In the latest version of replication configuration (when
@@ -16551,11 +17738,17 @@ module Aws::S3
16551
17738
 
16552
17739
  # @!attribute [rw] request_charged
16553
17740
  # If present, indicates that the requester was successfully charged
16554
- # for the request.
17741
+ # for the request. For more information, see [Using Requester Pays
17742
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
17743
+ # Storage Service user guide*.
16555
17744
  #
16556
17745
  # <note markdown="1"> This functionality is not supported for directory buckets.
16557
17746
  #
16558
17747
  # </note>
17748
+ #
17749
+ #
17750
+ #
17751
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
16559
17752
  # @return [String]
16560
17753
  #
16561
17754
  # @!attribute [rw] restore_output_path
@@ -16575,11 +17768,14 @@ module Aws::S3
16575
17768
  # @!attribute [rw] bucket
16576
17769
  # The bucket name containing the object to restore.
16577
17770
  #
16578
- # **Access points** - When you use this action with an access point,
16579
- # you must provide the alias of the access point in place of the
16580
- # bucket name or specify the access point ARN. When using the access
16581
- # point ARN, you must direct requests to the access point hostname.
16582
- # The access point hostname takes the form
17771
+ # **Access points** - When you use this action with an access point
17772
+ # for general purpose buckets, you must provide the alias of the
17773
+ # access point in place of the bucket name or specify the access point
17774
+ # ARN. When you use this action with an access point for directory
17775
+ # buckets, you must provide the access point name in place of the
17776
+ # bucket name. When using the access point ARN, you must direct
17777
+ # requests to the access point hostname. The access point hostname
17778
+ # takes the form
16583
17779
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
16584
17780
  # When using this action with an access point through the Amazon Web
16585
17781
  # Services SDKs, you provide the access point ARN in place of the
@@ -16740,9 +17936,10 @@ module Aws::S3
16740
17936
  # archived objects, see [ Working with archived objects][1] in the
16741
17937
  # *Amazon S3 User Guide*.
16742
17938
  #
16743
- # <note markdown="1"> This functionality is not supported for directory buckets. Only the S3
16744
- # Express One Zone storage class is supported by directory buckets to
16745
- # store objects.
17939
+ # <note markdown="1"> This functionality is not supported for directory buckets. Directory
17940
+ # buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
17941
+ # storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
17942
+ # Zone-Infrequent Access storage class) in Dedicated Local Zones.
16746
17943
  #
16747
17944
  # </note>
16748
17945
  #
@@ -16981,12 +18178,23 @@ module Aws::S3
16981
18178
  include Aws::Structure
16982
18179
  end
16983
18180
 
16984
- # The destination information for the metadata table configuration. The
18181
+ # The destination information for a V1 S3 Metadata configuration. The
16985
18182
  # destination table bucket must be in the same Region and Amazon Web
16986
18183
  # Services account as the general purpose bucket. The specified metadata
16987
18184
  # table name must be unique within the `aws_s3_metadata` namespace in
16988
18185
  # the destination table bucket.
16989
18186
  #
18187
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
18188
+ # recommend that you delete and re-create your configuration by using
18189
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
18190
+ # table records and create a live inventory table.
18191
+ #
18192
+ # </note>
18193
+ #
18194
+ #
18195
+ #
18196
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
18197
+ #
16990
18198
  # @!attribute [rw] table_bucket_arn
16991
18199
  # The Amazon Resource Name (ARN) for the table bucket that's
16992
18200
  # specified as the destination in the metadata table configuration.
@@ -17010,12 +18218,23 @@ module Aws::S3
17010
18218
  include Aws::Structure
17011
18219
  end
17012
18220
 
17013
- # The destination information for the metadata table configuration. The
18221
+ # The destination information for a V1 S3 Metadata configuration. The
17014
18222
  # destination table bucket must be in the same Region and Amazon Web
17015
18223
  # Services account as the general purpose bucket. The specified metadata
17016
18224
  # table name must be unique within the `aws_s3_metadata` namespace in
17017
18225
  # the destination table bucket.
17018
18226
  #
18227
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
18228
+ # recommend that you delete and re-create your configuration by using
18229
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
18230
+ # table records and create a live inventory table.
18231
+ #
18232
+ # </note>
18233
+ #
18234
+ #
18235
+ #
18236
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
18237
+ #
17019
18238
  # @!attribute [rw] table_bucket_arn
17020
18239
  # The Amazon Resource Name (ARN) for the table bucket that's
17021
18240
  # specified as the destination in the metadata table configuration.
@@ -17921,6 +19140,79 @@ module Aws::S3
17921
19140
  include Aws::Structure
17922
19141
  end
17923
19142
 
19143
+ # @!attribute [rw] bucket
19144
+ # The general purpose bucket that corresponds to the metadata
19145
+ # configuration that you want to enable or disable an inventory table
19146
+ # for.
19147
+ # @return [String]
19148
+ #
19149
+ # @!attribute [rw] content_md5
19150
+ # The `Content-MD5` header for the inventory table configuration.
19151
+ # @return [String]
19152
+ #
19153
+ # @!attribute [rw] checksum_algorithm
19154
+ # The checksum algorithm to use with your inventory table
19155
+ # configuration.
19156
+ # @return [String]
19157
+ #
19158
+ # @!attribute [rw] inventory_table_configuration
19159
+ # The contents of your inventory table configuration.
19160
+ # @return [Types::InventoryTableConfigurationUpdates]
19161
+ #
19162
+ # @!attribute [rw] expected_bucket_owner
19163
+ # The expected owner of the general purpose bucket that corresponds to
19164
+ # the metadata table configuration that you want to enable or disable
19165
+ # an inventory table for.
19166
+ # @return [String]
19167
+ #
19168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfigurationRequest AWS API Documentation
19169
+ #
19170
+ class UpdateBucketMetadataInventoryTableConfigurationRequest < Struct.new(
19171
+ :bucket,
19172
+ :content_md5,
19173
+ :checksum_algorithm,
19174
+ :inventory_table_configuration,
19175
+ :expected_bucket_owner)
19176
+ SENSITIVE = []
19177
+ include Aws::Structure
19178
+ end
19179
+
19180
+ # @!attribute [rw] bucket
19181
+ # The general purpose bucket that corresponds to the metadata
19182
+ # configuration that you want to enable or disable journal table
19183
+ # record expiration for.
19184
+ # @return [String]
19185
+ #
19186
+ # @!attribute [rw] content_md5
19187
+ # The `Content-MD5` header for the journal table configuration.
19188
+ # @return [String]
19189
+ #
19190
+ # @!attribute [rw] checksum_algorithm
19191
+ # The checksum algorithm to use with your journal table configuration.
19192
+ # @return [String]
19193
+ #
19194
+ # @!attribute [rw] journal_table_configuration
19195
+ # The contents of your journal table configuration.
19196
+ # @return [Types::JournalTableConfigurationUpdates]
19197
+ #
19198
+ # @!attribute [rw] expected_bucket_owner
19199
+ # The expected owner of the general purpose bucket that corresponds to
19200
+ # the metadata table configuration that you want to enable or disable
19201
+ # journal table record expiration for.
19202
+ # @return [String]
19203
+ #
19204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfigurationRequest AWS API Documentation
19205
+ #
19206
+ class UpdateBucketMetadataJournalTableConfigurationRequest < Struct.new(
19207
+ :bucket,
19208
+ :content_md5,
19209
+ :checksum_algorithm,
19210
+ :journal_table_configuration,
19211
+ :expected_bucket_owner)
19212
+ SENSITIVE = []
19213
+ include Aws::Structure
19214
+ end
19215
+
17924
19216
  # @!attribute [rw] copy_source_version_id
17925
19217
  # The version of the source object that was copied, if you have
17926
19218
  # enabled versioning on the source bucket.
@@ -17937,7 +19229,13 @@ module Aws::S3
17937
19229
  #
17938
19230
  # @!attribute [rw] server_side_encryption
17939
19231
  # The server-side encryption algorithm used when you store this object
17940
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
19232
+ # in Amazon S3 or Amazon FSx.
19233
+ #
19234
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
19235
+ # access points, the only valid server side encryption option is
19236
+ # `aws:fsx`.
19237
+ #
19238
+ # </note>
17941
19239
  # @return [String]
17942
19240
  #
17943
19241
  # @!attribute [rw] sse_customer_algorithm
@@ -17974,11 +19272,17 @@ module Aws::S3
17974
19272
  #
17975
19273
  # @!attribute [rw] request_charged
17976
19274
  # If present, indicates that the requester was successfully charged
17977
- # for the request.
19275
+ # for the request. For more information, see [Using Requester Pays
19276
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
19277
+ # Storage Service user guide*.
17978
19278
  #
17979
19279
  # <note markdown="1"> This functionality is not supported for directory buckets.
17980
19280
  #
17981
19281
  # </note>
19282
+ #
19283
+ #
19284
+ #
19285
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
17982
19286
  # @return [String]
17983
19287
  #
17984
19288
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopyOutput AWS API Documentation
@@ -18017,19 +19321,21 @@ module Aws::S3
18017
19321
  #
18018
19322
  # </note>
18019
19323
  #
18020
- # **Access points** - When you use this action with an access point,
18021
- # you must provide the alias of the access point in place of the
18022
- # bucket name or specify the access point ARN. When using the access
18023
- # point ARN, you must direct requests to the access point hostname.
18024
- # The access point hostname takes the form
19324
+ # **Access points** - When you use this action with an access point
19325
+ # for general purpose buckets, you must provide the alias of the
19326
+ # access point in place of the bucket name or specify the access point
19327
+ # ARN. When you use this action with an access point for directory
19328
+ # buckets, you must provide the access point name in place of the
19329
+ # bucket name. When using the access point ARN, you must direct
19330
+ # requests to the access point hostname. The access point hostname
19331
+ # takes the form
18025
19332
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
18026
19333
  # When using this action with an access point through the Amazon Web
18027
19334
  # Services SDKs, you provide the access point ARN in place of the
18028
19335
  # bucket name. For more information about access point ARNs, see
18029
19336
  # [Using access points][2] in the *Amazon S3 User Guide*.
18030
19337
  #
18031
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
18032
- # directory buckets.
19338
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
18033
19339
  #
18034
19340
  # </note>
18035
19341
  #
@@ -18327,7 +19633,13 @@ module Aws::S3
18327
19633
 
18328
19634
  # @!attribute [rw] server_side_encryption
18329
19635
  # The server-side encryption algorithm used when you store this object
18330
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
19636
+ # in Amazon S3 or Amazon FSx.
19637
+ #
19638
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
19639
+ # access points, the only valid server side encryption option is
19640
+ # `aws:fsx`.
19641
+ #
19642
+ # </note>
18331
19643
  # @return [String]
18332
19644
  #
18333
19645
  # @!attribute [rw] etag
@@ -18440,11 +19752,17 @@ module Aws::S3
18440
19752
  #
18441
19753
  # @!attribute [rw] request_charged
18442
19754
  # If present, indicates that the requester was successfully charged
18443
- # for the request.
19755
+ # for the request. For more information, see [Using Requester Pays
19756
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
19757
+ # Storage Service user guide*.
18444
19758
  #
18445
19759
  # <note markdown="1"> This functionality is not supported for directory buckets.
18446
19760
  #
18447
19761
  # </note>
19762
+ #
19763
+ #
19764
+ #
19765
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
18448
19766
  # @return [String]
18449
19767
  #
18450
19768
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartOutput AWS API Documentation
@@ -18483,19 +19801,21 @@ module Aws::S3
18483
19801
  # naming restrictions, see [Directory bucket naming rules][1] in the
18484
19802
  # *Amazon S3 User Guide*.
18485
19803
  #
18486
- # **Access points** - When you use this action with an access point,
18487
- # you must provide the alias of the access point in place of the
18488
- # bucket name or specify the access point ARN. When using the access
18489
- # point ARN, you must direct requests to the access point hostname.
18490
- # The access point hostname takes the form
19804
+ # **Access points** - When you use this action with an access point
19805
+ # for general purpose buckets, you must provide the alias of the
19806
+ # access point in place of the bucket name or specify the access point
19807
+ # ARN. When you use this action with an access point for directory
19808
+ # buckets, you must provide the access point name in place of the
19809
+ # bucket name. When using the access point ARN, you must direct
19810
+ # requests to the access point hostname. The access point hostname
19811
+ # takes the form
18491
19812
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
18492
19813
  # When using this action with an access point through the Amazon Web
18493
19814
  # Services SDKs, you provide the access point ARN in place of the
18494
19815
  # bucket name. For more information about access point ARNs, see
18495
19816
  # [Using access points][2] in the *Amazon S3 User Guide*.
18496
19817
  #
18497
- # <note markdown="1"> Access points and Object Lambda access points are not supported by
18498
- # directory buckets.
19818
+ # <note markdown="1"> Object Lambda access points are not supported by directory buckets.
18499
19819
  #
18500
19820
  # </note>
18501
19821
  #
@@ -19032,11 +20352,17 @@ module Aws::S3
19032
20352
  #
19033
20353
  # @!attribute [rw] request_charged
19034
20354
  # If present, indicates that the requester was successfully charged
19035
- # for the request.
20355
+ # for the request. For more information, see [Using Requester Pays
20356
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
20357
+ # Storage Service user guide*.
19036
20358
  #
19037
20359
  # <note markdown="1"> This functionality is not supported for directory buckets.
19038
20360
  #
19039
20361
  # </note>
20362
+ #
20363
+ #
20364
+ #
20365
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
19040
20366
  # @return [String]
19041
20367
  #
19042
20368
  # @!attribute [rw] restore
@@ -19046,7 +20372,13 @@ module Aws::S3
19046
20372
  #
19047
20373
  # @!attribute [rw] server_side_encryption
19048
20374
  # The server-side encryption algorithm used when storing requested
19049
- # object in Amazon S3 (for example, AES256, `aws:kms`).
20375
+ # object in Amazon S3 or Amazon FSx.
20376
+ #
20377
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
20378
+ # access points, the only valid server side encryption option is
20379
+ # `aws:fsx`.
20380
+ #
20381
+ # </note>
19050
20382
  # @return [String]
19051
20383
  #
19052
20384
  # @!attribute [rw] sse_customer_algorithm