aws-sdk-s3 1.184.0 → 1.208.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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +160 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +43 -4
  5. data/lib/aws-sdk-s3/bucket_acl.rb +1 -1
  6. data/lib/aws-sdk-s3/bucket_versioning.rb +33 -0
  7. data/lib/aws-sdk-s3/client.rb +1979 -377
  8. data/lib/aws-sdk-s3/client_api.rb +457 -162
  9. data/lib/aws-sdk-s3/customizations/object.rb +76 -86
  10. data/lib/aws-sdk-s3/customizations.rb +4 -1
  11. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  12. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  13. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  14. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  15. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
  16. data/lib/aws-sdk-s3/encryptionV2/client.rb +98 -23
  17. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  18. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  19. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  20. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  21. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  22. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +8 -0
  23. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  24. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  25. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  26. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  27. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  28. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  29. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  30. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  31. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  32. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  33. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  34. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  35. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  36. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  37. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  38. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  39. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  40. data/lib/aws-sdk-s3/endpoint_parameters.rb +17 -17
  41. data/lib/aws-sdk-s3/endpoint_provider.rb +332 -162
  42. data/lib/aws-sdk-s3/endpoints.rb +110 -0
  43. data/lib/aws-sdk-s3/errors.rb +11 -0
  44. data/lib/aws-sdk-s3/file_downloader.rb +197 -134
  45. data/lib/aws-sdk-s3/file_uploader.rb +9 -13
  46. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  47. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  48. data/lib/aws-sdk-s3/multipart_file_uploader.rb +92 -107
  49. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
  50. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  51. data/lib/aws-sdk-s3/object.rb +117 -36
  52. data/lib/aws-sdk-s3/object_acl.rb +8 -2
  53. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  54. data/lib/aws-sdk-s3/object_summary.rb +72 -20
  55. data/lib/aws-sdk-s3/object_version.rb +7 -9
  56. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
  57. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  58. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  59. data/lib/aws-sdk-s3/resource.rb +6 -0
  60. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  61. data/lib/aws-sdk-s3/types.rb +1719 -310
  62. data/lib/aws-sdk-s3.rb +1 -1
  63. data/sig/bucket.rbs +12 -3
  64. data/sig/client.rbs +173 -33
  65. data/sig/errors.rbs +2 -0
  66. data/sig/multipart_upload.rbs +1 -1
  67. data/sig/object.rbs +15 -10
  68. data/sig/object_summary.rbs +11 -9
  69. data/sig/resource.rbs +8 -1
  70. data/sig/types.rbs +217 -30
  71. metadata +25 -9
@@ -10,6 +10,29 @@
10
10
  module Aws::S3
11
11
  module Types
12
12
 
13
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14
+ # for the general purpose bucket, you can use tags to manage access to
15
+ # the general purpose buckets as well as for cost tracking purposes.
16
+ # When ABAC is disabled for the general purpose buckets, you can only
17
+ # use tags for cost tracking purposes. For more information, see [Using
18
+ # tags with S3 general purpose buckets][1].
19
+ #
20
+ #
21
+ #
22
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
23
+ #
24
+ # @!attribute [rw] status
25
+ # The ABAC status of the general purpose bucket.
26
+ # @return [String]
27
+ #
28
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbacStatus AWS API Documentation
29
+ #
30
+ class AbacStatus < Struct.new(
31
+ :status)
32
+ SENSITIVE = []
33
+ include Aws::Structure
34
+ end
35
+
13
36
  # Specifies the days since the initiation of an incomplete multipart
14
37
  # upload that Amazon S3 will wait before permanently removing all parts
15
38
  # of the upload. For more information, see [ Aborting Incomplete
@@ -35,11 +58,17 @@ module Aws::S3
35
58
 
36
59
  # @!attribute [rw] request_charged
37
60
  # If present, indicates that the requester was successfully charged
38
- # for the request.
61
+ # for the request. For more information, see [Using Requester Pays
62
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
63
+ # Storage Service user guide*.
39
64
  #
40
65
  # <note markdown="1"> This functionality is not supported for directory buckets.
41
66
  #
42
67
  # </note>
68
+ #
69
+ #
70
+ #
71
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
43
72
  # @return [String]
44
73
  #
45
74
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUploadOutput AWS API Documentation
@@ -349,6 +378,63 @@ module Aws::S3
349
378
  include Aws::Structure
350
379
  end
351
380
 
381
+ # A bucket-level setting for Amazon S3 general purpose buckets used to
382
+ # prevent the upload of new objects encrypted with the specified
383
+ # server-side encryption type. For example, blocking an encryption type
384
+ # will block `PutObject`, `CopyObject`, `PostObject`, multipart upload,
385
+ # and replication requests to the bucket for objects with the specified
386
+ # encryption type. However, you can continue to read and list any
387
+ # pre-existing objects already encrypted with the specified encryption
388
+ # type. For more information, see [Blocking or unblocking SSE-C for a
389
+ # general purpose bucket][1].
390
+ #
391
+ # This data type is used with the following actions:
392
+ #
393
+ # * [PutBucketEncryption][2]
394
+ #
395
+ # * [GetBucketEncryption][3]
396
+ #
397
+ # * [DeleteBucketEncryption][4]
398
+ #
399
+ # Permissions
400
+ #
401
+ # : You must have the `s3:PutEncryptionConfiguration` permission to
402
+ # block or unblock an encryption type for a bucket.
403
+ #
404
+ # You must have the `s3:GetEncryptionConfiguration` permission to view
405
+ # a bucket's encryption type.
406
+ #
407
+ #
408
+ #
409
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
410
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
411
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
412
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
413
+ #
414
+ # @!attribute [rw] encryption_type
415
+ # The object encryption type that you want to block or unblock for an
416
+ # Amazon S3 general purpose bucket.
417
+ #
418
+ # <note markdown="1"> Currently, this parameter only supports blocking or unblocking
419
+ # server side encryption with customer-provided keys (SSE-C). For more
420
+ # information about SSE-C, see [Using server-side encryption with
421
+ # customer-provided keys (SSE-C)][1].
422
+ #
423
+ # </note>
424
+ #
425
+ #
426
+ #
427
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
428
+ # @return [Array<String>]
429
+ #
430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BlockedEncryptionTypes AWS API Documentation
431
+ #
432
+ class BlockedEncryptionTypes < Struct.new(
433
+ :encryption_type)
434
+ SENSITIVE = []
435
+ include Aws::Structure
436
+ end
437
+
352
438
  # In terms of implementation, a Bucket is a resource.
353
439
  #
354
440
  # @!attribute [rw] name
@@ -366,12 +452,28 @@ module Aws::S3
366
452
  # parameter, it is included in the response.
367
453
  # @return [String]
368
454
  #
455
+ # @!attribute [rw] bucket_arn
456
+ # The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
457
+ # identify Amazon Web Services resources across all of Amazon Web
458
+ # Services.
459
+ #
460
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
461
+ # information, see [Using tags with directory buckets][1].
462
+ #
463
+ # </note>
464
+ #
465
+ #
466
+ #
467
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
468
+ # @return [String]
469
+ #
369
470
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket AWS API Documentation
370
471
  #
371
472
  class Bucket < Struct.new(
372
473
  :name,
373
474
  :creation_date,
374
- :bucket_region)
475
+ :bucket_region,
476
+ :bucket_arn)
375
477
  SENSITIVE = []
376
478
  include Aws::Structure
377
479
  end
@@ -658,7 +760,7 @@ module Aws::S3
658
760
  #
659
761
  # @!attribute [rw] checksum_crc32
660
762
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
661
- # checksum is only be present if the checksum was uploaded with the
763
+ # checksum is only present if the checksum was uploaded with the
662
764
  # object. When you use an API operation on an object that was uploaded
663
765
  # using multipart uploads, this value may not be a direct checksum
664
766
  # value of the full object. Instead, it's a calculation based on the
@@ -700,14 +802,15 @@ module Aws::S3
700
802
  # @return [String]
701
803
  #
702
804
  # @!attribute [rw] checksum_sha1
703
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
704
- # only be present if the object was uploaded with the object. When you
705
- # use the API operation on an object that was uploaded using multipart
706
- # uploads, this value may not be a direct checksum value of the full
707
- # object. Instead, it's a calculation based on the checksum values of
708
- # each individual part. For more information about how checksums are
709
- # calculated with multipart uploads, see [ Checking object
710
- # integrity][1] in the *Amazon S3 User Guide*.
805
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This
806
+ # checksum is only present if the checksum was uploaded with the
807
+ # object. When you use the API operation on an object that was
808
+ # uploaded using multipart uploads, this value may not be a direct
809
+ # checksum value of the full object. Instead, it's a calculation
810
+ # based on the checksum values of each individual part. For more
811
+ # information about how checksums are calculated with multipart
812
+ # uploads, see [ Checking object integrity][1] in the *Amazon S3 User
813
+ # Guide*.
711
814
  #
712
815
  #
713
816
  #
@@ -715,14 +818,14 @@ module Aws::S3
715
818
  # @return [String]
716
819
  #
717
820
  # @!attribute [rw] checksum_sha256
718
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
719
- # only be present if the object was uploaded with the object. When you
720
- # use an API operation on an object that was uploaded using multipart
721
- # uploads, this value may not be a direct checksum value of the full
722
- # object. Instead, it's a calculation based on the checksum values of
723
- # each individual part. For more information about how checksums are
724
- # calculated with multipart uploads, see [ Checking object
725
- # integrity][1] in the *Amazon S3 User Guide*.
821
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This
822
+ # checksum is only present if the checksum was uploaded with the
823
+ # object. When you use an API operation on an object that was uploaded
824
+ # using multipart uploads, this value may not be a direct checksum
825
+ # value of the full object. Instead, it's a calculation based on the
826
+ # checksum values of each individual part. For more information about
827
+ # how checksums are calculated with multipart uploads, see [ Checking
828
+ # object integrity][1] in the *Amazon S3 User Guide*.
726
829
  #
727
830
  #
728
831
  #
@@ -852,7 +955,7 @@ module Aws::S3
852
955
  #
853
956
  # @!attribute [rw] checksum_crc32
854
957
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
855
- # checksum is only be present if the checksum was uploaded with the
958
+ # checksum is only present if the checksum was uploaded with the
856
959
  # object. When you use an API operation on an object that was uploaded
857
960
  # using multipart uploads, this value may not be a direct checksum
858
961
  # value of the full object. Instead, it's a calculation based on the
@@ -894,14 +997,15 @@ module Aws::S3
894
997
  # @return [String]
895
998
  #
896
999
  # @!attribute [rw] checksum_sha1
897
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
898
- # only be present if the object was uploaded with the object. When you
899
- # use the API operation on an object that was uploaded using multipart
900
- # uploads, this value may not be a direct checksum value of the full
901
- # object. Instead, it's a calculation based on the checksum values of
902
- # each individual part. For more information about how checksums are
903
- # calculated with multipart uploads, see [ Checking object
904
- # integrity][1] in the *Amazon S3 User Guide*.
1000
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This
1001
+ # checksum is only present if the checksum was uploaded with the
1002
+ # object. When you use the API operation on an object that was
1003
+ # uploaded using multipart uploads, this value may not be a direct
1004
+ # checksum value of the full object. Instead, it's a calculation
1005
+ # based on the checksum values of each individual part. For more
1006
+ # information about how checksums are calculated with multipart
1007
+ # uploads, see [ Checking object integrity][1] in the *Amazon S3 User
1008
+ # Guide*.
905
1009
  #
906
1010
  #
907
1011
  #
@@ -909,14 +1013,14 @@ module Aws::S3
909
1013
  # @return [String]
910
1014
  #
911
1015
  # @!attribute [rw] checksum_sha256
912
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
913
- # only be present if the object was uploaded with the object. When you
914
- # use an API operation on an object that was uploaded using multipart
915
- # uploads, this value may not be a direct checksum value of the full
916
- # object. Instead, it's a calculation based on the checksum values of
917
- # each individual part. For more information about how checksums are
918
- # calculated with multipart uploads, see [ Checking object
919
- # integrity][1] in the *Amazon S3 User Guide*.
1016
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This
1017
+ # checksum is only present if the checksum was uploaded with the
1018
+ # object. When you use an API operation on an object that was uploaded
1019
+ # using multipart uploads, this value may not be a direct checksum
1020
+ # value of the full object. Instead, it's a calculation based on the
1021
+ # checksum values of each individual part. For more information about
1022
+ # how checksums are calculated with multipart uploads, see [ Checking
1023
+ # object integrity][1] in the *Amazon S3 User Guide*.
920
1024
  #
921
1025
  #
922
1026
  #
@@ -939,7 +1043,13 @@ module Aws::S3
939
1043
  #
940
1044
  # @!attribute [rw] server_side_encryption
941
1045
  # The server-side encryption algorithm used when storing this object
942
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
1046
+ # in Amazon S3.
1047
+ #
1048
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
1049
+ # access points, the only valid server side encryption option is
1050
+ # `aws:fsx`.
1051
+ #
1052
+ # </note>
943
1053
  # @return [String]
944
1054
  #
945
1055
  # @!attribute [rw] version_id
@@ -964,11 +1074,17 @@ module Aws::S3
964
1074
  #
965
1075
  # @!attribute [rw] request_charged
966
1076
  # If present, indicates that the requester was successfully charged
967
- # for the request.
1077
+ # for the request. For more information, see [Using Requester Pays
1078
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
1079
+ # Storage Service user guide*.
968
1080
  #
969
1081
  # <note markdown="1"> This functionality is not supported for directory buckets.
970
1082
  #
971
1083
  # </note>
1084
+ #
1085
+ #
1086
+ #
1087
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
972
1088
  # @return [String]
973
1089
  #
974
1090
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUploadOutput AWS API Documentation
@@ -1469,7 +1585,13 @@ module Aws::S3
1469
1585
  #
1470
1586
  # @!attribute [rw] server_side_encryption
1471
1587
  # The server-side encryption algorithm used when you store this object
1472
- # in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
1588
+ # in Amazon S3 or Amazon FSx.
1589
+ #
1590
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
1591
+ # access points, the only valid server side encryption option is
1592
+ # `aws:fsx`.
1593
+ #
1594
+ # </note>
1473
1595
  # @return [String]
1474
1596
  #
1475
1597
  # @!attribute [rw] sse_customer_algorithm
@@ -1513,11 +1635,17 @@ module Aws::S3
1513
1635
  #
1514
1636
  # @!attribute [rw] request_charged
1515
1637
  # If present, indicates that the requester was successfully charged
1516
- # for the request.
1638
+ # for the request. For more information, see [Using Requester Pays
1639
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
1640
+ # Storage Service user guide*.
1517
1641
  #
1518
1642
  # <note markdown="1"> This functionality is not supported for directory buckets.
1519
1643
  #
1520
1644
  # </note>
1645
+ #
1646
+ #
1647
+ #
1648
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
1521
1649
  # @return [String]
1522
1650
  #
1523
1651
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectOutput AWS API Documentation
@@ -1869,6 +1997,40 @@ module Aws::S3
1869
1997
  # </note>
1870
1998
  # @return [String]
1871
1999
  #
2000
+ # @!attribute [rw] if_match
2001
+ # Copies the object if the entity tag (ETag) of the destination object
2002
+ # matches the specified tag. If the ETag values do not match, the
2003
+ # operation returns a `412 Precondition Failed` error. If a concurrent
2004
+ # operation occurs during the upload S3 returns a `409
2005
+ # ConditionalRequestConflict` response. On a 409 failure you should
2006
+ # fetch the object's ETag and retry the upload.
2007
+ #
2008
+ # Expects the ETag value as a string.
2009
+ #
2010
+ # For more information about conditional requests, see [RFC 7232][1].
2011
+ #
2012
+ #
2013
+ #
2014
+ # [1]: https://tools.ietf.org/html/rfc7232
2015
+ # @return [String]
2016
+ #
2017
+ # @!attribute [rw] if_none_match
2018
+ # Copies the object only if the object key name at the destination
2019
+ # does not already exist in the bucket specified. Otherwise, Amazon S3
2020
+ # returns a `412 Precondition Failed` error. If a concurrent operation
2021
+ # occurs during the upload S3 returns a `409
2022
+ # ConditionalRequestConflict` response. On a 409 failure you should
2023
+ # retry the upload.
2024
+ #
2025
+ # Expects the '*' (asterisk) character.
2026
+ #
2027
+ # For more information about conditional requests, see [RFC 7232][1].
2028
+ #
2029
+ #
2030
+ #
2031
+ # [1]: https://tools.ietf.org/html/rfc7232
2032
+ # @return [String]
2033
+ #
1872
2034
  # @!attribute [rw] key
1873
2035
  # The key of the destination object.
1874
2036
  # @return [String]
