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.
@@ -539,8 +539,13 @@ module Aws::S3Tables
539
539
  # `encryptionConfiguration` request parameter you must have the
540
540
  # `s3tables:PutTableEncryption` permission.
541
541
  #
542
- # * You must have the `s3tables:TagResource` permission in addition to
543
- # `s3tables:CreateTable` permission to create a table with tags.
542
+ # * If you use this operation with the `storageClassConfiguration`
543
+ # request parameter, you must have the
544
+ # `s3tables:PutTableStorageClass` permission.
545
+ #
546
+ # * To create a table with tags, you must have the
547
+ # `s3tables:TagResource` permission in addition to
548
+ # `s3tables:CreateTable` permission.
544
549
  #
545
550
  # <note markdown="1"> Additionally, If you choose SSE-KMS encryption you must grant the S3
546
551
  # Tables maintenance principal access to your KMS key. For more
@@ -585,6 +590,12 @@ module Aws::S3Tables
585
590
  #
586
591
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html
587
592
  #
593
+ # @option params [Types::StorageClassConfiguration] :storage_class_configuration
594
+ # The storage class configuration for the table. If not specified, the
595
+ # table inherits the storage class configuration from its table bucket.
596
+ # Specify this parameter to override the bucket's default storage class
597
+ # for this table.
598
+ #
588
599
  # @option params [Hash<String,String>] :tags
589
600
  # A map of user-defined tags that you would like to apply to the table
590
601
  # that you are creating. A tag is a key-value pair that you apply to
@@ -624,12 +635,18 @@ module Aws::S3Tables
624
635
  # },
625
636
  # ],
626
637
  # },
638
+ # properties: {
639
+ # "String" => "String",
640
+ # },
627
641
  # },
628
642
  # },
629
643
  # encryption_configuration: {
630
644
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
631
645
  # kms_key_arn: "EncryptionConfigurationKmsKeyArnString",
632
646
  # },
647
+ # storage_class_configuration: {
648
+ # storage_class: "STANDARD", # required, accepts STANDARD, INTELLIGENT_TIERING
649
+ # },
633
650
  # tags: {
634
651
  # "TagKey" => "TagValue",
635
652
  # },
@@ -660,9 +677,13 @@ module Aws::S3Tables
660
677
  # `encryptionConfiguration` parameter you must have the
661
678
  # `s3tables:PutTableBucketEncryption` permission.
662
679
  #
663
- # * You must have the `s3tables:TagResource` permission in addition to
664
- # `s3tables:CreateTableBucket` permission to create a table bucket
665
- # with tags.
680
+ # * If you use this operation with the `storageClassConfiguration`
681
+ # request parameter, you must have the
682
+ # `s3tables:PutTableBucketStorageClass` permission.
683
+ #
684
+ # * To create a table bucket with tags, you must have the
685
+ # `s3tables:TagResource` permission in addition to
686
+ # `s3tables:CreateTableBucket` permission.
666
687
  #
667
688
  #
668
689
  #
@@ -678,6 +699,12 @@ module Aws::S3Tables
678
699
  # table level. The configuration includes the encryption algorithm and,
679
700
  # if using SSE-KMS, the KMS key to use.
680
701
  #
702
+ # @option params [Types::StorageClassConfiguration] :storage_class_configuration
703
+ # The default storage class configuration for the table bucket. This
704
+ # configuration will be applied to all new tables created in this bucket
705
+ # unless overridden at the table level. If not specified, the service
706
+ # default storage class will be used.
707
+ #
681
708
  # @option params [Hash<String,String>] :tags
682
709
  # A map of user-defined tags that you would like to apply to the table
683
710
  # bucket that you are creating. A tag is a key-value pair that you apply
@@ -707,6 +734,9 @@ module Aws::S3Tables
707
734
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
708
735
  # kms_key_arn: "EncryptionConfigurationKmsKeyArnString",
709
736
  # },
737
+ # storage_class_configuration: {
738
+ # storage_class: "STANDARD", # required, accepts STANDARD, INTELLIGENT_TIERING
739
+ # },
710
740
  # tags: {
711
741
  # "TagKey" => "TagValue",
712
742
  # },
@@ -926,6 +956,42 @@ module Aws::S3Tables
926
956
  req.send_request(options)
