aws-sdk-s3 1.192.0 → 1.193.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.
@@ -2725,7 +2725,41 @@ module Aws::S3
2725
2725
 
2726
2726
  # @!attribute [rw] bucket
2727
2727
  # The general purpose bucket that you want to create the metadata
2728
- # table configuration in.
2728
+ # configuration for.
2729
+ # @return [String]
2730
+ #
2731
+ # @!attribute [rw] content_md5
2732
+ # The `Content-MD5` header for the metadata configuration.
2733
+ # @return [String]
2734
+ #
2735
+ # @!attribute [rw] checksum_algorithm
2736
+ # The checksum algorithm to use with your metadata configuration.
2737
+ # @return [String]
2738
+ #
2739
+ # @!attribute [rw] metadata_configuration
2740
+ # The contents of your metadata configuration.
2741
+ # @return [Types::MetadataConfiguration]
2742
+ #
2743
+ # @!attribute [rw] expected_bucket_owner
2744
+ # The expected owner of the general purpose bucket that corresponds to
2745
+ # your metadata configuration.
2746
+ # @return [String]
2747
+ #
2748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataConfigurationRequest AWS API Documentation
2749
+ #
2750
+ class CreateBucketMetadataConfigurationRequest < Struct.new(
2751
+ :bucket,
2752
+ :content_md5,
2753
+ :checksum_algorithm,
2754
+ :metadata_configuration,
2755
+ :expected_bucket_owner)
2756
+ SENSITIVE = []
2757
+ include Aws::Structure
2758
+ end
2759
+
2760
+ # @!attribute [rw] bucket
2761
+ # The general purpose bucket that you want to create the metadata
2762
+ # table configuration for.
2729
2763
  # @return [String]
2730
2764
  #
2731
2765
  # @!attribute [rw] content_md5
@@ -2742,8 +2776,8 @@ module Aws::S3
2742
2776
  # @return [Types::MetadataTableConfiguration]
2743
2777
  #
2744
2778
  # @!attribute [rw] expected_bucket_owner
2745
- # The expected owner of the general purpose bucket that contains your
2746
- # metadata table configuration.
2779
+ # The expected owner of the general purpose bucket that corresponds to
2780
+ # your metadata table configuration.
2747
2781
  # @return [String]
2748
2782
  #
2749
2783
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -4164,6 +4198,25 @@ module Aws::S3
4164
4198
  include Aws::Structure
4165
4199
  end
4166
4200
 
4201
+ # @!attribute [rw] bucket
4202
+ # The general purpose bucket that you want to remove the metadata
4203
+ # configuration from.
4204
+ # @return [String]
4205
+ #
4206
+ # @!attribute [rw] expected_bucket_owner
4207
+ # The expected bucket owner of the general purpose bucket that you
4208
+ # want to remove the metadata table configuration from.
4209
+ # @return [String]
4210
+ #
4211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetadataConfigurationRequest AWS API Documentation
4212
+ #
4213
+ class DeleteBucketMetadataConfigurationRequest < Struct.new(
4214
+ :bucket,
4215
+ :expected_bucket_owner)
4216
+ SENSITIVE = []
4217
+ include Aws::Structure
4218
+ end
4219
+
4167
4220
  # @!attribute [rw] bucket
4168
4221
  # The general purpose bucket that you want to remove the metadata
4169
4222
  # table configuration from.
@@ -5090,6 +5143,37 @@ module Aws::S3
5090
5143
  include Aws::Structure
5091
5144
  end
5092
5145
 
5146
+ # The destination information for the S3 Metadata configuration.
5147
+ #
5148
+ # @!attribute [rw] table_bucket_type
5149
+ # The type of the table bucket where the metadata configuration is
5150
+ # stored. The `aws` value indicates an Amazon Web Services managed
5151
+ # table bucket, and the `customer` value indicates a customer-managed
5152
+ # table bucket. V2 metadata configurations are stored in Amazon Web
5153
+ # Services managed table buckets, and V1 metadata configurations are
5154
+ # stored in customer-managed table buckets.
5155
+ # @return [String]
5156
+ #
5157
+ # @!attribute [rw] table_bucket_arn
5158
+ # The Amazon Resource Name (ARN) of the table bucket where the
5159
+ # metadata configuration is stored.
5160
+ # @return [String]
5161
+ #
5162
+ # @!attribute [rw] table_namespace
5163
+ # The namespace in the table bucket where the metadata tables for a
5164
+ # metadata configuration are stored.
5165
+ # @return [String]
5166
+ #
5167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DestinationResult AWS API Documentation
5168
+ #
5169
+ class DestinationResult < Struct.new(
5170
+ :table_bucket_type,
5171
+ :table_bucket_arn,
5172
+ :table_namespace)
5173
+ SENSITIVE = []
5174
+ include Aws::Structure
5175
+ end
5176
+
5093
5177
  # Contains the type of server-side encryption used.
5094
5178
  #
5095
5179
  # @!attribute [rw] encryption_type
@@ -5931,12 +6015,24 @@ module Aws::S3
5931
6015
  include Aws::Structure
5932
6016
  end
5933
6017
 
