aws-sdk-s3tables 1.20.0 → 1.22.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.
@@ -99,6 +99,13 @@ module Aws::S3Tables
99
99
  # and, if using SSE-KMS, the KMS key to use.
100
100
  # @return [Types::EncryptionConfiguration]
101
101
  #
102
+ # @!attribute [rw] storage_class_configuration
103
+ # The default storage class configuration for the table bucket. This
104
+ # configuration will be applied to all new tables created in this
105
+ # bucket unless overridden at the table level. If not specified, the
106
+ # service default storage class will be used.
107
+ # @return [Types::StorageClassConfiguration]
108
+ #
102
109
  # @!attribute [rw] tags
103
110
  # A map of user-defined tags that you would like to apply to the table
104
111
  # bucket that you are creating. A tag is a key-value pair that you
@@ -122,6 +129,7 @@ module Aws::S3Tables
122
129
  class CreateTableBucketRequest < Struct.new(
123
130
  :name,
124
131
  :encryption_configuration,
132
+ :storage_class_configuration,
125
133
  :tags)
126
134
  SENSITIVE = []
127
135
  include Aws::Structure
@@ -176,6 +184,13 @@ module Aws::S3Tables
176
184
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html
177
185
  # @return [Types::EncryptionConfiguration]
178
186
  #
187
+ # @!attribute [rw] storage_class_configuration
188
+ # The storage class configuration for the table. If not specified, the
189
+ # table inherits the storage class configuration from its table
190
+ # bucket. Specify this parameter to override the bucket's default
191
+ # storage class for this table.
192
+ # @return [Types::StorageClassConfiguration]
193
+ #
179
194
  # @!attribute [rw] tags
180
195
  # A map of user-defined tags that you would like to apply to the table
181
196
  # that you are creating. A tag is a key-value pair that you apply to
@@ -202,6 +217,7 @@ module Aws::S3Tables
202
217
  :format,
203
218
  :metadata,
204
219
  :encryption_configuration,
220
+ :storage_class_configuration,
205
221
  :tags)
206
222
  SENSITIVE = []
207
223
  include Aws::Structure
@@ -278,6 +294,25 @@ module Aws::S3Tables
278
294
  include Aws::Structure
279
295
  end
280
296
 
297
+ # @!attribute [rw] table_bucket_arn
298
+ # The Amazon Resource Name (ARN) of the table bucket.
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] version_token
302
+ # A version token from a previous GetTableBucketReplication call. Use
303
+ # this token to ensure you're deleting the expected version of the
304
+ # configuration.
305
+ # @return [String]
306
+ #
307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTableBucketReplicationRequest AWS API Documentation
308
+ #
309
+ class DeleteTableBucketReplicationRequest < Struct.new(
310
+ :table_bucket_arn,
311
+ :version_token)
312
+ SENSITIVE = []
313
+ include Aws::Structure
314
+ end
315
+
281
316
  # @!attribute [rw] table_bucket_arn
282
317
  # The Amazon Resource Name (ARN) of the table bucket.
283
318
  # @return [String]
@@ -313,6 +348,25 @@ module Aws::S3Tables
313
348
  include Aws::Structure
314
349
  end
315
350
 
351
+ # @!attribute [rw] table_arn
352
+ # The Amazon Resource Name (ARN) of the table.
353
+ # @return [String]
354
+ #
355
+ # @!attribute [rw] version_token
356
+ # A version token from a previous GetTableReplication call. Use this
357
+ # token to ensure you're deleting the expected version of the
358
+ # configuration.
359
+ # @return [String]
360
+ #
361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTableReplicationRequest AWS API Documentation
362
+ #
363
+ class DeleteTableReplicationRequest < Struct.new(
364
+ :table_arn,
365
+ :version_token)
366
+ SENSITIVE = []
367
+ include Aws::Structure
368
+ end
369
+
316
370
  # @!attribute [rw] table_bucket_arn
317
371
  # The Amazon Resource Name (ARN) of the table bucket that contains the
318
372
  # table.
@@ -547,6 +601,38 @@ module Aws::S3Tables
547
601
  include Aws::Structure
548
602
  end
549
603
 