927
957
  end
928
958
 
959
+ # Deletes the replication configuration for a table bucket. After
960
+ # deletion, new table updates will no longer be replicated to
961
+ # destination buckets, though existing replicated tables will remain in
962
+ # destination buckets.
963
+ #
964
+ # Permissions
965
+ #
966
+ # : You must have the `s3tables:DeleteTableBucketReplication` permission
967
+ # to use this operation.
968
+ #
969
+ # @option params [required, String] :table_bucket_arn
970
+ # The Amazon Resource Name (ARN) of the table bucket.
971
+ #
972
+ # @option params [String] :version_token
973
+ # A version token from a previous GetTableBucketReplication call. Use
974
+ # this token to ensure you're deleting the expected version of the
975
+ # configuration.
976
+ #
977
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
978
+ #
979
+ # @example Request syntax with placeholder values
980
+ #
981
+ # resp = client.delete_table_bucket_replication({
982
+ # table_bucket_arn: "TableBucketARN", # required
983
+ # version_token: "VersionToken",
984
+ # })
985
+ #
986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTableBucketReplication AWS API Documentation
987
+ #
988
+ # @overload delete_table_bucket_replication(params = {})
989
+ # @param [Hash] params ({})
990
+ def delete_table_bucket_replication(params = {}, options = {})
991
+ req = build_request(:delete_table_bucket_replication, params)
992
+ req.send_request(options)
993
+ end
994
+
929
995
  # Deletes a table policy. For more information, see [Deleting a table
930
996
  # policy][1] in the *Amazon Simple Storage Service User Guide*.
931
997
  #
@@ -967,6 +1033,42 @@ module Aws::S3Tables
967
1033
  req.send_request(options)
968
1034
  end
969
1035
 
1036
+ # Deletes the replication configuration for a specific table. After
1037
+ # deletion, new updates to this table will no longer be replicated to
1038
+ # destination tables, though existing replicated copies will remain in
1039
+ # destination buckets.
1040
+ #
1041
+ # Permissions
1042
+ #
1043
+ # : You must have the `s3tables:DeleteTableReplication` permission to
1044
+ # use this operation.
1045
+ #
1046
+ # @option params [required, String] :table_arn
1047
+ # The Amazon Resource Name (ARN) of the table.
1048
+ #
1049
+ # @option params [required, String] :version_token
1050
+ # A version token from a previous GetTableReplication call. Use this
1051
+ # token to ensure you're deleting the expected version of the
1052
+ # configuration.
1053
+ #
1054
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1055
+ #
1056
+ # @example Request syntax with placeholder values
1057
+ #
1058
+ # resp = client.delete_table_replication({
1059
+ # table_arn: "TableARN", # required
1060
+ # version_token: "String", # required
1061
+ # })
1062
+ #
1063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/DeleteTableReplication AWS API Documentation
1064
+ #
1065
+ # @overload delete_table_replication(params = {})
1066
+ # @param [Hash] params ({})
1067
+ def delete_table_replication(params = {}, options = {})
1068
+ req = build_request(:delete_table_replication, params)
1069
+ req.send_request(options)
1070
+ end
1071
+
970
1072
  # Gets details about a namespace. For more information, see [Table
971
1073
  # namespaces][1] in the *Amazon Simple Storage Service User Guide*.
972
1074
  #
@@ -1063,6 +1165,7 @@ module Aws::S3Tables
1063
1165
  # * {Types::GetTableResponse#owner_account_id #owner_account_id} => String
1064
1166
  # * {Types::GetTableResponse#format #format} => String
1065
1167
  # * {Types::GetTableResponse#table_bucket_id #table_bucket_id} => String
1168
+ # * {Types::GetTableResponse#managed_table_information #managed_table_information} => Types::ManagedTableInformation
1066
1169
  #
1067
1170
  # @example Request syntax with placeholder values
1068
1171
  #
@@ -1092,6 +1195,7 @@ module Aws::S3Tables
1092
1195
  # resp.owner_account_id #=> String
1093
1196
  # resp.format #=> String, one of "ICEBERG"
1094
1197
  # resp.table_bucket_id #=> String
1198
+ # resp.managed_table_information.replication_information.source_table_arn #=> String
1095
1199
  #
