aws-sdk-s3 1.191.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +114 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +33 -1
  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 +1503 -392
  8. data/lib/aws-sdk-s3/client_api.rb +248 -0
  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 +220 -50
  42. data/lib/aws-sdk-s3/endpoints.rb +96 -0
  43. data/lib/aws-sdk-s3/file_downloader.rb +197 -134
  44. data/lib/aws-sdk-s3/file_uploader.rb +9 -13
  45. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  46. data/lib/aws-sdk-s3/multipart_file_uploader.rb +92 -107
  47. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
  48. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  49. data/lib/aws-sdk-s3/object.rb +56 -27
  50. data/lib/aws-sdk-s3/object_acl.rb +1 -1
  51. data/lib/aws-sdk-s3/object_summary.rb +42 -13
  52. data/lib/aws-sdk-s3/object_version.rb +7 -9
  53. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
  54. data/lib/aws-sdk-s3/resource.rb +6 -0
  55. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  56. data/lib/aws-sdk-s3/types.rb +1179 -260
  57. data/lib/aws-sdk-s3.rb +1 -1
  58. data/sig/bucket.rbs +11 -2
  59. data/sig/client.rbs +127 -13
  60. data/sig/multipart_upload.rbs +1 -1
  61. data/sig/object.rbs +7 -5
  62. data/sig/object_summary.rbs +7 -5
  63. data/sig/resource.rbs +8 -1
  64. data/sig/types.rbs +173 -14
  65. metadata +22 -3
@@ -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
@@ -355,6 +378,63 @@ module Aws::S3
355
378
  include Aws::Structure
356
379
  end
357
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
+
358
438
  # In terms of implementation, a Bucket is a resource.
359
439
  #
360
440
  # @!attribute [rw] name
@@ -372,12 +452,28 @@ module Aws::S3
372
452
  # parameter, it is included in the response.
373
453
  # @return [String]
374
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
+ #
375
470
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket AWS API Documentation
376
471
  #
377
472
  class Bucket < Struct.new(
378
473
  :name,
379
474
  :creation_date,
380
- :bucket_region)
475
+ :bucket_region,
476
+ :bucket_arn)
381
477
  SENSITIVE = []
382
478
  include Aws::Structure
383
479
  end
@@ -664,7 +760,7 @@ module Aws::S3
664
760
  #
665
761
  # @!attribute [rw] checksum_crc32
666
762
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
667
- # checksum is only be present if the checksum was uploaded with the
763
+ # checksum is only present if the checksum was uploaded with the
668
764
  # object. When you use an API operation on an object that was uploaded
669
765
  # using multipart uploads, this value may not be a direct checksum
670
766
  # value of the full object. Instead, it's a calculation based on the
@@ -706,14 +802,15 @@ module Aws::S3
706
802
  # @return [String]
707
803
  #
708
804
  # @!attribute [rw] checksum_sha1
709
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
710
- # only be present if the object was uploaded with the object. When you
711
- # use the API operation on an object that was uploaded using multipart
712
- # uploads, this value may not be a direct checksum value of the full
713
- # object. Instead, it's a calculation based on the checksum values of
714
- # each individual part. For more information about how checksums are
715
- # calculated with multipart uploads, see [ Checking object
716
- # 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*.
717
814
  #
718
815
  #
719
816
  #
@@ -721,14 +818,14 @@ module Aws::S3
721
818
  # @return [String]
722
819
  #
723
820
  # @!attribute [rw] checksum_sha256
724
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
725
- # only be present if the object was uploaded with the object. When you
726
- # use an API operation on an object that was uploaded using multipart
727
- # uploads, this value may not be a direct checksum value of the full
728
- # object. Instead, it's a calculation based on the checksum values of
729
- # each individual part. For more information about how checksums are
730
- # calculated with multipart uploads, see [ Checking object
731
- # 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*.
732
829
  #
733
830
  #
734
831
  #
@@ -858,7 +955,7 @@ module Aws::S3
858
955
  #
859
956
  # @!attribute [rw] checksum_crc32
860
957
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
861
- # checksum is only be present if the checksum was uploaded with the
958
+ # checksum is only present if the checksum was uploaded with the
862
959
  # object. When you use an API operation on an object that was uploaded
863
960
  # using multipart uploads, this value may not be a direct checksum
864
961
  # value of the full object. Instead, it's a calculation based on the
@@ -900,14 +997,15 @@ module Aws::S3
900
997
  # @return [String]
901
998
  #
902
999
  # @!attribute [rw] checksum_sha1
903
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
904
- # only be present if the object was uploaded with the object. When you
905
- # use the API operation on an object that was uploaded using multipart
906
- # uploads, this value may not be a direct checksum value of the full
907
- # object. Instead, it's a calculation based on the checksum values of
908
- # each individual part. For more information about how checksums are
909
- # calculated with multipart uploads, see [ Checking object
910
- # 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*.
911
1009
  #
912
1010
  #
913
1011
  #
@@ -915,14 +1013,14 @@ module Aws::S3
915
1013
  # @return [String]
916
1014
  #
917
1015
  # @!attribute [rw] checksum_sha256
918
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
919
- # only be present if the object was uploaded with the object. When you
920
- # use an API operation on an object that was uploaded using multipart
921
- # uploads, this value may not be a direct checksum value of the full
922
- # object. Instead, it's a calculation based on the checksum values of
923
- # each individual part. For more information about how checksums are
924
- # calculated with multipart uploads, see [ Checking object
925
- # 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*.
926
1024
  #