@@ -2020,6 +2182,14 @@ module Aws::S3
2020
2182
  # key is the same customer managed key that you specified for the
2021
2183
  # directory bucket's default encryption configuration.
2022
2184
  #
2185
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data
2186
+ # stored in Amazon FSx file systems using S3 access points, the only
2187
+ # valid server side encryption option is `aws:fsx`. All Amazon FSx
2188
+ # file systems have encryption configured by default and are
2189
+ # encrypted at rest. Data is automatically encrypted before being
2190
+ # written to the file system, and automatically decrypted as it is
2191
+ # read. These processes are handled transparently by Amazon FSx.
2192
+ #
2023
2193
  #
2024
2194
  #
2025
2195
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
@@ -2387,6 +2557,8 @@ module Aws::S3
2387
2557
  :grant_read,
2388
2558
  :grant_read_acp,
2389
2559
  :grant_write_acp,
2560
+ :if_match,
2561
+ :if_none_match,
2390
2562
  :key,
2391
2563
  :metadata,
2392
2564
  :metadata_directive,
@@ -2448,9 +2620,9 @@ module Aws::S3
2448
2620
  #
2449
2621
  # @!attribute [rw] checksum_crc32c
2450
2622
  # The Base64 encoded, 32-bit `CRC32C` checksum of the object. This
2451
- # will only be present if the object was uploaded with the object. For
2452
- # more information, see [ Checking object integrity][1] in the *Amazon
2453
- # S3 User Guide*.
2623
+ # checksum is only present if the checksum was uploaded with the
2624
+ # object. For more information, see [ Checking object integrity][1] in
2625
+ # the *Amazon S3 User Guide*.
2454
2626
  #
2455
2627
  #
2456
2628
  #
@@ -2471,10 +2643,10 @@ module Aws::S3
2471
2643
  # @return [String]
2472
2644
  #
2473
2645
  # @!attribute [rw] checksum_sha1
2474
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
2475
- # only be present if the object was uploaded with the object. For more
2476
- # information, see [ Checking object integrity][1] in the *Amazon S3
2477
- # User Guide*.
2646
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This
2647
+ # checksum is only present if the checksum was uploaded with the
2648
+ # object. For more information, see [ Checking object integrity][1] in
2649
+ # the *Amazon S3 User Guide*.
2478
2650
  #
2479
2651
  #
2480
2652
  #
@@ -2482,10 +2654,10 @@ module Aws::S3
2482
2654
  # @return [String]
2483
2655
  #
2484
2656
  # @!attribute [rw] checksum_sha256
2485
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
2486
- # only be present if the object was uploaded with the object. For more
2487
- # information, see [ Checking object integrity][1] in the *Amazon S3
2488
- # User Guide*.
2657
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This
2658
+ # checksum is only present if the checksum was uploaded with the
2659
+ # object. For more information, see [ Checking object integrity][1] in
2660
+ # the *Amazon S3 User Guide*.
2489
2661
  #
2490
2662
  #
2491
2663
  #
@@ -2621,10 +2793,10 @@ module Aws::S3
2621
2793
  #
2622
2794
  # <b>Directory buckets </b> - The location type is Availability Zone
2623
2795
  # or Local Zone. To use the Local Zone location type, your account
2624
- # must be enabled for Dedicated Local Zones. Otherwise, you get an
2625
- # HTTP `403 Forbidden` error with the error code `AccessDenied`. To
2626
- # learn more, see [Enable accounts for Dedicated Local Zones][1] in
2627
- # the *Amazon S3 User Guide*.
2796
+ # must be enabled for Local Zones. Otherwise, you get an HTTP `403
2797
+ # Forbidden` error with the error code `AccessDenied`. To learn more,
2798
+ # see [Enable accounts for Local Zones][1] in the *Amazon S3 User
2799
+ # Guide*.
2628
2800
  #
2629
2801
  # <note markdown="1"> This functionality is only supported by directory buckets.
2630
2802
  #
@@ -2643,19 +2815,73 @@ module Aws::S3
2643
2815
  # </note>
2644
2816
  # @return [Types::BucketInfo]
2645
2817
  #
2818
+ # @!attribute [rw] tags
2819
+ # An array of tags that you can apply to the bucket that you're
2820
+ # creating. Tags are key-value pairs of metadata used to categorize
2821
+ # and organize your buckets, track costs, and control access.
2822
+ #
2823
+ # You must have the `s3:TagResource` permission to create a general
2824
+ # purpose bucket with tags or the `s3express:TagResource` permission
2825
+ # to create a directory bucket with tags.
2826
+ #
2827
+ # When creating buckets with tags, note that tag-based conditions
2828
+ # using `aws:ResourceTag` and `s3:BucketTag` condition keys are
2829
+ # applicable only after ABAC is enabled on the bucket. To learn more,
2830
+ # see [Enabling ABAC in general purpose buckets][1].
2831
+ #
2832
+ #
2833
+ #
2834
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html
2835
+ # @return [Array<Types::Tag>]
2836
+ #
2646
2837
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration AWS API Documentation
2647
2838
  #
2648
2839
  class CreateBucketConfiguration < Struct.new(
2649
2840
  :location_constraint,
2650
2841
  :location,
2651
- :bucket)
2842
+ :bucket,
2843
+ :tags)
2844
+ SENSITIVE = []
2845
+ include Aws::Structure
2846
+ end
2847
+
2848
+ # @!attribute [rw] bucket
2849
+ # The general purpose bucket that you want to create the metadata
2850
+ # configuration for.
2851
+ # @return [String]
2852
+ #
2853
+ # @!attribute [rw] content_md5
2854
+ # The `Content-MD5` header for the metadata configuration.
2855
+ # @return [String]
2856
+ #
2857
+ # @!attribute [rw] checksum_algorithm
2858
+ # The checksum algorithm to use with your metadata configuration.
2859
+ # @return [String]
2860
+ #
2861
+ # @!attribute [rw] metadata_configuration
2862
+ # The contents of your metadata configuration.
2863
+ # @return [Types::MetadataConfiguration]
2864
+ #
2865
+ # @!attribute [rw] expected_bucket_owner
2866
+ # The expected owner of the general purpose bucket that corresponds to
2867
+ # your metadata configuration.
2868
+ # @return [String]
2869
+ #
2870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfigurationRequest AWS API Documentation
2871
+ #
2872
+ class CreateBucketMetadataConfigurationRequest < Struct.new(
2873
+ :bucket,
2874
+ :content_md5,
2875
+ :checksum_algorithm,
2876
+ :metadata_configuration,
2877
+ :expected_bucket_owner)
2652
2878
  SENSITIVE = []
2653
2879
  include Aws::Structure
2654
2880
  end
2655
2881
 
2656
2882
  # @!attribute [rw] bucket
2657
2883
  # The general purpose bucket that you want to create the metadata
2658
- # table configuration in.
2884
+ # table configuration for.
2659
2885
  # @return [String]
2660
2886
  #
2661
2887
  # @!attribute [rw] content_md5
@@ -2672,8 +2898,8 @@ module Aws::S3
2672
2898
  # @return [Types::MetadataTableConfiguration]
2673
2899
  #
2674
2900
  # @!attribute [rw] expected_bucket_owner
2675
- # The expected owner of the general purpose bucket that contains your
2676
- # metadata table configuration.
2901
+ # The expected owner of the general purpose bucket that corresponds to
2902
+ # your metadata table configuration.
2677
2903
  # @return [String]
2678
2904
  #
2679
2905
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -2692,10 +2918,26 @@ module Aws::S3
2692
2918
  # A forward slash followed by the name of the bucket.
2693
2919
  # @return [String]
2694
2920
  #
2921
+ # @!attribute [rw] bucket_arn
2922
+ # The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
2923
+ # identify Amazon Web Services resources across all of Amazon Web
2924
+ # Services.
2925
+ #
2926
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
2927
+ # information, see [Using tags with directory buckets][1].
2928
+ #
2929
+ # </note>
2930
+ #
2931
+ #
2932
+ #
2933
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
2934
+ # @return [String]
2935
+ #
2695
2936
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketOutput AWS API Documentation
2696
2937
  #
2697
2938
  class CreateBucketOutput < Struct.new(
2698
- :location)
2939
+ :location,
2940
+ :bucket_arn)
2699
2941
  SENSITIVE = []
2700
2942
  include Aws::Structure
2701
2943
  end
@@ -2894,7 +3136,13 @@ module Aws::S3
2894
3136
  #
2895
3137
  # @!attribute [rw] server_side_encryption
2896
3138
  # The server-side encryption algorithm used when you store this object
2897
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3139
+ # in Amazon S3 or Amazon FSx.
3140
+ #
3141
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
3142
+ # access points, the only valid server side encryption option is
3143
+ # `aws:fsx`.
3144
+ #
3145
+ # </note>
2898
3146
  # @return [String]
2899
3147
  #
2900
3148
  # @!attribute [rw] sse_customer_algorithm
@@ -2938,11 +3186,17 @@ module Aws::S3
2938
3186
  #
2939
3187
  # @!attribute [rw] request_charged
2940
3188
  # If present, indicates that the requester was successfully charged
2941
- # for the request.
3189
+ # for the request. For more information, see [Using Requester Pays
3190
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
3191
+ # Storage Service user guide*.
2942
3192
  #
2943
3193
  # <note markdown="1"> This functionality is not supported for directory buckets.
2944
3194
  #
2945
3195
  # </note>
3196
+ #
3197
+ #
3198
+ #
3199
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
2946
3200
  # @return [String]
2947
3201
  #
2948
3202
  # @!attribute [rw] checksum_algorithm
@@ -3356,7 +3610,7 @@ module Aws::S3
3356
3610
  #
3357
3611
  # @!attribute [rw] server_side_encryption
3358
3612
  # The server-side encryption algorithm used when you store this object
3359
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
3613
+ # in Amazon S3 or Amazon FSx.
3360
3614
  #
3361
3615
  # * <b>Directory buckets </b> - For directory buckets, there are only
3362
3616
  # two supported options for server-side encryption: server-side
@@ -3399,6 +3653,14 @@ module Aws::S3
3399
3653
  #
3400
3654
  # </note>
3401
3655
  #
3656
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data
3657
+ # stored in Amazon FSx file systems using S3 access points, the only
3658
+ # valid server side encryption option is `aws:fsx`. All Amazon FSx
3659
+ # file systems have encryption configured by default and are
3660
+ # encrypted at rest. Data is automatically encrypted before being
3661
+ # written to the file system, and automatically decrypted as it is
3662
+ # read. These processes are handled transparently by Amazon FSx.
3663
+ #
3402
3664
  #
3403
3665
  #
3404
3666
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -3665,6 +3927,12 @@ module Aws::S3
3665
3927
  # @!attribute [rw] server_side_encryption
3666
3928
  # The server-side encryption algorithm used when you store objects in
3667
3929
  # the directory bucket.
3930
+ #
3931
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
3932
+ # access points, the only valid server side encryption option is
3933
+ # `aws:fsx`.
3934
+ #
3935
+ # </note>
3668
3936
  # @return [String]
3669
3937
  #
3670
3938
  # @!attribute [rw] ssekms_key_id
@@ -3729,6 +3997,14 @@ module Aws::S3
3729
3997
  # SSE-S3. For more information, see [Protecting data with server-side
3730
3998
  # encryption][1] in the *Amazon S3 User Guide*.
3731
3999
  #
4000
+ # <b>S3 access points for Amazon FSx </b> - When accessing data stored
4001
+ # in Amazon FSx file systems using S3 access points, the only valid
4002
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
4003
+ # systems have encryption configured by default and are encrypted at
4004
+ # rest. Data is automatically encrypted before being written to the
4005
+ # file system, and automatically decrypted as it is read. These
4006
+ # processes are handled transparently by Amazon FSx.
4007
+ #
3732
4008
  #
3733
4009
  #
3734
4010
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
@@ -3976,11 +4252,19 @@ module Aws::S3
3976
4252
  # The ID used to identify the S3 Intelligent-Tiering configuration.
3977
4253
  # @return [String]
3978
4254
  #
4255
+ # @!attribute [rw] expected_bucket_owner
4256
+ # The account ID of the expected bucket owner. If the account ID that
4257
+ # you provide does not match the actual owner of the bucket, the
4258
+ # request fails with the HTTP status code `403 Forbidden` (access
4259
+ # denied).
4260
+ # @return [String]
4261
+ #
3979
4262
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfigurationRequest AWS API Documentation
3980
4263
  #
3981
4264
  class DeleteBucketIntelligentTieringConfigurationRequest < Struct.new(
3982
4265
  :bucket,
3983
- :id)
4266
+ :id,
4267
+ :expected_bucket_owner)
3984
4268
  SENSITIVE = []
3985
4269
  include Aws::Structure
3986
4270
  end
@@ -4036,6 +4320,25 @@ module Aws::S3
4036
4320
  include Aws::Structure
4037
4321
  end
4038
4322
 
4323
+ # @!attribute [rw] bucket
4324
+ # The general purpose bucket that you want to remove the metadata
4325
+ # configuration from.
4326
+ # @return [String]
4327
+ #
4328
+ # @!attribute [rw] expected_bucket_owner
4329
+ # The expected bucket owner of the general purpose bucket that you
4330
+ # want to remove the metadata table configuration from.
4331
+ # @return [String]
4332
+ #
4333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfigurationRequest AWS API Documentation
4334
+ #
4335
+ class DeleteBucketMetadataConfigurationRequest < Struct.new(
4336
+ :bucket,
4337
+ :expected_bucket_owner)
4338
+ SENSITIVE = []
4339
+ include Aws::Structure
4340
+ end
4341
+
4039
4342
  # @!attribute [rw] bucket
4040
4343
  # The general purpose bucket that you want to remove the metadata
4041
4344
  # table configuration from.
@@ -4348,11 +4651,17 @@ module Aws::S3
4348
4651
  #
4349
4652
  # @!attribute [rw] request_charged
4350
4653
  # If present, indicates that the requester was successfully charged
4351
- # for the request.
4654
+ # for the request. For more information, see [Using Requester Pays
4655
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
4656
+ # Storage Service user guide*.
4352
4657
  #
4353
4658
  # <note markdown="1"> This functionality is not supported for directory buckets.
4354
4659
  #
4355
4660
  # </note>
4661
+ #
4662
+ #
4663
+ #
4664
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
4356
4665
  # @return [String]
4357
4666
  #
4358
4667
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectOutput AWS API Documentation
@@ -4472,17 +4781,16 @@ module Aws::S3
4472
4781
  # @return [String]
4473
4782
  #
4474
4783
  # @!attribute [rw] if_match
4475
- # The `If-Match` header field makes the request method conditional on
4476
- # ETags. If the ETag value does not match, the operation returns a
4477
- # `412 Precondition Failed` error. If the ETag matches or if the
4478
- # object doesn't exist, the operation will return a `204 Success (No
4479
- # Content) response`.
4480
- #
4481
- # For more information about conditional requests, see [RFC 7232][1].
4784
+ # Deletes the object if the ETag (entity tag) value provided during
4785
+ # the delete operation matches the ETag of the object in S3. If the
4786
+ # ETag values do not match, the operation returns a `412 Precondition
4787
+ # Failed` error.
4482
4788
  #
4483
- # <note markdown="1"> This functionality is only supported for directory buckets.
4789
+ # Expects the ETag value as a string. `If-Match` does accept a string
4790
+ # value of an '*' (asterisk) character to denote a match of any
4791
+ # ETag.
4484
4792
  #
4485
- # </note>
4793
+ # For more information about conditional requests, see [RFC 7232][1].
4486
4794
  #
4487
4795
  #
4488
4796
  #
@@ -4613,11 +4921,17 @@ module Aws::S3
4613
4921
  #
4614
4922
  # @!attribute [rw] request_charged
4615
4923
  # If present, indicates that the requester was successfully charged
4616
- # for the request.
4924
+ # for the request. For more information, see [Using Requester Pays
4925
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
4926
+ # Storage Service user guide*.
4617
4927
  #
4618
4928
  # <note markdown="1"> This functionality is not supported for directory buckets.
4619
4929
  #
4620
4930
  # </note>
4931
+ #
4932
+ #
4933
+ #
4934
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
4621
4935
  # @return [String]
4622
4936
  #
4623
4937
  # @!attribute [rw] errors
@@ -4902,6 +5216,8 @@ module Aws::S3
4902
5216
  # For valid values, see the `StorageClass` element of the [PUT Bucket
4903
5217
  # replication][1] action in the *Amazon S3 API Reference*.
4904
5218
  #
5219
+ # `FSX_OPENZFS` is not an accepted value when replicating objects.
5220
+ #
4905
5221
  #
4906
5222
  #
4907
5223
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html
@@ -4948,6 +5264,37 @@ module Aws::S3
4948
5264
  include Aws::Structure