604
+ # @!attribute [rw] table_bucket_arn
605
+ # The Amazon Resource Name (ARN) of the table bucket.
606
+ # @return [String]
607
+ #
608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketReplicationRequest AWS API Documentation
609
+ #
610
+ class GetTableBucketReplicationRequest < Struct.new(
611
+ :table_bucket_arn)
612
+ SENSITIVE = []
613
+ include Aws::Structure
614
+ end
615
+
616
+ # @!attribute [rw] version_token
617
+ # A version token that represents the current state of the replication
618
+ # configuration. Use this token when updating the configuration to
619
+ # ensure consistency.
620
+ # @return [String]
621
+ #
622
+ # @!attribute [rw] configuration
623
+ # The replication configuration for the table bucket, including the
624
+ # IAM role and replication rules.
625
+ # @return [Types::TableBucketReplicationConfiguration]
626
+ #
627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketReplicationResponse AWS API Documentation
628
+ #
629
+ class GetTableBucketReplicationResponse < Struct.new(
630
+ :version_token,
631
+ :configuration)
632
+ SENSITIVE = []
633
+ include Aws::Structure
634
+ end
635
+
550
636
  # @!attribute [rw] table_bucket_arn
551
637
  # The Amazon Resource Name (ARN) of the table bucket.
552
638
  # @return [String]
@@ -596,6 +682,30 @@ module Aws::S3Tables
596
682
  include Aws::Structure
597
683
  end
598
684
 
685
+ # @!attribute [rw] table_bucket_arn
686
+ # The Amazon Resource Name (ARN) of the table bucket.
687
+ # @return [String]
688
+ #
689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketStorageClassRequest AWS API Documentation
690
+ #
691
+ class GetTableBucketStorageClassRequest < Struct.new(
692
+ :table_bucket_arn)
693
+ SENSITIVE = []
694
+ include Aws::Structure
695
+ end
696
+
697
+ # @!attribute [rw] storage_class_configuration
698
+ # The storage class configuration for the table bucket.
699
+ # @return [Types::StorageClassConfiguration]
700
+ #
701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketStorageClassResponse AWS API Documentation
702
+ #
703
+ class GetTableBucketStorageClassResponse < Struct.new(
704
+ :storage_class_configuration)
705
+ SENSITIVE = []
706
+ include Aws::Structure
707
+ end
708
+
599
709
  # @!attribute [rw] table_bucket_arn
600
710
  # The Amazon Resource Name (ARN) of the table bucket containing the
601
711
  # table.
@@ -789,6 +899,135 @@ module Aws::S3Tables
789
899
  include Aws::Structure
790
900
  end
791
901
 