927
1025
  #
928
1026
  #
@@ -1899,6 +1997,40 @@ module Aws::S3
1899
1997
  # </note>
1900
1998
  # @return [String]
1901
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
+ #
1902
2034
  # @!attribute [rw] key
1903
2035
  # The key of the destination object.
1904
2036
  # @return [String]
@@ -2425,6 +2557,8 @@ module Aws::S3
2425
2557
  :grant_read,
2426
2558
  :grant_read_acp,
2427
2559
  :grant_write_acp,
2560
+ :if_match,
2561
+ :if_none_match,
2428
2562
  :key,
2429
2563
  :metadata,
2430
2564
  :metadata_directive,
@@ -2486,9 +2620,9 @@ module Aws::S3
2486
2620
  #
2487
2621
  # @!attribute [rw] checksum_crc32c
2488
2622
  # The Base64 encoded, 32-bit `CRC32C` checksum of the object. This
2489
- # will only be present if the object was uploaded with the object. For
2490
- # more information, see [ Checking object integrity][1] in the *Amazon
2491
- # 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*.
2492
2626
  #
2493
2627
  #
2494
2628
  #
@@ -2509,10 +2643,10 @@ module Aws::S3
2509
2643
  # @return [String]
2510
2644
  #
2511
2645
  # @!attribute [rw] checksum_sha1
2512
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
2513
- # only be present if the object was uploaded with the object. For more
2514
- # information, see [ Checking object integrity][1] in the *Amazon S3
2515
- # 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*.
2516
2650
  #
2517
2651
  #
2518
2652
  #
@@ -2520,10 +2654,10 @@ module Aws::S3
2520
2654
  # @return [String]
2521
2655
  #
2522
2656
  # @!attribute [rw] checksum_sha256
2523
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
2524
- # only be present if the object was uploaded with the object. For more
2525
- # information, see [ Checking object integrity][1] in the *Amazon S3
2526
- # 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*.
2527
2661
  #
2528
2662
  #
2529
2663
  #
@@ -2681,19 +2815,73 @@ module Aws::S3
2681
2815
  # </note>
2682
2816
  # @return [Types::BucketInfo]
2683
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
+ #
2684
2837
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration AWS API Documentation
2685
2838
  #
2686
2839
  class CreateBucketConfiguration < Struct.new(
2687
2840
  :location_constraint,
2688
2841
  :location,
2689
- :bucket)
2842
+ :bucket,
2843
+ :tags)
2690
2844
  SENSITIVE = []
2691
2845
  include Aws::Structure
2692
2846
  end
2693
2847
 
2694
2848
  # @!attribute [rw] bucket
2695
2849
  # The general purpose bucket that you want to create the metadata
2696
- # table configuration in.
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)
2878
+ SENSITIVE = []
2879
+ include Aws::Structure
2880
+ end
2881
+
2882
+ # @!attribute [rw] bucket
2883
+ # The general purpose bucket that you want to create the metadata
2884
+ # table configuration for.
2697
2885
  # @return [String]
2698
2886
  #
2699
2887
  # @!attribute [rw] content_md5
@@ -2710,8 +2898,8 @@ module Aws::S3
2710
2898
  # @return [Types::MetadataTableConfiguration]
2711
2899
  #
2712
2900
  # @!attribute [rw] expected_bucket_owner
2713
- # The expected owner of the general purpose bucket that contains your
2714
- # metadata table configuration.
2901
+ # The expected owner of the general purpose bucket that corresponds to
2902
+ # your metadata table configuration.
2715
2903
  # @return [String]
2716
2904
  #
2717
2905
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -2730,10 +2918,26 @@ module Aws::S3
2730
2918
  # A forward slash followed by the name of the bucket.
2731
2919
  # @return [String]
2732
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
+ #
2733
2936
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketOutput AWS API Documentation
2734
2937
  #
2735
2938
  class CreateBucketOutput < Struct.new(
2736
- :location)
2939
+ :location,
2940
+ :bucket_arn)
2737
2941
  SENSITIVE = []
2738
2942
  include Aws::Structure
2739
2943
  end
@@ -4116,6 +4320,25 @@ module Aws::S3
4116
4320
  include Aws::Structure
4117
4321
  end
4118
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
+
4119
4342
  # @!attribute [rw] bucket
4120
4343
  # The general purpose bucket that you want to remove the metadata
4121
4344
  # table configuration from.
@@ -4558,17 +4781,16 @@ module Aws::S3
4558
4781
  # @return [String]
4559
4782
  #
4560
4783
  # @!attribute [rw] if_match
4561
- # The `If-Match` header field makes the request method conditional on
4562
- # ETags. If the ETag value does not match, the operation returns a
4563
- # `412 Precondition Failed` error. If the ETag matches or if the
4564
- # object doesn't exist, the operation will return a `204 Success (No
4565
- # Content) response`.
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.
4566
4788
  #
4567
- # For more information about conditional requests, see [RFC 7232][1].
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.
4568
4792
  #
4569
- # <note markdown="1"> This functionality is only supported for directory buckets.
4570
- #
4571
- # </note>
4793
+ # For more information about conditional requests, see [RFC 7232][1].
4572
4794
  #
4573
4795
  #
4574
4796
  #
@@ -4994,6 +5216,8 @@ module Aws::S3
4994
5216
  # For valid values, see the `StorageClass` element of the [PUT Bucket
4995
5217
  # replication][1] action in the *Amazon S3 API Reference*.