4949
5265
  end
4950
5266
 
5267
+ # The destination information for the S3 Metadata configuration.
5268
+ #
5269
+ # @!attribute [rw] table_bucket_type
5270
+ # The type of the table bucket where the metadata configuration is
5271
+ # stored. The `aws` value indicates an Amazon Web Services managed
5272
+ # table bucket, and the `customer` value indicates a customer-managed
5273
+ # table bucket. V2 metadata configurations are stored in Amazon Web
5274
+ # Services managed table buckets, and V1 metadata configurations are
5275
+ # stored in customer-managed table buckets.
5276
+ # @return [String]
5277
+ #
5278
+ # @!attribute [rw] table_bucket_arn
5279
+ # The Amazon Resource Name (ARN) of the table bucket where the
5280
+ # metadata configuration is stored.
5281
+ # @return [String]
5282
+ #
5283
+ # @!attribute [rw] table_namespace
5284
+ # The namespace in the table bucket where the metadata tables for a
5285
+ # metadata configuration are stored.
5286
+ # @return [String]
5287
+ #
5288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DestinationResult AWS API Documentation
5289
+ #
5290
+ class DestinationResult < Struct.new(
5291
+ :table_bucket_type,
5292
+ :table_bucket_arn,
5293
+ :table_namespace)
5294
+ SENSITIVE = []
5295
+ include Aws::Structure
5296
+ end
5297
+
4951
5298
  # Contains the type of server-side encryption used.
4952
5299
  #
4953
5300
  # @!attribute [rw] encryption_type
@@ -5789,12 +6136,24 @@ module Aws::S3
5789
6136
  include Aws::Structure
5790
6137
  end
5791
6138
 
5792
- # If the `CreateBucketMetadataTableConfiguration` request succeeds, but
5793
- # S3 Metadata was unable to create the table, this structure contains
5794
- # the error code and error message.
6139
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
6140
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3 Metadata
6141
+ # was unable to create the table, this structure contains the error code
6142
+ # and error message.
6143
+ #
6144
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
6145
+ # recommend that you delete and re-create your configuration by using
6146
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
6147
+ # table records and create a live inventory table.
6148
+ #
6149
+ # </note>
6150
+ #
6151
+ #
6152
+ #
6153
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
5795
6154
  #
5796
6155
  # @!attribute [rw] error_code
5797
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
6156
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
5798
6157
  # but S3 Metadata was unable to create the table, this structure
5799
6158
  # contains the error code. The possible error codes and error messages
5800
6159
  # are as follows:
@@ -5833,21 +6192,24 @@ module Aws::S3
5833
6192
  # Create or choose a different table bucket. To create a new
5834
6193
  # metadata table, you must delete the metadata configuration for
5835
6194
  # this bucket, and then create a new metadata configuration.
5836
- # @return [String]
5837
6195
  #
5838
- # @!attribute [rw] error_message
5839
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
5840
- # but S3 Metadata was unable to create the table, this structure
5841
- # contains the error message. The possible error codes and error
5842
- # messages are as follows:
6196
+ # If the V2 `CreateBucketMetadataConfiguration` request succeeds, but
6197
+ # S3 Metadata was unable to create the table, this structure contains
6198
+ # the error code. The possible error codes and error messages are as
6199
+ # follows:
5843
6200
  #
5844
6201
  # * `AccessDeniedCreatingResources` - You don't have sufficient
5845
6202
  # permissions to create the required resources. Make sure that you
5846
- # have `s3tables:CreateNamespace`, `s3tables:CreateTable`,
5847
- # `s3tables:GetTable` and `s3tables:PutTablePolicy` permissions, and
5848
- # then try again. To create a new metadata table, you must delete
5849
- # the metadata configuration for this bucket, and then create a new
5850
- # metadata configuration.
6203
+ # have `s3tables:CreateTableBucket`, `s3tables:CreateNamespace`,
6204
+ # `s3tables:CreateTable`, `s3tables:GetTable`,
6205
+ # `s3tables:PutTablePolicy`, `kms:DescribeKey`, and
6206
+ # `s3tables:PutTableEncryption` permissions. Additionally, ensure
6207
+ # that the KMS key used to encrypt the table still exists, is active
6208
+ # and has a resource policy granting access to the S3 service
6209
+ # principals '`maintenance.s3tables.amazonaws.com`' and
6210
+ # '`metadata.s3.amazonaws.com`'. To create a new metadata table,
6211
+ # you must delete the metadata configuration for this bucket, and
6212
+ # then create a new metadata configuration.
5851
6213
  #
5852
6214
  # * `AccessDeniedWritingToTable` - Unable to write to the metadata
5853
6215
  # table because of missing resource permissions. To fix the resource
@@ -5864,17 +6226,124 @@ module Aws::S3
5864
6226
  # a new metadata table, you must delete the metadata configuration
5865
6227
  # for this bucket, and then create a new metadata configuration.
5866
6228
  #
5867
- # * `TableAlreadyExists` - The table that you specified already exists
5868
- # in the table bucket's namespace. Specify a different table name.
5869
- # To create a new metadata table, you must delete the metadata
5870
- # configuration for this bucket, and then create a new metadata
5871
- # configuration.
6229
+ # * `JournalTableAlreadyExists` - A journal table already exists in
6230
+ # the Amazon Web Services managed table bucket's namespace. Delete
6231
+ # the journal table, and then try again. To create a new metadata
6232
+ # table, you must delete the metadata configuration for this bucket,
6233
+ # and then create a new metadata configuration.
6234
+ #
6235
+ # * `InventoryTableAlreadyExists` - An inventory table already exists
6236
+ # in the Amazon Web Services managed table bucket's namespace.
6237
+ # Delete the inventory table, and then try again. To create a new
6238
+ # metadata table, you must delete the metadata configuration for
6239
+ # this bucket, and then create a new metadata configuration.
6240
+ #
6241
+ # * `JournalTableNotAvailable` - The journal table that the inventory
6242
+ # table relies on has a `FAILED` status. An inventory table requires
6243
+ # a journal table with an `ACTIVE` status. To create a new journal
6244
+ # or inventory table, you must delete the metadata configuration for
6245
+ # this bucket, along with any journal or inventory tables, and then
6246
+ # create a new metadata configuration.
6247
+ #
6248
+ # * `NoSuchBucket` - The specified general purpose bucket does not
6249
+ # exist.
6250
+ # @return [String]
6251
+ #
6252
+ # @!attribute [rw] error_message
6253
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
6254
+ # but S3 Metadata was unable to create the table, this structure
6255
+ # contains the error message. The possible error codes and error
6256
+ # messages are as follows:
6257
+ #
6258
+ # * `AccessDeniedCreatingResources` - You don't have sufficient
6259
+ # permissions to create the required resources. Make sure that you
6260
+ # have `s3tables:CreateNamespace`, `s3tables:CreateTable`,
6261
+ # `s3tables:GetTable` and `s3tables:PutTablePolicy` permissions, and
6262
+ # then try again. To create a new metadata table, you must delete
6263
+ # the metadata configuration for this bucket, and then create a new
6264
+ # metadata configuration.
6265
+ #
6266
+ # * `AccessDeniedWritingToTable` - Unable to write to the metadata
6267
+ # table because of missing resource permissions. To fix the resource
6268
+ # policy, Amazon S3 needs to create a new metadata table. To create
6269
+ # a new metadata table, you must delete the metadata configuration
6270
+ # for this bucket, and then create a new metadata configuration.
6271
+ #
6272
+ # * `DestinationTableNotFound` - The destination table doesn't exist.
6273
+ # To create a new metadata table, you must delete the metadata
6274
+ # configuration for this bucket, and then create a new metadata
6275
+ # configuration.
6276
+ #
6277
+ # * `ServerInternalError` - An internal error has occurred. To create
6278
+ # a new metadata table, you must delete the metadata configuration
6279
+ # for this bucket, and then create a new metadata configuration.
6280
+ #
6281
+ # * `TableAlreadyExists` - The table that you specified already exists
6282
+ # in the table bucket's namespace. Specify a different table name.
6283
+ # To create a new metadata table, you must delete the metadata
6284
+ # configuration for this bucket, and then create a new metadata
6285
+ # configuration.
5872
6286
  #
5873
6287
  # * `TableBucketNotFound` - The table bucket that you specified
5874
6288
  # doesn't exist in this Amazon Web Services Region and account.
5875
6289
  # Create or choose a different table bucket. To create a new
5876
6290
  # metadata table, you must delete the metadata configuration for
5877
6291
  # this bucket, and then create a new metadata configuration.
6292
+ #
6293
+ # If the V2 `CreateBucketMetadataConfiguration` request succeeds, but
6294
+ # S3 Metadata was unable to create the table, this structure contains
6295
+ # the error code. The possible error codes and error messages are as
6296
+ # follows:
6297
+ #
6298
+ # * `AccessDeniedCreatingResources` - You don't have sufficient
6299
+ # permissions to create the required resources. Make sure that you
6300
+ # have `s3tables:CreateTableBucket`, `s3tables:CreateNamespace`,
6301
+ # `s3tables:CreateTable`, `s3tables:GetTable`,
6302
+ # `s3tables:PutTablePolicy`, `kms:DescribeKey`, and
6303
+ # `s3tables:PutTableEncryption` permissions. Additionally, ensure
6304
+ # that the KMS key used to encrypt the table still exists, is active
6305
+ # and has a resource policy granting access to the S3 service
6306
+ # principals '`maintenance.s3tables.amazonaws.com`' and
6307
+ # '`metadata.s3.amazonaws.com`'. To create a new metadata table,
6308
+ # you must delete the metadata configuration for this bucket, and
6309
+ # then create a new metadata configuration.
6310
+ #
6311
+ # * `AccessDeniedWritingToTable` - Unable to write to the metadata
6312
+ # table because of missing resource permissions. To fix the resource
6313
+ # policy, Amazon S3 needs to create a new metadata table. To create
6314
+ # a new metadata table, you must delete the metadata configuration
6315
+ # for this bucket, and then create a new metadata configuration.
6316
+ #
6317
+ # * `DestinationTableNotFound` - The destination table doesn't exist.
6318
+ # To create a new metadata table, you must delete the metadata
6319
+ # configuration for this bucket, and then create a new metadata
6320
+ # configuration.
6321
+ #
6322
+ # * `ServerInternalError` - An internal error has occurred. To create
6323
+ # a new metadata table, you must delete the metadata configuration
6324
+ # for this bucket, and then create a new metadata configuration.
6325
+ #
6326
+ # * `JournalTableAlreadyExists` - A journal table already exists in
6327
+ # the Amazon Web Services managed table bucket's namespace. Delete
6328
+ # the journal table, and then try again. To create a new metadata
6329
+ # table, you must delete the metadata configuration for this bucket,
6330
+ # and then create a new metadata configuration.
6331
+ #
6332
+ # * `InventoryTableAlreadyExists` - An inventory table already exists
6333
+ # in the Amazon Web Services managed table bucket's namespace.
6334
+ # Delete the inventory table, and then try again. To create a new
6335
+ # metadata table, you must delete the metadata configuration for
6336
+ # this bucket, and then create a new metadata configuration.
6337
+ #
6338
+ # * `JournalTableNotAvailable` - The journal table that the inventory
6339
+ # table relies on has a `FAILED` status. An inventory table requires
6340
+ # a journal table with an `ACTIVE` status. To create a new journal
6341
+ # or inventory table, you must delete the metadata configuration for
6342
+ # this bucket, along with any journal or inventory tables, and then
6343
+ # create a new metadata configuration.
6344
+ #
6345
+ # * `NoSuchBucket` - The specified general purpose bucket does not
6346
+ # exist.
5878
6347
  # @return [String]
5879
6348
  #
5880
6349
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDetails AWS API Documentation
@@ -5977,17 +6446,53 @@ module Aws::S3
5977
6446
  include Aws::Structure
5978
6447
  end
5979
6448
 
6449
+ # @!attribute [rw] abac_status
6450
+ # The ABAC status of the general purpose bucket.
6451
+ # @return [Types::AbacStatus]
6452
+ #
6453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbacOutput AWS API Documentation
6454
+ #
6455
+ class GetBucketAbacOutput < Struct.new(
6456
+ :abac_status)
6457
+ SENSITIVE = []
6458
+ include Aws::Structure
6459
+ end
6460
+
6461
+ # @!attribute [rw] bucket
6462
+ # The name of the general purpose bucket.
6463
+ # @return [String]
6464
+ #
6465
+ # @!attribute [rw] expected_bucket_owner
6466
+ # The Amazon Web Services account ID of the general purpose bucket's
6467
+ # owner.
6468
+ # @return [String]
6469
+ #
6470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbacRequest AWS API Documentation
6471
+ #
6472
+ class GetBucketAbacRequest < Struct.new(
6473
+ :bucket,
6474
+ :expected_bucket_owner)
6475
+ SENSITIVE = []
6476
+ include Aws::Structure
6477
+ end
6478
+
5980
6479
  # @!attribute [rw] status
5981
6480
  # The accelerate configuration of the bucket.
5982
6481
  # @return [String]
5983
6482
  #
5984
6483
  # @!attribute [rw] request_charged
5985
6484
  # If present, indicates that the requester was successfully charged
5986
- # for the request.
6485
+ # for the request. For more information, see [Using Requester Pays
6486
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
6487
+ # Storage Service user guide*.
5987
6488
  #
5988
6489
  # <note markdown="1"> This functionality is not supported for directory buckets.
5989
6490
  #
5990
6491
  # </note>
6492
+ #
6493
+ #
6494
+ #
6495
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
5991
6496
  # @return [String]
5992
6497
  #
5993
6498
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationOutput AWS API Documentation
@@ -6040,7 +6545,7 @@ module Aws::S3
6040
6545
  end
6041
6546
 
6042
6547
  # @!attribute [rw] owner
6043
- # Container for the bucket owner's display name and ID.
6548
+ # Container for the bucket owner's ID.
6044
6549
  # @return [Types::Owner]
6045
6550
  #
6046
6551
  # @!attribute [rw] grants
@@ -6250,11 +6755,19 @@ module Aws::S3
6250
6755
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6251
6756
  # @return [String]
6252
6757
  #
6758
+ # @!attribute [rw] expected_bucket_owner
6759
+ # The account ID of the expected bucket owner. If the account ID that
6760
+ # you provide does not match the actual owner of the bucket, the
6761
+ # request fails with the HTTP status code `403 Forbidden` (access
6762
+ # denied).
6763
+ # @return [String]
6764
+ #
6253
6765
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfigurationRequest AWS API Documentation
6254
6766
  #
6255
6767
  class GetBucketIntelligentTieringConfigurationRequest < Struct.new(
6256
6768
  :bucket,
6257
- :id)
6769
+ :id,
6770
+ :expected_bucket_owner)
6258
6771
  SENSITIVE = []
6259
6772
  include Aws::Structure
6260
6773
  end
@@ -6483,6 +6996,51 @@ module Aws::S3
6483
6996
  include Aws::Structure
6484
6997
  end
6485
6998
 
6999
+ # @!attribute [rw] get_bucket_metadata_configuration_result
7000
+ # The metadata configuration for the general purpose bucket.
7001
+ # @return [Types::GetBucketMetadataConfigurationResult]
7002
+ #
7003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationOutput AWS API Documentation
7004
+ #
7005
+ class GetBucketMetadataConfigurationOutput < Struct.new(
7006
+ :get_bucket_metadata_configuration_result)
7007
+ SENSITIVE = []
7008
+ include Aws::Structure
7009
+ end
7010
+
7011
+ # @!attribute [rw] bucket
7012
+ # The general purpose bucket that corresponds to the metadata
7013
+ # configuration that you want to retrieve.
7014
+ # @return [String]
7015
+ #
7016
+ # @!attribute [rw] expected_bucket_owner
7017
+ # The expected owner of the general purpose bucket that you want to
7018
+ # retrieve the metadata table configuration for.
7019
+ # @return [String]
7020
+ #
7021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationRequest AWS API Documentation
7022
+ #
7023
+ class GetBucketMetadataConfigurationRequest < Struct.new(
7024
+ :bucket,
7025
+ :expected_bucket_owner)
7026
+ SENSITIVE = []
7027
+ include Aws::Structure
7028
+ end
7029
+
7030
+ # The S3 Metadata configuration for a general purpose bucket.
7031
+ #
7032
+ # @!attribute [rw] metadata_configuration_result
7033
+ # The metadata configuration for a general purpose bucket.
7034
+ # @return [Types::MetadataConfigurationResult]
7035
+ #
7036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationResult AWS API Documentation
7037
+ #
7038
+ class GetBucketMetadataConfigurationResult < Struct.new(
7039
+ :metadata_configuration_result)
7040
+ SENSITIVE = []
7041
+ include Aws::Structure
7042
+ end
7043
+
6486
7044
  # @!attribute [rw] get_bucket_metadata_table_configuration_result