1096
1200
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTable AWS API Documentation
1097
1201
  #
@@ -1304,6 +1408,82 @@ module Aws::S3Tables
1304
1408
  req.send_request(options)
1305
1409
  end
1306
1410
 
1411
+ # Retrieves the replication configuration for a table bucket.This
1412
+ # operation returns the IAM role, `versionToken`, and replication rules
1413
+ # that define how tables in this bucket are replicated to other buckets.
1414
+ #
1415
+ # Permissions
1416
+ #
1417
+ # : You must have the `s3tables:GetTableBucketReplication` permission to
1418
+ # use this operation.
1419
+ #
1420
+ # @option params [required, String] :table_bucket_arn
1421
+ # The Amazon Resource Name (ARN) of the table bucket.
1422
+ #
1423
+ # @return [Types::GetTableBucketReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1424
+ #
1425
+ # * {Types::GetTableBucketReplicationResponse#version_token #version_token} => String
1426
+ # * {Types::GetTableBucketReplicationResponse#configuration #configuration} => Types::TableBucketReplicationConfiguration
1427
+ #
1428
+ # @example Request syntax with placeholder values
1429
+ #
1430
+ # resp = client.get_table_bucket_replication({
1431
+ # table_bucket_arn: "TableBucketARN", # required
1432
+ # })
1433
+ #
1434
+ # @example Response structure
1435
+ #
1436
+ # resp.version_token #=> String
1437
+ # resp.configuration.role #=> String
1438
+ # resp.configuration.rules #=> Array
1439
+ # resp.configuration.rules[0].destinations #=> Array
1440
+ # resp.configuration.rules[0].destinations[0].destination_table_bucket_arn #=> String
1441
+ #
1442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketReplication AWS API Documentation
1443
+ #
1444
+ # @overload get_table_bucket_replication(params = {})
1445
+ # @param [Hash] params ({})
1446
+ def get_table_bucket_replication(params = {}, options = {})
1447
+ req = build_request(:get_table_bucket_replication, params)
1448
+ req.send_request(options)
1449
+ end
1450
+
1451
+ # Retrieves the storage class configuration for a specific table. This
1452
+ # allows you to view the storage class settings that apply to an
1453
+ # individual table, which may differ from the table bucket's default
1454
+ # configuration.
1455
+ #
1456
+ # Permissions
1457
+ #
1458
+ # : You must have the `s3tables:GetTableBucketStorageClass` permission
1459
+ # to use this operation.
1460
+ #
1461
+ # @option params [required, String] :table_bucket_arn
1462
+ # The Amazon Resource Name (ARN) of the table bucket.
1463
+ #
1464
+ # @return [Types::GetTableBucketStorageClassResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1465
+ #
1466
+ # * {Types::GetTableBucketStorageClassResponse#storage_class_configuration #storage_class_configuration} => Types::StorageClassConfiguration
1467
+ #
1468
+ # @example Request syntax with placeholder values
1469
+ #
1470
+ # resp = client.get_table_bucket_storage_class({
1471
+ # table_bucket_arn: "TableBucketARN", # required
1472
+ # })
1473
+ #
1474
+ # @example Response structure
1475
+ #
1476
+ # resp.storage_class_configuration.storage_class #=> String, one of "STANDARD", "INTELLIGENT_TIERING"
1477
+ #
1478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableBucketStorageClass AWS API Documentation
1479
+ #
1480
+ # @overload get_table_bucket_storage_class(params = {})
1481
+ # @param [Hash] params ({})
1482
+ def get_table_bucket_storage_class(params = {}, options = {})
1483
+ req = build_request(:get_table_bucket_storage_class, params)
1484
+ req.send_request(options)
1485
+ end
1486
+
1307
1487
  # Gets the encryption configuration for a table.
1308
1488
  #
1309
1489
  # Permissions
@@ -1548,6 +1728,213 @@ module Aws::S3Tables
1548
1728
  req.send_request(options)
1549
1729
  end
1550
1730
 