4996
5218
  #
5219
+ # `FSX_OPENZFS` is not an accepted value when replicating objects.
5220
+ #
4997
5221
  #
4998
5222
  #
4999
5223
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html
@@ -5040,6 +5264,37 @@ module Aws::S3
5040
5264
  include Aws::Structure
5041
5265
  end
5042
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
+
5043
5298
  # Contains the type of server-side encryption used.
5044
5299
  #
5045
5300
  # @!attribute [rw] encryption_type
@@ -5881,12 +6136,24 @@ module Aws::S3
5881
6136
  include Aws::Structure
5882
6137
  end
5883
6138
 
5884
- # If the `CreateBucketMetadataTableConfiguration` request succeeds, but
5885
- # S3 Metadata was unable to create the table, this structure contains
5886
- # 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
5887
6154
  #
5888
6155
  # @!attribute [rw] error_code
5889
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
6156
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
5890
6157
  # but S3 Metadata was unable to create the table, this structure
5891
6158
  # contains the error code. The possible error codes and error messages
5892
6159
  # are as follows:
@@ -5925,10 +6192,65 @@ module Aws::S3
5925
6192
  # Create or choose a different table bucket. To create a new
5926
6193
  # metadata table, you must delete the metadata configuration for
5927
6194
  # this bucket, and then create a new metadata configuration.
6195
+ #
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:
6200
+ #
6201
+ # * `AccessDeniedCreatingResources` - You don't have sufficient
6202
+ # permissions to create the required resources. Make sure that you
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.
6213
+ #
6214
+ # * `AccessDeniedWritingToTable` - Unable to write to the metadata
6215
+ # table because of missing resource permissions. To fix the resource
6216
+ # policy, Amazon S3 needs to create a new metadata table. To create
6217
+ # a new metadata table, you must delete the metadata configuration
6218
+ # for this bucket, and then create a new metadata configuration.
6219
+ #
6220
+ # * `DestinationTableNotFound` - The destination table doesn't exist.
6221
+ # To create a new metadata table, you must delete the metadata
6222
+ # configuration for this bucket, and then create a new metadata
6223
+ # configuration.
6224
+ #
6225
+ # * `ServerInternalError` - An internal error has occurred. To create
6226
+ # a new metadata table, you must delete the metadata configuration
6227
+ # for this bucket, and then create a new metadata configuration.
6228
+ #
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.
5928
6250
  # @return [String]
5929
6251
  #
5930
6252
  # @!attribute [rw] error_message
5931
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
6253
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
5932
6254
  # but S3 Metadata was unable to create the table, this structure
5933
6255
  # contains the error message. The possible error codes and error
5934
6256
  # messages are as follows:
@@ -5967,6 +6289,61 @@ module Aws::S3
5967
6289
  # Create or choose a different table bucket. To create a new
5968
6290
  # metadata table, you must delete the metadata configuration for
5969
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.
5970
6347
  # @return [String]
5971
6348
  #
5972
6349
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDetails AWS API Documentation
@@ -6069,6 +6446,36 @@ module Aws::S3
6069
6446
  include Aws::Structure
6070
6447
  end
6071
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
+
6072
6479
  # @!attribute [rw] status
6073
6480
  # The accelerate configuration of the bucket.
6074
6481
  # @return [String]
@@ -6138,7 +6545,7 @@ module Aws::S3
6138
6545
  end
6139
6546
 
6140
6547
  # @!attribute [rw] owner
6141
- # Container for the bucket owner's display name and ID.
6548
+ # Container for the bucket owner's ID.
6142
6549
  # @return [Types::Owner]
6143
6550
  #
6144
6551
  # @!attribute [rw] grants
@@ -6589,6 +6996,51 @@ module Aws::S3
6589
6996
  include Aws::Structure
6590
6997
  end
6591
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
+
6592
7044
  # @!attribute [rw] get_bucket_metadata_table_configuration_result
6593
7045
  # The metadata table configuration for the general purpose bucket.
6594
7046
  # @return [Types::GetBucketMetadataTableConfigurationResult]
@@ -6602,13 +7054,13 @@ module Aws::S3
6602
7054
  end
6603
7055
 
6604
7056
  # @!attribute [rw] bucket
6605
- # The general purpose bucket that contains the metadata table
7057
+ # The general purpose bucket that corresponds to the metadata table
6606
7058
  # configuration that you want to retrieve.
6607
7059
  # @return [String]
6608
7060
  #
6609
7061
  # @!attribute [rw] expected_bucket_owner
6610
7062
  # The expected owner of the general purpose bucket that you want to
6611
- # retrieve the metadata table configuration from.
7063
+ # retrieve the metadata table configuration for.
6612
7064
  # @return [String]
6613
7065
  #
6614
7066
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -6620,10 +7072,21 @@ module Aws::S3
6620
7072
  include Aws::Structure
6621
7073
  end
6622
7074
 
6623
- # 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
6624
7087
  #
6625
7088
  # @!attribute [rw] metadata_table_configuration_result
6626
- # The metadata table configuration for a general purpose bucket.
7089
+ # The V1 S3 Metadata configuration for a general purpose bucket.
6627
7090
  # @return [Types::MetadataTableConfigurationResult]
6628
7091
  #
6629
7092
  # @!attribute [rw] status
@@ -6632,7 +7095,7 @@ module Aws::S3
6632
7095
  # * `CREATING` - The metadata table is in the process of being created
6633
7096
  # in the specified table bucket.