6487
7045
  # The metadata table configuration for the general purpose bucket.
6488
7046
  # @return [Types::GetBucketMetadataTableConfigurationResult]
@@ -6496,13 +7054,13 @@ module Aws::S3
6496
7054
  end
6497
7055
 
6498
7056
  # @!attribute [rw] bucket
6499
- # The general purpose bucket that contains the metadata table
7057
+ # The general purpose bucket that corresponds to the metadata table
6500
7058
  # configuration that you want to retrieve.
6501
7059
  # @return [String]
6502
7060
  #
6503
7061
  # @!attribute [rw] expected_bucket_owner
6504
7062
  # The expected owner of the general purpose bucket that you want to
6505
- # retrieve the metadata table configuration from.
7063
+ # retrieve the metadata table configuration for.
6506
7064
  # @return [String]
6507
7065
  #
6508
7066
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -6514,10 +7072,21 @@ module Aws::S3
6514
7072
  include Aws::Structure
6515
7073
  end
6516
7074
 
6517
- # The metadata table configuration for a general purpose bucket.
7075
+ # The V1 S3 Metadata configuration for a general purpose bucket.
7076
+ #
7077
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
7078
+ # recommend that you delete and re-create your configuration by using
7079
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
7080
+ # table records and create a live inventory table.
7081
+ #
7082
+ # </note>
7083
+ #
7084
+ #
7085
+ #
7086
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
6518
7087
  #
6519
7088
  # @!attribute [rw] metadata_table_configuration_result
6520
- # The metadata table configuration for a general purpose bucket.
7089
+ # The V1 S3 Metadata configuration for a general purpose bucket.
6521
7090
  # @return [Types::MetadataTableConfigurationResult]
6522
7091
  #
6523
7092
  # @!attribute [rw] status
@@ -6526,7 +7095,7 @@ module Aws::S3
6526
7095
  # * `CREATING` - The metadata table is in the process of being created
6527
7096
  # in the specified table bucket.
6528
7097
  #
6529
- # * `ACTIVE` - The metadata table has been created successfully and
7098
+ # * `ACTIVE` - The metadata table has been created successfully, and
6530
7099
  # records are being delivered to the table.
6531
7100
  #
6532
7101
  # * `FAILED` - Amazon S3 is unable to create the metadata table, or
@@ -6951,7 +7520,7 @@ module Aws::S3
6951
7520
  end
6952
7521
 
6953
7522
  # @!attribute [rw] owner
6954
- # Container for the bucket owner's display name and ID.
7523
+ # Container for the bucket owner's ID.
6955
7524
  # @return [Types::Owner]
6956
7525
  #
6957
7526
  # @!attribute [rw] grants
@@ -6960,11 +7529,17 @@ module Aws::S3
6960
7529
  #
6961
7530
  # @!attribute [rw] request_charged
6962
7531
  # If present, indicates that the requester was successfully charged
6963
- # for the request.
7532
+ # for the request. For more information, see [Using Requester Pays
7533
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
7534
+ # Storage Service user guide*.
6964
7535
  #
6965
7536
  # <note markdown="1"> This functionality is not supported for directory buckets.
6966
7537
  #
6967
7538
  # </note>
7539
+ #
7540
+ #
7541
+ #
7542
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
6968
7543
  # @return [String]
6969
7544
  #
6970
7545
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAclOutput AWS API Documentation
@@ -7078,11 +7653,17 @@ module Aws::S3
7078
7653
  #
7079
7654
  # @!attribute [rw] request_charged
7080
7655
  # If present, indicates that the requester was successfully charged
7081
- # for the request.
7656
+ # for the request. For more information, see [Using Requester Pays
7657
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
7658
+ # Storage Service user guide*.
7082
7659
  #
7083
7660
  # <note markdown="1"> This functionality is not supported for directory buckets.
7084
7661
  #
7085
7662
  # </note>
7663
+ #
7664
+ #
7665
+ #
7666
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
7086
7667
  # @return [String]
7087
7668
  #
7088
7669
  # @!attribute [rw] etag
@@ -7168,15 +7749,15 @@ module Aws::S3
7168
7749
  # A container for elements related to a particular part. A response
7169
7750
  # can contain zero or more `Parts` elements.
7170
7751
  #
7171
- # <note markdown="1"> * **General purpose buckets** - For `GetObjectAttributes`, if a
7752
+ # <note markdown="1"> * **General purpose buckets** - For `GetObjectAttributes`, if an
7172
7753
  # additional checksum (including `x-amz-checksum-crc32`,
7173
7754
  # `x-amz-checksum-crc32c`, `x-amz-checksum-sha1`, or
7174
7755
  # `x-amz-checksum-sha256`) isn't applied to the object specified in
7175
- # the request, the response doesn't return `Part`.
7756
+ # the request, the response doesn't return the `Part` element.
7176
7757
  #
7177
- # * **Directory buckets** - For `GetObjectAttributes`, no matter
7178
- # whether a additional checksum is applied to the object specified
7179
- # in the request, the response returns `Part`.
7758
+ # * **Directory buckets** - For `GetObjectAttributes`, regardless of
7759
+ # whether an additional checksum is applied to the object specified
7760
+ # in the request, the response returns the `Part` element.
7180
7761
  #
7181
7762
  # </note>
7182
7763
  # @return [Array<Types::ObjectPart>]
@@ -7257,12 +7838,24 @@ module Aws::S3
7257
7838
  # @return [String]
7258
7839
  #
7259
7840
  # @!attribute [rw] max_parts
7260
- # Sets the maximum number of parts to return.
7841
+ # Sets the maximum number of parts to return. For more information,
7842
+ # see [Uploading and copying objects using multipart upload in Amazon
7843
+ # S3 ][1] in the *Amazon Simple Storage Service user guide*.
7844
+ #
7845
+ #
7846
+ #
7847
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
7261
7848
  # @return [Integer]
7262
7849
  #
7263
7850
  # @!attribute [rw] part_number_marker
7264
7851
  # Specifies the part after which listing should begin. Only parts with
7265
- # higher part numbers will be listed.
7852
+ # higher part numbers will be listed. For more information, see
7853
+ # [Uploading and copying objects using multipart upload in Amazon S3
7854
+ # ][1] in the *Amazon Simple Storage Service user guide*.
7855
+ #
7856
+ #
7857
+ #
7858
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
7266
7859
  # @return [Integer]
7267
7860
  #
7268
7861
  # @!attribute [rw] sse_customer_algorithm
@@ -7561,9 +8154,9 @@ module Aws::S3
7561
8154
  #
7562
8155
  # @!attribute [rw] checksum_crc32c
7563
8156
  # The Base64 encoded, 32-bit `CRC32C` checksum of the object. This
7564
- # will only be present if the object was uploaded with the object. For
7565
- # more information, see [ Checking object integrity][1] in the *Amazon
7566
- # S3 User Guide*.
8157
+ # checksum is only present if the checksum was uploaded with the
8158
+ # object. For more information, see [ Checking object integrity][1] in
8159
+ # the *Amazon S3 User Guide*.
7567
8160
  #
7568
8161
  #
7569
8162
  #
@@ -7581,10 +8174,10 @@ module Aws::S3
7581
8174
  # @return [String]
7582
8175
  #
7583
8176
  # @!attribute [rw] checksum_sha1
7584
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
7585
- # only be present if the object was uploaded with the object. For more
7586
- # information, see [ Checking object integrity][1] in the *Amazon S3
7587
- # User Guide*.
8177
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This
8178
+ # checksum is only present if the checksum was uploaded with the
8179
+ # object. For more information, see [ Checking object integrity][1] in
8180
+ # the *Amazon S3 User Guide*.
7588
8181
  #
7589
8182
  #
7590
8183
  #
@@ -7592,10 +8185,10 @@ module Aws::S3
7592
8185
  # @return [String]
7593
8186
  #
7594
8187
  # @!attribute [rw] checksum_sha256
7595
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
7596
- # only be present if the object was uploaded with the object. For more
7597
- # information, see [ Checking object integrity][1] in the *Amazon S3
7598
- # User Guide*.
8188
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This
8189
+ # checksum is only present if the checksum was uploaded with the
8190
+ # object. For more information, see [ Checking object integrity][1] in
8191
+ # the *Amazon S3 User Guide*.
7599
8192
  #
7600
8193
  #
7601
8194
  #
@@ -7681,7 +8274,13 @@ module Aws::S3
7681
8274
  #
7682
8275
  # @!attribute [rw] server_side_encryption
7683
8276
  # The server-side encryption algorithm used when you store this object
7684
- # in Amazon S3.
8277
+ # in Amazon S3 or Amazon FSx.
8278
+ #
8279
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
8280
+ # access points, the only valid server side encryption option is
8281
+ # `aws:fsx`.
8282
+ #
8283
+ # </note>
7685
8284
  # @return [String]
7686
8285
  #
7687
8286
  # @!attribute [rw] metadata
@@ -7734,11 +8333,17 @@ module Aws::S3
7734
8333
  #
7735
8334
  # @!attribute [rw] request_charged
7736
8335
  # If present, indicates that the requester was successfully charged
7737
- # for the request.
8336
+ # for the request. For more information, see [Using Requester Pays
8337
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
8338
+ # Storage Service user guide*.
7738
8339
  #
7739
8340
  # <note markdown="1"> This functionality is not supported for directory buckets.
7740
8341
  #
7741
8342
  # </note>
8343
+ #
8344
+ #
8345
+ #
8346
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
7742
8347
  # @return [String]
7743
8348
  #
7744
8349
  # @!attribute [rw] replication_status
@@ -8377,11 +8982,17 @@ module Aws::S3
8377
8982
  #
8378
8983
  # @!attribute [rw] request_charged
8379
8984
  # If present, indicates that the requester was successfully charged
8380
- # for the request.
8985
+ # for the request. For more information, see [Using Requester Pays
8986
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
8987
+ # Storage Service user guide*.
8381
8988
  #
8382
8989
  # <note markdown="1"> This functionality is not supported for directory buckets.
8383
8990
  #
8384
8991
  # </note>
8992
+ #
8993
+ #
8994
+ #
8995
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
8385
8996
  # @return [String]
8386
8997
  #
8387
8998
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrentOutput AWS API Documentation
@@ -8508,40 +9119,9 @@ module Aws::S3
8508
9119
  # Container for the person being granted permissions.
8509
9120
  #
8510
9121
  # @!attribute [rw] display_name
8511
- # Screen name of the grantee.
8512
9122
  # @return [String]
8513
9123
  #
8514
9124
  # @!attribute [rw] email_address
8515
- # Email address of the grantee.
8516
- #
8517
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
8518
- # following Amazon Web Services Regions:
8519
- #
8520
- # * US East (N. Virginia)
8521
- #
8522
- # * US West (N. California)
8523
- #
8524
- # * US West (Oregon)
8525
- #
8526
- # * Asia Pacific (Singapore)
8527
- #
8528
- # * Asia Pacific (Sydney)
8529
- #
8530
- # * Asia Pacific (Tokyo)
8531
- #
8532
- # * Europe (Ireland)
8533
- #
8534
- # * South America (São Paulo)
8535
- #
8536
- # For a list of all the Amazon S3 supported Regions and endpoints, see
8537
- # [Regions and Endpoints][1] in the Amazon Web Services General
8538
- # Reference.
8539
- #
8540
- # </note>
8541
- #
8542
- #
8543
- #
8544
- # [1]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
8545
9125
  # @return [String]
8546
9126
  #
8547
9127
  # @!attribute [rw] id
@@ -8568,6 +9148,21 @@ module Aws::S3
8568
9148
  include Aws::Structure
8569
9149
  end
8570
9150
 
9151
+ # @!attribute [rw] bucket_arn
9152
+ # The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
9153
+ # identify Amazon Web Services resources across all of Amazon Web
9154
+ # Services.
9155
+ #
9156
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
9157
+ # information, see [Using tags with directory buckets][1].
9158
+ #
9159
+ # </note>
9160
+ #
9161
+ #
9162
+ #
9163
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
9164
+ # @return [String]
9165
+ #
8571
9166
  # @!attribute [rw] bucket_location_type
8572
9167
  # The type of location where the bucket is created.
8573
9168
  #
@@ -8604,6 +9199,7 @@ module Aws::S3
8604
9199
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketOutput AWS API Documentation
8605
9200
  #
8606
9201
  class HeadBucketOutput < Struct.new(
9202
+ :bucket_arn,
8607
9203
  :bucket_location_type,
8608
9204
  :bucket_location_name,
8609
9205
  :bucket_region,
@@ -8764,7 +9360,7 @@ module Aws::S3
8764
9360
  #
8765
9361
  # @!attribute [rw] checksum_crc32
8766
9362
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
8767
- # checksum is only be present if the checksum was uploaded with the
9363
+ # checksum is only present if the checksum was uploaded with the
8768
9364
  # object. When you use an API operation on an object that was uploaded
8769
9365
  # using multipart uploads, this value may not be a direct checksum
8770
9366
  # value of the full object. Instead, it's a calculation based on the
@@ -8803,14 +9399,15 @@ module Aws::S3
8803
9399
  # @return [String]
8804
9400
  #
8805
9401
  # @!attribute [rw] checksum_sha1
8806
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
8807
- # only be present if the object was uploaded with the object. When you
8808
- # use the API operation on an object that was uploaded using multipart
8809
- # uploads, this value may not be a direct checksum value of the full
8810
- # object. Instead, it's a calculation based on the checksum values of
8811
- # each individual part. For more information about how checksums are
8812
- # calculated with multipart uploads, see [ Checking object
8813
- # integrity][1] in the *Amazon S3 User Guide*.
9402
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This
9403
+ # checksum is only present if the checksum was uploaded with the
9404
+ # object. When you use the API operation on an object that was
9405
+ # uploaded using multipart uploads, this value may not be a direct
9406
+ # checksum value of the full object. Instead, it's a calculation
9407
+ # based on the checksum values of each individual part. For more
9408
+ # information about how checksums are calculated with multipart
9409
+ # uploads, see [ Checking object integrity][1] in the *Amazon S3 User
9410
+ # Guide*.
8814
9411
  #
8815
9412
  #
8816
9413
  #
@@ -8818,14 +9415,14 @@ module Aws::S3
8818
9415
  # @return [String]
8819
9416
  #
8820
9417
  # @!attribute [rw] checksum_sha256
8821
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
8822
- # only be present if the object was uploaded with the object. When you
8823
- # use an API operation on an object that was uploaded using multipart
8824
- # uploads, this value may not be a direct checksum value of the full
8825
- # object. Instead, it's a calculation based on the checksum values of
8826
- # each individual part. For more information about how checksums are
8827
- # calculated with multipart uploads, see [ Checking object
8828
- # integrity][1] in the *Amazon S3 User Guide*.
9418
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This
9419
+ # checksum is only present if the checksum was uploaded with the
9420
+ # object. When you use an API operation on an object that was uploaded
9421
+ # using multipart uploads, this value may not be a direct checksum
9422
+ # value of the full object. Instead, it's a calculation based on the
9423
+ # checksum values of each individual part. For more information about
9424
+ # how checksums are calculated with multipart uploads, see [ Checking
9425
+ # object integrity][1] in the *Amazon S3 User Guide*.
8829
9426
  #
8830
9427
  #
8831
9428
  #
@@ -8917,7 +9514,13 @@ module Aws::S3
8917
9514
  #
8918
9515
  # @!attribute [rw] server_side_encryption
8919
9516
  # The server-side encryption algorithm used when you store this object
8920
- # in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
9517
+ # in Amazon S3 or Amazon FSx.
9518
+ #
9519
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
9520
+ # access points, the only valid server side encryption option is
9521
+ # `aws:fsx`.
9522
+ #
9523
+ # </note>
8921
9524
  # @return [String]
8922
9525
  #
8923
9526
  # @!attribute [rw] metadata
@@ -8976,11 +9579,17 @@ module Aws::S3
8976
9579
  #
8977
9580
  # @!attribute [rw] request_charged
8978
9581
  # If present, indicates that the requester was successfully charged
8979
- # for the request.
9582
+ # for the request. For more information, see [Using Requester Pays
9583
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
9584
+ # Storage Service user guide*.
8980
9585
  #
8981
9586
  # <note markdown="1"> This functionality is not supported for directory buckets.
8982
9587
  #
8983
9588
  # </note>
9589
+ #
9590
+ #
9591
+ #
9592
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
8984
9593
  # @return [String]
8985
9594
  #
8986
9595
  # @!attribute [rw] replication_status
@@ -9037,6 +9646,22 @@ module Aws::S3
9037
9646
  # as a multipart upload.
9038
9647
  # @return [Integer]
9039
9648
  #
9649
+ # @!attribute [rw] tag_count
9650
+ # The number of tags, if any, on the object, when you have the
9651
+ # relevant permission to read object tags.
9652
+ #
9653
+ # You can use [GetObjectTagging][1] to retrieve the tag set associated
9654
+ # with an object.
9655
+ #
9656
+ # <note markdown="1"> This functionality is not supported for directory buckets.
9657
+ #
9658
+ # </note>
9659
+ #
9660
+ #
9661
+ #
9662
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
9663
+ # @return [Integer]
9664
+ #
9040
9665
  # @!attribute [rw] object_lock_mode
9041
9666
  # The Object Lock mode, if any, that's in effect for this object.
9042
9667
  # This header is only returned if the requester has the
@@ -9117,6 +9742,7 @@ module Aws::S3
9117
9742
  :request_charged,
9118
9743
  :replication_status,
9119
9744
  :parts_count,
9745
+ :tag_count,
9120
9746
  :object_lock_mode,
9121
9747
  :object_lock_retain_until_date,
9122
9748
  :object_lock_legal_hold_status)