1731
+ # Retrieves the expiration configuration settings for records in a
1732
+ # table, and the status of the configuration. If the status of the
1733
+ # configuration is `enabled`, records expire and are automatically
1734
+ # removed from the table after the specified number of days.
1735
+ #
1736
+ # Permissions
1737
+ #
1738
+ # : You must have the `s3tables:GetTableRecordExpirationConfiguration`
1739
+ # permission to use this operation.
1740
+ #
1741
+ # @option params [required, String] :table_arn
1742
+ # The Amazon Resource Name (ARN) of the table.
1743
+ #
1744
+ # @return [Types::GetTableRecordExpirationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1745
+ #
1746
+ # * {Types::GetTableRecordExpirationConfigurationResponse#configuration #configuration} => Types::TableRecordExpirationConfigurationValue
1747
+ #
1748
+ # @example Request syntax with placeholder values
1749
+ #
1750
+ # resp = client.get_table_record_expiration_configuration({
1751
+ # table_arn: "TableARN", # required
1752
+ # })
1753
+ #
1754
+ # @example Response structure
1755
+ #
1756
+ # resp.configuration.status #=> String, one of "enabled", "disabled"
1757
+ # resp.configuration.settings.days #=> Integer
1758
+ #
1759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableRecordExpirationConfiguration AWS API Documentation
1760
+ #
1761
+ # @overload get_table_record_expiration_configuration(params = {})
1762
+ # @param [Hash] params ({})
1763
+ def get_table_record_expiration_configuration(params = {}, options = {})
1764
+ req = build_request(:get_table_record_expiration_configuration, params)
1765
+ req.send_request(options)
1766
+ end
1767
+
1768
+ # Retrieves the status, metrics, and details of the latest record
1769
+ # expiration job for a table. This includes when the job ran, and
1770
+ # whether it succeeded or failed. If the job ran successfully, this also
1771
+ # includes statistics about the records that were removed.
1772
+ #
1773
+ # Permissions
1774
+ #
1775
+ # : You must have the `s3tables:GetTableRecordExpirationJobStatus`
1776
+ # permission to use this operation.
1777
+ #
1778
+ # @option params [required, String] :table_arn
1779
+ # The Amazon Resource Name (ARN) of the table.
1780
+ #
1781
+ # @return [Types::GetTableRecordExpirationJobStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1782
+ #
1783
+ # * {Types::GetTableRecordExpirationJobStatusResponse#status #status} => String
1784
+ # * {Types::GetTableRecordExpirationJobStatusResponse#last_run_timestamp #last_run_timestamp} => Time
1785
+ # * {Types::GetTableRecordExpirationJobStatusResponse#failure_message #failure_message} => String
1786
+ # * {Types::GetTableRecordExpirationJobStatusResponse#metrics #metrics} => Types::TableRecordExpirationJobMetrics
1787
+ #
1788
+ # @example Request syntax with placeholder values
1789
+ #
1790
+ # resp = client.get_table_record_expiration_job_status({
1791
+ # table_arn: "TableARN", # required
1792
+ # })
1793
+ #
1794
+ # @example Response structure
1795
+ #
1796
+ # resp.status #=> String, one of "NotYetRun", "Successful", "Failed", "Disabled"
1797
+ # resp.last_run_timestamp #=> Time
1798
+ # resp.failure_message #=> String
1799
+ # resp.metrics.deleted_data_files #=> Integer
1800
+ # resp.metrics.deleted_records #=> Integer
1801
+ # resp.metrics.removed_files_size #=> Integer
1802
+ #
1803
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableRecordExpirationJobStatus AWS API Documentation
1804
+ #
1805
+ # @overload get_table_record_expiration_job_status(params = {})
1806
+ # @param [Hash] params ({})
1807
+ def get_table_record_expiration_job_status(params = {}, options = {})
1808
+ req = build_request(:get_table_record_expiration_job_status, params)
1809
+ req.send_request(options)
1810
+ end
1811
+
1812
+ # Retrieves the replication configuration for a specific table.
1813
+ #
1814
+ # Permissions
1815
+ #
1816
+ # : You must have the `s3tables:GetTableReplication` permission to use
1817
+ # this operation.
1818
+ #
1819
+ # @option params [required, String] :table_arn
1820
+ # The Amazon Resource Name (ARN) of the table.
1821
+ #
1822
+ # @return [Types::GetTableReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1823
+ #
1824
+ # * {Types::GetTableReplicationResponse#version_token #version_token} => String
1825
+ # * {Types::GetTableReplicationResponse#configuration #configuration} => Types::TableReplicationConfiguration
1826
+ #
1827
+ # @example Request syntax with placeholder values
1828
+ #
1829
+ # resp = client.get_table_replication({
1830
+ # table_arn: "TableARN", # required
1831
+ # })
1832
+ #
1833
+ # @example Response structure
1834
+ #
1835
+ # resp.version_token #=> String
1836
+ # resp.configuration.role #=> String
1837
+ # resp.configuration.rules #=> Array
1838
+ # resp.configuration.rules[0].destinations #=> Array
1839
+ # resp.configuration.rules[0].destinations[0].destination_table_bucket_arn #=> String
1840
+ #
1841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableReplication AWS API Documentation
1842
+ #
1843
+ # @overload get_table_replication(params = {})
1844
+ # @param [Hash] params ({})
1845
+ def get_table_replication(params = {}, options = {})
1846
+ req = build_request(:get_table_replication, params)
1847
+ req.send_request(options)
1848
+ end
1849
+
1850
+ # Retrieves the replication status for a table, including the status of
1851
+ # replication to each destination. This operation provides visibility
1852
+ # into replication health and progress.
1853
+ #
1854
+ # Permissions
1855
+ #
1856
+ # : You must have the `s3tables:GetTableReplicationStatus` permission to
1857
+ # use this operation.
1858
+ #
1859
+ # @option params [required, String] :table_arn
1860
+ # The Amazon Resource Name (ARN) of the table.
1861
+ #
1862
+ # @return [Types::GetTableReplicationStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1863
+ #
1864
+ # * {Types::GetTableReplicationStatusResponse#source_table_arn #source_table_arn} => String
1865
+ # * {Types::GetTableReplicationStatusResponse#destinations #destinations} => Array&lt;Types::ReplicationDestinationStatusModel&gt;
1866
+ #
1867
+ # @example Request syntax with placeholder values
1868
+ #
1869
+ # resp = client.get_table_replication_status({
1870
+ # table_arn: "TableARN", # required
1871
+ # })
1872
+ #
1873
+ # @example Response structure
1874
+ #
1875
+ # resp.source_table_arn #=> String
1876
+ # resp.destinations #=> Array
1877
+ # resp.destinations[0].replication_status #=> String, one of "pending", "completed", "failed"
1878
+ # resp.destinations[0].destination_table_bucket_arn #=> String
1879
+ # resp.destinations[0].destination_table_arn #=> String
1880
+ # resp.destinations[0].last_successful_replicated_update.metadata_location #=> String
1881
+ # resp.destinations[0].last_successful_replicated_update.timestamp #=> Time
1882
+ # resp.destinations[0].failure_message #=> String
1883
+ #
1884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableReplicationStatus AWS API Documentation
1885
+ #
1886
+ # @overload get_table_replication_status(params = {})
1887
+ # @param [Hash] params ({})
1888
+ def get_table_replication_status(params = {}, options = {})
1889
+ req = build_request(:get_table_replication_status, params)
1890
+ req.send_request(options)
1891
+ end
1892
+
1893
+ # Retrieves the storage class configuration for a specific table. This
1894
+ # allows you to view the storage class settings that apply to an
1895
+ # individual table, which may differ from the table bucket's default
1896
+ # configuration.
1897
+ #
1898
+ # Permissions
1899
+ #
1900
+ # : You must have the `s3tables:GetTableStorageClass` permission to use
1901
+ # this operation.
1902
+ #
1903
+ # @option params [required, String] :table_bucket_arn
1904
+ # The Amazon Resource Name (ARN) of the table bucket that contains the
1905
+ # table.
1906
+ #
1907
+ # @option params [required, String] :namespace
1908
+ # The namespace associated with the table.
1909
+ #
1910
+ # @option params [required, String] :name
1911
+ # The name of the table.
1912
+ #
1913
+ # @return [Types::GetTableStorageClassResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1914
+ #
1915
+ # * {Types::GetTableStorageClassResponse#storage_class_configuration #storage_class_configuration} => Types::StorageClassConfiguration
1916
+ #
1917
+ # @example Request syntax with placeholder values
1918
+ #
1919
+ # resp = client.get_table_storage_class({
1920
+ # table_bucket_arn: "TableBucketARN", # required
1921
+ # namespace: "NamespaceName", # required
1922
+ # name: "TableName", # required
1923
+ # })
1924
+ #
1925
+ # @example Response structure
1926
+ #
1927
+ # resp.storage_class_configuration.storage_class #=> String, one of "STANDARD", "INTELLIGENT_TIERING"
1928
+ #
1929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/GetTableStorageClass AWS API Documentation
1930
+ #
1931
+ # @overload get_table_storage_class(params = {})
1932
+ # @param [Hash] params ({})
1933
+ def get_table_storage_class(params = {}, options = {})
1934
+ req = build_request(:get_table_storage_class, params)
1935
+ req.send_request(options)
1936
+ end
1937
+
1551
1938
  # Lists the namespaces within a table bucket. For more information, see