6634
7097
  #
6635
- # * `ACTIVE` - The metadata table has been created successfully and
7098
+ # * `ACTIVE` - The metadata table has been created successfully, and
6636
7099
  # records are being delivered to the table.
6637
7100
  #
6638
7101
  # * `FAILED` - Amazon S3 is unable to create the metadata table, or
@@ -7057,7 +7520,7 @@ module Aws::S3
7057
7520
  end
7058
7521
 
7059
7522
  # @!attribute [rw] owner
7060
- # Container for the bucket owner's display name and ID.
7523
+ # Container for the bucket owner's ID.
7061
7524
  # @return [Types::Owner]
7062
7525
  #
7063
7526
  # @!attribute [rw] grants
@@ -7691,9 +8154,9 @@ module Aws::S3
7691
8154
  #
7692
8155
  # @!attribute [rw] checksum_crc32c
7693
8156
  # The Base64 encoded, 32-bit `CRC32C` checksum of the object. This
7694
- # will only be present if the object was uploaded with the object. For
7695
- # more information, see [ Checking object integrity][1] in the *Amazon
7696
- # 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*.
7697
8160
  #
7698
8161
  #
7699
8162
  #
@@ -7711,10 +8174,10 @@ module Aws::S3
7711
8174
  # @return [String]
7712
8175
  #
7713
8176
  # @!attribute [rw] checksum_sha1
7714
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
7715
- # only be present if the object was uploaded with the object. For more
7716
- # information, see [ Checking object integrity][1] in the *Amazon S3
7717
- # 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*.
7718
8181
  #
7719
8182
  #
7720
8183
  #
@@ -7722,10 +8185,10 @@ module Aws::S3
7722
8185
  # @return [String]
7723
8186
  #
7724
8187
  # @!attribute [rw] checksum_sha256
7725
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
7726
- # only be present if the object was uploaded with the object. For more
7727
- # information, see [ Checking object integrity][1] in the *Amazon S3
7728
- # 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*.
7729
8192
  #
7730
8193
  #
7731
8194
  #
@@ -8656,40 +9119,9 @@ module Aws::S3
8656
9119
  # Container for the person being granted permissions.
8657
9120
  #
8658
9121
  # @!attribute [rw] display_name
8659
- # Screen name of the grantee.
8660
9122
  # @return [String]
8661
9123
  #
8662
9124
  # @!attribute [rw] email_address
8663
- # Email address of the grantee.
8664
- #
8665
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
8666
- # following Amazon Web Services Regions:
8667
- #
8668
- # * US East (N. Virginia)
8669
- #
8670
- # * US West (N. California)
8671
- #
8672
- # * US West (Oregon)
8673
- #
8674
- # * Asia Pacific (Singapore)
8675
- #
8676
- # * Asia Pacific (Sydney)
8677
- #
8678
- # * Asia Pacific (Tokyo)
8679
- #
8680
- # * Europe (Ireland)
8681
- #
8682
- # * South America (São Paulo)
8683
- #
8684
- # For a list of all the Amazon S3 supported Regions and endpoints, see
8685
- # [Regions and Endpoints][1] in the Amazon Web Services General
8686
- # Reference.
8687
- #
8688
- # </note>
8689
- #
8690
- #
8691
- #
8692
- # [1]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
8693
9125
  # @return [String]
8694
9126
  #
8695
9127
  # @!attribute [rw] id
@@ -8716,6 +9148,21 @@ module Aws::S3
8716
9148
  include Aws::Structure
8717
9149
  end
8718
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
+ #
8719
9166
  # @!attribute [rw] bucket_location_type
8720
9167
  # The type of location where the bucket is created.
8721
9168
  #
@@ -8752,6 +9199,7 @@ module Aws::S3
8752
9199
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketOutput AWS API Documentation
8753
9200
  #