@@ -9405,6 +10031,27 @@ module Aws::S3
9405
10031
  include Aws::Structure
9406
10032
  end
9407
10033
 
10034
+ # Parameters on this idempotent request are inconsistent with parameters
10035
+ # used in previous request(s).
10036
+ #
10037
+ # For a list of error codes and more information on Amazon S3 errors,
10038
+ # see [Error codes][1].
10039
+ #
10040
+ # <note markdown="1"> Idempotency ensures that an API request completes no more than one
10041
+ # time. With an idempotent request, if the original request completes
10042
+ # successfully, any subsequent retries complete successfully without
10043
+ # performing any further actions.
10044
+ #
10045
+ # </note>
10046
+ #
10047
+ #
10048
+ #
10049
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
10050
+ #
10051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IdempotencyParameterMismatch AWS API Documentation
10052
+ #
10053
+ class IdempotencyParameterMismatch < Aws::EmptyStructure; end
10054
+
9408
10055
  # Container for the `Suffix` element.
9409
10056
  #
9410
10057
  # @!attribute [rw] suffix
@@ -9447,8 +10094,6 @@ module Aws::S3
9447
10094
  # @return [String]
9448
10095
  #
9449
10096
  # @!attribute [rw] display_name
9450
- # Name of the Principal.
9451
- #
9452
10097
  # <note markdown="1"> This functionality is not supported for directory buckets.
9453
10098
  #
9454
10099
  # </note>
@@ -9645,7 +10290,7 @@ module Aws::S3
9645
10290
  #
9646
10291
  class InvalidWriteOffset < Aws::EmptyStructure; end
9647
10292
 
9648
- # Specifies the inventory configuration for an Amazon S3 bucket. For
10293
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket. For
9649
10294
  # more information, see [GET Bucket inventory][1] in the *Amazon S3 API
9650
10295
  # Reference*.
9651
10296
  #
@@ -9703,7 +10348,7 @@ module Aws::S3
9703
10348
  include Aws::Structure
9704
10349
  end
9705
10350
 
9706
- # Specifies the inventory configuration for an Amazon S3 bucket.
10351
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket.
9707
10352
  #
9708
10353
  # @!attribute [rw] s3_bucket_destination
9709
10354
  # Contains the bucket name, file format, bucket owner (optional), and
@@ -9718,8 +10363,8 @@ module Aws::S3
9718
10363
  include Aws::Structure
9719
10364
  end
9720
10365
 
9721
- # Contains the type of server-side encryption used to encrypt the
9722
- # inventory results.
10366
+ # Contains the type of server-side encryption used to encrypt the S3
10367
+ # Inventory results.
9723
10368
  #
9724
10369
  # @!attribute [rw] sses3
9725
10370
  # Specifies the use of SSE-S3 to encrypt delivered inventory reports.
@@ -9738,7 +10383,7 @@ module Aws::S3
9738
10383
  include Aws::Structure
9739
10384
  end
9740
10385
 
9741
- # Specifies an inventory filter. The inventory only includes objects
10386
+ # Specifies an S3 Inventory filter. The inventory only includes objects
9742
10387
  # that meet the filter's criteria.
9743
10388
  #
9744
10389
  # @!attribute [rw] prefix
@@ -9755,7 +10400,7 @@ module Aws::S3
9755
10400
  end
9756
10401
 
9757
10402
  # Contains the bucket name, file format, bucket owner (optional), and
9758
- # prefix (optional) where inventory results are published.
10403
+ # prefix (optional) where S3 Inventory results are published.
9759
10404
  #
9760
10405
  # @!attribute [rw] account_id
9761
10406
  # The account ID that owns the destination S3 bucket. If no account ID
@@ -9798,7 +10443,7 @@ module Aws::S3
9798
10443
  include Aws::Structure
9799
10444
  end
9800
10445
 
9801
- # Specifies the schedule for generating inventory results.
10446
+ # Specifies the schedule for generating S3 Inventory results.
9802
10447
  #
9803
10448
  # @!attribute [rw] frequency
9804
10449
  # Specifies how frequently inventory results are produced.
@@ -9812,6 +10457,117 @@ module Aws::S3
9812
10457
  include Aws::Structure
9813
10458
  end
9814
10459
 
10460
+ # The inventory table configuration for an S3 Metadata configuration.
10461
+ #
10462
+ # @!attribute [rw] configuration_state
10463
+ # The configuration state of the inventory table, indicating whether
10464
+ # the inventory table is enabled or disabled.
10465
+ # @return [String]
10466
+ #
10467
+ # @!attribute [rw] encryption_configuration
10468
+ # The encryption configuration for the inventory table.
10469
+ # @return [Types::MetadataTableEncryptionConfiguration]
10470
+ #
10471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfiguration AWS API Documentation
10472
+ #
10473
+ class InventoryTableConfiguration < Struct.new(
10474
+ :configuration_state,
10475
+ :encryption_configuration)
10476
+ SENSITIVE = []
10477
+ include Aws::Structure
10478
+ end
10479
+
10480
+ # The inventory table configuration for an S3 Metadata configuration.
10481
+ #
10482
+ # @!attribute [rw] configuration_state
10483
+ # The configuration state of the inventory table, indicating whether
10484
+ # the inventory table is enabled or disabled.
10485
+ # @return [String]
10486
+ #
10487
+ # @!attribute [rw] table_status
10488
+ # The status of the inventory table. The status values are:
10489
+ #
10490
+ # * `CREATING` - The inventory table is in the process of being
10491
+ # created in the specified Amazon Web Services managed table bucket.
10492
+ #
10493
+ # * `BACKFILLING` - The inventory table is in the process of being
10494
+ # backfilled. When you enable the inventory table for your metadata
10495
+ # configuration, the table goes through a process known as
10496
+ # backfilling, during which Amazon S3 scans your general purpose
10497
+ # bucket to retrieve the initial metadata for all objects in the
10498
+ # bucket. Depending on the number of objects in your bucket, this
10499
+ # process can take several hours. When the backfilling process is
10500
+ # finished, the status of your inventory table changes from
10501
+ # `BACKFILLING` to `ACTIVE`. After backfilling is completed, updates
10502
+ # to your objects are reflected in the inventory table within one
10503
+ # hour.
10504
+ #
10505
+ # * `ACTIVE` - The inventory table has been created successfully, and
10506
+ # records are being delivered to the table.
10507
+ #
10508
+ # * `FAILED` - Amazon S3 is unable to create the inventory table, or
10509
+ # Amazon S3 is unable to deliver records.
10510
+ # @return [String]
10511
+ #
10512
+ # @!attribute [rw] error
10513
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
10514
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3
10515
+ # Metadata was unable to create the table, this structure contains the
10516
+ # error code and error message.
10517
+ #
10518
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025,
10519
+ # we recommend that you delete and re-create your configuration by
10520
+ # using [CreateBucketMetadataConfiguration][1] so that you can expire
10521
+ # journal table records and create a live inventory table.
10522
+ #
10523
+ # </note>
10524
+ #
10525
+ #
10526
+ #
10527
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
10528
+ # @return [Types::ErrorDetails]
10529
+ #
10530
+ # @!attribute [rw] table_name
10531
+ # The name of the inventory table.
10532
+ # @return [String]
10533
+ #
10534
+ # @!attribute [rw] table_arn
10535
+ # The Amazon Resource Name (ARN) for the inventory table.
10536
+ # @return [String]
10537
+ #
10538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfigurationResult AWS API Documentation
10539
+ #
10540
+ class InventoryTableConfigurationResult < Struct.new(
10541
+ :configuration_state,
10542
+ :table_status,
10543
+ :error,
10544
+ :table_name,
10545
+ :table_arn)
10546
+ SENSITIVE = []
10547
+ include Aws::Structure
10548
+ end
10549
+
10550
+ # The specified updates to the S3 Metadata inventory table
10551
+ # configuration.
10552
+ #
10553
+ # @!attribute [rw] configuration_state
10554
+ # The configuration state of the inventory table, indicating whether
10555
+ # the inventory table is enabled or disabled.
10556
+ # @return [String]
10557
+ #
10558
+ # @!attribute [rw] encryption_configuration
10559
+ # The encryption configuration for the inventory table.
10560
+ # @return [Types::MetadataTableEncryptionConfiguration]
10561
+ #
10562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfigurationUpdates AWS API Documentation
10563
+ #
10564
+ class InventoryTableConfigurationUpdates < Struct.new(
10565
+ :configuration_state,
10566
+ :encryption_configuration)
10567
+ SENSITIVE = []
10568
+ include Aws::Structure
10569
+ end
10570
+
9815
10571
  # Specifies JSON as object's input serialization format.
9816
10572
  #
9817
10573
  # @!attribute [rw] type
@@ -9841,6 +10597,96 @@ module Aws::S3
9841
10597
  include Aws::Structure
9842
10598
  end
9843
10599
 
10600
+ # The journal table configuration for an S3 Metadata configuration.
10601
+ #
10602
+ # @!attribute [rw] record_expiration
10603
+ # The journal table record expiration settings for the journal table.
10604
+ # @return [Types::RecordExpiration]
10605
+ #
10606
+ # @!attribute [rw] encryption_configuration
10607
+ # The encryption configuration for the journal table.
10608
+ # @return [Types::MetadataTableEncryptionConfiguration]
10609
+ #
10610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfiguration AWS API Documentation
10611
+ #
10612
+ class JournalTableConfiguration < Struct.new(
10613
+ :record_expiration,
10614
+ :encryption_configuration)
10615
+ SENSITIVE = []
10616
+ include Aws::Structure
10617
+ end
10618
+
10619
+ # The journal table configuration for the S3 Metadata configuration.
10620
+ #
10621
+ # @!attribute [rw] table_status
10622
+ # The status of the journal table. The status values are:
10623
+ #
10624
+ # * `CREATING` - The journal table is in the process of being created
10625
+ # in the specified table bucket.
10626
+ #
10627
+ # * `ACTIVE` - The journal table has been created successfully, and
10628
+ # records are being delivered to the table.
10629
+ #
10630
+ # * `FAILED` - Amazon S3 is unable to create the journal table, or
10631
+ # Amazon S3 is unable to deliver records.
10632
+ # @return [String]
10633
+ #
10634
+ # @!attribute [rw] error
10635
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
10636
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3
10637
+ # Metadata was unable to create the table, this structure contains the
10638
+ # error code and error message.
10639
+ #
10640
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025,
10641
+ # we recommend that you delete and re-create your configuration by
10642
+ # using [CreateBucketMetadataConfiguration][1] so that you can expire
10643
+ # journal table records and create a live inventory table.
10644
+ #
10645
+ # </note>
10646
+ #
10647
+ #
10648
+ #
10649
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
10650
+ # @return [Types::ErrorDetails]
10651
+ #
10652
+ # @!attribute [rw] table_name
10653
+ # The name of the journal table.
10654
+ # @return [String]
10655
+ #
10656
+ # @!attribute [rw] table_arn
10657
+ # The Amazon Resource Name (ARN) for the journal table.
10658
+ # @return [String]
10659
+ #
10660
+ # @!attribute [rw] record_expiration
10661
+ # The journal table record expiration settings for the journal table.
10662
+ # @return [Types::RecordExpiration]
10663
+ #
10664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfigurationResult AWS API Documentation
10665
+ #
10666
+ class JournalTableConfigurationResult < Struct.new(
10667
+ :table_status,
10668
+ :error,
10669
+ :table_name,
10670
+ :table_arn,
10671
+ :record_expiration)
10672
+ SENSITIVE = []
10673
+ include Aws::Structure
10674
+ end
10675
+
10676
+ # The specified updates to the S3 Metadata journal table configuration.
10677
+ #
10678
+ # @!attribute [rw] record_expiration
10679
+ # The journal table record expiration settings for the journal table.
10680
+ # @return [Types::RecordExpiration]
10681
+ #
10682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfigurationUpdates AWS API Documentation
10683
+ #
10684
+ class JournalTableConfigurationUpdates < Struct.new(
10685
+ :record_expiration)
10686
+ SENSITIVE = []
10687
+ include Aws::Structure
10688
+ end
10689
+
9844
10690
  # A container for specifying the configuration for Lambda notifications.
9845
10691
  #
9846
10692
  # @!attribute [rw] id
@@ -9973,8 +10819,10 @@ module Aws::S3
9973
10819
  # @return [String]
9974
10820
  #
9975
10821
  # @!attribute [rw] prefix
9976
- # Prefix identifying one or more objects to which the rule applies.
9977
- # This is no longer used; use `Filter` instead.
10822
+ # The general purpose bucket prefix that identifies one or more
10823
+ # objects to which the rule applies. We recommend using `Filter`
10824
+ # instead of `Prefix` for new PUTs. Previous configurations where a
10825
+ # prefix is defined will continue to operate as before.
9978
10826
  #
9979
10827
  # Replacement must be made for object keys containing special
9980
10828
  # characters (such as carriage returns) when using XML requests. For
@@ -9987,13 +10835,21 @@ module Aws::S3
9987
10835
  #
9988
10836
  # @!attribute [rw] filter
9989
10837
  # The `Filter` is used to identify objects that a Lifecycle Rule
9990
- # applies to. A `Filter` must have exactly one of `Prefix`, `Tag`, or
9991
- # `And` specified. `Filter` is required if the `LifecycleRule` does
9992
- # not contain a `Prefix` element.
10838
+ # applies to. A `Filter` must have exactly one of `Prefix`, `Tag`,
10839
+ # `ObjectSizeGreaterThan`, `ObjectSizeLessThan`, or `And` specified.
10840
+ # `Filter` is required if the `LifecycleRule` does not contain a
10841
+ # `Prefix` element.
10842
+ #
10843
+ # For more information about `Tag` filters, see [Adding filters to
10844
+ # Lifecycle rules][1] in the *Amazon S3 User Guide*.
9993
10845
  #
9994
10846
  # <note markdown="1"> `Tag` filters are not supported for directory buckets.
9995
10847
  #
9996
10848
  # </note>
10849
+ #
10850
+ #
10851
+ #
10852
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-filters.html
9997
10853
  # @return [Types::LifecycleRuleFilter]
9998
10854
  #
9999
10855
  # @!attribute [rw] status
@@ -10259,11 +11115,19 @@ module Aws::S3
10259
11115
  # this request should begin.
10260
11116
  # @return [String]
10261
11117
  #
11118
+ # @!attribute [rw] expected_bucket_owner
11119
+ # The account ID of the expected bucket owner. If the account ID that
11120
+ # you provide does not match the actual owner of the bucket, the
11121
+ # request fails with the HTTP status code `403 Forbidden` (access
11122
+ # denied).
11123
+ # @return [String]
11124
+ #
10262
11125
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurationsRequest AWS API Documentation
10263
11126
  #
10264
11127
  class ListBucketIntelligentTieringConfigurationsRequest < Struct.new(
10265
11128
  :bucket,
10266
- :continuation_token)
11129
+ :continuation_token,
11130
+ :expected_bucket_owner)
10267
11131
  SENSITIVE = []
10268
11132
  include Aws::Structure
10269
11133
  end
@@ -10633,11 +11497,17 @@ module Aws::S3
10633
11497
  #
10634
11498
  # @!attribute [rw] request_charged
10635
11499
  # If present, indicates that the requester was successfully charged
10636
- # for the request.
11500
+ # for the request. For more information, see [Using Requester Pays
11501
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
11502
+ # Storage Service user guide*.
10637
11503
  #
10638
11504
  # <note markdown="1"> This functionality is not supported for directory buckets.
10639
11505
  #
10640
11506
  # </note>
11507
+ #
11508
+ #
11509
+ #
11510
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
10641
11511
  # @return [String]
10642
11512
  #