1552
1939
  # [Table namespaces][1] in the *Amazon Simple Storage Service User
1553
1940
  # Guide*.
@@ -1733,6 +2120,7 @@ module Aws::S3Tables
1733
2120
  # resp.tables[0].table_arn #=> String
1734
2121
  # resp.tables[0].created_at #=> Time
1735
2122
  # resp.tables[0].modified_at #=> Time
2123
+ # resp.tables[0].managed_by_service #=> String
1736
2124
  # resp.tables[0].namespace_id #=> String
1737
2125
  # resp.tables[0].table_bucket_id #=> String
1738
2126
  # resp.continuation_token #=> String
@@ -1960,6 +2348,124 @@ module Aws::S3Tables
1960
2348
  req.send_request(options)
1961
2349
  end
1962
2350
 
2351
+ # Creates or updates the replication configuration for a table bucket.
2352
+ # This operation defines how tables in the source bucket are replicated
2353
+ # to destination buckets. Replication helps ensure data availability and
2354
+ # disaster recovery across regions or accounts.
2355
+ #
2356
+ # Permissions
2357
+ # : * You must have the `s3tables:PutTableBucketReplication` permission
2358
+ # to use this operation. The IAM role specified in the configuration
2359
+ # must have permissions to read from the source bucket and write
2360
+ # permissions to all destination buckets.
2361
+ #
2362
+ # * You must also have the following permissions:
2363
+ #
2364
+ # * `s3tables:GetTable` permission on the source table.
2365
+ #
2366
+ # * `s3tables:ListTables` permission on the bucket containing the
2367
+ # table.
2368
+ #
2369
+ # * `s3tables:CreateTable` permission for the destination.
2370
+ #
2371
+ # * `s3tables:CreateNamespace` permission for the destination.
2372
+ #
2373
+ # * `s3tables:GetTableMaintenanceConfig` permission for the source
2374
+ # bucket.
2375
+ #
2376
+ # * `s3tables:PutTableMaintenanceConfig` permission for the
2377
+ # destination bucket.
2378
+ # * You must have `iam:PassRole` permission with condition allowing
2379
+ # roles to be passed to `replication.s3tables.amazonaws.com`.
2380
+ #
2381
+ # @option params [required, String] :table_bucket_arn
2382
+ # The Amazon Resource Name (ARN) of the source table bucket.
2383
+ #
2384
+ # @option params [String] :version_token
2385
+ # A version token from a previous GetTableBucketReplication call. Use
2386
+ # this token to ensure you're updating the expected version of the
2387
+ # configuration.
2388
+ #
2389
+ # @option params [required, Types::TableBucketReplicationConfiguration] :configuration
2390
+ # The replication configuration to apply, including the IAM role and
2391
+ # replication rules.
2392
+ #
2393
+ # @return [Types::PutTableBucketReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2394
+ #
2395
+ # * {Types::PutTableBucketReplicationResponse#version_token #version_token} => String
2396
+ # * {Types::PutTableBucketReplicationResponse#status #status} => String
2397
+ #
2398
+ # @example Request syntax with placeholder values
2399
+ #
2400
+ # resp = client.put_table_bucket_replication({
2401
+ # table_bucket_arn: "TableBucketARN", # required
2402
+ # version_token: "VersionToken",
2403
+ # configuration: { # required
2404
+ # role: "IAMRole", # required
2405
+ # rules: [ # required
2406
+ # {
2407
+ # destinations: [ # required
2408
+ # {
2409
+ # destination_table_bucket_arn: "TableBucketARN", # required
2410
+ # },
2411
+ # ],
2412
+ # },
2413
+ # ],
2414
+ # },
2415
+ # })
2416
+ #
2417
+ # @example Response structure
2418
+ #
2419
+ # resp.version_token #=> String
2420
+ # resp.status #=> String
2421
+ #
2422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableBucketReplication AWS API Documentation
2423
+ #
2424
+ # @overload put_table_bucket_replication(params = {})
2425
+ # @param [Hash] params ({})
2426
+ def put_table_bucket_replication(params = {}, options = {})
2427
+ req = build_request(:put_table_bucket_replication, params)
2428
+ req.send_request(options)
2429
+ end
2430
+
2431
+ # Sets or updates the storage class configuration for a table bucket.
2432
+ # This configuration serves as the default storage class for all new
2433
+ # tables created in the bucket, allowing you to optimize storage costs
2434
+ # at the bucket level.
2435
+ #
2436
+ # Permissions
2437
+ #
2438
+ # : You must have the `s3tables:PutTableBucketStorageClass` permission
2439
+ # to use this operation.
2440
+ #
2441
+ # @option params [required, String] :table_bucket_arn
2442
+ # The Amazon Resource Name (ARN) of the table bucket.
2443
+ #
2444
+ # @option params [required, Types::StorageClassConfiguration] :storage_class_configuration
2445
+ # The storage class configuration to apply to the table bucket. This
2446
+ # configuration will serve as the default for new tables created in this
2447
+ # bucket.
2448
+ #
2449
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2450
+ #
2451
+ # @example Request syntax with placeholder values
2452
+ #
2453
+ # resp = client.put_table_bucket_storage_class({
2454
+ # table_bucket_arn: "TableBucketARN", # required
2455
+ # storage_class_configuration: { # required
2456
+ # storage_class: "STANDARD", # required, accepts STANDARD, INTELLIGENT_TIERING
2457
+ # },
2458
+ # })
2459
+ #
2460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableBucketStorageClass AWS API Documentation
2461
+ #
2462
+ # @overload put_table_bucket_storage_class(params = {})
2463
+ # @param [Hash] params ({})
2464
+ def put_table_bucket_storage_class(params = {}, options = {})
2465
+ req = build_request(:put_table_bucket_storage_class, params)
2466
+ req.send_request(options)
2467
+ end
2468
+
1963
2469
  # Creates a new maintenance configuration or replaces an existing