8754
9201
  class HeadBucketOutput < Struct.new(
9202
+ :bucket_arn,
8755
9203
  :bucket_location_type,
8756
9204
  :bucket_location_name,
8757
9205
  :bucket_region,
@@ -8912,7 +9360,7 @@ module Aws::S3
8912
9360
  #
8913
9361
  # @!attribute [rw] checksum_crc32
8914
9362
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
8915
- # checksum is only be present if the checksum was uploaded with the
9363
+ # checksum is only present if the checksum was uploaded with the
8916
9364
  # object. When you use an API operation on an object that was uploaded
8917
9365
  # using multipart uploads, this value may not be a direct checksum
8918
9366
  # value of the full object. Instead, it's a calculation based on the
@@ -8951,14 +9399,15 @@ module Aws::S3
8951
9399
  # @return [String]
8952
9400
  #
8953
9401
  # @!attribute [rw] checksum_sha1
8954
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
8955
- # only be present if the object was uploaded with the object. When you
8956
- # use the API operation on an object that was uploaded using multipart
8957
- # uploads, this value may not be a direct checksum value of the full
8958
- # object. Instead, it's a calculation based on the checksum values of
8959
- # each individual part. For more information about how checksums are
8960
- # calculated with multipart uploads, see [ Checking object
8961
- # 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*.
8962
9411
  #
8963
9412
  #
8964
9413
  #
@@ -8966,14 +9415,14 @@ module Aws::S3
8966
9415
  # @return [String]
8967
9416
  #
8968
9417
  # @!attribute [rw] checksum_sha256
8969
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
8970
- # only be present if the object was uploaded with the object. When you
8971
- # use an API operation on an object that was uploaded using multipart
8972
- # uploads, this value may not be a direct checksum value of the full
8973
- # object. Instead, it's a calculation based on the checksum values of
8974
- # each individual part. For more information about how checksums are
8975
- # calculated with multipart uploads, see [ Checking object
8976
- # 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*.
8977
9426
  #
8978
9427
  #
8979
9428
  #
@@ -9645,8 +10094,6 @@ module Aws::S3
9645
10094
  # @return [String]
9646
10095
  #
9647
10096
  # @!attribute [rw] display_name
9648
- # Name of the Principal.
9649
- #
9650
10097
  # <note markdown="1"> This functionality is not supported for directory buckets.
9651
10098
  #
9652
10099
  # </note>
@@ -9843,7 +10290,7 @@ module Aws::S3
9843
10290
  #
9844
10291
  class InvalidWriteOffset < Aws::EmptyStructure; end
9845
10292
 
9846
- # Specifies the inventory configuration for an Amazon S3 bucket. For
10293
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket. For
9847
10294
  # more information, see [GET Bucket inventory][1] in the *Amazon S3 API
9848
10295
  # Reference*.
9849
10296
  #
@@ -9901,7 +10348,7 @@ module Aws::S3
9901
10348
  include Aws::Structure
9902
10349
  end
9903
10350
 
9904
- # Specifies the inventory configuration for an Amazon S3 bucket.
10351
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket.
9905
10352
  #
9906
10353
  # @!attribute [rw] s3_bucket_destination
9907
10354
  # Contains the bucket name, file format, bucket owner (optional), and
@@ -9916,8 +10363,8 @@ module Aws::S3
9916
10363
  include Aws::Structure
9917
10364
  end
9918
10365
 
9919
- # Contains the type of server-side encryption used to encrypt the
9920
- # inventory results.
10366
+ # Contains the type of server-side encryption used to encrypt the S3
10367
+ # Inventory results.
9921
10368
  #
9922
10369
  # @!attribute [rw] sses3
9923
10370
  # Specifies the use of SSE-S3 to encrypt delivered inventory reports.
@@ -9936,7 +10383,7 @@ module Aws::S3
9936
10383
  include Aws::Structure
9937
10384
  end
9938
10385
 
9939
- # Specifies an inventory filter. The inventory only includes objects
10386
+ # Specifies an S3 Inventory filter. The inventory only includes objects
9940
10387
  # that meet the filter's criteria.
9941
10388
  #
9942
10389
  # @!attribute [rw] prefix
@@ -9953,7 +10400,7 @@ module Aws::S3
9953
10400
  end
9954
10401
 
9955
10402
  # Contains the bucket name, file format, bucket owner (optional), and
9956
- # prefix (optional) where inventory results are published.
10403
+ # prefix (optional) where S3 Inventory results are published.
9957
10404
  #
9958
10405
  # @!attribute [rw] account_id
9959
10406
  # The account ID that owns the destination S3 bucket. If no account ID
@@ -9996,45 +10443,246 @@ module Aws::S3
9996
10443
  include Aws::Structure
9997
10444
  end
9998
10445
 
9999
- # Specifies the schedule for generating inventory results.
10446
+ # Specifies the schedule for generating S3 Inventory results.
10000
10447
  #
10001
10448
  # @!attribute [rw] frequency
10002
10449
  # Specifies how frequently inventory results are produced.
10003
10450
  # @return [String]
10004
10451
  #
10005
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventorySchedule AWS API Documentation
10452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventorySchedule AWS API Documentation
10453
+ #
10454
+ class InventorySchedule < Struct.new(
10455
+ :frequency)
10456
+ SENSITIVE = []
10457
+ include Aws::Structure
10458
+ end
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
+
10571
+ # Specifies JSON as object's input serialization format.
10572
+ #
10573
+ # @!attribute [rw] type
10574
+ # The type of JSON. Valid values: Document, Lines.
10575
+ # @return [String]
10576
+ #
10577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONInput AWS API Documentation
10578
+ #
10579
+ class JSONInput < Struct.new(
10580
+ :type)
10581
+ SENSITIVE = []
10582
+ include Aws::Structure
10583
+ end
10584
+
10585
+ # Specifies JSON as request's output serialization format.
10586
+ #
10587
+ # @!attribute [rw] record_delimiter
10588
+ # The value used to separate individual records in the output. If no
10589
+ # value is specified, Amazon S3 uses a newline character ('\\n').
10590
+ # @return [String]
10591
+ #
10592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONOutput AWS API Documentation
10593
+ #
10594
+ class JSONOutput < Struct.new(
10595
+ :record_delimiter)
10596
+ SENSITIVE = []
10597
+ include Aws::Structure
10598
+ end
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.
10006
10639
  #
10007
- class InventorySchedule < Struct.new(
10008
- :frequency)
10009
- SENSITIVE = []
10010
- include Aws::Structure
10011
- end
10012
-
10013
- # Specifies JSON as object's input serialization format.
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.
10014
10644
  #
10015
- # @!attribute [rw] type
10016
- # The type of JSON. Valid values: Document, Lines.
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.
10017
10654
  # @return [String]
10018
10655
  #
10019
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONInput AWS API Documentation
10656
+ # @!attribute [rw] table_arn
10657
+ # The Amazon Resource Name (ARN) for the journal table.
10658
+ # @return [String]
10020
10659
  #
10021
- class JSONInput < Struct.new(
10022
- :type)
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)
10023
10672
  SENSITIVE = []