5934
- # If the `CreateBucketMetadataTableConfiguration` request succeeds, but
5935
- # S3 Metadata was unable to create the table, this structure contains
5936
- # the error code and error message.
6018
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
6019
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3 Metadata
6020
+ # was unable to create the table, this structure contains the error code
6021
+ # and error message.
6022
+ #
6023
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
6024
+ # recommend that you delete and re-create your configuration by using
6025
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
6026
+ # table records and create a live inventory table.
6027
+ #
6028
+ # </note>
6029
+ #
6030
+ #
6031
+ #
6032
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
5937
6033
  #
5938
6034
  # @!attribute [rw] error_code
5939
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
6035
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
5940
6036
  # but S3 Metadata was unable to create the table, this structure
5941
6037
  # contains the error code. The possible error codes and error messages
5942
6038
  # are as follows:
@@ -5975,10 +6071,65 @@ module Aws::S3
5975
6071
  # Create or choose a different table bucket. To create a new
5976
6072
  # metadata table, you must delete the metadata configuration for
5977
6073
  # this bucket, and then create a new metadata configuration.
6074
+ #
6075
+ # If the V2 `CreateBucketMetadataConfiguration` request succeeds, but
6076
+ # S3 Metadata was unable to create the table, this structure contains
6077
+ # the error code. The possible error codes and error messages are as
6078
+ # follows:
6079
+ #
6080
+ # * `AccessDeniedCreatingResources` - You don't have sufficient
6081
+ # permissions to create the required resources. Make sure that you
6082
+ # have `s3tables:CreateTableBucket`, `s3tables:CreateNamespace`,
6083
+ # `s3tables:CreateTable`, `s3tables:GetTable`,
6084
+ # `s3tables:PutTablePolicy`, `kms:DescribeKey`, and
6085
+ # `s3tables:PutTableEncryption` permissions. Additionally, ensure
6086
+ # that the KMS key used to encrypt the table still exists, is active
6087
+ # and has a resource policy granting access to the S3 service
6088
+ # principals '`maintenance.s3tables.amazonaws.com`' and
6089
+ # '`metadata.s3.amazonaws.com`'. To create a new metadata table,
6090
+ # you must delete the metadata configuration for this bucket, and
6091
+ # then create a new metadata configuration.
6092
+ #
6093
+ # * `AccessDeniedWritingToTable` - Unable to write to the metadata
6094
+ # table because of missing resource permissions. To fix the resource
6095
+ # policy, Amazon S3 needs to create a new metadata table. To create
6096
+ # a new metadata table, you must delete the metadata configuration
6097
+ # for this bucket, and then create a new metadata configuration.
6098
+ #
6099
+ # * `DestinationTableNotFound` - The destination table doesn't exist.
6100
+ # To create a new metadata table, you must delete the metadata
6101
+ # configuration for this bucket, and then create a new metadata
6102
+ # configuration.
6103
+ #
6104
+ # * `ServerInternalError` - An internal error has occurred. To create
6105
+ # a new metadata table, you must delete the metadata configuration
6106
+ # for this bucket, and then create a new metadata configuration.
6107
+ #
6108
+ # * `JournalTableAlreadyExists` - A journal table already exists in
6109
+ # the Amazon Web Services managed table bucket's namespace. Delete
6110
+ # the journal table, and then try again. To create a new metadata
6111
+ # table, you must delete the metadata configuration for this bucket,
6112
+ # and then create a new metadata configuration.
6113
+ #
6114
+ # * `InventoryTableAlreadyExists` - An inventory table already exists
6115
+ # in the Amazon Web Services managed table bucket's namespace.
6116
+ # Delete the inventory table, and then try again. To create a new
6117
+ # metadata table, you must delete the metadata configuration for
6118
+ # this bucket, and then create a new metadata configuration.
6119
+ #
6120
+ # * `JournalTableNotAvailable` - The journal table that the inventory
6121
+ # table relies on has a `FAILED` status. An inventory table requires
6122
+ # a journal table with an `ACTIVE` status. To create a new journal
6123
+ # or inventory table, you must delete the metadata configuration for
6124
+ # this bucket, along with any journal or inventory tables, and then
6125
+ # create a new metadata configuration.
6126
+ #
6127
+ # * `NoSuchBucket` - The specified general purpose bucket does not
6128
+ # exist.
5978
6129
  # @return [String]
5979
6130
  #
5980
6131
  # @!attribute [rw] error_message
5981
- # If the `CreateBucketMetadataTableConfiguration` request succeeds,
6132
+ # If the V1 `CreateBucketMetadataTableConfiguration` request succeeds,
5982
6133
  # but S3 Metadata was unable to create the table, this structure
5983
6134
  # contains the error message. The possible error codes and error
5984
6135
  # messages are as follows:
@@ -6017,6 +6168,61 @@ module Aws::S3
6017
6168
  # Create or choose a different table bucket. To create a new
6018
6169
  # metadata table, you must delete the metadata configuration for
6019
6170
  # this bucket, and then create a new metadata configuration.