10643
11513
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploadsOutput AWS API Documentation
@@ -10718,6 +11588,9 @@ module Aws::S3
10718
11588
  # `CommonPrefixes` result element are not returned elsewhere in the
10719
11589
  # response.
10720
11590
  #
11591
+ # `CommonPrefixes` is filtered out from results if it is not
11592
+ # lexicographically greater than the key-marker.
11593
+ #
10721
11594
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
10722
11595
  # supported delimiter.
10723
11596
  #
@@ -10932,11 +11805,17 @@ module Aws::S3
10932
11805
  #
10933
11806
  # @!attribute [rw] request_charged
10934
11807
  # If present, indicates that the requester was successfully charged
10935
- # for the request.
11808
+ # for the request. For more information, see [Using Requester Pays
11809
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
11810
+ # Storage Service user guide*.
10936
11811
  #
10937
11812
  # <note markdown="1"> This functionality is not supported for directory buckets.
10938
11813
  #
10939
11814
  # </note>
11815
+ #
11816
+ #
11817
+ #
11818
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
10940
11819
  # @return [String]
10941
11820
  #
10942
11821
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersionsOutput AWS API Documentation
@@ -10971,6 +11850,9 @@ module Aws::S3
10971
11850
  # element in `CommonPrefixes`. These groups are counted as one result
10972
11851
  # against the `max-keys` limitation. These keys are not returned
10973
11852
  # elsewhere in the response.
11853
+ #
11854
+ # `CommonPrefixes` is filtered out from results if it is not
11855
+ # lexicographically greater than the key-marker.
10974
11856
  # @return [String]
10975
11857
  #
10976
11858
  # @!attribute [rw] encoding_type
@@ -11164,11 +12046,17 @@ module Aws::S3
11164
12046
  #
11165
12047
  # @!attribute [rw] request_charged
11166
12048
  # If present, indicates that the requester was successfully charged
11167
- # for the request.
12049
+ # for the request. For more information, see [Using Requester Pays
12050
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
12051
+ # Storage Service user guide*.
11168
12052
  #
11169
12053
  # <note markdown="1"> This functionality is not supported for directory buckets.
11170
12054
  #
11171
12055
  # </note>
12056
+ #
12057
+ #
12058
+ #
12059
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
11172
12060
  # @return [String]
11173
12061
  #
11174
12062
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsOutput AWS API Documentation
@@ -11238,6 +12126,9 @@ module Aws::S3
11238
12126
  #
11239
12127
  # @!attribute [rw] delimiter
11240
12128
  # A delimiter is a character that you use to group keys.
12129
+ #
12130
+ # `CommonPrefixes` is filtered out from results if it is not
12131
+ # lexicographically greater than the key-marker.
11241
12132
  # @return [String]
11242
12133
  #
11243
12134
  # @!attribute [rw] encoding_type
@@ -11414,8 +12305,7 @@ module Aws::S3
11414
12305
  # @!attribute [rw] continuation_token
11415
12306
  # If `ContinuationToken` was sent with the request, it is included in
11416
12307
  # the response. You can use the returned `ContinuationToken` for
11417
- # pagination of the list response. You can use this
11418
- # `ContinuationToken` for pagination of the list results.
12308
+ # pagination of the list response.
11419
12309
  # @return [String]
11420
12310
  #
11421
12311
  # @!attribute [rw] next_continuation_token
@@ -11437,11 +12327,17 @@ module Aws::S3
11437
12327
  #
11438
12328
  # @!attribute [rw] request_charged
11439
12329
  # If present, indicates that the requester was successfully charged
11440
- # for the request.
12330
+ # for the request. For more information, see [Using Requester Pays
12331
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
12332
+ # Storage Service user guide*.
11441
12333
  #
11442
12334
  # <note markdown="1"> This functionality is not supported for directory buckets.
11443
12335
  #
11444
12336
  # </note>
12337
+ #
12338
+ #
12339
+ #
12340
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
11445
12341
  # @return [String]
11446
12342
  #
11447
12343
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2Output AWS API Documentation
@@ -11512,6 +12408,9 @@ module Aws::S3
11512
12408
  # @!attribute [rw] delimiter
11513
12409
  # A delimiter is a character that you use to group keys.
11514
12410
  #
12411
+ # `CommonPrefixes` is filtered out from results if it is not
12412
+ # lexicographically greater than the `StartAfter` value.
12413
+ #
11515
12414
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
11516
12415
  # supported delimiter.
11517
12416
  #
@@ -11716,14 +12615,13 @@ module Aws::S3
11716
12615
  # Container element that identifies who initiated the multipart
11717
12616
  # upload. If the initiator is an Amazon Web Services account, this
11718
12617
  # element provides the same information as the `Owner` element. If the
11719
- # initiator is an IAM User, this element provides the user ARN and
11720
- # display name.
12618
+ # initiator is an IAM User, this element provides the user ARN.
11721
12619
  # @return [Types::Initiator]
11722
12620
  #
11723
12621
  # @!attribute [rw] owner
11724
12622
  # Container element that identifies the object owner, after the object
11725
12623
  # is created. If multipart upload is initiated by an IAM user, this
11726
- # element provides the parent account ID and display name.
12624
+ # element provides the parent account ID.
11727
12625
  #
11728
12626
  # <note markdown="1"> **Directory buckets** - The bucket owner is returned as the object
11729
12627
  # owner for all the parts.
@@ -11744,11 +12642,17 @@ module Aws::S3
11744
12642
  #
11745
12643
  # @!attribute [rw] request_charged
11746
12644
  # If present, indicates that the requester was successfully charged
11747
- # for the request.
12645
+ # for the request. For more information, see [Using Requester Pays
12646
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
12647
+ # Storage Service user guide*.
11748
12648
  #
11749
12649
  # <note markdown="1"> This functionality is not supported for directory buckets.
11750
12650
  #
11751
12651
  # </note>
12652
+ #
12653
+ #
12654
+ #
12655
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
11752
12656
  # @return [String]
11753
12657
  #
11754
12658
  # @!attribute [rw] checksum_algorithm
@@ -12030,6 +12934,49 @@ module Aws::S3
12030
12934
  include Aws::Structure
12031
12935
  end
12032
12936
 
12937
+ # The S3 Metadata configuration for a general purpose bucket.
12938
+ #
12939
+ # @!attribute [rw] journal_table_configuration
12940
+ # The journal table configuration for a metadata configuration.
12941
+ # @return [Types::JournalTableConfiguration]
12942
+ #
12943
+ # @!attribute [rw] inventory_table_configuration
12944
+ # The inventory table configuration for a metadata configuration.
12945
+ # @return [Types::InventoryTableConfiguration]
12946
+ #
12947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataConfiguration AWS API Documentation
12948
+ #
12949
+ class MetadataConfiguration < Struct.new(
12950
+ :journal_table_configuration,
12951
+ :inventory_table_configuration)
12952
+ SENSITIVE = []
12953
+ include Aws::Structure
12954
+ end
12955
+
12956
+ # The S3 Metadata configuration for a general purpose bucket.
12957
+ #
12958
+ # @!attribute [rw] destination_result
12959
+ # The destination settings for a metadata configuration.
12960
+ # @return [Types::DestinationResult]
12961
+ #
12962
+ # @!attribute [rw] journal_table_configuration_result
12963
+ # The journal table configuration for a metadata configuration.
12964
+ # @return [Types::JournalTableConfigurationResult]
12965
+ #
12966
+ # @!attribute [rw] inventory_table_configuration_result
12967
+ # The inventory table configuration for a metadata configuration.
12968
+ # @return [Types::InventoryTableConfigurationResult]
12969
+ #
12970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataConfigurationResult AWS API Documentation
12971
+ #
12972
+ class MetadataConfigurationResult < Struct.new(
12973
+ :destination_result,
12974
+ :journal_table_configuration_result,
12975
+ :inventory_table_configuration_result)
12976
+ SENSITIVE = []
12977
+ include Aws::Structure
12978
+ end
12979
+
12033
12980
  # A metadata key-value pair to store with an object.
12034
12981
  #
12035
12982
  # @!attribute [rw] name
@@ -12049,7 +12996,18 @@ module Aws::S3
12049
12996
  include Aws::Structure
12050
12997
  end
12051
12998
 
12052
- # The metadata table configuration for a general purpose bucket.
12999
+ # The V1 S3 Metadata configuration for a general purpose bucket.
13000
+ #
13001
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
13002
+ # recommend that you delete and re-create your configuration by using
13003
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
13004
+ # table records and create a live inventory table.
13005
+ #
13006
+ # </note>
13007
+ #
13008
+ #
13009
+ #
13010
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
12053
13011
  #
12054
13012
  # @!attribute [rw] s3_tables_destination
12055
13013
  # The destination information for the metadata table configuration.
@@ -12067,12 +13025,23 @@ module Aws::S3
12067
13025
  include Aws::Structure
12068
13026
  end
12069
13027
 
12070
- # The metadata table configuration for a general purpose bucket. The
13028
+ # The V1 S3 Metadata configuration for a general purpose bucket. The
12071
13029
  # destination table bucket must be in the same Region and Amazon Web
12072
13030
  # Services account as the general purpose bucket. The specified metadata
12073
13031
  # table name must be unique within the `aws_s3_metadata` namespace in
12074
13032
  # the destination table bucket.
12075
13033
  #
13034
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
13035
+ # recommend that you delete and re-create your configuration by using
13036
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
13037
+ # table records and create a live inventory table.
13038
+ #
13039
+ # </note>
13040
+ #
13041
+ #
13042
+ #
13043
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
13044
+ #
12076
13045
  # @!attribute [rw] s3_tables_destination_result
12077
13046
  # The destination information for the metadata table configuration.
12078
13047
  # The destination table bucket must be in the same Region and Amazon
@@ -12089,6 +13058,34 @@ module Aws::S3
12089
13058
  include Aws::Structure
12090
13059
  end
12091
13060
 
13061
+ # The encryption settings for an S3 Metadata journal table or inventory
13062
+ # table configuration.
13063
+ #
13064
+ # @!attribute [rw] sse_algorithm
13065
+ # The encryption type specified for a metadata table. To specify
13066
+ # server-side encryption with Key Management Service (KMS) keys
13067
+ # (SSE-KMS), use the `aws:kms` value. To specify server-side
13068
+ # encryption with Amazon S3 managed keys (SSE-S3), use the `AES256`
13069
+ # value.
13070
+ # @return [String]
13071
+ #
13072
+ # @!attribute [rw] kms_key_arn
13073
+ # If server-side encryption with Key Management Service (KMS) keys
13074
+ # (SSE-KMS) is specified, you must also specify the KMS key Amazon
13075
+ # Resource Name (ARN). You must specify a customer-managed KMS key
13076
+ # that's located in the same Region as the general purpose bucket
13077
+ # that corresponds to the metadata table configuration.
13078
+ # @return [String]
13079
+ #
13080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataTableEncryptionConfiguration AWS API Documentation
13081
+ #
13082
+ class MetadataTableEncryptionConfiguration < Struct.new(
13083
+ :sse_algorithm,
13084
+ :kms_key_arn)
13085
+ SENSITIVE = []
13086
+ include Aws::Structure
13087
+ end
13088
+
12092
13089
  # A container specifying replication metrics-related settings enabling
12093
13090
  # replication metrics and events.
12094
13091
  #
@@ -12943,28 +13940,6 @@ module Aws::S3
12943
13940
  # Container for the owner's display name and ID.
12944
13941
  #
12945
13942
  # @!attribute [rw] display_name
12946
- # Container for the display name of the owner. This value is only
12947
- # supported in the following Amazon Web Services Regions:
12948
- #
12949
- # * US East (N. Virginia)
12950
- #
12951
- # * US West (N. California)
12952
- #
12953
- # * US West (Oregon)
12954
- #
12955
- # * Asia Pacific (Singapore)
12956
- #
12957
- # * Asia Pacific (Sydney)
12958
- #
12959
- # * Asia Pacific (Tokyo)
12960
- #
12961
- # * Europe (Ireland)
12962
- #
12963
- # * South America (São Paulo)
12964
- #
12965
- # <note markdown="1"> This functionality is not supported for directory buckets.
12966
- #
12967
- # </note>
12968
13943
  # @return [String]
12969
13944
  #
12970
13945
  # @!attribute [rw] id
@@ -13227,9 +14202,11 @@ module Aws::S3
13227
14202
 
13228
14203
  # The PublicAccessBlock configuration that you want to apply to this
13229
14204
  # Amazon S3 bucket. You can enable the configuration options in any
13230
- # combination. For more information about when Amazon S3 considers a
13231
- # bucket or object public, see [The Meaning of "Public"][1] in the
13232
- # *Amazon S3 User Guide*.
14205
+ # combination. Bucket-level settings work alongside account-level
14206
+ # settings (which may inherit from organization-level policies). For
14207
+ # more information about when Amazon S3 considers a bucket or object
14208
+ # public, see [The Meaning of "Public"][1] in the *Amazon S3 User
14209
+ # Guide*.
13233
14210
  #
13234
14211
  #
13235
14212
  #
@@ -13276,19 +14253,71 @@ module Aws::S3
13276
14253
  # authorized users within this account if the bucket has a public
13277
14254
  # policy.
13278
14255
  #
13279
- # Enabling this setting doesn't affect previously stored bucket
13280
- # policies, except that public and cross-account access within any
13281
- # public bucket policy, including non-public delegation to specific
13282
- # accounts, is blocked.
13283
- # @return [Boolean]
14256
+ # Enabling this setting doesn't affect previously stored bucket
14257
+ # policies, except that public and cross-account access within any
14258
+ # public bucket policy, including non-public delegation to specific
14259
+ # accounts, is blocked.
14260
+ # @return [Boolean]
14261
+ #
14262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PublicAccessBlockConfiguration AWS API Documentation
14263
+ #
14264
+ class PublicAccessBlockConfiguration < Struct.new(
14265
+ :block_public_acls,
14266
+ :ignore_public_acls,
14267
+ :block_public_policy,
14268
+ :restrict_public_buckets)
14269
+ SENSITIVE = []
14270
+ include Aws::Structure
14271
+ end
14272
+
14273
+ # @!attribute [rw] bucket
14274
+ # The name of the general purpose bucket.
14275
+ # @return [String]
14276
+ #
14277
+ # @!attribute [rw] content_md5
14278
+ # The MD5 hash of the `PutBucketAbac` request body.
14279
+ #
14280
+ # For requests made using the Amazon Web Services Command Line
14281
+ # Interface (CLI) or Amazon Web Services SDKs, this field is
14282
+ # calculated automatically.
14283
+ # @return [String]
14284
+ #
14285
+ # @!attribute [rw] checksum_algorithm
14286
+ # Indicates the algorithm that you want Amazon S3 to use to create the
14287
+ # checksum. For more information, see [ Checking object integrity][1]
14288
+ # in the *Amazon S3 User Guide*.
14289
+ #
14290
+ #
14291
+ #
14292
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14293
+ # @return [String]
14294
+ #
14295
+ # @!attribute [rw] expected_bucket_owner
14296
+ # The Amazon Web Services account ID of the general purpose bucket's
14297
+ # owner.
14298
+ # @return [String]
14299
+ #
14300
+ # @!attribute [rw] abac_status
14301
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14302
+ # for the general purpose bucket, you can use tags to manage access to
14303
+ # the general purpose buckets as well as for cost tracking purposes.
14304
+ # When ABAC is disabled for the general purpose buckets, you can only
14305
+ # use tags for cost tracking purposes. For more information, see
14306
+ # [Using tags with S3 general purpose buckets][1].
14307
+ #
13284
14308
  #
13285
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PublicAccessBlockConfiguration AWS API Documentation
13286
14309
  #
13287
- class PublicAccessBlockConfiguration < Struct.new(
13288
- :block_public_acls,
13289
- :ignore_public_acls,
13290
- :block_public_policy,
13291
- :restrict_public_buckets)
14310
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
14311
+ # @return [Types::AbacStatus]
14312
+ #
14313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAbacRequest AWS API Documentation
14314
+ #
14315
+ class PutBucketAbacRequest < Struct.new(
14316
+ :bucket,
14317
+ :content_md5,
14318
+ :checksum_algorithm,
14319
+ :expected_bucket_owner,
14320
+ :abac_status)
13292
14321
  SENSITIVE = []
13293
14322
  include Aws::Structure
13294
14323
  end
@@ -13621,6 +14650,13 @@ module Aws::S3
13621
14650
  # The ID used to identify the S3 Intelligent-Tiering configuration.
13622
14651
  # @return [String]
13623
14652
  #
14653
+ # @!attribute [rw] expected_bucket_owner
14654
+ # The account ID of the expected bucket owner. If the account ID that
14655
+ # you provide does not match the actual owner of the bucket, the
14656
+ # request fails with the HTTP status code `403 Forbidden` (access
14657
+ # denied).
14658
+ # @return [String]
14659
+ #
13624
14660
  # @!attribute [rw] intelligent_tiering_configuration