902
+ # @!attribute [rw] table_arn
903
+ # The Amazon Resource Name (ARN) of the table.
904
+ # @return [String]
905
+ #
906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableRecordExpirationConfigurationRequest AWS API Documentation
907
+ #
908
+ class GetTableRecordExpirationConfigurationRequest < Struct.new(
909
+ :table_arn)
910
+ SENSITIVE = []
911
+ include Aws::Structure
912
+ end
913
+
914
+ # @!attribute [rw] configuration
915
+ # The record expiration configuration for the table, including the
916
+ # status and retention settings.
917
+ # @return [Types::TableRecordExpirationConfigurationValue]
918
+ #
919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableRecordExpirationConfigurationResponse AWS API Documentation
920
+ #
921
+ class GetTableRecordExpirationConfigurationResponse < Struct.new(
922
+ :configuration)
923
+ SENSITIVE = []
924
+ include Aws::Structure
925
+ end
926
+
927
+ # @!attribute [rw] table_arn
928
+ # The Amazon Resource Name (ARN) of the table.
929
+ # @return [String]
930
+ #
931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableRecordExpirationJobStatusRequest AWS API Documentation
932
+ #
933
+ class GetTableRecordExpirationJobStatusRequest < Struct.new(
934
+ :table_arn)
935
+ SENSITIVE = []
936
+ include Aws::Structure
937
+ end
938
+
939
+ # @!attribute [rw] status
940
+ # The current status of the most recent expiration job.
941
+ # @return [String]
942
+ #
943
+ # @!attribute [rw] last_run_timestamp
944
+ # The timestamp when the expiration job was last executed.
945
+ # @return [Time]
946
+ #
947
+ # @!attribute [rw] failure_message
948
+ # If the job failed, this field contains an error message describing
949
+ # the failure reason.
950
+ # @return [String]
951
+ #
952
+ # @!attribute [rw] metrics
953
+ # Metrics about the most recent expiration job execution, including
954
+ # the number of records and files deleted.
955
+ # @return [Types::TableRecordExpirationJobMetrics]
956
+ #
957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableRecordExpirationJobStatusResponse AWS API Documentation
958
+ #
959
+ class GetTableRecordExpirationJobStatusResponse < Struct.new(
960
+ :status,
961
+ :last_run_timestamp,
962
+ :failure_message,
963
+ :metrics)
964
+ SENSITIVE = []
965
+ include Aws::Structure
966
+ end
967
+
968
+ # @!attribute [rw] table_arn
969
+ # The Amazon Resource Name (ARN) of the table.
970
+ # @return [String]
971
+ #
972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableReplicationRequest AWS API Documentation
973
+ #
974
+ class GetTableReplicationRequest < Struct.new(
975
+ :table_arn)
976
+ SENSITIVE = []
977
+ include Aws::Structure
978
+ end
979
+
980
+ # @!attribute [rw] version_token
981
+ # A version token that represents the current state of the table's
982
+ # replication configuration. Use this token when updating the
983
+ # configuration to ensure consistency.
984
+ # @return [String]
985
+ #
986
+ # @!attribute [rw] configuration
987
+ # The replication configuration for the table, including the IAM role
988
+ # and replication rules.
989
+ # @return [Types::TableReplicationConfiguration]
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableReplicationResponse AWS API Documentation
992
+ #
993
+ class GetTableReplicationResponse < Struct.new(
994
+ :version_token,
995
+ :configuration)
996
+ SENSITIVE = []
997
+ include Aws::Structure
998
+ end
999
+
1000
+ # @!attribute [rw] table_arn
1001
+ # The Amazon Resource Name (ARN) of the table.
1002
+ # @return [String]
1003
+ #
1004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableReplicationStatusRequest AWS API Documentation
1005
+ #
1006
+ class GetTableReplicationStatusRequest < Struct.new(
1007
+ :table_arn)
1008
+ SENSITIVE = []
1009
+ include Aws::Structure
1010
+ end
1011
+
1012
+ # @!attribute [rw] source_table_arn
1013
+ # The Amazon Resource Name (ARN) of the source table being replicated.
1014
+ # @return [String]
1015
+ #
1016
+ # @!attribute [rw] destinations
1017
+ # An array of status information for each replication destination,
1018
+ # including the current state, last successful update, and any error
1019
+ # messages.
1020
+ # @return [Array<Types::ReplicationDestinationStatusModel>]
1021
+ #
1022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableReplicationStatusResponse AWS API Documentation
1023
+ #
1024
+ class GetTableReplicationStatusResponse < Struct.new(
1025
+ :source_table_arn,
1026
+ :destinations)
1027
+ SENSITIVE = []
1028
+ include Aws::Structure
1029
+ end
1030
+
792
1031
  # @!attribute [rw] table_bucket_arn
793
1032
  # The Amazon Resource Name (ARN) of the table bucket associated with
794
1033
  # the table.
@@ -881,6 +1120,11 @@ module Aws::S3Tables
881
1120
  # The unique identifier of the table bucket containing this table.
882
1121
  # @return [String]
883
1122
  #
1123
+ # @!attribute [rw] managed_table_information
1124
+ # If this table is managed by S3 Tables, contains additional
1125
+ # information such as replication details.
1126
+ # @return [Types::ManagedTableInformation]
1127
+ #
884
1128
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableResponse AWS API Documentation
885
1129
  #