10024
10673
  include Aws::Structure
10025
10674
  end
10026
10675
 
10027
- # Specifies JSON as request's output serialization format.
10676
+ # The specified updates to the S3 Metadata journal table configuration.
10028
10677
  #
10029
- # @!attribute [rw] record_delimiter
10030
- # The value used to separate individual records in the output. If no
10031
- # value is specified, Amazon S3 uses a newline character ('\\n').
10032
- # @return [String]
10678
+ # @!attribute [rw] record_expiration
10679
+ # The journal table record expiration settings for the journal table.
10680
+ # @return [Types::RecordExpiration]
10033
10681
  #
10034
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JSONOutput AWS API Documentation
10682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfigurationUpdates AWS API Documentation
10035
10683
  #
10036
- class JSONOutput < Struct.new(
10037
- :record_delimiter)
10684
+ class JournalTableConfigurationUpdates < Struct.new(
10685
+ :record_expiration)
10038
10686
  SENSITIVE = []
10039
10687
  include Aws::Structure
10040
10688
  end
@@ -10171,8 +10819,10 @@ module Aws::S3
10171
10819
  # @return [String]
10172
10820
  #
10173
10821
  # @!attribute [rw] prefix
10174
- # Prefix identifying one or more objects to which the rule applies.
10175
- # 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.
10176
10826
  #
10177
10827
  # Replacement must be made for object keys containing special
10178
10828
  # characters (such as carriage returns) when using XML requests. For
@@ -10938,6 +11588,9 @@ module Aws::S3
10938
11588
  # `CommonPrefixes` result element are not returned elsewhere in the
10939
11589
  # response.
10940
11590
  #
11591
+ # `CommonPrefixes` is filtered out from results if it is not
11592
+ # lexicographically greater than the key-marker.
11593
+ #
10941
11594
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
10942
11595
  # supported delimiter.
10943
11596
  #
@@ -11197,6 +11850,9 @@ module Aws::S3
11197
11850
  # element in `CommonPrefixes`. These groups are counted as one result
11198
11851
  # against the `max-keys` limitation. These keys are not returned
11199
11852
  # elsewhere in the response.
11853
+ #
11854
+ # `CommonPrefixes` is filtered out from results if it is not
11855
+ # lexicographically greater than the key-marker.
11200
11856
  # @return [String]
11201
11857
  #
11202
11858
  # @!attribute [rw] encoding_type
@@ -11470,6 +12126,9 @@ module Aws::S3
11470
12126
  #
11471
12127
  # @!attribute [rw] delimiter
11472
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.
11473
12132
  # @return [String]
11474
12133
  #
11475
12134
  # @!attribute [rw] encoding_type
@@ -11749,6 +12408,9 @@ module Aws::S3
11749
12408
  # @!attribute [rw] delimiter
11750
12409
  # A delimiter is a character that you use to group keys.
11751
12410
  #
12411
+ # `CommonPrefixes` is filtered out from results if it is not
12412
+ # lexicographically greater than the `StartAfter` value.
12413
+ #
11752
12414
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
11753
12415
  # supported delimiter.
11754
12416
  #
@@ -11953,14 +12615,13 @@ module Aws::S3
11953
12615
  # Container element that identifies who initiated the multipart
11954
12616
  # upload. If the initiator is an Amazon Web Services account, this
11955
12617
  # element provides the same information as the `Owner` element. If the
11956
- # initiator is an IAM User, this element provides the user ARN and
11957
- # display name.
12618
+ # initiator is an IAM User, this element provides the user ARN.
11958
12619
  # @return [Types::Initiator]
11959
12620
  #
11960
12621
  # @!attribute [rw] owner
11961
12622
  # Container element that identifies the object owner, after the object
11962
12623
  # is created. If multipart upload is initiated by an IAM user, this
11963
- # element provides the parent account ID and display name.
12624
+ # element provides the parent account ID.
11964
12625
  #
11965
12626
  # <note markdown="1"> **Directory buckets** - The bucket owner is returned as the object
11966
12627
  # owner for all the parts.
@@ -12273,6 +12934,49 @@ module Aws::S3
12273
12934
  include Aws::Structure
12274
12935
  end
12275
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
+
12276
12980
  # A metadata key-value pair to store with an object.
12277
12981
  #
12278
12982
  # @!attribute [rw] name
@@ -12292,7 +12996,18 @@ module Aws::S3
12292
12996
  include Aws::Structure
12293
12997
  end
12294
12998
 
12295
- # 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
12296
13011
  #
12297
13012
  # @!attribute [rw] s3_tables_destination
12298
13013
  # The destination information for the metadata table configuration.
@@ -12310,12 +13025,23 @@ module Aws::S3
12310
13025
  include Aws::Structure
12311
13026
  end
12312
13027
 
12313
- # The metadata table configuration for a general purpose bucket. The
13028
+ # The V1 S3 Metadata configuration for a general purpose bucket. The
12314
13029
  # destination table bucket must be in the same Region and Amazon Web
12315
13030
  # Services account as the general purpose bucket. The specified metadata
12316
13031
  # table name must be unique within the `aws_s3_metadata` namespace in
12317
13032
  # the destination table bucket.
12318
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
+ #
12319
13045
  # @!attribute [rw] s3_tables_destination_result
12320
13046
  # The destination information for the metadata table configuration.
12321
13047
  # The destination table bucket must be in the same Region and Amazon
@@ -12332,6 +13058,34 @@ module Aws::S3
12332
13058
  include Aws::Structure