6171
+ #
6172
+ # If the V2 `CreateBucketMetadataConfiguration` request succeeds, but
6173
+ # S3 Metadata was unable to create the table, this structure contains
6174
+ # the error code. The possible error codes and error messages are as
6175
+ # follows:
6176
+ #
6177
+ # * `AccessDeniedCreatingResources` - You don't have sufficient
6178
+ # permissions to create the required resources. Make sure that you
6179
+ # have `s3tables:CreateTableBucket`, `s3tables:CreateNamespace`,
6180
+ # `s3tables:CreateTable`, `s3tables:GetTable`,
6181
+ # `s3tables:PutTablePolicy`, `kms:DescribeKey`, and
6182
+ # `s3tables:PutTableEncryption` permissions. Additionally, ensure
6183
+ # that the KMS key used to encrypt the table still exists, is active
6184
+ # and has a resource policy granting access to the S3 service
6185
+ # principals '`maintenance.s3tables.amazonaws.com`' and
6186
+ # '`metadata.s3.amazonaws.com`'. To create a new metadata table,
6187
+ # you must delete the metadata configuration for this bucket, and
6188
+ # then create a new metadata configuration.
6189
+ #
6190
+ # * `AccessDeniedWritingToTable` - Unable to write to the metadata
6191
+ # table because of missing resource permissions. To fix the resource
6192
+ # policy, Amazon S3 needs to create a new metadata table. To create
6193
+ # a new metadata table, you must delete the metadata configuration
6194
+ # for this bucket, and then create a new metadata configuration.
6195
+ #
6196
+ # * `DestinationTableNotFound` - The destination table doesn't exist.
6197
+ # To create a new metadata table, you must delete the metadata
6198
+ # configuration for this bucket, and then create a new metadata
6199
+ # configuration.
6200
+ #
6201
+ # * `ServerInternalError` - An internal error has occurred. To create
6202
+ # a new metadata table, you must delete the metadata configuration
6203
+ # for this bucket, and then create a new metadata configuration.
6204
+ #
6205
+ # * `JournalTableAlreadyExists` - A journal table already exists in
6206
+ # the Amazon Web Services managed table bucket's namespace. Delete
6207
+ # the journal table, and then try again. To create a new metadata
6208
+ # table, you must delete the metadata configuration for this bucket,
6209
+ # and then create a new metadata configuration.
6210
+ #
6211
+ # * `InventoryTableAlreadyExists` - An inventory table already exists
6212
+ # in the Amazon Web Services managed table bucket's namespace.
6213
+ # Delete the inventory table, and then try again. To create a new
6214
+ # metadata table, you must delete the metadata configuration for
6215
+ # this bucket, and then create a new metadata configuration.
6216
+ #
6217
+ # * `JournalTableNotAvailable` - The journal table that the inventory
6218
+ # table relies on has a `FAILED` status. An inventory table requires
6219
+ # a journal table with an `ACTIVE` status. To create a new journal
6220
+ # or inventory table, you must delete the metadata configuration for
6221
+ # this bucket, along with any journal or inventory tables, and then
6222
+ # create a new metadata configuration.
6223
+ #
6224
+ # * `NoSuchBucket` - The specified general purpose bucket does not
6225
+ # exist.
6020
6226
  # @return [String]
6021
6227
  #
6022
6228
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDetails AWS API Documentation
@@ -6639,6 +6845,51 @@ module Aws::S3
6639
6845
  include Aws::Structure
6640
6846
  end
6641
6847
 
6848
+ # @!attribute [rw] get_bucket_metadata_configuration_result
6849
+ # The metadata configuration for the general purpose bucket.
6850
+ # @return [Types::GetBucketMetadataConfigurationResult]
6851
+ #
6852
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationOutput AWS API Documentation
6853
+ #
6854
+ class GetBucketMetadataConfigurationOutput < Struct.new(
6855
+ :get_bucket_metadata_configuration_result)
6856
+ SENSITIVE = []
6857
+ include Aws::Structure
6858
+ end
6859
+
6860
+ # @!attribute [rw] bucket
6861
+ # The general purpose bucket that corresponds to the metadata
6862
+ # configuration that you want to retrieve.
6863
+ # @return [String]
6864
+ #
6865
+ # @!attribute [rw] expected_bucket_owner
6866
+ # The expected owner of the general purpose bucket that you want to
6867
+ # retrieve the metadata table configuration for.
6868
+ # @return [String]
6869
+ #
6870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationRequest AWS API Documentation
6871
+ #
6872
+ class GetBucketMetadataConfigurationRequest < Struct.new(
6873
+ :bucket,
6874
+ :expected_bucket_owner)
6875
+ SENSITIVE = []
6876
+ include Aws::Structure
6877
+ end
6878
+
6879
+ # The S3 Metadata configuration for a general purpose bucket.
6880
+ #
6881
+ # @!attribute [rw] metadata_configuration_result
6882
+ # The metadata configuration for a general purpose bucket.
6883
+ # @return [Types::MetadataConfigurationResult]
6884
+ #
6885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataConfigurationResult AWS API Documentation
6886
+ #
6887
+ class GetBucketMetadataConfigurationResult < Struct.new(
6888
+ :metadata_configuration_result)
6889
+ SENSITIVE = []
6890
+ include Aws::Structure
6891
+ end
6892
+
6642
6893
  # @!attribute [rw] get_bucket_metadata_table_configuration_result