13625
14661
  # Container for S3 Intelligent-Tiering configuration.
13626
14662
  # @return [Types::IntelligentTieringConfiguration]
@@ -13630,6 +14666,7 @@ module Aws::S3
13630
14666
  class PutBucketIntelligentTieringConfigurationRequest < Struct.new(
13631
14667
  :bucket,
13632
14668
  :id,
14669
+ :expected_bucket_owner,
13633
14670
  :intelligent_tiering_configuration)
13634
14671
  SENSITIVE = []
13635
14672
  include Aws::Structure
@@ -14011,13 +15048,31 @@ module Aws::S3
14011
15048
  # or ObjectWriter) that you want to apply to this Amazon S3 bucket.
14012
15049
  # @return [Types::OwnershipControls]
14013
15050
  #
15051
+ # @!attribute [rw] checksum_algorithm
15052
+ # Indicates the algorithm used to create the checksum for the object
15053
+ # when you use the SDK. This header will not provide any additional
15054
+ # functionality if you don't use the SDK. When you send this header,
15055
+ # there must be a corresponding `x-amz-checksum-algorithm ` header
15056
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status
15057
+ # code `400 Bad Request`. For more information, see [Checking object
15058
+ # integrity][1] in the *Amazon S3 User Guide*.
15059
+ #
15060
+ # If you provide an individual checksum, Amazon S3 ignores any
15061
+ # provided `ChecksumAlgorithm` parameter.
15062
+ #
15063
+ #
15064
+ #
15065
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
15066
+ # @return [String]
15067
+ #
14014
15068
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControlsRequest AWS API Documentation
14015
15069
  #
14016
15070
  class PutBucketOwnershipControlsRequest < Struct.new(
14017
15071
  :bucket,
14018
15072
  :content_md5,
14019
15073
  :expected_bucket_owner,
14020
- :ownership_controls)
15074
+ :ownership_controls,
15075
+ :checksum_algorithm)
14021
15076
  SENSITIVE = []
14022
15077
  include Aws::Structure
14023
15078
  end
@@ -14357,7 +15412,17 @@ module Aws::S3
14357
15412
  # @!attribute [rw] mfa
14358
15413
  # The concatenation of the authentication device's serial number, a
14359
15414
  # space, and the value that is displayed on your authentication
14360
- # device.
15415
+ # device. The serial number is the number that uniquely identifies the
15416
+ # MFA device. For physical MFA devices, this is the unique serial
15417
+ # number that's provided with the device. For virtual MFA devices,
15418
+ # the serial number is the device ARN. For more information, see
15419
+ # [Enabling versioning on buckets][1] and [Configuring MFA delete][2]
15420
+ # in the *Amazon Simple Storage Service User Guide*.
15421
+ #
15422
+ #
15423
+ #
15424
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html
15425
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html
14361
15426
  # @return [String]
14362
15427
  #
14363
15428
  # @!attribute [rw] versioning_configuration
@@ -14445,11 +15510,17 @@ module Aws::S3
14445
15510
 
14446
15511
  # @!attribute [rw] request_charged
14447
15512
  # If present, indicates that the requester was successfully charged
14448
- # for the request.
15513
+ # for the request. For more information, see [Using Requester Pays
15514
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
15515
+ # Storage Service user guide*.
14449
15516
  #
14450
15517
  # <note markdown="1"> This functionality is not supported for directory buckets.
14451
15518
  #
14452
15519
  # </note>
15520
+ #
15521
+ #
15522
+ #
15523
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
14453
15524
  # @return [String]
14454
15525
  #
14455
15526
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclOutput AWS API Documentation
@@ -14631,11 +15702,17 @@ module Aws::S3
14631
15702
 
14632
15703
  # @!attribute [rw] request_charged
14633
15704
  # If present, indicates that the requester was successfully charged
14634
- # for the request.
15705
+ # for the request. For more information, see [Using Requester Pays
15706
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
15707
+ # Storage Service user guide*.
14635
15708
  #
14636
15709
  # <note markdown="1"> This functionality is not supported for directory buckets.
14637
15710
  #
14638
15711
  # </note>
15712
+ #
15713
+ #
15714
+ #
15715
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
14639
15716
  # @return [String]
14640
15717
  #
14641
15718
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHoldOutput AWS API Documentation
@@ -14749,11 +15826,17 @@ module Aws::S3
14749
15826
 
14750
15827
  # @!attribute [rw] request_charged
14751
15828
  # If present, indicates that the requester was successfully charged
14752
- # for the request.
15829
+ # for the request. For more information, see [Using Requester Pays
15830
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
15831
+ # Storage Service user guide*.
14753
15832
  #
14754
15833
  # <note markdown="1"> This functionality is not supported for directory buckets.
14755
15834
  #
14756
15835
  # </note>
15836
+ #
15837
+ #
15838
+ #
15839
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
14757
15840
  # @return [String]
14758
15841
  #
14759
15842
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfigurationOutput AWS API Documentation
@@ -14875,7 +15958,7 @@ module Aws::S3
14875
15958
  #
14876
15959
  # @!attribute [rw] checksum_crc32
14877
15960
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
14878
- # checksum is only be present if the checksum was uploaded with the
15961
+ # checksum is only present if the checksum was uploaded with the
14879
15962
  # object. When you use an API operation on an object that was uploaded
14880
15963
  # using multipart uploads, this value may not be a direct checksum
14881
15964
  # value of the full object. Instead, it's a calculation based on the
@@ -14918,14 +16001,15 @@ module Aws::S3
14918
16001
  # @return [String]
14919
16002
  #
14920
16003
  # @!attribute [rw] checksum_sha1
14921
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
14922
- # only be present if the object was uploaded with the object. When you
14923
- # use the API operation on an object that was uploaded using multipart
14924
- # uploads, this value may not be a direct checksum value of the full
14925
- # object. Instead, it's a calculation based on the checksum values of
14926
- # each individual part. For more information about how checksums are
14927
- # calculated with multipart uploads, see [ Checking object
14928
- # integrity][1] in the *Amazon S3 User Guide*.
16004
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This
16005
+ # checksum is only present if the checksum was uploaded with the
16006
+ # object. When you use the API operation on an object that was
16007
+ # uploaded using multipart uploads, this value may not be a direct
16008
+ # checksum value of the full object. Instead, it's a calculation
16009
+ # based on the checksum values of each individual part. For more
16010
+ # information about how checksums are calculated with multipart
16011
+ # uploads, see [ Checking object integrity][1] in the *Amazon S3 User
16012
+ # Guide*.
14929
16013
  #
14930
16014
  #
14931
16015
  #
@@ -14933,14 +16017,14 @@ module Aws::S3
14933
16017
  # @return [String]
14934
16018
  #
14935
16019
  # @!attribute [rw] checksum_sha256
14936
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
14937
- # only be present if the object was uploaded with the object. When you
14938
- # use an API operation on an object that was uploaded using multipart
14939
- # uploads, this value may not be a direct checksum value of the full
14940
- # object. Instead, it's a calculation based on the checksum values of
14941
- # each individual part. For more information about how checksums are
14942
- # calculated with multipart uploads, see [ Checking object
14943
- # integrity][1] in the *Amazon S3 User Guide*.
16020
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This
16021
+ # checksum is only present if the checksum was uploaded with the
16022
+ # object. When you use an API operation on an object that was uploaded
16023
+ # using multipart uploads, this value may not be a direct checksum
16024
+ # value of the full object. Instead, it's a calculation based on the
16025
+ # checksum values of each individual part. For more information about
16026
+ # how checksums are calculated with multipart uploads, see [ Checking
16027
+ # object integrity][1] in the *Amazon S3 User Guide*.
14944
16028
  #
14945
16029
  #
14946
16030
  #
@@ -14964,7 +16048,13 @@ module Aws::S3
14964
16048
  #
14965
16049
  # @!attribute [rw] server_side_encryption
14966
16050
  # The server-side encryption algorithm used when you store this object
14967
- # in Amazon S3.
16051
+ # in Amazon S3 or Amazon FSx.
16052
+ #
16053
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
16054
+ # access points, the only valid server side encryption option is
16055
+ # `aws:fsx`.
16056
+ #
16057
+ # </note>
14968
16058
  # @return [String]
14969
16059
  #
14970
16060
  # @!attribute [rw] version_id
@@ -15043,11 +16133,17 @@ module Aws::S3
15043
16133
  #
15044
16134
  # @!attribute [rw] request_charged
15045
16135
  # If present, indicates that the requester was successfully charged
15046
- # for the request.
16136
+ # for the request. For more information, see [Using Requester Pays
16137
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
16138
+ # Storage Service user guide*.
15047
16139
  #
15048
16140
  # <note markdown="1"> This functionality is not supported for directory buckets.
15049
16141
  #
15050
16142
  # </note>
16143
+ #
16144
+ #
16145
+ #
16146
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
15051
16147
  # @return [String]
15052
16148
  #
15053
16149
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectOutput AWS API Documentation
@@ -15470,8 +16566,7 @@ module Aws::S3
15470
16566
  #
15471
16567
  # @!attribute [rw] server_side_encryption
15472
16568
  # The server-side encryption algorithm that was used when you store
15473
- # this object in Amazon S3 (for example, `AES256`, `aws:kms`,
15474
- # `aws:kms:dsse`).
16569
+ # this object in Amazon S3 or Amazon FSx.
15475
16570
  #
15476
16571
  # * <b>General purpose buckets </b> - You have four mutually exclusive
15477
16572
  # options to protect data using server-side encryption in Amazon S3,
@@ -15526,6 +16621,14 @@ module Aws::S3
15526
16621
  #
15527
16622
  # </note>
15528
16623
  #
16624
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data
16625
+ # stored in Amazon FSx file systems using S3 access points, the only
16626
+ # valid server side encryption option is `aws:fsx`. All Amazon FSx
16627
+ # file systems have encryption configured by default and are
16628
+ # encrypted at rest. Data is automatically encrypted before being
16629
+ # written to the file system, and automatically decrypted as it is
16630
+ # read. These processes are handled transparently by Amazon FSx.
16631
+ #
15529
16632
  #
15530
16633
  #
15531
16634
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -15819,11 +16922,17 @@ module Aws::S3
15819
16922
 
15820
16923
  # @!attribute [rw] request_charged
15821
16924
  # If present, indicates that the requester was successfully charged
15822
- # for the request.
16925
+ # for the request. For more information, see [Using Requester Pays
16926
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
16927
+ # Storage Service user guide*.
15823
16928
  #
15824
16929
  # <note markdown="1"> This functionality is not supported for directory buckets.
15825
16930
  #
15826
16931
  # </note>
16932
+ #
16933
+ #
16934
+ #
16935
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
15827
16936
  # @return [String]
15828
16937
  #
15829
16938
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetentionOutput AWS API Documentation
@@ -16031,21 +17140,9 @@ module Aws::S3
16031
17140
  # @return [String]
16032
17141
  #
16033
17142
  # @!attribute [rw] request_payer
16034
- # Confirms that the requester knows that they will be charged for the
16035
- # request. Bucket owners need not specify this parameter in their
16036
- # requests. If either the source or destination S3 bucket has
16037
- # Requester Pays enabled, the requester will pay for corresponding
16038
- # charges to copy the object. For information about downloading
16039
- # objects from Requester Pays buckets, see [Downloading Objects in
16040
- # Requester Pays Buckets][1] in the *Amazon S3 User Guide*.
16041
- #
16042
- # <note markdown="1"> This functionality is not supported for directory buckets.
16043
- #
16044
- # </note>
16045
- #
16046
- #
16047
- #
16048
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
17143
+ # Confirms that the requester knows that she or he will be charged for
17144
+ # the tagging object request. Bucket owners need not specify this
17145
+ # parameter in their requests.
16049
17146
  # @return [String]
16050
17147
  #
16051
17148
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingRequest AWS API Documentation
@@ -16205,6 +17302,32 @@ module Aws::S3
16205
17302
  include Aws::Structure
16206
17303
  end
16207
17304
 
17305
+ # The journal table record expiration settings for a journal table in an
17306
+ # S3 Metadata configuration.
17307
+ #
17308
+ # @!attribute [rw] expiration
17309
+ # Specifies whether journal table record expiration is enabled or
17310
+ # disabled.
17311
+ # @return [String]
17312
+ #
17313
+ # @!attribute [rw] days
17314
+ # If you enable journal table record expiration, you can set the
17315
+ # number of days to retain your journal table records. Journal table
17316
+ # records must be retained for a minimum of 7 days. To set this value,
17317
+ # specify any whole number from `7` to `2147483647`. For example, to
17318
+ # retain your journal table records for one year, set this value to
17319
+ # `365`.
17320
+ # @return [Integer]
17321
+ #
17322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RecordExpiration AWS API Documentation
17323
+ #
17324
+ class RecordExpiration < Struct.new(
17325
+ :expiration,
17326
+ :days)
17327
+ SENSITIVE = []
17328
+ include Aws::Structure
17329
+ end
17330
+
16208
17331
  # The container for the records event.
16209
17332
  #
16210
17333
  # @!attribute [rw] payload
@@ -16213,7 +17336,7 @@ module Aws::S3
16213
17336
  # record frame. To ensure continuous streaming of data, S3 Select
16214
17337
  # might split the same record across multiple record frames instead of
16215
17338
  # aggregating the results in memory. Some S3 clients (for example, the
16216
- # SDKforJava) handle this behavior by creating a `ByteStream` out of
17339
+ # SDK for Java) handle this behavior by creating a `ByteStream` out of
16217
17340
  # the response by default. Other clients might not handle this
16218
17341
  # behavior by default. In those cases, you must aggregate the results
16219
17342
  # on the client side and parse the response.
@@ -16311,6 +17434,129 @@ module Aws::S3
16311
17434
  include Aws::Structure
16312
17435
  end
16313
17436
 
17437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObjectOutput AWS API Documentation
17438
+ #
17439
+ class RenameObjectOutput < Aws::EmptyStructure; end
17440
+
17441
+ # @!attribute [rw] bucket
17442
+ # The bucket name of the directory bucket containing the object.
17443
+ #
17444
+ # You must use virtual-hosted-style requests in the format
17445
+ # `Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
17446
+ # Path-style requests are not supported. Directory bucket names must
17447
+ # be unique in the chosen Availability Zone. Bucket names must follow
17448
+ # the format `bucket-base-name--zone-id--x-s3 ` (for example,
17449
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
17450
+ # naming restrictions, see [Directory bucket naming rules][1] in the
17451
+ # *Amazon S3 User Guide*.
17452
+ #
17453
+ #
17454
+ #
17455
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
17456
+ # @return [String]
17457
+ #
17458
+ # @!attribute [rw] key
17459
+ # Key name of the object to rename.
17460
+ # @return [String]
17461
+ #
17462
+ # @!attribute [rw] rename_source
17463
+ # Specifies the source for the rename operation. The value must be URL
17464
+ # encoded.
17465
+ # @return [String]
17466
+ #
17467
+ # @!attribute [rw] destination_if_match
17468
+ # Renames the object only if the ETag (entity tag) value provided
17469
+ # during the operation matches the ETag of the object in S3. The
17470
+ # `If-Match` header field makes the request method conditional on
17471
+ # ETags. If the ETag values do not match, the operation returns a `412
17472
+ # Precondition Failed` error.
17473
+ #
17474
+ # Expects the ETag value as a string.
17475
+ # @return [String]
17476
+ #
17477
+ # @!attribute [rw] destination_if_none_match
17478
+ # Renames the object only if the destination does not already exist in
17479
+ # the specified directory bucket. If the object does exist when you
17480
+ # send a request with `If-None-Match:*`, the S3 API will return a `412
17481
+ # Precondition Failed` error, preventing an overwrite. The
17482
+ # `If-None-Match` header prevents overwrites of existing data by
17483
+ # validating that there's not an object with the same key name
17484
+ # already in your directory bucket.
17485
+ #
17486
+ # Expects the `*` character (asterisk).
17487
+ # @return [String]
17488
+ #
17489
+ # @!attribute [rw] destination_if_modified_since
17490
+ # Renames the object if the destination exists and if it has been
17491
+ # modified since the specified time.
17492
+ # @return [Time]
17493
+ #
17494
+ # @!attribute [rw] destination_if_unmodified_since
17495
+ # Renames the object if it hasn't been modified since the specified
17496
+ # time.
17497
+ # @return [Time]
17498
+ #
17499
+ # @!attribute [rw] source_if_match
17500
+ # Renames the object if the source exists and if its entity tag (ETag)
17501
+ # matches the specified ETag.
17502
+ # @return [String]
17503
+ #
17504
+ # @!attribute [rw] source_if_none_match
17505
+ # Renames the object if the source exists and if its entity tag (ETag)
17506
+ # is different than the specified ETag. If an asterisk (`*`) character
17507
+ # is provided, the operation will fail and return a `412 Precondition
17508
+ # Failed` error.
17509
+ # @return [String]
17510
+ #
17511
+ # @!attribute [rw] source_if_modified_since
17512
+ # Renames the object if the source exists and if it has been modified
17513
+ # since the specified time.
17514
+ # @return [Time]
17515
+ #
17516
+ # @!attribute [rw] source_if_unmodified_since
17517
+ # Renames the object if the source exists and hasn't been modified
17518
+ # since the specified time.
17519
+ # @return [Time]
17520
+ #
17521
+ # @!attribute [rw] client_token
17522
+ # A unique string with a max of 64 ASCII characters in the ASCII range
17523
+ # of 33 - 126.
17524
+ #
17525
+ # <note markdown="1"> `RenameObject` supports idempotency using a client token. To make an
17526
+ # idempotent API request using `RenameObject`, specify a client token
17527
+ # in the request. You should not reuse the same client token for other
17528
+ # API requests. If you retry a request that completed successfully
17529
+ # using the same client token and the same parameters, the retry
17530
+ # succeeds without performing any further actions. If you retry a
17531
+ # successful request using the same client token, but one or more of
17532
+ # the parameters are different, the retry fails and an
17533
+ # `IdempotentParameterMismatch` error is returned.
17534
+ #
17535
+ # </note>
17536
+ #
17537
+ # **A suitable default value is auto-generated.** You should normally
17538
+ # not need to pass this option.
17539
+ # @return [String]
17540
+ #
17541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObjectRequest AWS API Documentation
17542
+ #
17543
+ class RenameObjectRequest < Struct.new(
17544
+ :bucket,
17545
+ :key,
17546
+ :rename_source,
17547
+ :destination_if_match,
17548
+ :destination_if_none_match,
17549
+ :destination_if_modified_since,
17550
+ :destination_if_unmodified_since,
17551
+ :source_if_match,
17552
+ :source_if_none_match,
17553
+ :source_if_modified_since,
17554
+ :source_if_unmodified_since,
17555
+ :client_token)
17556
+ SENSITIVE = []
17557
+ include Aws::Structure
17558
+ end
17559
+
16314
17560
  # A filter that you can specify for selection for modifications on