1964
2470
  # maintenance configuration for a table. For more information, see [S3
1965
2471
  # Tables maintenance][1] in the *Amazon Simple Storage Service User
@@ -2069,6 +2575,124 @@ module Aws::S3Tables
2069
2575
  req.send_request(options)
2070
2576
  end
2071
2577
 
2578
+ # Creates or updates the expiration configuration settings for records
2579
+ # in a table, including the status of the configuration. If you enable
2580
+ # record expiration for a table, records expire and are automatically
2581
+ # removed from the table after the number of days that you specify.
2582
+ #
2583
+ # Permissions
2584
+ #
2585
+ # : You must have the `s3tables:PutTableRecordExpirationConfiguration`
2586
+ # permission to use this operation.
2587
+ #
2588
+ # @option params [required, String] :table_arn
2589
+ # The Amazon Resource Name (ARN) of the table.
2590
+ #
2591
+ # @option params [required, Types::TableRecordExpirationConfigurationValue] :value
2592
+ # The record expiration configuration to apply to the table, including
2593
+ # the status (`enabled` or `disabled`) and retention period in days.
2594
+ #
2595
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2596
+ #
2597
+ # @example Request syntax with placeholder values
2598
+ #
2599
+ # resp = client.put_table_record_expiration_configuration({
2600
+ # table_arn: "TableARN", # required
2601
+ # value: { # required
2602
+ # status: "enabled", # accepts enabled, disabled
2603
+ # settings: {
2604
+ # days: 1,
2605
+ # },
2606
+ # },
2607
+ # })
2608
+ #
2609
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableRecordExpirationConfiguration AWS API Documentation
2610
+ #
2611
+ # @overload put_table_record_expiration_configuration(params = {})
2612
+ # @param [Hash] params ({})
2613
+ def put_table_record_expiration_configuration(params = {}, options = {})
2614
+ req = build_request(:put_table_record_expiration_configuration, params)
2615
+ req.send_request(options)
2616
+ end
2617
+
2618
+ # Creates or updates the replication configuration for a specific table.
2619
+ # This operation allows you to define table-level replication
2620
+ # independently of bucket-level replication, providing granular control
2621
+ # over which tables are replicated and where.
2622
+ #
2623
+ # Permissions
2624
+ # : * You must have the `s3tables:PutTableReplication` permission to use
2625
+ # this operation. The IAM role specified in the configuration must
2626
+ # have permissions to read from the source table and write to all
2627
+ # destination tables.
2628
+ #
2629
+ # * You must also have the following permissions:
2630
+ #
2631
+ # * `s3tables:GetTable` permission on the source table being
2632
+ # replicated.
2633
+ #
2634
+ # * `s3tables:CreateTable` permission for the destination.
2635
+ #
2636
+ # * `s3tables:CreateNamespace` permission for the destination.
2637
+ #
2638
+ # * `s3tables:GetTableMaintenanceConfig` permission for the source
2639
+ # table.
2640
+ #
2641
+ # * `s3tables:PutTableMaintenanceConfig` permission for the
2642
+ # destination table.
2643
+ # * You must have `iam:PassRole` permission with condition allowing
2644
+ # roles to be passed to `replication.s3tables.amazonaws.com`.
2645
+ #
2646
+ # @option params [required, String] :table_arn
2647
+ # The Amazon Resource Name (ARN) of the source table.
2648
+ #
2649
+ # @option params [String] :version_token
2650
+ # A version token from a previous GetTableReplication call. Use this
2651
+ # token to ensure you're updating the expected version of the
2652
+ # configuration.
2653
+ #
2654
+ # @option params [required, Types::TableReplicationConfiguration] :configuration
2655
+ # The replication configuration to apply to the table, including the IAM
2656
+ # role and replication rules.
2657
+ #
2658
+ # @return [Types::PutTableReplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2659
+ #
2660
+ # * {Types::PutTableReplicationResponse#version_token #version_token} => String
2661
+ # * {Types::PutTableReplicationResponse#status #status} => String
2662
+ #
2663
+ # @example Request syntax with placeholder values
2664
+ #
2665
+ # resp = client.put_table_replication({
2666
+ # table_arn: "TableARN", # required
2667
+ # version_token: "String",
2668
+ # configuration: { # required
2669
+ # role: "IAMRole", # required
2670
+ # rules: [ # required
2671
+ # {
2672
+ # destinations: [ # required
2673
+ # {
2674
+ # destination_table_bucket_arn: "TableBucketARN", # required
2675
+ # },
2676
+ # ],
2677
+ # },
2678
+ # ],
2679
+ # },
2680
+ # })
2681
+ #
2682
+ # @example Response structure
2683
+ #
2684
+ # resp.version_token #=> String
2685
+ # resp.status #=> String
2686
+ #
2687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3tables-2018-05-10/PutTableReplication AWS API Documentation
2688
+ #
2689
+ # @overload put_table_replication(params = {})
2690
+ # @param [Hash] params ({})
2691
+ def put_table_replication(params = {}, options = {})
2692
+ req = build_request(:put_table_replication, params)
2693
+ req.send_request(options)
2694
+ end
2695
+
2072
2696
  # Renames a table or a namespace. For more information, see [S3
2073
2697
  # Tables][1] in the *Amazon Simple Storage Service User Guide*.
2074
2698
  #
@@ -2314,7 +2938,7 @@ module Aws::S3Tables
2314
2938
  tracer: tracer
2315
2939
  )
2316
2940
  context[:gem_name] = 'aws-sdk-s3tables'
2317
- context[:gem_version] = '1.20.0'
2941
+ context[:gem_version] = '1.22.0'
2318
2942
  Seahorse::Client::Request.new(handlers, context)
2319
2943
  end
2320
2944