6643
6894
  # The metadata table configuration for the general purpose bucket.
6644
6895
  # @return [Types::GetBucketMetadataTableConfigurationResult]
@@ -6652,13 +6903,13 @@ module Aws::S3
6652
6903
  end
6653
6904
 
6654
6905
  # @!attribute [rw] bucket
6655
- # The general purpose bucket that contains the metadata table
6906
+ # The general purpose bucket that corresponds to the metadata table
6656
6907
  # configuration that you want to retrieve.
6657
6908
  # @return [String]
6658
6909
  #
6659
6910
  # @!attribute [rw] expected_bucket_owner
6660
6911
  # The expected owner of the general purpose bucket that you want to
6661
- # retrieve the metadata table configuration from.
6912
+ # retrieve the metadata table configuration for.
6662
6913
  # @return [String]
6663
6914
  #
6664
6915
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetadataTableConfigurationRequest AWS API Documentation
@@ -6670,10 +6921,21 @@ module Aws::S3
6670
6921
  include Aws::Structure
6671
6922
  end
6672
6923
 
6673
- # The metadata table configuration for a general purpose bucket.
6924
+ # The V1 S3 Metadata configuration for a general purpose bucket.
6925
+ #
6926
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
6927
+ # recommend that you delete and re-create your configuration by using
6928
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
6929
+ # table records and create a live inventory table.
6930
+ #
6931
+ # </note>
6932
+ #
6933
+ #
6934
+ #
6935
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
6674
6936
  #
6675
6937
  # @!attribute [rw] metadata_table_configuration_result
6676
- # The metadata table configuration for a general purpose bucket.
6938
+ # The V1 S3 Metadata configuration for a general purpose bucket.
6677
6939
  # @return [Types::MetadataTableConfigurationResult]
6678
6940
  #
6679
6941
  # @!attribute [rw] status
@@ -6682,7 +6944,7 @@ module Aws::S3
6682
6944
  # * `CREATING` - The metadata table is in the process of being created
6683
6945
  # in the specified table bucket.
6684
6946
  #
6685
- # * `ACTIVE` - The metadata table has been created successfully and
6947
+ # * `ACTIVE` - The metadata table has been created successfully, and
6686
6948
  # records are being delivered to the table.
6687
6949
  #
6688
6950
  # * `FAILED` - Amazon S3 is unable to create the metadata table, or
@@ -9909,7 +10171,7 @@ module Aws::S3
9909
10171
  #
9910
10172
  class InvalidWriteOffset < Aws::EmptyStructure; end
9911
10173
 
9912
- # Specifies the inventory configuration for an Amazon S3 bucket. For
10174
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket. For
9913
10175
  # more information, see [GET Bucket inventory][1] in the *Amazon S3 API
9914
10176
  # Reference*.
9915
10177
  #
@@ -9967,7 +10229,7 @@ module Aws::S3
9967
10229
  include Aws::Structure
9968
10230
  end
9969
10231
 
9970
- # Specifies the inventory configuration for an Amazon S3 bucket.
10232
+ # Specifies the S3 Inventory configuration for an Amazon S3 bucket.
9971
10233
  #
9972
10234
  # @!attribute [rw] s3_bucket_destination
9973
10235
  # Contains the bucket name, file format, bucket owner (optional), and
@@ -9982,8 +10244,8 @@ module Aws::S3
9982
10244
  include Aws::Structure
9983
10245
  end
9984
10246
 
9985
- # Contains the type of server-side encryption used to encrypt the
9986
- # inventory results.
10247
+ # Contains the type of server-side encryption used to encrypt the S3
10248
+ # Inventory results.
9987
10249
  #
9988
10250
  # @!attribute [rw] sses3
9989
10251
  # Specifies the use of SSE-S3 to encrypt delivered inventory reports.
@@ -10002,7 +10264,7 @@ module Aws::S3
10002
10264
  include Aws::Structure
10003
10265
  end
10004
10266
 
10005
- # Specifies an inventory filter. The inventory only includes objects
10267
+ # Specifies an S3 Inventory filter. The inventory only includes objects
10006
10268
  # that meet the filter's criteria.
10007
10269
  #
10008
10270
  # @!attribute [rw] prefix
@@ -10019,7 +10281,7 @@ module Aws::S3
10019
10281
  end
10020
10282
 
10021
10283
  # Contains the bucket name, file format, bucket owner (optional), and
10022
- # prefix (optional) where inventory results are published.
10284
+ # prefix (optional) where S3 Inventory results are published.
10023
10285
  #
10024
10286
  # @!attribute [rw] account_id
10025
10287
  # The account ID that owns the destination S3 bucket. If no account ID
@@ -10062,7 +10324,7 @@ module Aws::S3
10062
10324
  include Aws::Structure
10063
10325
  end
10064
10326
 
10065
- # Specifies the schedule for generating inventory results.
10327
+ # Specifies the schedule for generating S3 Inventory results.
10066
10328
  #
10067
10329
  # @!attribute [rw] frequency
10068
10330
  # Specifies how frequently inventory results are produced.
@@ -10076,6 +10338,117 @@ module Aws::S3
10076
10338
  include Aws::Structure
10077
10339
  end
10078
10340
 