12333
13059
  end
12334
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
+
12335
13089
  # A container specifying replication metrics-related settings enabling
12336
13090
  # replication metrics and events.
12337
13091
  #
@@ -13183,44 +13937,9 @@ module Aws::S3
13183
13937
  include Aws::Structure
13184
13938
  end
13185
13939
 
13186
- # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
13187
- # returning `DisplayName`. Update your applications to use canonical IDs
13188
- # (unique identifier for Amazon Web Services accounts), Amazon Web
13189
- # Services account ID (12 digit identifier) or IAM ARNs (full resource
13190
- # naming) as a direct replacement of `DisplayName`.
13191
- #
13192
- # This change affects the following Amazon Web Services Regions: US
13193
- # East
13194
- # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13195
- # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13196
- # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13197
- # America (São Paulo) Region.
13198
- #
13199
13940
  # Container for the owner's display name and ID.
13200
13941
  #
13201
13942
  # @!attribute [rw] display_name
13202
- # Container for the display name of the owner. This value is only
13203
- # supported in the following Amazon Web Services Regions:
13204
- #
13205
- # * US East (N. Virginia)
13206
- #
13207
- # * US West (N. California)
13208
- #
13209
- # * US West (Oregon)
13210
- #
13211
- # * Asia Pacific (Singapore)
13212
- #
13213
- # * Asia Pacific (Sydney)
13214
- #
13215
- # * Asia Pacific (Tokyo)
13216
- #
13217
- # * Europe (Ireland)
13218
- #
13219
- # * South America (São Paulo)
13220
- #
13221
- # <note markdown="1"> This functionality is not supported for directory buckets.
13222
- #
13223
- # </note>
13224
13943
  # @return [String]
13225
13944
  #
13226
13945
  # @!attribute [rw] id
@@ -13483,9 +14202,11 @@ module Aws::S3
13483
14202
 
13484
14203
  # The PublicAccessBlock configuration that you want to apply to this
13485
14204
  # Amazon S3 bucket. You can enable the configuration options in any
13486
- # combination. For more information about when Amazon S3 considers a
13487
- # bucket or object public, see [The Meaning of "Public"][1] in the
13488
- # *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*.
13489
14210
  #
13490
14211
  #
13491
14212
  #
@@ -13549,6 +14270,58 @@ module Aws::S3
13549
14270
  include Aws::Structure
13550
14271
  end
13551
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
+ #
14308
+ #
14309
+ #
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)
14321
+ SENSITIVE = []
14322
+ include Aws::Structure
14323
+ end
14324
+
13552
14325
  # @!attribute [rw] bucket
13553
14326
  # The name of the bucket for which the accelerate configuration is
13554
14327
  # set.
@@ -14639,7 +15412,17 @@ module Aws::S3
14639
15412
  # @!attribute [rw] mfa
14640
15413
  # The concatenation of the authentication device's serial number, a
14641
15414
  # space, and the value that is displayed on your authentication
14642
- # 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
14643
15426
  # @return [String]
14644
15427
  #
14645
15428
  # @!attribute [rw] versioning_configuration
@@ -15175,7 +15958,7 @@ module Aws::S3
15175
15958
  #
15176
15959
  # @!attribute [rw] checksum_crc32
15177
15960
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
15178
- # checksum is only be present if the checksum was uploaded with the
15961
+ # checksum is only present if the checksum was uploaded with the
15179
15962
  # object. When you use an API operation on an object that was uploaded
15180
15963
  # using multipart uploads, this value may not be a direct checksum
15181
15964
  # value of the full object. Instead, it's a calculation based on the
@@ -15218,14 +16001,15 @@ module Aws::S3
15218
16001
  # @return [String]
15219
16002
  #
15220
16003
  # @!attribute [rw] checksum_sha1
15221
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
15222
- # only be present if the object was uploaded with the object. When you
15223
- # use the API operation on an object that was uploaded using multipart
15224
- # uploads, this value may not be a direct checksum value of the full
15225
- # object. Instead, it's a calculation based on the checksum values of
15226
- # each individual part. For more information about how checksums are
15227
- # calculated with multipart uploads, see [ Checking object
15228
- # 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*.
15229
16013
  #
15230
16014
  #
15231
16015
  #
@@ -15233,14 +16017,14 @@ module Aws::S3
15233
16017
  # @return [String]
15234
16018
  #
15235
16019
  # @!attribute [rw] checksum_sha256
15236
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
15237
- # only be present if the object was uploaded with the object. When you
15238
- # use an API operation on an object that was uploaded using multipart
15239
- # uploads, this value may not be a direct checksum value of the full
15240
- # object. Instead, it's a calculation based on the checksum values of
15241
- # each individual part. For more information about how checksums are
15242
- # calculated with multipart uploads, see [ Checking object
15243
- # 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*.
15244
16028
  #
15245
16029
  #
15246
16030
  #
@@ -16356,21 +17140,9 @@ module Aws::S3
16356
17140
  # @return [String]
16357
17141
  #
16358
17142
  # @!attribute [rw] request_payer
16359
- # Confirms that the requester knows that they will be charged for the
16360
- # request. Bucket owners need not specify this parameter in their
16361
- # requests. If either the source or destination S3 bucket has
16362
- # Requester Pays enabled, the requester will pay for corresponding
16363
- # charges to copy the object. For information about downloading
16364
- # objects from Requester Pays buckets, see [Downloading Objects in
16365
- # Requester Pays Buckets][1] in the *Amazon S3 User Guide*.
16366
- #
16367
- # <note markdown="1"> This functionality is not supported for directory buckets.
16368
- #
16369
- # </note>
16370
- #
16371
- #
16372
- #
16373
- # [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.
16374
17146
  # @return [String]