886
1130
  class GetTableResponse < Struct.new(
@@ -899,7 +1143,43 @@ module Aws::S3Tables
899
1143
  :modified_by,
900
1144
  :owner_account_id,
901
1145
  :format,
902
- :table_bucket_id)
1146
+ :table_bucket_id,
1147
+ :managed_table_information)
1148
+ SENSITIVE = []
1149
+ include Aws::Structure
1150
+ end
1151
+
1152
+ # @!attribute [rw] table_bucket_arn
1153
+ # The Amazon Resource Name (ARN) of the table bucket that contains the
1154
+ # table.
1155
+ # @return [String]
1156
+ #
1157
+ # @!attribute [rw] namespace
1158
+ # The namespace associated with the table.
1159
+ # @return [String]
1160
+ #
1161
+ # @!attribute [rw] name
1162
+ # The name of the table.
1163
+ # @return [String]
1164
+ #
1165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableStorageClassRequest AWS API Documentation
1166
+ #
1167
+ class GetTableStorageClassRequest < Struct.new(
1168
+ :table_bucket_arn,
1169
+ :namespace,
1170
+ :name)
1171
+ SENSITIVE = []
1172
+ include Aws::Structure
1173
+ end
1174
+
1175
+ # @!attribute [rw] storage_class_configuration
1176
+ # The storage class configuration for the table.
1177
+ # @return [Types::StorageClassConfiguration]
1178
+ #
1179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableStorageClassResponse AWS API Documentation
1180
+ #
1181
+ class GetTableStorageClassResponse < Struct.new(
1182
+ :storage_class_configuration)
903
1183
  SENSITIVE = []
904
1184
  include Aws::Structure
905
1185
  end
@@ -930,10 +1210,15 @@ module Aws::S3Tables
930
1210
  # The schema for an Iceberg table.
931
1211
  # @return [Types::IcebergSchema]
932
1212
  #
1213
+ # @!attribute [rw] properties
1214
+ # Contains configuration properties for an Iceberg table.
1215
+ # @return [Hash<String,String>]
1216
+ #
933
1217
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/IcebergMetadata AWS API Documentation
934
1218
  #
935
1219
  class IcebergMetadata < Struct.new(
936
- :schema)
1220
+ :schema,
1221
+ :properties)
937
1222
  SENSITIVE = []
938
1223
  include Aws::Structure
939
1224
  end
@@ -1010,6 +1295,26 @@ module Aws::S3Tables
1010
1295
  include Aws::Structure
1011
1296
  end
1012
1297
 
1298
+ # Contains information about the most recent successful replication
1299
+ # update to a destination.
1300
+ #
1301
+ # @!attribute [rw] metadata_location
1302
+ # The S3 location of the metadata that was successfully replicated.
1303
+ # @return [String]
1304
+ #
1305
+ # @!attribute [rw] timestamp
1306
+ # The timestamp when the replication update completed successfully.
1307
+ # @return [Time]
1308
+ #
1309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/LastSuccessfulReplicatedUpdate AWS API Documentation
1310
+ #
1311
+ class LastSuccessfulReplicatedUpdate < Struct.new(
1312
+ :metadata_location,
1313
+ :timestamp)
1314
+ SENSITIVE = []
1315
+ include Aws::Structure
1316
+ end
1317
+
1013
1318
  # @!attribute [rw] table_bucket_arn
1014
1319
  # The Amazon Resource Name (ARN) of the table bucket.
1015
1320
  # @return [String]
@@ -1195,6 +1500,37 @@ module Aws::S3Tables
1195
1500
  include Aws::Structure
1196
1501
  end
1197
1502
 
1503
+ # Contains information about tables that are managed by S3 Tables,
1504
+ # including replication information for replica tables.
1505
+ #
1506
+ # @!attribute [rw] replication_information
1507
+ # If this table is a replica, contains information about the source
1508
+ # table from which it is replicated.
1509
+ # @return [Types::ReplicationInformation]
1510
+ #
1511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ManagedTableInformation AWS API Documentation
1512
+ #
1513
+ class ManagedTableInformation < Struct.new(
1514
+ :replication_information)
1515
+ SENSITIVE = []
1516
+ include Aws::Structure
1517
+ end
1518
+
1519
+ # The requested operation is not allowed on this resource. This may
1520
+ # occur when attempting to modify a resource that is managed by a
1521
+ # service or has restrictions that prevent the operation.
1522
+ #
1523
+ # @!attribute [rw] message
1524
+ # @return [String]
1525
+ #
1526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/MethodNotAllowedException AWS API Documentation
1527
+ #
1528
+ class MethodNotAllowedException < Struct.new(
1529
+ :message)
1530
+ SENSITIVE = []
1531
+ include Aws::Structure
1532
+ end
1533
+
1198
1534
  # Contains details about a namespace.
1199
1535
  #