10341
+ # The inventory table configuration for an S3 Metadata configuration.
10342
+ #
10343
+ # @!attribute [rw] configuration_state
10344
+ # The configuration state of the inventory table, indicating whether
10345
+ # the inventory table is enabled or disabled.
10346
+ # @return [String]
10347
+ #
10348
+ # @!attribute [rw] encryption_configuration
10349
+ # The encryption configuration for the inventory table.
10350
+ # @return [Types::MetadataTableEncryptionConfiguration]
10351
+ #
10352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfiguration AWS API Documentation
10353
+ #
10354
+ class InventoryTableConfiguration < Struct.new(
10355
+ :configuration_state,
10356
+ :encryption_configuration)
10357
+ SENSITIVE = []
10358
+ include Aws::Structure
10359
+ end
10360
+
10361
+ # The inventory table configuration for an S3 Metadata configuration.
10362
+ #
10363
+ # @!attribute [rw] configuration_state
10364
+ # The configuration state of the inventory table, indicating whether
10365
+ # the inventory table is enabled or disabled.
10366
+ # @return [String]
10367
+ #
10368
+ # @!attribute [rw] table_status
10369
+ # The status of the inventory table. The status values are:
10370
+ #
10371
+ # * `CREATING` - The inventory table is in the process of being
10372
+ # created in the specified Amazon Web Services managed table bucket.
10373
+ #
10374
+ # * `BACKFILLING` - The inventory table is in the process of being
10375
+ # backfilled. When you enable the inventory table for your metadata
10376
+ # configuration, the table goes through a process known as
10377
+ # backfilling, during which Amazon S3 scans your general purpose
10378
+ # bucket to retrieve the initial metadata for all objects in the
10379
+ # bucket. Depending on the number of objects in your bucket, this
10380
+ # process can take several hours. When the backfilling process is
10381
+ # finished, the status of your inventory table changes from
10382
+ # `BACKFILLING` to `ACTIVE`. After backfilling is completed, updates
10383
+ # to your objects are reflected in the inventory table within one
10384
+ # hour.
10385
+ #
10386
+ # * `ACTIVE` - The inventory table has been created successfully, and
10387
+ # records are being delivered to the table.
10388
+ #
10389
+ # * `FAILED` - Amazon S3 is unable to create the inventory table, or
10390
+ # Amazon S3 is unable to deliver records.
10391
+ # @return [String]
10392
+ #
10393
+ # @!attribute [rw] error
10394
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
10395
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3
10396
+ # Metadata was unable to create the table, this structure contains the
10397
+ # error code and error message.
10398
+ #
10399
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025,
10400
+ # we recommend that you delete and re-create your configuration by
10401
+ # using [CreateBucketMetadataConfiguration][1] so that you can expire
10402
+ # journal table records and create a live inventory table.
10403
+ #
10404
+ # </note>
10405
+ #
10406
+ #
10407
+ #
10408
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
10409
+ # @return [Types::ErrorDetails]
10410
+ #
10411
+ # @!attribute [rw] table_name
10412
+ # The name of the inventory table.
10413
+ # @return [String]
10414
+ #
10415
+ # @!attribute [rw] table_arn
10416
+ # The Amazon Resource Name (ARN) for the inventory table.
10417
+ # @return [String]
10418
+ #
10419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfigurationResult AWS API Documentation
10420
+ #
10421
+ class InventoryTableConfigurationResult < Struct.new(
10422
+ :configuration_state,
10423
+ :table_status,
10424
+ :error,
10425
+ :table_name,
10426
+ :table_arn)
10427
+ SENSITIVE = []
10428
+ include Aws::Structure
10429
+ end
10430
+
10431
+ # The specified updates to the S3 Metadata inventory table
10432
+ # configuration.
10433
+ #
10434
+ # @!attribute [rw] configuration_state
10435
+ # The configuration state of the inventory table, indicating whether
10436
+ # the inventory table is enabled or disabled.
10437
+ # @return [String]
10438
+ #
10439
+ # @!attribute [rw] encryption_configuration
10440
+ # The encryption configuration for the inventory table.
10441
+ # @return [Types::MetadataTableEncryptionConfiguration]
10442
+ #
10443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryTableConfigurationUpdates AWS API Documentation
10444
+ #
10445
+ class InventoryTableConfigurationUpdates < Struct.new(
10446
+ :configuration_state,
10447
+ :encryption_configuration)
10448
+ SENSITIVE = []
10449
+ include Aws::Structure
10450
+ end
10451
+
10079
10452
  # Specifies JSON as object's input serialization format.
10080
10453
  #
10081
10454
  # @!attribute [rw] type
@@ -10105,6 +10478,96 @@ module Aws::S3
10105
10478
  include Aws::Structure
10106
10479
  end
10107
10480
 