16315
17561
  # replicas. Amazon S3 doesn't replicate replica modifications by
16316
17562
  # default. In the latest version of replication configuration (when
@@ -16630,11 +17876,17 @@ module Aws::S3
16630
17876
 
16631
17877
  # @!attribute [rw] request_charged
16632
17878
  # If present, indicates that the requester was successfully charged
16633
- # for the request.
17879
+ # for the request. For more information, see [Using Requester Pays
17880
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
17881
+ # Storage Service user guide*.
16634
17882
  #
16635
17883
  # <note markdown="1"> This functionality is not supported for directory buckets.
16636
17884
  #
16637
17885
  # </note>
17886
+ #
17887
+ #
17888
+ #
17889
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
16638
17890
  # @return [String]
16639
17891
  #
16640
17892
  # @!attribute [rw] restore_output_path
@@ -17064,12 +18316,23 @@ module Aws::S3
17064
18316
  include Aws::Structure
17065
18317
  end
17066
18318
 
17067
- # The destination information for the metadata table configuration. The
18319
+ # The destination information for a V1 S3 Metadata configuration. The
17068
18320
  # destination table bucket must be in the same Region and Amazon Web
17069
18321
  # Services account as the general purpose bucket. The specified metadata
17070
18322
  # table name must be unique within the `aws_s3_metadata` namespace in
17071
18323
  # the destination table bucket.
17072
18324
  #
18325
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
18326
+ # recommend that you delete and re-create your configuration by using
18327
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
18328
+ # table records and create a live inventory table.
18329
+ #
18330
+ # </note>
18331
+ #
18332
+ #
18333
+ #
18334
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
18335
+ #
17073
18336
  # @!attribute [rw] table_bucket_arn
17074
18337
  # The Amazon Resource Name (ARN) for the table bucket that's
17075
18338
  # specified as the destination in the metadata table configuration.
@@ -17093,12 +18356,23 @@ module Aws::S3
17093
18356
  include Aws::Structure
17094
18357
  end
17095
18358
 
17096
- # The destination information for the metadata table configuration. The
18359
+ # The destination information for a V1 S3 Metadata configuration. The
17097
18360
  # destination table bucket must be in the same Region and Amazon Web
17098
18361
  # Services account as the general purpose bucket. The specified metadata
17099
18362
  # table name must be unique within the `aws_s3_metadata` namespace in
17100
18363
  # the destination table bucket.
17101
18364
  #
18365
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
18366
+ # recommend that you delete and re-create your configuration by using
18367
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
18368
+ # table records and create a live inventory table.
18369
+ #
18370
+ # </note>
18371
+ #
18372
+ #
18373
+ #
18374
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
18375
+ #
17102
18376
  # @!attribute [rw] table_bucket_arn
17103
18377
  # The Amazon Resource Name (ARN) for the table bucket that's
17104
18378
  # specified as the destination in the metadata table configuration.
@@ -17554,11 +18828,36 @@ module Aws::S3
17554
18828
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
17555
18829
  # @return [Boolean]
17556
18830
  #
18831
+ # @!attribute [rw] blocked_encryption_types
18832
+ # A bucket-level setting for Amazon S3 general purpose buckets used to
18833
+ # prevent the upload of new objects encrypted with the specified
18834
+ # server-side encryption type. For example, blocking an encryption
18835
+ # type will block `PutObject`, `CopyObject`, `PostObject`, multipart
18836
+ # upload, and replication requests to the bucket for objects with the
18837
+ # specified encryption type. However, you can continue to read and
18838
+ # list any pre-existing objects already encrypted with the specified
18839
+ # encryption type. For more information, see [Blocking or unblocking
18840
+ # SSE-C for a general purpose bucket][1].
18841
+ #
18842
+ # <note markdown="1"> Currently, this parameter only supports blocking or unblocking
18843
+ # server-side encryption with customer-provided keys (SSE-C). For more
18844
+ # information about SSE-C, see [Using server-side encryption with
18845
+ # customer-provided keys (SSE-C)][2].
18846
+ #
18847
+ # </note>
18848
+ #
18849
+ #
18850
+ #
18851
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html
18852
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
18853
+ # @return [Types::BlockedEncryptionTypes]
18854
+ #
17557
18855
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule AWS API Documentation
17558
18856
  #
17559
18857
  class ServerSideEncryptionRule < Struct.new(
17560
18858
  :apply_server_side_encryption_by_default,
17561
- :bucket_key_enabled)
18859
+ :bucket_key_enabled,
18860
+ :blocked_encryption_types)
17562
18861
  SENSITIVE = []
17563
18862
  include Aws::Structure
17564
18863
  end
@@ -18004,6 +19303,79 @@ module Aws::S3
18004
19303
  include Aws::Structure
18005
19304
  end
18006
19305
 
19306
+ # @!attribute [rw] bucket
19307
+ # The general purpose bucket that corresponds to the metadata
19308
+ # configuration that you want to enable or disable an inventory table
19309
+ # for.
19310
+ # @return [String]
19311
+ #
19312
+ # @!attribute [rw] content_md5
19313
+ # The `Content-MD5` header for the inventory table configuration.
19314
+ # @return [String]
19315
+ #
19316
+ # @!attribute [rw] checksum_algorithm
19317
+ # The checksum algorithm to use with your inventory table
19318
+ # configuration.
19319
+ # @return [String]
19320
+ #
19321
+ # @!attribute [rw] inventory_table_configuration
19322
+ # The contents of your inventory table configuration.
19323
+ # @return [Types::InventoryTableConfigurationUpdates]
19324
+ #
19325
+ # @!attribute [rw] expected_bucket_owner
19326
+ # The expected owner of the general purpose bucket that corresponds to
19327
+ # the metadata table configuration that you want to enable or disable
19328
+ # an inventory table for.
19329
+ # @return [String]
19330
+ #
19331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfigurationRequest AWS API Documentation
19332
+ #
19333
+ class UpdateBucketMetadataInventoryTableConfigurationRequest < Struct.new(
19334
+ :bucket,
19335
+ :content_md5,
19336
+ :checksum_algorithm,
19337
+ :inventory_table_configuration,
19338
+ :expected_bucket_owner)
19339
+ SENSITIVE = []
19340
+ include Aws::Structure
19341
+ end
19342
+
19343
+ # @!attribute [rw] bucket
19344
+ # The general purpose bucket that corresponds to the metadata
19345
+ # configuration that you want to enable or disable journal table
19346
+ # record expiration for.
19347
+ # @return [String]
19348
+ #
19349
+ # @!attribute [rw] content_md5
19350
+ # The `Content-MD5` header for the journal table configuration.
19351
+ # @return [String]
19352
+ #
19353
+ # @!attribute [rw] checksum_algorithm
19354
+ # The checksum algorithm to use with your journal table configuration.
19355
+ # @return [String]
19356
+ #
19357
+ # @!attribute [rw] journal_table_configuration
19358
+ # The contents of your journal table configuration.
19359
+ # @return [Types::JournalTableConfigurationUpdates]
19360
+ #
19361
+ # @!attribute [rw] expected_bucket_owner
19362
+ # The expected owner of the general purpose bucket that corresponds to
19363
+ # the metadata table configuration that you want to enable or disable
19364
+ # journal table record expiration for.
19365
+ # @return [String]
19366
+ #
19367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfigurationRequest AWS API Documentation
19368
+ #
19369
+ class UpdateBucketMetadataJournalTableConfigurationRequest < Struct.new(
19370
+ :bucket,
19371
+ :content_md5,
19372
+ :checksum_algorithm,
19373
+ :journal_table_configuration,
19374
+ :expected_bucket_owner)
19375
+ SENSITIVE = []
19376
+ include Aws::Structure
19377
+ end
19378
+
18007
19379
  # @!attribute [rw] copy_source_version_id
18008
19380
  # The version of the source object that was copied, if you have
18009
19381
  # enabled versioning on the source bucket.
@@ -18020,7 +19392,13 @@ module Aws::S3
18020
19392
  #
18021
19393
  # @!attribute [rw] server_side_encryption
18022
19394
  # The server-side encryption algorithm used when you store this object
18023
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
19395
+ # in Amazon S3 or Amazon FSx.
19396
+ #
19397
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
19398
+ # access points, the only valid server side encryption option is
19399
+ # `aws:fsx`.
19400
+ #
19401
+ # </note>
18024
19402
  # @return [String]
18025
19403
  #
18026
19404
  # @!attribute [rw] sse_customer_algorithm
@@ -18057,11 +19435,17 @@ module Aws::S3
18057
19435
  #
18058
19436
  # @!attribute [rw] request_charged
18059
19437
  # If present, indicates that the requester was successfully charged
18060
- # for the request.
19438
+ # for the request. For more information, see [Using Requester Pays
19439
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
19440
+ # Storage Service user guide*.
18061
19441
  #
18062
19442
  # <note markdown="1"> This functionality is not supported for directory buckets.
18063
19443
  #
18064
19444
  # </note>
19445
+ #
19446
+ #
19447
+ #
19448
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
18065
19449
  # @return [String]
18066
19450
  #
18067
19451
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopyOutput AWS API Documentation
@@ -18412,7 +19796,13 @@ module Aws::S3
18412
19796
 
18413
19797
  # @!attribute [rw] server_side_encryption
18414
19798
  # The server-side encryption algorithm used when you store this object
18415
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
19799
+ # in Amazon S3 or Amazon FSx.
19800
+ #
19801
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
19802
+ # access points, the only valid server side encryption option is
19803
+ # `aws:fsx`.
19804
+ #
19805
+ # </note>
18416
19806
  # @return [String]
18417
19807
  #
18418
19808
  # @!attribute [rw] etag
@@ -18421,7 +19811,7 @@ module Aws::S3
18421
19811
  #
18422
19812
  # @!attribute [rw] checksum_crc32
18423
19813
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
18424
- # checksum is only be present if the checksum was uploaded with the
19814
+ # checksum is only present if the checksum was uploaded with the
18425
19815
  # object. When you use an API operation on an object that was uploaded
18426
19816
  # using multipart uploads, this value may not be a direct checksum
18427
19817
  # value of the full object. Instead, it's a calculation based on the
@@ -18462,14 +19852,15 @@ module Aws::S3
18462
19852
  # @return [String]
18463
19853
  #
18464
19854
  # @!attribute [rw] checksum_sha1
18465
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
18466
- # only be present if the object was uploaded with the object. When you
18467
- # use the API operation on an object that was uploaded using multipart
18468
- # uploads, this value may not be a direct checksum value of the full
18469
- # object. Instead, it's a calculation based on the checksum values of
18470
- # each individual part. For more information about how checksums are
18471
- # calculated with multipart uploads, see [ Checking object
18472
- # integrity][1] in the *Amazon S3 User Guide*.
19855
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This
19856
+ # checksum is only present if the checksum was uploaded with the
19857
+ # object. When you use the API operation on an object that was
19858
+ # uploaded using multipart uploads, this value may not be a direct
19859
+ # checksum value of the full object. Instead, it's a calculation
19860
+ # based on the checksum values of each individual part. For more
19861
+ # information about how checksums are calculated with multipart
19862
+ # uploads, see [ Checking object integrity][1] in the *Amazon S3 User
19863
+ # Guide*.
18473
19864
  #
18474
19865
  #
18475
19866
  #
@@ -18477,14 +19868,14 @@ module Aws::S3
18477
19868
  # @return [String]
18478
19869
  #
18479
19870
  # @!attribute [rw] checksum_sha256
18480
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
18481
- # only be present if the object was uploaded with the object. When you
18482
- # use an API operation on an object that was uploaded using multipart
18483
- # uploads, this value may not be a direct checksum value of the full
18484
- # object. Instead, it's a calculation based on the checksum values of
18485
- # each individual part. For more information about how checksums are
18486
- # calculated with multipart uploads, see [ Checking object
18487
- # integrity][1] in the *Amazon S3 User Guide*.
19871
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This
19872
+ # checksum is only present if the checksum was uploaded with the
19873
+ # object. When you use an API operation on an object that was uploaded
19874
+ # using multipart uploads, this value may not be a direct checksum
19875
+ # value of the full object. Instead, it's a calculation based on the
19876
+ # checksum values of each individual part. For more information about
19877
+ # how checksums are calculated with multipart uploads, see [ Checking
19878
+ # object integrity][1] in the *Amazon S3 User Guide*.
18488
19879
  #
18489
19880
  #
18490
19881
  #
@@ -18525,11 +19916,17 @@ module Aws::S3
18525
19916
  #
18526
19917
  # @!attribute [rw] request_charged
18527
19918
  # If present, indicates that the requester was successfully charged
18528
- # for the request.
19919
+ # for the request. For more information, see [Using Requester Pays
19920
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
19921
+ # Storage Service user guide*.
18529
19922
  #
18530
19923
  # <note markdown="1"> This functionality is not supported for directory buckets.
18531
19924
  #
18532
19925
  # </note>
19926
+ #
19927
+ #
19928
+ #
19929
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
18533
19930
  # @return [String]
18534
19931
  #
18535
19932
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartOutput AWS API Documentation
@@ -19119,11 +20516,17 @@ module Aws::S3
19119
20516
  #
19120
20517
  # @!attribute [rw] request_charged
19121
20518
  # If present, indicates that the requester was successfully charged
19122
- # for the request.
20519
+ # for the request. For more information, see [Using Requester Pays
20520
+ # buckets for storage transfers and usage][1] in the *Amazon Simple
20521
+ # Storage Service user guide*.
19123
20522
  #
19124
20523
  # <note markdown="1"> This functionality is not supported for directory buckets.
19125
20524
  #
19126
20525
  # </note>
20526
+ #
20527
+ #
20528
+ #
20529
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
19127
20530
  # @return [String]
19128
20531
  #
19129
20532
  # @!attribute [rw] restore
@@ -19133,7 +20536,13 @@ module Aws::S3
19133
20536
  #
19134
20537
  # @!attribute [rw] server_side_encryption
19135
20538
  # The server-side encryption algorithm used when storing requested
19136
- # object in Amazon S3 (for example, AES256, `aws:kms`).
20539
+ # object in Amazon S3 or Amazon FSx.
20540
+ #
20541
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3
20542
+ # access points, the only valid server side encryption option is
20543
+ # `aws:fsx`.
20544
+ #
20545
+ # </note>
19137
20546
  # @return [String]
19138
20547
  #
19139
20548
  # @!attribute [rw] sse_customer_algorithm