16375
17147
  #
16376
17148
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingRequest AWS API Documentation
@@ -16530,6 +17302,32 @@ module Aws::S3
16530
17302
  include Aws::Structure
16531
17303
  end
16532
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
+
16533
17331
  # The container for the records event.
16534
17332
  #
16535
17333
  # @!attribute [rw] payload
@@ -16538,7 +17336,7 @@ module Aws::S3
16538
17336
  # record frame. To ensure continuous streaming of data, S3 Select
16539
17337
  # might split the same record across multiple record frames instead of
16540
17338
  # aggregating the results in memory. Some S3 clients (for example, the
16541
- # SDKforJava) handle this behavior by creating a `ByteStream` out of
17339
+ # SDK for Java) handle this behavior by creating a `ByteStream` out of
16542
17340
  # the response by default. Other clients might not handle this
16543
17341
  # behavior by default. In those cases, you must aggregate the results
16544
17342
  # on the client side and parse the response.
@@ -17518,12 +18316,23 @@ module Aws::S3
17518
18316
  include Aws::Structure
17519
18317
  end
17520
18318
 
17521
- # The destination information for the metadata table configuration. The
18319
+ # The destination information for a V1 S3 Metadata configuration. The
17522
18320
  # destination table bucket must be in the same Region and Amazon Web
17523
18321
  # Services account as the general purpose bucket. The specified metadata
17524
18322
  # table name must be unique within the `aws_s3_metadata` namespace in
17525
18323
  # the destination table bucket.
17526
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
+ #
17527
18336
  # @!attribute [rw] table_bucket_arn
17528
18337
  # The Amazon Resource Name (ARN) for the table bucket that's
17529
18338
  # specified as the destination in the metadata table configuration.
@@ -17547,12 +18356,23 @@ module Aws::S3
17547
18356
  include Aws::Structure
17548
18357
  end
17549
18358
 
17550
- # The destination information for the metadata table configuration. The
18359
+ # The destination information for a V1 S3 Metadata configuration. The
17551
18360
  # destination table bucket must be in the same Region and Amazon Web
17552
18361
  # Services account as the general purpose bucket. The specified metadata
17553
18362
  # table name must be unique within the `aws_s3_metadata` namespace in
17554
18363
  # the destination table bucket.
17555
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
+ #
17556
18376
  # @!attribute [rw] table_bucket_arn
17557
18377
  # The Amazon Resource Name (ARN) for the table bucket that's
17558
18378
  # specified as the destination in the metadata table configuration.
@@ -18008,11 +18828,36 @@ module Aws::S3
18008
18828
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
18009
18829
  # @return [Boolean]
18010
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
+ #
18011
18855
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule AWS API Documentation
18012
18856
  #
18013
18857
  class ServerSideEncryptionRule < Struct.new(
18014
18858
  :apply_server_side_encryption_by_default,
18015
- :bucket_key_enabled)
18859
+ :bucket_key_enabled,
18860
+ :blocked_encryption_types)
18016
18861
  SENSITIVE = []
18017
18862
  include Aws::Structure
18018
18863
  end
@@ -18458,6 +19303,79 @@ module Aws::S3
18458
19303
  include Aws::Structure
18459
19304
  end
18460
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
+
18461
19379
  # @!attribute [rw] copy_source_version_id
18462
19380
  # The version of the source object that was copied, if you have
18463
19381
  # enabled versioning on the source bucket.
@@ -18893,7 +19811,7 @@ module Aws::S3
18893
19811
  #
18894
19812
  # @!attribute [rw] checksum_crc32
18895
19813
  # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
18896
- # checksum is only be present if the checksum was uploaded with the
19814
+ # checksum is only present if the checksum was uploaded with the
18897
19815
  # object. When you use an API operation on an object that was uploaded
18898
19816
  # using multipart uploads, this value may not be a direct checksum
18899
19817
  # value of the full object. Instead, it's a calculation based on the
@@ -18934,14 +19852,15 @@ module Aws::S3
18934
19852
  # @return [String]
18935
19853
  #
18936
19854
  # @!attribute [rw] checksum_sha1
18937
- # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
18938
- # only be present if the object was uploaded with the object. When you
18939
- # use the API operation on an object that was uploaded using multipart
18940
- # uploads, this value may not be a direct checksum value of the full
18941
- # object. Instead, it's a calculation based on the checksum values of
18942
- # each individual part. For more information about how checksums are
18943
- # calculated with multipart uploads, see [ Checking object
18944
- # 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*.
18945
19864
  #
18946
19865
  #
18947
19866
  #
@@ -18949,14 +19868,14 @@ module Aws::S3
18949
19868
  # @return [String]
18950
19869
  #
18951
19870
  # @!attribute [rw] checksum_sha256
18952
- # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
18953
- # only be present if the object was uploaded with the object. When you
18954
- # use an API operation on an object that was uploaded using multipart
18955
- # uploads, this value may not be a direct checksum value of the full
18956
- # object. Instead, it's a calculation based on the checksum values of
18957
- # each individual part. For more information about how checksums are
18958
- # calculated with multipart uploads, see [ Checking object
18959
- # 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*.
18960
19879
  #
18961
19880
  #
18962
19881
  #