10481
+ # The journal table configuration for an S3 Metadata configuration.
10482
+ #
10483
+ # @!attribute [rw] record_expiration
10484
+ # The journal table record expiration settings for the journal table.
10485
+ # @return [Types::RecordExpiration]
10486
+ #
10487
+ # @!attribute [rw] encryption_configuration
10488
+ # The encryption configuration for the journal table.
10489
+ # @return [Types::MetadataTableEncryptionConfiguration]
10490
+ #
10491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfiguration AWS API Documentation
10492
+ #
10493
+ class JournalTableConfiguration < Struct.new(
10494
+ :record_expiration,
10495
+ :encryption_configuration)
10496
+ SENSITIVE = []
10497
+ include Aws::Structure
10498
+ end
10499
+
10500
+ # The journal table configuration for the S3 Metadata configuration.
10501
+ #
10502
+ # @!attribute [rw] table_status
10503
+ # The status of the journal table. The status values are:
10504
+ #
10505
+ # * `CREATING` - The journal table is in the process of being created
10506
+ # in the specified table bucket.
10507
+ #
10508
+ # * `ACTIVE` - The journal table has been created successfully, and
10509
+ # records are being delivered to the table.
10510
+ #
10511
+ # * `FAILED` - Amazon S3 is unable to create the journal table, or
10512
+ # Amazon S3 is unable to deliver records.
10513
+ # @return [String]
10514
+ #
10515
+ # @!attribute [rw] error
10516
+ # If an S3 Metadata V1 `CreateBucketMetadataTableConfiguration` or V2
10517
+ # `CreateBucketMetadataConfiguration` request succeeds, but S3
10518
+ # Metadata was unable to create the table, this structure contains the
10519
+ # error code and error message.
10520
+ #
10521
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025,
10522
+ # we recommend that you delete and re-create your configuration by
10523
+ # using [CreateBucketMetadataConfiguration][1] so that you can expire
10524
+ # journal table records and create a live inventory table.
10525
+ #
10526
+ # </note>
10527
+ #
10528
+ #
10529
+ #
10530
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
10531
+ # @return [Types::ErrorDetails]
10532
+ #
10533
+ # @!attribute [rw] table_name
10534
+ # The name of the journal table.
10535
+ # @return [String]
10536
+ #
10537
+ # @!attribute [rw] table_arn
10538
+ # The Amazon Resource Name (ARN) for the journal table.
10539
+ # @return [String]
10540
+ #
10541
+ # @!attribute [rw] record_expiration
10542
+ # The journal table record expiration settings for the journal table.
10543
+ # @return [Types::RecordExpiration]
10544
+ #
10545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfigurationResult AWS API Documentation
10546
+ #
10547
+ class JournalTableConfigurationResult < Struct.new(
10548
+ :table_status,
10549
+ :error,
10550
+ :table_name,
10551
+ :table_arn,
10552
+ :record_expiration)
10553
+ SENSITIVE = []
10554
+ include Aws::Structure
10555
+ end
10556
+
10557
+ # The specified updates to the S3 Metadata journal table configuration.
10558
+ #
10559
+ # @!attribute [rw] record_expiration
10560
+ # The journal table record expiration settings for the journal table.
10561
+ # @return [Types::RecordExpiration]
10562
+ #
10563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/JournalTableConfigurationUpdates AWS API Documentation
10564
+ #
10565
+ class JournalTableConfigurationUpdates < Struct.new(
10566
+ :record_expiration)
10567
+ SENSITIVE = []
10568
+ include Aws::Structure
10569
+ end
10570
+
10108
10571
  # A container for specifying the configuration for Lambda notifications.
10109
10572
  #
10110
10573
  # @!attribute [rw] id
@@ -12351,6 +12814,49 @@ module Aws::S3
12351
12814
  include Aws::Structure
12352
12815
  end
12353
12816
 
12817
+ # The S3 Metadata configuration for a general purpose bucket.
12818
+ #
12819
+ # @!attribute [rw] journal_table_configuration
12820
+ # The journal table configuration for a metadata configuration.
12821
+ # @return [Types::JournalTableConfiguration]
12822
+ #
12823
+ # @!attribute [rw] inventory_table_configuration
12824
+ # The inventory table configuration for a metadata configuration.
12825
+ # @return [Types::InventoryTableConfiguration]
12826
+ #
12827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataConfiguration AWS API Documentation
12828
+ #
12829
+ class MetadataConfiguration < Struct.new(
12830
+ :journal_table_configuration,
12831
+ :inventory_table_configuration)
12832
+ SENSITIVE = []
12833
+ include Aws::Structure
12834
+ end
12835
+
12836
+ # The S3 Metadata configuration for a general purpose bucket.
12837
+ #
12838
+ # @!attribute [rw] destination_result
12839
+ # The destination settings for a metadata configuration.
12840
+ # @return [Types::DestinationResult]
12841
+ #
12842
+ # @!attribute [rw] journal_table_configuration_result
12843
+ # The journal table configuration for a metadata configuration.
12844
+ # @return [Types::JournalTableConfigurationResult]
12845
+ #
12846
+ # @!attribute [rw] inventory_table_configuration_result
12847
+ # The inventory table configuration for a metadata configuration.
12848
+ # @return [Types::InventoryTableConfigurationResult]
12849
+ #
12850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataConfigurationResult AWS API Documentation
12851
+ #
12852
+ class MetadataConfigurationResult < Struct.new(
12853
+ :destination_result,
12854
+ :journal_table_configuration_result,
12855
+ :inventory_table_configuration_result)
12856
+ SENSITIVE = []
12857
+ include Aws::Structure
12858
+ end
12859
+
12354
12860
  # A metadata key-value pair to store with an object.