1200
1536
  # @!attribute [rw] namespace
@@ -1319,6 +1655,68 @@ module Aws::S3Tables
1319
1655
  include Aws::Structure
1320
1656
  end
1321
1657
 
1658
+ # @!attribute [rw] table_bucket_arn
1659
+ # The Amazon Resource Name (ARN) of the source table bucket.
1660
+ # @return [String]
1661
+ #
1662
+ # @!attribute [rw] version_token
1663
+ # A version token from a previous GetTableBucketReplication call. Use
1664
+ # this token to ensure you're updating the expected version of the
1665
+ # configuration.
1666
+ # @return [String]
1667
+ #
1668
+ # @!attribute [rw] configuration
1669
+ # The replication configuration to apply, including the IAM role and
1670
+ # replication rules.
1671
+ # @return [Types::TableBucketReplicationConfiguration]
1672
+ #
1673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableBucketReplicationRequest AWS API Documentation
1674
+ #
1675
+ class PutTableBucketReplicationRequest < Struct.new(
1676
+ :table_bucket_arn,
1677
+ :version_token,
1678
+ :configuration)
1679
+ SENSITIVE = []
1680
+ include Aws::Structure
1681
+ end
1682
+
1683
+ # @!attribute [rw] version_token
1684
+ # A new version token representing the updated replication
1685
+ # configuration.
1686
+ # @return [String]
1687
+ #
1688
+ # @!attribute [rw] status
1689
+ # The status of the replication configuration operation.
1690
+ # @return [String]
1691
+ #
1692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableBucketReplicationResponse AWS API Documentation
1693
+ #
1694
+ class PutTableBucketReplicationResponse < Struct.new(
1695
+ :version_token,
1696
+ :status)
1697
+ SENSITIVE = []
1698
+ include Aws::Structure
1699
+ end
1700
+
1701
+ # @!attribute [rw] table_bucket_arn
1702
+ # The Amazon Resource Name (ARN) of the table bucket.
1703
+ # @return [String]
1704
+ #
1705
+ # @!attribute [rw] storage_class_configuration
1706
+ # The storage class configuration to apply to the table bucket. This
1707
+ # configuration will serve as the default for new tables created in
1708
+ # this bucket.
1709
+ # @return [Types::StorageClassConfiguration]
1710
+ #
1711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableBucketStorageClassRequest AWS API Documentation
1712
+ #
1713
+ class PutTableBucketStorageClassRequest < Struct.new(
1714
+ :table_bucket_arn,
1715
+ :storage_class_configuration)
1716
+ SENSITIVE = []
1717
+ include Aws::Structure
1718
+ end
1719
+
1322
1720
  # @!attribute [rw] table_bucket_arn
1323
1721
  # The Amazon Resource Name (ARN) of the table associated with the
1324
1722
  # maintenance configuration.
@@ -1380,6 +1778,67 @@ module Aws::S3Tables
1380
1778
  include Aws::Structure
1381
1779
  end
1382
1780
 
1781
+ # @!attribute [rw] table_arn
1782
+ # The Amazon Resource Name (ARN) of the table.
1783
+ # @return [String]
1784
+ #
1785
+ # @!attribute [rw] value
1786
+ # The record expiration configuration to apply to the table, including
1787
+ # the status (`enabled` or `disabled`) and retention period in days.
1788
+ # @return [Types::TableRecordExpirationConfigurationValue]
1789
+ #
1790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableRecordExpirationConfigurationRequest AWS API Documentation
1791
+ #
1792
+ class PutTableRecordExpirationConfigurationRequest < Struct.new(
1793
+ :table_arn,
1794
+ :value)
1795
+ SENSITIVE = []
1796
+ include Aws::Structure
1797
+ end
1798
+
1799
+ # @!attribute [rw] table_arn
1800
+ # The Amazon Resource Name (ARN) of the source table.
1801
+ # @return [String]
1802
+ #
1803
+ # @!attribute [rw] version_token
1804
+ # A version token from a previous GetTableReplication call. Use this
1805
+ # token to ensure you're updating the expected version of the
1806
+ # configuration.
1807
+ # @return [String]
1808
+ #
1809
+ # @!attribute [rw] configuration
1810
+ # The replication configuration to apply to the table, including the
1811
+ # IAM role and replication rules.
1812
+ # @return [Types::TableReplicationConfiguration]
1813
+ #
1814
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableReplicationRequest AWS API Documentation
1815
+ #
1816
+ class PutTableReplicationRequest < Struct.new(
1817
+ :table_arn,
1818
+ :version_token,
1819
+ :configuration)
1820
+ SENSITIVE = []
1821
+ include Aws::Structure
1822
+ end
1823
+
1824
+ # @!attribute [rw] version_token
1825
+ # A new version token representing the updated replication
1826
+ # configuration.
1827
+ # @return [String]
1828
+ #
1829
+ # @!attribute [rw] status
1830
+ # The status of the replication configuration operation.
1831
+ # @return [String]
1832
+ #
1833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableReplicationResponse AWS API Documentation
1834
+ #
1835
+ class PutTableReplicationResponse < Struct.new(
1836
+ :version_token,
1837
+ :status)
1838
+ SENSITIVE = []
1839
+ include Aws::Structure
1840
+ end
1841
+
1383
1842
  # @!attribute [rw] table_bucket_arn