12355
12861
  #
12356
12862
  # @!attribute [rw] name
@@ -12370,7 +12876,18 @@ module Aws::S3
12370
12876
  include Aws::Structure
12371
12877
  end
12372
12878
 
12373
- # The metadata table configuration for a general purpose bucket.
12879
+ # The V1 S3 Metadata configuration for a general purpose bucket.
12880
+ #
12881
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
12882
+ # recommend that you delete and re-create your configuration by using
12883
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
12884
+ # table records and create a live inventory table.
12885
+ #
12886
+ # </note>
12887
+ #
12888
+ #
12889
+ #
12890
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
12374
12891
  #
12375
12892
  # @!attribute [rw] s3_tables_destination
12376
12893
  # The destination information for the metadata table configuration.
@@ -12388,12 +12905,23 @@ module Aws::S3
12388
12905
  include Aws::Structure
12389
12906
  end
12390
12907
 
12391
- # The metadata table configuration for a general purpose bucket. The
12908
+ # The V1 S3 Metadata configuration for a general purpose bucket. The
12392
12909
  # destination table bucket must be in the same Region and Amazon Web
12393
12910
  # Services account as the general purpose bucket. The specified metadata
12394
12911
  # table name must be unique within the `aws_s3_metadata` namespace in
12395
12912
  # the destination table bucket.
12396
12913
  #
12914
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
12915
+ # recommend that you delete and re-create your configuration by using
12916
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
12917
+ # table records and create a live inventory table.
12918
+ #
12919
+ # </note>
12920
+ #
12921
+ #
12922
+ #
12923
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
12924
+ #
12397
12925
  # @!attribute [rw] s3_tables_destination_result
12398
12926
  # The destination information for the metadata table configuration.
12399
12927
  # The destination table bucket must be in the same Region and Amazon
@@ -12410,6 +12938,34 @@ module Aws::S3
12410
12938
  include Aws::Structure
12411
12939
  end
12412
12940
 
12941
+ # The encryption settings for an S3 Metadata journal table or inventory
12942
+ # table configuration.
12943
+ #
12944
+ # @!attribute [rw] sse_algorithm
12945
+ # The encryption type specified for a metadata table. To specify
12946
+ # server-side encryption with Key Management Service (KMS) keys
12947
+ # (SSE-KMS), use the `aws:kms` value. To specify server-side
12948
+ # encryption with Amazon S3 managed keys (SSE-S3), use the `AES256`
12949
+ # value.
12950
+ # @return [String]
12951
+ #
12952
+ # @!attribute [rw] kms_key_arn
12953
+ # If server-side encryption with Key Management Service (KMS) keys
12954
+ # (SSE-KMS) is specified, you must also specify the KMS key Amazon
12955
+ # Resource Name (ARN). You must specify a customer-managed KMS key
12956
+ # that's located in the same Region as the general purpose bucket
12957
+ # that corresponds to the metadata table configuration.
12958
+ # @return [String]
12959
+ #
12960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetadataTableEncryptionConfiguration AWS API Documentation
12961
+ #
12962
+ class MetadataTableEncryptionConfiguration < Struct.new(
12963
+ :sse_algorithm,
12964
+ :kms_key_arn)
12965
+ SENSITIVE = []
12966
+ include Aws::Structure
12967
+ end
12968
+
12413
12969
  # A container specifying replication metrics-related settings enabling
12414
12970
  # replication metrics and events.
12415
12971
  #
@@ -16608,6 +17164,32 @@ module Aws::S3
16608
17164
  include Aws::Structure
16609
17165
  end
16610
17166
 
17167
+ # The journal table record expiration settings for a journal table in an
17168
+ # S3 Metadata configuration.
17169
+ #
17170
+ # @!attribute [rw] expiration
17171
+ # Specifies whether journal table record expiration is enabled or
17172
+ # disabled.
17173
+ # @return [String]
17174
+ #
17175
+ # @!attribute [rw] days
17176
+ # If you enable journal table record expiration, you can set the
17177
+ # number of days to retain your journal table records. Journal table
17178
+ # records must be retained for a minimum of 7 days. To set this value,
17179
+ # specify any whole number from `7` to `2147483647`. For example, to
17180
+ # retain your journal table records for one year, set this value to
17181
+ # `365`.
17182
+ # @return [Integer]
17183
+ #
17184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RecordExpiration AWS API Documentation
17185
+ #
17186
+ class RecordExpiration < Struct.new(
17187
+ :expiration,
17188
+ :days)
17189
+ SENSITIVE = []
17190
+ include Aws::Structure
17191
+ end
17192
+
16611
17193
  # The container for the records event.
16612
17194
  #
16613
17195
  # @!attribute [rw] payload
@@ -17596,12 +18178,23 @@ module Aws::S3
17596
18178
  include Aws::Structure
17597
18179
  end
17598
18180
 
17599
- # The destination information for the metadata table configuration. The
18181
+ # The destination information for a V1 S3 Metadata configuration. The
17600
18182
  # destination table bucket must be in the same Region and Amazon Web
17601
18183
  # Services account as the general purpose bucket. The specified metadata
17602
18184
  # table name must be unique within the `aws_s3_metadata` namespace in
17603
18185
  # the destination table bucket.
17604
18186
  #
18187
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
18188
+ # recommend that you delete and re-create your configuration by using
18189
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
18190
+ # table records and create a live inventory table.
18191
+ #
18192
+ # </note>
18193
+ #
18194
+ #
18195
+ #
18196
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
18197
+ #
17605
18198
  # @!attribute [rw] table_bucket_arn
17606
18199
  # The Amazon Resource Name (ARN) for the table bucket that's
17607
18200
  # specified as the destination in the metadata table configuration.
@@ -17625,12 +18218,23 @@ module Aws::S3
17625
18218
  include Aws::Structure
17626
18219
  end
17627
18220
 
17628
- # The destination information for the metadata table configuration. The
18221
+ # The destination information for a V1 S3 Metadata configuration. The
17629
18222
  # destination table bucket must be in the same Region and Amazon Web
17630
18223
  # Services account as the general purpose bucket. The specified metadata
17631
18224
  # table name must be unique within the `aws_s3_metadata` namespace in
17632
18225
  # the destination table bucket.
17633
18226
  #
18227
+ # <note markdown="1"> If you created your S3 Metadata configuration before July 15, 2025, we
18228
+ # recommend that you delete and re-create your configuration by using
18229
+ # [CreateBucketMetadataConfiguration][1] so that you can expire journal
18230
+ # table records and create a live inventory table.
18231
+ #
18232
+ # </note>
18233
+ #
18234
+ #
18235
+ #
18236
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html
18237
+ #
17634
18238
  # @!attribute [rw] table_bucket_arn
17635
18239
  # The Amazon Resource Name (ARN) for the table bucket that's
17636
18240
  # specified as the destination in the metadata table configuration.
@@ -18536,6 +19140,79 @@ module Aws::S3
18536
19140
  include Aws::Structure
18537
19141
  end
18538
19142
 
19143
+ # @!attribute [rw] bucket
19144
+ # The general purpose bucket that corresponds to the metadata
19145
+ # configuration that you want to enable or disable an inventory table
19146
+ # for.
19147
+ # @return [String]
19148
+ #
19149
+ # @!attribute [rw] content_md5
19150
+ # The `Content-MD5` header for the inventory table configuration.
19151
+ # @return [String]
19152
+ #
19153
+ # @!attribute [rw] checksum_algorithm
19154
+ # The checksum algorithm to use with your inventory table
19155
+ # configuration.
19156
+ # @return [String]
19157
+ #
19158
+ # @!attribute [rw] inventory_table_configuration
19159
+ # The contents of your inventory table configuration.
19160
+ # @return [Types::InventoryTableConfigurationUpdates]
19161
+ #
19162
+ # @!attribute [rw] expected_bucket_owner
19163
+ # The expected owner of the general purpose bucket that corresponds to
19164
+ # the metadata table configuration that you want to enable or disable
19165
+ # an inventory table for.
19166
+ # @return [String]
19167
+ #
19168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataInventoryTableConfigurationRequest AWS API Documentation
19169
+ #
19170
+ class UpdateBucketMetadataInventoryTableConfigurationRequest < Struct.new(
19171
+ :bucket,
19172
+ :content_md5,
19173
+ :checksum_algorithm,
19174
+ :inventory_table_configuration,
19175
+ :expected_bucket_owner)
19176
+ SENSITIVE = []
19177
+ include Aws::Structure
19178
+ end
19179
+
19180
+ # @!attribute [rw] bucket
19181
+ # The general purpose bucket that corresponds to the metadata
19182
+ # configuration that you want to enable or disable journal table
19183
+ # record expiration for.
19184
+ # @return [String]
19185
+ #
19186
+ # @!attribute [rw] content_md5
19187
+ # The `Content-MD5` header for the journal table configuration.
19188
+ # @return [String]
19189
+ #
19190
+ # @!attribute [rw] checksum_algorithm
19191
+ # The checksum algorithm to use with your journal table configuration.
19192
+ # @return [String]
19193
+ #
19194
+ # @!attribute [rw] journal_table_configuration
19195
+ # The contents of your journal table configuration.
19196
+ # @return [Types::JournalTableConfigurationUpdates]
19197
+ #
19198
+ # @!attribute [rw] expected_bucket_owner
19199
+ # The expected owner of the general purpose bucket that corresponds to
19200
+ # the metadata table configuration that you want to enable or disable
19201
+ # journal table record expiration for.
19202
+ # @return [String]
19203
+ #
19204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UpdateBucketMetadataJournalTableConfigurationRequest AWS API Documentation
19205
+ #
19206
+ class UpdateBucketMetadataJournalTableConfigurationRequest < Struct.new(
19207
+ :bucket,
19208
+ :content_md5,
19209
+ :checksum_algorithm,
19210
+ :journal_table_configuration,
19211
+ :expected_bucket_owner)
19212
+ SENSITIVE = []
19213
+ include Aws::Structure
19214
+ end
19215
+
18539
19216
  # @!attribute [rw] copy_source_version_id
18540
19217
  # The version of the source object that was copied, if you have
18541
19218
  # enabled versioning on the source bucket.