1384
1843
  # The Amazon Resource Name (ARN) of the table bucket.
1385
1844
  # @return [String]
@@ -1417,6 +1876,74 @@ module Aws::S3Tables
1417
1876
  include Aws::Structure
1418
1877
  end
1419
1878
 
1879
+ # Specifies a destination table bucket for replication.
1880
+ #
1881
+ # @!attribute [rw] destination_table_bucket_arn
1882
+ # The Amazon Resource Name (ARN) of the destination table bucket where
1883
+ # tables will be replicated.
1884
+ # @return [String]
1885
+ #
1886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ReplicationDestination AWS API Documentation
1887
+ #
1888
+ class ReplicationDestination < Struct.new(
1889
+ :destination_table_bucket_arn)
1890
+ SENSITIVE = []
1891
+ include Aws::Structure
1892
+ end
1893
+
1894
+ # Contains status information for a replication destination, including
1895
+ # the current replication state, last successful update, and any error
1896
+ # messages.
1897
+ #
1898
+ # @!attribute [rw] replication_status
1899
+ # The current status of replication to this destination.
1900
+ # @return [String]
1901
+ #
1902
+ # @!attribute [rw] destination_table_bucket_arn
1903
+ # The Amazon Resource Name (ARN) of the destination table bucket.
1904
+ # @return [String]
1905
+ #
1906
+ # @!attribute [rw] destination_table_arn
1907
+ # The Amazon Resource Name (ARN) of the destination table.
1908
+ # @return [String]
1909
+ #
1910
+ # @!attribute [rw] last_successful_replicated_update
1911
+ # Information about the most recent successful replication update to
1912
+ # this destination.
1913
+ # @return [Types::LastSuccessfulReplicatedUpdate]
1914
+ #
1915
+ # @!attribute [rw] failure_message
1916
+ # If replication has failed, this field contains an error message
1917
+ # describing the failure reason.
1918
+ # @return [String]
1919
+ #
1920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ReplicationDestinationStatusModel AWS API Documentation
1921
+ #
1922
+ class ReplicationDestinationStatusModel < Struct.new(
1923
+ :replication_status,
1924
+ :destination_table_bucket_arn,
1925
+ :destination_table_arn,
1926
+ :last_successful_replicated_update,
1927
+ :failure_message)
1928
+ SENSITIVE = []
1929
+ include Aws::Structure
1930
+ end
1931
+
1932
+ # Contains information about the source of a replicated table.
1933
+ #
1934
+ # @!attribute [rw] source_table_arn
1935
+ # The Amazon Resource Name (ARN) of the source table from which this
1936
+ # table is replicated.
1937
+ # @return [String]
1938
+ #
1939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/ReplicationInformation AWS API Documentation
1940
+ #
1941
+ class ReplicationInformation < Struct.new(
1942
+ :source_table_arn)
1943
+ SENSITIVE = []
1944
+ include Aws::Structure
1945
+ end
1946
+
1420
1947
  # Contains details about a schema field.
1421
1948
  #
1422
1949
  # @!attribute [rw] name
@@ -1450,6 +1977,25 @@ module Aws::S3Tables
1450
1977
  include Aws::Structure
1451
1978
  end
1452
1979
 
1980
+ # The configuration details for the storage class of tables or table
1981
+ # buckets. This allows you to optimize storage costs by selecting the
1982
+ # appropriate storage class based on your access patterns and
1983
+ # performance requirements.
1984
+ #
1985
+ # @!attribute [rw] storage_class
1986
+ # The storage class for the table or table bucket. Valid values
1987
+ # include storage classes optimized for different access patterns and
1988
+ # cost profiles.
1989
+ # @return [String]
1990
+ #
1991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/StorageClassConfiguration AWS API Documentation
1992
+ #
1993
+ class StorageClassConfiguration < Struct.new(
1994
+ :storage_class)
1995
+ SENSITIVE = []
1996
+ include Aws::Structure
1997
+ end
1998
+
1453
1999
  # Details about the values that define the maintenance configuration for
1454
2000
  # a table bucket.
1455
2001
  #
@@ -1494,6 +2040,45 @@ module Aws::S3Tables
1494
2040
  class Unknown < TableBucketMaintenanceSettings; end
1495
2041
  end
1496
2042
 
2043
+ # The replication configuration for a table bucket. This configuration
2044
+ # defines how tables in the source bucket are replicated to destination
2045
+ # table buckets, including the IAM role used for replication.
2046
+ #
2047
+ # @!attribute [rw] role
2048
+ # The Amazon Resource Name (ARN) of the IAM role that S3 Tables
2049
+ # assumes to replicate tables on your behalf.
2050
+ # @return [String]
2051
+ #
2052
+ # @!attribute [rw] rules
2053
+ # An array of replication rules that define which tables to replicate
2054
+ # and where to replicate them.
2055
+ # @return [Array<Types::TableBucketReplicationRule>]
2056
+ #
2057
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/TableBucketReplicationConfiguration AWS API Documentation
2058
+ #
2059
+ class TableBucketReplicationConfiguration < Struct.new(
2060
+ :role,
2061
+ :rules)
2062
+ SENSITIVE = []
2063
+ include Aws::Structure
2064
+ end
2065
+
2066
+ # Defines a rule for replicating tables from a source table bucket to
2067
+ # one or more destination table buckets.
2068
+ #
2069
+ # @!attribute [rw] destinations
2070
+ # An array of destination table buckets where tables should be
2071
+ # replicated.
2072
+ # @return [Array<Types::ReplicationDestination>]
2073
+ #
2074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/TableBucketReplicationRule AWS API Documentation
2075
+ #
2076
+ class TableBucketReplicationRule < Struct.new(
2077
+ :destinations)
2078
+ SENSITIVE = []
2079
+ include Aws::Structure
2080
+ end
2081
+
1497
2082
  # Contains details about a table bucket.
1498
2083
  #
1499
2084
  # @!attribute [rw] arn
@@ -1533,8 +2118,7 @@ module Aws::S3Tables
1533
2118
  include Aws::Structure
1534
2119
  end
1535
2120
 
1536
- # Contains the values that define a maintenance configuration for a
1537
- # table.
2121
+ # The values that define a maintenance configuration for a table.
1538
2122
  #
1539
2123
  # @!attribute [rw] status
1540
2124
  # The status of the maintenance configuration.
@@ -1630,6 +2214,111 @@ module Aws::S3Tables
1630
2214
  class Unknown < TableMetadata; end
1631
2215
  end
1632
2216
 
2217
+ # The expiration configuration settings for records in a table, and the
2218
+ # status of the configuration. If the status of the configuration is
2219
+ # enabled, records expire and are automatically removed after the number
2220
+ # of days specified in the record expiration settings for the table.
2221
+ #
2222
+ # @!attribute [rw] status
2223
+ # The status of the expiration settings for records in the table.
2224
+ # @return [String]
2225
+ #
2226
+ # @!attribute [rw] settings
2227
+ # The expiration settings for records in the table.
2228
+ # @return [Types::TableRecordExpirationSettings]
2229
+ #
2230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/TableRecordExpirationConfigurationValue AWS API Documentation
2231
+ #
2232
+ class TableRecordExpirationConfigurationValue < Struct.new(
2233
+ :status,
2234
+ :settings)
2235
+ SENSITIVE = []
2236
+ include Aws::Structure
2237
+ end
2238
+
2239
+ # Provides metrics for the record expiration job that most recently ran
2240
+ # for a table. The metrics provide insight into the amount of data that
2241
+ # was removed when the job ran.
2242
+ #
2243
+ # @!attribute [rw] deleted_data_files
2244
+ # The total number of data files that were removed when the job ran.
2245
+ # @return [Integer]
2246
+ #
2247
+ # @!attribute [rw] deleted_records
2248
+ # The total number of records that were removed when the job ran.
2249
+ # @return [Integer]
2250
+ #
2251
+ # @!attribute [rw] removed_files_size
2252
+ # The total size (in bytes) of the data files that were removed when
2253
+ # the job ran.
2254
+ # @return [Integer]
2255
+ #
2256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/TableRecordExpirationJobMetrics AWS API Documentation
2257
+ #
2258
+ class TableRecordExpirationJobMetrics < Struct.new(
2259
+ :deleted_data_files,
2260
+ :deleted_records,
2261
+ :removed_files_size)
2262
+ SENSITIVE = []
2263
+ include Aws::Structure
2264
+ end
2265
+
2266
+ # The record expiration setting that specifies when records expire and
2267
+ # are automatically removed from a table.
2268
+ #
2269
+ # @!attribute [rw] days
2270
+ # If you enable record expiration for a table, you can specify the
2271
+ # number of days to retain your table records. For example, to retain
2272
+ # your table records for one year, set this value to `365`.
2273
+ # @return [Integer]
2274
+ #
2275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/TableRecordExpirationSettings AWS API Documentation
2276
+ #
2277
+ class TableRecordExpirationSettings < Struct.new(
2278
+ :days)
2279
+ SENSITIVE = []
2280
+ include Aws::Structure
2281
+ end
2282
+
2283
+ # The replication configuration for an individual table. This
2284
+ # configuration defines how the table is replicated to destination
2285
+ # tables.
2286
+ #
2287
+ # @!attribute [rw] role
2288
+ # The Amazon Resource Name (ARN) of the IAM role that S3 Tables
2289
+ # assumes to replicate the table on your behalf.
2290
+ # @return [String]
2291
+ #
2292
+ # @!attribute [rw] rules
2293
+ # An array of replication rules that define where this table should be
2294
+ # replicated.
2295
+ # @return [Array<Types::TableReplicationRule>]
2296
+ #
2297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/TableReplicationConfiguration AWS API Documentation
2298
+ #
2299
+ class TableReplicationConfiguration < Struct.new(
2300
+ :role,
2301
+ :rules)
2302
+ SENSITIVE = []
2303
+ include Aws::Structure
2304
+ end
2305
+
2306
+ # Defines a rule for replicating a table to one or more destination
2307
+ # tables.
2308
+ #
2309
+ # @!attribute [rw] destinations
2310
+ # An array of destination table buckets where this table should be
2311
+ # replicated.
2312
+ # @return [Array<Types::ReplicationDestination>]
2313
+ #
2314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/TableReplicationRule AWS API Documentation
2315
+ #
2316
+ class TableReplicationRule < Struct.new(
2317
+ :destinations)
2318
+ SENSITIVE = []
2319
+ include Aws::Structure
2320
+ end
2321
+
1633
2322
  # Contains details about a table.
1634
2323
  #
1635
2324
  # @!attribute [rw] namespace
@@ -1656,6 +2345,12 @@ module Aws::S3Tables
1656
2345
  # The date and time the table was last modified at.
1657
2346
  # @return [Time]
1658
2347
  #
2348
+ # @!attribute [rw] managed_by_service
2349
+ # The Amazon Web Services service managing this table, if applicable.
2350
+ # For example, a replicated table is managed by the S3 Tables
2351
+ # replication service.
2352
+ # @return [String]
2353
+ #
1659
2354
  # @!attribute [rw] namespace_id
1660
2355
  # The unique identifier for the namespace that contains this table.
1661
2356
  # @return [String]
@@ -1673,6 +2368,7 @@ module Aws::S3Tables
1673
2368
  :table_arn,
1674
2369
  :created_at,
1675
2370
  :modified_at,
2371
+ :managed_by_service,
1676
2372
  :namespace_id,
1677
2373
  :table_bucket_id)
1678
2374
  SENSITIVE = []