aws-sdk-dynamodb 1.96.0 → 1.132.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.
@@ -45,8 +45,8 @@ module Aws::DynamoDB
45
45
  include Aws::Structure
46
46
  end
47
47
 
48
- # Represents an attribute for describing the key schema for the table
49
- # and indexes.
48
+ # Represents an attribute for describing the schema for the table and
49
+ # indexes.
50
50
  #
51
51
  # @!attribute [rw] attribute_name
52
52
  # A name for the attribute.
@@ -132,13 +132,13 @@ module Aws::DynamoDB
132
132
  # @!attribute [rw] m
133
133
  # An attribute of type Map. For example:
134
134
  #
135
- # `"M": \{"Name": \{"S": "Joe"\}, "Age": \{"N": "35"\}\}`
135
+ # `"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}`
136
136
  # @return [Hash<String,Types::AttributeValue>]
137
137
  #
138
138
  # @!attribute [rw] l
139
139
  # An attribute of type List. For example:
140
140
  #
141
- # `"L": [ \{"S": "Cookies"\} , \{"S": "Coffee"\}, \{"N": "3.14159"\}]`
141
+ # `"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]`
142
142
  # @return [Array<Types::AttributeValue>]
143
143
  #
144
144
  # @!attribute [rw] null
@@ -258,7 +258,6 @@ module Aws::DynamoDB
258
258
  # if the existing data type is a set of strings, the `Value` must
259
259
  # also be a set of strings. The same holds true for number sets
260
260
  # and binary sets.
261
- #
262
261
  # This action is only valid for an existing attribute whose data
263
262
  # type is number or is a set. Do not use `ADD` for any other data
264
263
  # types.
@@ -737,9 +736,10 @@ module Aws::DynamoDB
737
736
  # Represents the input of a `BatchGetItem` operation.
738
737
  #
739
738
  # @!attribute [rw] request_items
740
- # A map of one or more table names and, for each table, a map that
741
- # describes one or more items to retrieve from that table. Each table
742
- # name can be used only once per `BatchGetItem` request.
739
+ # A map of one or more table names or table ARNs and, for each table,
740
+ # a map that describes one or more items to retrieve from that table.
741
+ # Each table name or ARN can be used only once per `BatchGetItem`
742
+ # request.
743
743
  #
744
744
  # Each element in the map of items to retrieve consists of the
745
745
  # following:
@@ -759,7 +759,6 @@ module Aws::DynamoDB
759
759
  #
760
760
  # * To prevent special characters in an attribute name from being
761
761
  # misinterpreted in an expression.
762
- #
763
762
  # Use the **#** character in an expression to dereference an
764
763
  # attribute name. For example, consider the following attribute
765
764
  # name:
@@ -767,24 +766,21 @@ module Aws::DynamoDB
767
766
  # * `Percentile`
768
767
  #
769
768
  # ^
770
- #
771
769
  # The name of this attribute conflicts with a reserved word, so it
772
770
  # cannot be used directly in an expression. (For the complete list
773
771
  # of reserved words, see [Reserved Words][1] in the *Amazon DynamoDB
774
772
  # Developer Guide*). To work around this, you could specify the
775
773
  # following for `ExpressionAttributeNames`:
776
774
  #
777
- # * `\{"#P":"Percentile"\}`
775
+ # * `{"#P":"Percentile"}`
778
776
  #
779
777
  # ^
780
- #
781
778
  # You could then use this substitution in an expression, as in this
782
779
  # example:
783
780
  #
784
781
  # * `#P = :val`
785
782
  #
786
783
  # ^
787
- #
788
784
  # <note markdown="1"> Tokens that begin with the **\:** character are *expression
789
785
  # attribute values*, which are placeholders for the actual value at
790
786
  # runtime.
@@ -857,9 +853,9 @@ module Aws::DynamoDB
857
853
  # Represents the output of a `BatchGetItem` operation.
858
854
  #
859
855
  # @!attribute [rw] responses
860
- # A map of table name to a list of items. Each object in `Responses`
861
- # consists of a table name, along with a map of attribute data
862
- # consisting of the data type and attribute value.
856
+ # A map of table name or table ARN to a list of items. Each object in
857
+ # `Responses` consists of a table name or ARN, along with a map of
858
+ # attribute data consisting of the data type and attribute value.
863
859
  # @return [Hash<String,Array<Hash<String,Types::AttributeValue>>>]
864
860
  #
865
861
  # @!attribute [rw] unprocessed_keys
@@ -995,9 +991,9 @@ module Aws::DynamoDB
995
991
  # Represents the input of a `BatchWriteItem` operation.
996
992
  #
997
993
  # @!attribute [rw] request_items
998
- # A map of one or more table names and, for each table, a list of
999
- # operations to be performed (`DeleteRequest` or `PutRequest`). Each
1000
- # element in the map consists of the following:
994
+ # A map of one or more table names or table ARNs and, for each table,
995
+ # a list of operations to be performed (`DeleteRequest` or
996
+ # `PutRequest`). Each element in the map consists of the following:
1001
997
  #
1002
998
  # * `DeleteRequest` - Perform a `DeleteItem` operation on the
1003
999
  # specified item. The item to be deleted is identified by a `Key`
@@ -1012,7 +1008,6 @@ module Aws::DynamoDB
1012
1008
  # values for *both* the partition key and the sort key.
1013
1009
  #
1014
1010
  # ^
1015
- #
1016
1011
  # * `PutRequest` - Perform a `PutItem` operation on the specified
1017
1012
  # item. The item to be put is identified by an `Item` subelement:
1018
1013
  #
@@ -1075,9 +1070,9 @@ module Aws::DynamoDB
1075
1070
  # subsequent `BatchWriteItem` operation. For more information, see
1076
1071
  # `RequestItems` in the Request Parameters section.
1077
1072
  #
1078
- # Each `UnprocessedItems` entry consists of a table name and, for that
1079
- # table, a list of operations to perform (`DeleteRequest` or
1080
- # `PutRequest`).
1073
+ # Each `UnprocessedItems` entry consists of a table name or table ARN
1074
+ # and, for that table, a list of operations to perform
1075
+ # (`DeleteRequest` or `PutRequest`).
1081
1076
  #
1082
1077
  # * `DeleteRequest` - Perform a `DeleteItem` operation on the
1083
1078
  # specified item. The item to be deleted is identified by a `Key`
@@ -1088,7 +1083,6 @@ module Aws::DynamoDB
1088
1083
  # attribute name and an attribute value.
1089
1084
  #
1090
1085
  # ^
1091
- #
1092
1086
  # * `PutRequest` - Perform a `PutItem` operation on the specified
1093
1087
  # item. The item to be put is identified by an `Item` subelement:
1094
1088
  #
@@ -1300,9 +1294,9 @@ module Aws::DynamoDB
1300
1294
  # of type String, Number, Binary, String Set, Number Set, or Binary
1301
1295
  # Set. If an item contains an `AttributeValue` element of a
1302
1296
  # different type than the one provided in the request, the value
1303
- # does not match. For example, `\{"S":"6"\}` does not equal
1304
- # `\{"N":"6"\}`. Also, `\{"N":"6"\}` does not equal `\{"NS":["6",
1305
- # "2", "1"]\}`.
1297
+ # does not match. For example, `{"S":"6"}` does not equal
1298
+ # `{"N":"6"}`. Also, `{"N":"6"}` does not equal `{"NS":["6", "2",
1299
+ # "1"]}`.
1306
1300
  #
1307
1301
  #
1308
1302
  #
@@ -1313,8 +1307,8 @@ module Aws::DynamoDB
1313
1307
  # String, Number, Binary, String Set, Number Set, or Binary Set. If
1314
1308
  # an item contains an `AttributeValue` of a different type than the
1315
1309
  # one provided in the request, the value does not match. For
1316
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
1317
- # `\{"N":"6"\}` does not equal `\{"NS":["6", "2", "1"]\}`.
1310
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
1311
+ # does not equal `{"NS":["6", "2", "1"]}`.
1318
1312
  #
1319
1313
  #
1320
1314
  #
@@ -1324,8 +1318,8 @@ module Aws::DynamoDB
1324
1318
  # of type String, Number, or Binary (not a set type). If an item
1325
1319
  # contains an `AttributeValue` element of a different type than the
1326
1320
  # one provided in the request, the value does not match. For
1327
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
1328
- # `\{"N":"6"\}` does not compare to `\{"NS":["6", "2", "1"]\}`.
1321
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
1322
+ # does not compare to `{"NS":["6", "2", "1"]}`.
1329
1323
  #
1330
1324
  #
1331
1325
  #
@@ -1334,9 +1328,9 @@ module Aws::DynamoDB
1334
1328
  # `AttributeValueList` can contain only one `AttributeValue` of type
1335
1329
  # String, Number, or Binary (not a set type). If an item contains an
1336
1330
  # `AttributeValue` element of a different type than the one provided
1337
- # in the request, the value does not match. For example,
1338
- # `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also, `\{"N":"6"\}`
1339
- # does not compare to `\{"NS":["6", "2", "1"]\}`.
1331
+ # in the request, the value does not match. For example, `{"S":"6"}`
1332
+ # does not equal `{"N":"6"}`. Also, `{"N":"6"}` does not compare to
1333
+ # `{"NS":["6", "2", "1"]}`.
1340
1334
  #
1341
1335
  #
1342
1336
  #
@@ -1346,8 +1340,8 @@ module Aws::DynamoDB
1346
1340
  # of type String, Number, or Binary (not a set type). If an item
1347
1341
  # contains an `AttributeValue` element of a different type than the
1348
1342
  # one provided in the request, the value does not match. For
1349
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
1350
- # `\{"N":"6"\}` does not compare to `\{"NS":["6", "2", "1"]\}`.
1343
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
1344
+ # does not compare to `{"NS":["6", "2", "1"]}`.
1351
1345
  #
1352
1346
  #
1353
1347
  #
@@ -1357,8 +1351,8 @@ module Aws::DynamoDB
1357
1351
  # of type String, Number, or Binary (not a set type). If an item
1358
1352
  # contains an `AttributeValue` element of a different type than the
1359
1353
  # one provided in the request, the value does not match. For
1360
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
1361
- # `\{"N":"6"\}` does not compare to `\{"NS":["6", "2", "1"]\}`.
1354
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
1355
+ # does not compare to `{"NS":["6", "2", "1"]}`.
1362
1356
  #
1363
1357
  #
1364
1358
  #
@@ -1443,9 +1437,9 @@ module Aws::DynamoDB
1443
1437
  # equal to, the first element and less than, or equal to, the second
1444
1438
  # element. If an item contains an `AttributeValue` element of a
1445
1439
  # different type than the one provided in the request, the value
1446
- # does not match. For example, `\{"S":"6"\}` does not compare to
1447
- # `\{"N":"6"\}`. Also, `\{"N":"6"\}` does not compare to
1448
- # `\{"NS":["6", "2", "1"]\}`
1440
+ # does not match. For example, `{"S":"6"}` does not compare to
1441
+ # `{"N":"6"}`. Also, `{"N":"6"}` does not compare to `{"NS":["6",
1442
+ # "2", "1"]}`
1449
1443
  #
1450
1444
  # For usage examples of `AttributeValueList` and `ComparisonOperator`,
1451
1445
  # see [Legacy Conditional Parameters][1] in the *Amazon DynamoDB
@@ -1474,7 +1468,8 @@ module Aws::DynamoDB
1474
1468
  # @return [Hash<String,Types::AttributeValue>]
1475
1469
  #
1476
1470
  # @!attribute [rw] table_name
1477
- # Name of the table for the check item request.
1471
+ # Name of the table for the check item request. You can also provide
1472
+ # the Amazon Resource Name (ARN) of the table in this parameter.
1478
1473
  # @return [String]
1479
1474
  #
1480
1475
  # @!attribute [rw] condition_expression
@@ -1550,15 +1545,17 @@ module Aws::DynamoDB
1550
1545
  # includes the total provisioned throughput consumed, along with
1551
1546
  # statistics for the table and any indexes involved in the operation.
1552
1547
  # `ConsumedCapacity` is only returned if the request asked for it. For
1553
- # more information, see [Provisioned Throughput][1] in the *Amazon
1548
+ # more information, see [Provisioned capacity mode][1] in the *Amazon
1554
1549
  # DynamoDB Developer Guide*.
1555
1550
  #
1556
1551
  #
1557
1552
  #
1558
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html
1553
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
1559
1554
  #
1560
1555
  # @!attribute [rw] table_name
1561
- # The name of the table that was affected by the operation.
1556
+ # The name of the table that was affected by the operation. If you had
1557
+ # specified the Amazon Resource Name (ARN) of a table in the input,
1558
+ # you'll see the table ARN in the response.
1562
1559
  # @return [String]
1563
1560
  #
1564
1561
  # @!attribute [rw] capacity_units
@@ -1663,7 +1660,8 @@ module Aws::DynamoDB
1663
1660
  end
1664
1661
 
1665
1662
  # @!attribute [rw] table_name
1666
- # The name of the table.
1663
+ # The name of the table. You can also provide the Amazon Resource Name
1664
+ # (ARN) of the table in this parameter.
1667
1665
  # @return [String]
1668
1666
  #
1669
1667
  # @!attribute [rw] backup_name
@@ -1721,13 +1719,26 @@ module Aws::DynamoDB
1721
1719
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html
1722
1720
  # @return [Types::ProvisionedThroughput]
1723
1721
  #
1722
+ # @!attribute [rw] on_demand_throughput
1723
+ # The maximum number of read and write units for the global secondary
1724
+ # index being created. If you use this parameter, you must specify
1725
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
1726
+ # @return [Types::OnDemandThroughput]
1727
+ #
1728
+ # @!attribute [rw] warm_throughput
1729
+ # Represents the warm throughput value (in read units per second and
1730
+ # write units per second) when creating a secondary index.
1731
+ # @return [Types::WarmThroughput]
1732
+ #
1724
1733
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalSecondaryIndexAction AWS API Documentation
1725
1734
  #
1726
1735
  class CreateGlobalSecondaryIndexAction < Struct.new(
1727
1736
  :index_name,
1728
1737
  :key_schema,
1729
1738
  :projection,
1730
- :provisioned_throughput)
1739
+ :provisioned_throughput,
1740
+ :on_demand_throughput,
1741
+ :warm_throughput)
1731
1742
  SENSITIVE = []
1732
1743
  include Aws::Structure
1733
1744
  end
@@ -1794,6 +1805,13 @@ module Aws::DynamoDB
1794
1805
  # source table's provisioned throughput settings.
1795
1806
  # @return [Types::ProvisionedThroughputOverride]
1796
1807
  #
1808
+ # @!attribute [rw] on_demand_throughput_override
1809
+ # The maximum on-demand throughput settings for the specified replica
1810
+ # table being created. You can only modify `MaxReadRequestUnits`,
1811
+ # because you can't modify `MaxWriteRequestUnits` for individual
1812
+ # replica tables.
1813
+ # @return [Types::OnDemandThroughputOverride]
1814
+ #
1797
1815
  # @!attribute [rw] global_secondary_indexes
1798
1816
  # Replica-specific global secondary index settings.
1799
1817
  # @return [Array<Types::ReplicaGlobalSecondaryIndex>]
@@ -1809,6 +1827,7 @@ module Aws::DynamoDB
1809
1827
  :region_name,
1810
1828
  :kms_master_key_id,
1811
1829
  :provisioned_throughput_override,
1830
+ :on_demand_throughput_override,
1812
1831
  :global_secondary_indexes,
1813
1832
  :table_class_override)
1814
1833
  SENSITIVE = []
@@ -1823,7 +1842,8 @@ module Aws::DynamoDB
1823
1842
  # @return [Array<Types::AttributeDefinition>]
1824
1843
  #
1825
1844
  # @!attribute [rw] table_name
1826
- # The name of the table to create.
1845
+ # The name of the table to create. You can also provide the Amazon
1846
+ # Resource Name (ARN) of the table in this parameter.
1827
1847
  # @return [String]
1828
1848
  #
1829
1849
  # @!attribute [rw] key_schema
@@ -1905,7 +1925,6 @@ module Aws::DynamoDB
1905
1925
  #
1906
1926
  # * `ALL` - All of the table attributes are projected into the
1907
1927
  # index.
1908
- #
1909
1928
  # * `NonKeyAttributes` - A list of one or more non-key attribute
1910
1929
  # names that are projected into the secondary index. The total
1911
1930
  # count of attributes provided in `NonKeyAttributes`, summed
@@ -1944,14 +1963,12 @@ module Aws::DynamoDB
1944
1963
  #
1945
1964
  # * `ALL` - All of the table attributes are projected into the
1946
1965
  # index.
1947
- #
1948
1966
  # * `NonKeyAttributes` - A list of one or more non-key attribute
1949
1967
  # names that are projected into the secondary index. The total
1950
1968
  # count of attributes provided in `NonKeyAttributes`, summed
1951
1969
  # across all of the secondary indexes, must not exceed 100. If you
1952
1970
  # project the same attribute into two different indexes, this
1953
1971
  # counts as two distinct attributes when determining the total.
1954
- #
1955
1972
  # * `ProvisionedThroughput` - The provisioned throughput settings for
1956
1973
  # the global secondary index, consisting of read and write capacity
1957
1974
  # units.
@@ -1963,16 +1980,16 @@ module Aws::DynamoDB
1963
1980
  #
1964
1981
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
1965
1982
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
1966
- # Mode][1].
1983
+ # capacity mode][1].
1967
1984
  #
1968
1985
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
1969
1986
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode
1970
- # to [On-Demand Mode][2].
1987
+ # to [On-demand capacity mode][2].
1971
1988
  #
1972
1989
  #
1973
1990
  #
1974
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
1975
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
1991
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
1992
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
1976
1993
  # @return [String]
1977
1994
  #
1978
1995
  # @!attribute [rw] provisioned_throughput
@@ -2040,6 +2057,41 @@ module Aws::DynamoDB
2040
2057
  # disabled (false) on the table.
2041
2058
  # @return [Boolean]
2042
2059
  #
2060
+ # @!attribute [rw] warm_throughput
2061
+ # Represents the warm throughput (in read units per second and write
2062
+ # units per second) for creating a table.
2063
+ # @return [Types::WarmThroughput]
2064
+ #
2065
+ # @!attribute [rw] resource_policy
2066
+ # An Amazon Web Services resource-based policy document in JSON format
2067
+ # that will be attached to the table.
2068
+ #
2069
+ # When you attach a resource-based policy while creating a table, the
2070
+ # policy application is *strongly consistent*.
2071
+ #
2072
+ # The maximum size supported for a resource-based policy document is
2073
+ # 20 KB. DynamoDB counts whitespaces when calculating the size of a
2074
+ # policy against this limit. For a full list of all considerations
2075
+ # that apply for resource-based policies, see [Resource-based policy
2076
+ # considerations][1].
2077
+ #
2078
+ # <note markdown="1"> You need to specify the `CreateTable` and `PutResourcePolicy` IAM
2079
+ # actions for authorizing a user to create a table with a
2080
+ # resource-based policy.
2081
+ #
2082
+ # </note>
2083
+ #
2084
+ #
2085
+ #
2086
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
2087
+ # @return [String]
2088
+ #
2089
+ # @!attribute [rw] on_demand_throughput
2090
+ # Sets the maximum number of read and write units for the specified
2091
+ # table in on-demand capacity mode. If you use this parameter, you
2092
+ # must specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
2093
+ # @return [Types::OnDemandThroughput]
2094
+ #
2043
2095
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTableInput AWS API Documentation
2044
2096
  #
2045
2097
  class CreateTableInput < Struct.new(
@@ -2054,7 +2106,10 @@ module Aws::DynamoDB
2054
2106
  :sse_specification,
2055
2107
  :tags,
2056
2108
  :table_class,
2057
- :deletion_protection_enabled)
2109
+ :deletion_protection_enabled,
2110
+ :warm_throughput,
2111
+ :resource_policy,
2112
+ :on_demand_throughput)
2058
2113
  SENSITIVE = []
2059
2114
  include Aws::Structure
2060
2115
  end
@@ -2105,7 +2160,9 @@ module Aws::DynamoDB
2105
2160
  # @return [Hash<String,Types::AttributeValue>]
2106
2161
  #
2107
2162
  # @!attribute [rw] table_name
2108
- # Name of the table in which the item to be deleted resides.
2163
+ # Name of the table in which the item to be deleted resides. You can
2164
+ # also provide the Amazon Resource Name (ARN) of the table in this
2165
+ # parameter.
2109
2166
  # @return [String]
2110
2167
  #
2111
2168
  # @!attribute [rw] condition_expression
@@ -2184,7 +2241,9 @@ module Aws::DynamoDB
2184
2241
  # Represents the input of a `DeleteItem` operation.
2185
2242
  #
2186
2243
  # @!attribute [rw] table_name
2187
- # The name of the table from which to delete the item.
2244
+ # The name of the table from which to delete the item. You can also
2245
+ # provide the Amazon Resource Name (ARN) of the table in this
2246
+ # parameter.
2188
2247
  # @return [String]
2189
2248
  #
2190
2249
  # @!attribute [rw] key
@@ -2317,7 +2376,7 @@ module Aws::DynamoDB
2317
2376
  # Developer Guide*). To work around this, you could specify the
2318
2377
  # following for `ExpressionAttributeNames`:
2319
2378
  #
2320
- # * `\{"#P":"Percentile"\}`
2379
+ # * `{"#P":"Percentile"}`
2321
2380
  #
2322
2381
  # ^
2323
2382
  #
@@ -2356,8 +2415,8 @@ module Aws::DynamoDB
2356
2415
  # You would first need to specify `ExpressionAttributeValues` as
2357
2416
  # follows:
2358
2417
  #
2359
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
2360
- # ":disc":\{"S":"Discontinued"\} \}`
2418
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
2419
+ # ":disc":{"S":"Discontinued"} }`
2361
2420
  #
2362
2421
  # You could then use these values in an expression, such as this:
2363
2422
  #
@@ -2413,12 +2472,12 @@ module Aws::DynamoDB
2413
2472
  # with statistics for the table and any indexes involved in the
2414
2473
  # operation. `ConsumedCapacity` is only returned if the
2415
2474
  # `ReturnConsumedCapacity` parameter was specified. For more
2416
- # information, see [Provisioned Throughput][1] in the *Amazon DynamoDB
2417
- # Developer Guide*.
2475
+ # information, see [Provisioned capacity mode][1] in the *Amazon
2476
+ # DynamoDB Developer Guide*.
2418
2477
  #
2419
2478
  #
2420
2479
  #
2421
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html
2480
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
2422
2481
  # @return [Types::ConsumedCapacity]
2423
2482
  #
2424
2483
  # @!attribute [rw] item_collection_metrics
@@ -2501,10 +2560,54 @@ module Aws::DynamoDB
2501
2560
  include Aws::Structure
2502
2561
  end
2503
2562
 
2563
+ # @!attribute [rw] resource_arn
2564
+ # The Amazon Resource Name (ARN) of the DynamoDB resource from which
2565
+ # the policy will be removed. The resources you can specify include
2566
+ # tables and streams. If you remove the policy of a table, it will
2567
+ # also remove the permissions for the table's indexes defined in that
2568
+ # policy document. This is because index permissions are defined in
2569
+ # the table's policy.
2570
+ # @return [String]
2571
+ #
2572
+ # @!attribute [rw] expected_revision_id
2573
+ # A string value that you can use to conditionally delete your policy.
2574
+ # When you provide an expected revision ID, if the revision ID of the
2575
+ # existing policy on the resource doesn't match or if there's no
2576
+ # policy attached to the resource, the request will fail and return a
2577
+ # `PolicyNotFoundException`.
2578
+ # @return [String]
2579
+ #
2580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteResourcePolicyInput AWS API Documentation
2581
+ #
2582
+ class DeleteResourcePolicyInput < Struct.new(
2583
+ :resource_arn,
2584
+ :expected_revision_id)
2585
+ SENSITIVE = []
2586
+ include Aws::Structure
2587
+ end
2588
+
2589
+ # @!attribute [rw] revision_id
2590
+ # A unique string that represents the revision ID of the policy. If
2591
+ # you're comparing revision IDs, make sure to always use string
2592
+ # comparison logic.
2593
+ #
2594
+ # This value will be empty if you make a request against a resource
2595
+ # without a policy.
2596
+ # @return [String]
2597
+ #
2598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteResourcePolicyOutput AWS API Documentation
2599
+ #
2600
+ class DeleteResourcePolicyOutput < Struct.new(
2601
+ :revision_id)
2602
+ SENSITIVE = []
2603
+ include Aws::Structure
2604
+ end
2605
+
2504
2606
  # Represents the input of a `DeleteTable` operation.
2505
2607
  #
2506
2608
  # @!attribute [rw] table_name
2507
- # The name of the table to delete.
2609
+ # The name of the table to delete. You can also provide the Amazon
2610
+ # Resource Name (ARN) of the table in this parameter.
2508
2611
  # @return [String]
2509
2612
  #
2510
2613
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTableInput AWS API Documentation
@@ -2556,6 +2659,9 @@ module Aws::DynamoDB
2556
2659
  # @!attribute [rw] table_name
2557
2660
  # Name of the table for which the customer wants to check the
2558
2661
  # continuous backups and point in time recovery settings.
2662
+ #
2663
+ # You can also provide the Amazon Resource Name (ARN) of the table in
2664
+ # this parameter.
2559
2665
  # @return [String]
2560
2666
  #
2561
2667
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackupsInput AWS API Documentation
@@ -2580,7 +2686,8 @@ module Aws::DynamoDB
2580
2686
  end
2581
2687
 
2582
2688
  # @!attribute [rw] table_name
2583
- # The name of the table to describe.
2689
+ # The name of the table to describe. You can also provide the Amazon
2690
+ # Resource Name (ARN) of the table in this parameter.
2584
2691
  # @return [String]
2585
2692
  #
2586
2693
  # @!attribute [rw] index_name
@@ -2773,7 +2880,8 @@ module Aws::DynamoDB
2773
2880
  end
2774
2881
 
2775
2882
  # @!attribute [rw] table_name
2776
- # The name of the table being described.
2883
+ # The name of the table being described. You can also provide the
2884
+ # Amazon Resource Name (ARN) of the table in this parameter.
2777
2885
  # @return [String]
2778
2886
  #
2779
2887
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestinationInput AWS API Documentation
@@ -2849,7 +2957,8 @@ module Aws::DynamoDB
2849
2957
  # Represents the input of a `DescribeTable` operation.
2850
2958
  #
2851
2959
  # @!attribute [rw] table_name
2852
- # The name of the table to describe.
2960
+ # The name of the table to describe. You can also provide the Amazon
2961
+ # Resource Name (ARN) of the table in this parameter.
2853
2962
  # @return [String]
2854
2963
  #
2855
2964
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableInput AWS API Documentation
@@ -2875,7 +2984,8 @@ module Aws::DynamoDB
2875
2984
  end
2876
2985
 
2877
2986
  # @!attribute [rw] table_name
2878
- # The name of the table.
2987
+ # The name of the table. You can also provide the Amazon Resource Name
2988
+ # (ARN) of the table in this parameter.
2879
2989
  # @return [String]
2880
2990
  #
2881
2991
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableReplicaAutoScalingInput AWS API Documentation
@@ -2899,7 +3009,8 @@ module Aws::DynamoDB
2899
3009
  end
2900
3010
 
2901
3011
  # @!attribute [rw] table_name
2902
- # The name of the table to be described.
3012
+ # The name of the table to be described. You can also provide the
3013
+ # Amazon Resource Name (ARN) of the table in this parameter.
2903
3014
  # @return [String]
2904
3015
  #
2905
3016
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLiveInput AWS API Documentation
@@ -2935,6 +3046,21 @@ module Aws::DynamoDB
2935
3046
  include Aws::Structure
2936
3047
  end
2937
3048
 
3049
+ # Enables setting the configuration for Kinesis Streaming.
3050
+ #
3051
+ # @!attribute [rw] approximate_creation_date_time_precision
3052
+ # Toggle for the precision of Kinesis data stream timestamp. The
3053
+ # values are either `MILLISECOND` or `MICROSECOND`.
3054
+ # @return [String]
3055
+ #
3056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingConfiguration AWS API Documentation
3057
+ #
3058
+ class EnableKinesisStreamingConfiguration < Struct.new(
3059
+ :approximate_creation_date_time_precision)
3060
+ SENSITIVE = []
3061
+ include Aws::Structure
3062
+ end
3063
+
2938
3064
  # An endpoint information details.
2939
3065
  #
2940
3066
  # @!attribute [rw] address
@@ -3047,12 +3173,12 @@ module Aws::DynamoDB
3047
3173
  # includes the total provisioned throughput consumed, along with
3048
3174
  # statistics for the table and any indexes involved in the operation.
3049
3175
  # `ConsumedCapacity` is only returned if the request asked for it. For
3050
- # more information, see [Provisioned Throughput][1] in the *Amazon
3176
+ # more information, see [Provisioned capacity mode][1] in the *Amazon
3051
3177
  # DynamoDB Developer Guide*.
3052
3178
  #
3053
3179
  #
3054
3180
  #
3055
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html
3181
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
3056
3182
  # @return [Types::ConsumedCapacity]
3057
3183
  #
3058
3184
  # @!attribute [rw] last_evaluated_key
@@ -3212,9 +3338,9 @@ module Aws::DynamoDB
3212
3338
  # of type String, Number, Binary, String Set, Number Set, or Binary
3213
3339
  # Set. If an item contains an `AttributeValue` element of a
3214
3340
  # different type than the one provided in the request, the value
3215
- # does not match. For example, `\{"S":"6"\}` does not equal
3216
- # `\{"N":"6"\}`. Also, `\{"N":"6"\}` does not equal `\{"NS":["6",
3217
- # "2", "1"]\}`.
3341
+ # does not match. For example, `{"S":"6"}` does not equal
3342
+ # `{"N":"6"}`. Also, `{"N":"6"}` does not equal `{"NS":["6", "2",
3343
+ # "1"]}`.
3218
3344
  #
3219
3345
  #
3220
3346
  #
@@ -3225,8 +3351,8 @@ module Aws::DynamoDB
3225
3351
  # String, Number, Binary, String Set, Number Set, or Binary Set. If
3226
3352
  # an item contains an `AttributeValue` of a different type than the
3227
3353
  # one provided in the request, the value does not match. For
3228
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
3229
- # `\{"N":"6"\}` does not equal `\{"NS":["6", "2", "1"]\}`.
3354
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
3355
+ # does not equal `{"NS":["6", "2", "1"]}`.
3230
3356
  #
3231
3357
  #
3232
3358
  #
@@ -3236,8 +3362,8 @@ module Aws::DynamoDB
3236
3362
  # of type String, Number, or Binary (not a set type). If an item
3237
3363
  # contains an `AttributeValue` element of a different type than the
3238
3364
  # one provided in the request, the value does not match. For
3239
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
3240
- # `\{"N":"6"\}` does not compare to `\{"NS":["6", "2", "1"]\}`.
3365
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
3366
+ # does not compare to `{"NS":["6", "2", "1"]}`.
3241
3367
  #
3242
3368
  #
3243
3369
  #
@@ -3246,9 +3372,9 @@ module Aws::DynamoDB
3246
3372
  # `AttributeValueList` can contain only one `AttributeValue` of type
3247
3373
  # String, Number, or Binary (not a set type). If an item contains an
3248
3374
  # `AttributeValue` element of a different type than the one provided
3249
- # in the request, the value does not match. For example,
3250
- # `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also, `\{"N":"6"\}`
3251
- # does not compare to `\{"NS":["6", "2", "1"]\}`.
3375
+ # in the request, the value does not match. For example, `{"S":"6"}`
3376
+ # does not equal `{"N":"6"}`. Also, `{"N":"6"}` does not compare to
3377
+ # `{"NS":["6", "2", "1"]}`.
3252
3378
  #
3253
3379
  #
3254
3380
  #
@@ -3258,8 +3384,8 @@ module Aws::DynamoDB
3258
3384
  # of type String, Number, or Binary (not a set type). If an item
3259
3385
  # contains an `AttributeValue` element of a different type than the
3260
3386
  # one provided in the request, the value does not match. For
3261
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
3262
- # `\{"N":"6"\}` does not compare to `\{"NS":["6", "2", "1"]\}`.
3387
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
3388
+ # does not compare to `{"NS":["6", "2", "1"]}`.
3263
3389
  #
3264
3390
  #
3265
3391
  #
@@ -3269,8 +3395,8 @@ module Aws::DynamoDB
3269
3395
  # of type String, Number, or Binary (not a set type). If an item
3270
3396
  # contains an `AttributeValue` element of a different type than the
3271
3397
  # one provided in the request, the value does not match. For
3272
- # example, `\{"S":"6"\}` does not equal `\{"N":"6"\}`. Also,
3273
- # `\{"N":"6"\}` does not compare to `\{"NS":["6", "2", "1"]\}`.
3398
+ # example, `{"S":"6"}` does not equal `{"N":"6"}`. Also, `{"N":"6"}`
3399
+ # does not compare to `{"NS":["6", "2", "1"]}`.
3274
3400
  #
3275
3401
  #
3276
3402
  #
@@ -3355,9 +3481,9 @@ module Aws::DynamoDB
3355
3481
  # equal to, the first element and less than, or equal to, the second
3356
3482
  # element. If an item contains an `AttributeValue` element of a
3357
3483
  # different type than the one provided in the request, the value
3358
- # does not match. For example, `\{"S":"6"\}` does not compare to
3359
- # `\{"N":"6"\}`. Also, `\{"N":"6"\}` does not compare to
3360
- # `\{"NS":["6", "2", "1"]\}`
3484
+ # does not match. For example, `{"S":"6"}` does not compare to
3485
+ # `{"N":"6"}`. Also, `{"N":"6"}` does not compare to `{"NS":["6",
3486
+ # "2", "1"]}`
3361
3487
  # @return [String]
3362
3488
  #
3363
3489
  # @!attribute [rw] attribute_value_list
@@ -3613,6 +3739,11 @@ module Aws::DynamoDB
3613
3739
  # @!attribute [rw] s3_bucket_owner
3614
3740
  # The ID of the Amazon Web Services account that owns the bucket the
3615
3741
  # export will be stored in.
3742
+ #
3743
+ # <note markdown="1"> S3BucketOwner is a required parameter when exporting to a S3 bucket
3744
+ # in another account.
3745
+ #
3746
+ # </note>
3616
3747
  # @return [String]
3617
3748
  #
3618
3749
  # @!attribute [rw] s3_prefix
@@ -3709,7 +3840,9 @@ module Aws::DynamoDB
3709
3840
  # @return [Hash<String,Types::AttributeValue>]
3710
3841
  #
3711
3842
  # @!attribute [rw] table_name
3712
- # The name of the table from which to retrieve the specified item.
3843
+ # The name of the table from which to retrieve the specified item. You
3844
+ # can also provide the Amazon Resource Name (ARN) of the table in this
3845
+ # parameter.
3713
3846
  # @return [String]
3714
3847
  #
3715
3848
  # @!attribute [rw] projection_expression
@@ -3740,7 +3873,9 @@ module Aws::DynamoDB
3740
3873
  # Represents the input of a `GetItem` operation.
3741
3874
  #
3742
3875
  # @!attribute [rw] table_name
3743
- # The name of the table containing the requested item.
3876
+ # The name of the table containing the requested item. You can also
3877
+ # provide the Amazon Resource Name (ARN) of the table in this
3878
+ # parameter.
3744
3879
  # @return [String]
3745
3880
  #
3746
3881
  # @!attribute [rw] key
@@ -3834,7 +3969,7 @@ module Aws::DynamoDB
3834
3969
  # Developer Guide*). To work around this, you could specify the
3835
3970
  # following for `ExpressionAttributeNames`:
3836
3971
  #
3837
- # * `\{"#P":"Percentile"\}`
3972
+ # * `{"#P":"Percentile"}`
3838
3973
  #
3839
3974
  # ^
3840
3975
  #
@@ -3887,12 +4022,12 @@ module Aws::DynamoDB
3887
4022
  # with statistics for the table and any indexes involved in the
3888
4023
  # operation. `ConsumedCapacity` is only returned if the
3889
4024
  # `ReturnConsumedCapacity` parameter was specified. For more
3890
- # information, see [Provisioned Throughput][1] in the *Amazon DynamoDB
3891
- # Developer Guide*.
4025
+ # information, see [Capacity unit consumption for read operations][1]
4026
+ # in the *Amazon DynamoDB Developer Guide*.
3892
4027
  #
3893
4028
  #
3894
4029
  #
3895
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html#ItemSizeCalculations.Reads
4030
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#read-operation-consumption
3896
4031
  # @return [Types::ConsumedCapacity]
3897
4032
  #
3898
4033
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItemOutput AWS API Documentation
@@ -3904,6 +4039,40 @@ module Aws::DynamoDB
3904
4039
  include Aws::Structure
3905
4040
  end
3906
4041
 
4042
+ # @!attribute [rw] resource_arn
4043
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
4044
+ # policy is attached. The resources you can specify include tables and
4045
+ # streams.
4046
+ # @return [String]
4047
+ #
4048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetResourcePolicyInput AWS API Documentation
4049
+ #
4050
+ class GetResourcePolicyInput < Struct.new(
4051
+ :resource_arn)
4052
+ SENSITIVE = []
4053
+ include Aws::Structure
4054
+ end
4055
+
4056
+ # @!attribute [rw] policy
4057
+ # The resource-based policy document attached to the resource, which
4058
+ # can be a table or stream, in JSON format.
4059
+ # @return [String]
4060
+ #
4061
+ # @!attribute [rw] revision_id
4062
+ # A unique string that represents the revision ID of the policy. If
4063
+ # you're comparing revision IDs, make sure to always use string
4064
+ # comparison logic.
4065
+ # @return [String]
4066
+ #
4067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetResourcePolicyOutput AWS API Documentation
4068
+ #
4069
+ class GetResourcePolicyOutput < Struct.new(
4070
+ :policy,
4071
+ :revision_id)
4072
+ SENSITIVE = []
4073
+ include Aws::Structure
4074
+ end
4075
+
3907
4076
  # Represents the properties of a global secondary index.
3908
4077
  #
3909
4078
  # @!attribute [rw] index_name
@@ -3952,13 +4121,28 @@ module Aws::DynamoDB
3952
4121
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html
3953
4122
  # @return [Types::ProvisionedThroughput]
3954
4123
  #
4124
+ # @!attribute [rw] on_demand_throughput
4125
+ # The maximum number of read and write units for the specified global
4126
+ # secondary index. If you use this parameter, you must specify
4127
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
4128
+ # @return [Types::OnDemandThroughput]
4129
+ #
4130
+ # @!attribute [rw] warm_throughput
4131
+ # Represents the warm throughput value (in read units per second and
4132
+ # write units per second) for the specified secondary index. If you
4133
+ # use this parameter, you must specify `ReadUnitsPerSecond`,
4134
+ # `WriteUnitsPerSecond`, or both.
4135
+ # @return [Types::WarmThroughput]
4136
+ #
3955
4137
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GlobalSecondaryIndex AWS API Documentation
3956
4138
  #
3957
4139
  class GlobalSecondaryIndex < Struct.new(
3958
4140
  :index_name,
3959
4141
  :key_schema,
3960
4142
  :projection,
3961
- :provisioned_throughput)
4143
+ :provisioned_throughput,
4144
+ :on_demand_throughput,
4145
+ :warm_throughput)
3962
4146
  SENSITIVE = []
3963
4147
  include Aws::Structure
3964
4148
  end
@@ -4081,6 +4265,17 @@ module Aws::DynamoDB
4081
4265
  # The Amazon Resource Name (ARN) that uniquely identifies the index.
4082
4266
  # @return [String]
4083
4267
  #
4268
+ # @!attribute [rw] on_demand_throughput
4269
+ # The maximum number of read and write units for the specified global
4270
+ # secondary index. If you use this parameter, you must specify
4271
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
4272
+ # @return [Types::OnDemandThroughput]
4273
+ #
4274
+ # @!attribute [rw] warm_throughput
4275
+ # Represents the warm throughput value (in read units per second and
4276
+ # write units per second) for the specified secondary index.
4277
+ # @return [Types::GlobalSecondaryIndexWarmThroughputDescription]
4278
+ #
4084
4279
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GlobalSecondaryIndexDescription AWS API Documentation
4085
4280
  #
4086
4281
  class GlobalSecondaryIndexDescription < Struct.new(
@@ -4092,7 +4287,9 @@ module Aws::DynamoDB
4092
4287
  :provisioned_throughput,
4093
4288
  :index_size_bytes,
4094
4289
  :item_count,
4095
- :index_arn)
4290
+ :index_arn,
4291
+ :on_demand_throughput,
4292
+ :warm_throughput)
4096
4293
  SENSITIVE = []
4097
4294
  include Aws::Structure
4098
4295
  end
@@ -4137,13 +4334,20 @@ module Aws::DynamoDB
4137
4334
  # global secondary index.
4138
4335
  # @return [Types::ProvisionedThroughput]
4139
4336
  #
4337
+ # @!attribute [rw] on_demand_throughput
4338
+ # Sets the maximum number of read and write units for the specified
4339
+ # on-demand table. If you use this parameter, you must specify
4340
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
4341
+ # @return [Types::OnDemandThroughput]
4342
+ #
4140
4343
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GlobalSecondaryIndexInfo AWS API Documentation
4141
4344
  #
4142
4345
  class GlobalSecondaryIndexInfo < Struct.new(
4143
4346
  :index_name,
4144
4347
  :key_schema,
4145
4348
  :projection,
4146
- :provisioned_throughput)
4349
+ :provisioned_throughput,
4350
+ :on_demand_throughput)
4147
4351
  SENSITIVE = []
4148
4352
  include Aws::Structure
4149
4353
  end
@@ -4192,6 +4396,35 @@ module Aws::DynamoDB
4192
4396
  include Aws::Structure
4193
4397
  end
4194
4398
 
4399
+ # The description of the warm throughput value on a global secondary
4400
+ # index.
4401
+ #
4402
+ # @!attribute [rw] read_units_per_second
4403
+ # Represents warm throughput read units per second value for a global
4404
+ # secondary index.
4405
+ # @return [Integer]
4406
+ #
4407
+ # @!attribute [rw] write_units_per_second
4408
+ # Represents warm throughput write units per second value for a global
4409
+ # secondary index.
4410
+ # @return [Integer]
4411
+ #
4412
+ # @!attribute [rw] status
4413
+ # Represents the warm throughput status being created or updated on a
4414
+ # global secondary index. The status can only be `UPDATING` or
4415
+ # `ACTIVE`.
4416
+ # @return [String]
4417
+ #
4418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GlobalSecondaryIndexWarmThroughputDescription AWS API Documentation
4419
+ #
4420
+ class GlobalSecondaryIndexWarmThroughputDescription < Struct.new(
4421
+ :read_units_per_second,
4422
+ :write_units_per_second,
4423
+ :status)
4424
+ SENSITIVE = []
4425
+ include Aws::Structure
4426
+ end
4427
+
4195
4428
  # Represents the properties of a global table.
4196
4429
  #
4197
4430
  # @!attribute [rw] global_table_name
@@ -4878,7 +5111,7 @@ module Aws::DynamoDB
4878
5111
  # Developer Guide*). To work around this, you could specify the
4879
5112
  # following for `ExpressionAttributeNames`:
4880
5113
  #
4881
- # * `\{"#P":"Percentile"\}`
5114
+ # * `{"#P":"Percentile"}`
4882
5115
  #
4883
5116
  # ^
4884
5117
  #
@@ -4930,29 +5163,42 @@ module Aws::DynamoDB
4930
5163
  # The human-readable string that corresponds to the replica status.
4931
5164
  # @return [String]
4932
5165
  #
5166
+ # @!attribute [rw] approximate_creation_date_time_precision
5167
+ # The precision of the Kinesis data stream timestamp. The values are
5168
+ # either `MILLISECOND` or `MICROSECOND`.
5169
+ # @return [String]
5170
+ #
4933
5171
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/KinesisDataStreamDestination AWS API Documentation
4934
5172
  #
4935
5173
  class KinesisDataStreamDestination < Struct.new(
4936
5174
  :stream_arn,
4937
5175
  :destination_status,
4938
- :destination_status_description)
5176
+ :destination_status_description,
5177
+ :approximate_creation_date_time_precision)
4939
5178
  SENSITIVE = []
4940
5179
  include Aws::Structure
4941
5180
  end
4942
5181
 
4943
5182
  # @!attribute [rw] table_name
4944
- # The name of the DynamoDB table.
5183
+ # The name of the DynamoDB table. You can also provide the Amazon
5184
+ # Resource Name (ARN) of the table in this parameter.
4945
5185
  # @return [String]
4946
5186
  #
4947
5187
  # @!attribute [rw] stream_arn
4948
5188
  # The ARN for a Kinesis data stream.
4949
5189
  # @return [String]
4950
5190
  #
5191
+ # @!attribute [rw] enable_kinesis_streaming_configuration
5192
+ # The source for the Kinesis streaming information that is being
5193
+ # enabled.
5194
+ # @return [Types::EnableKinesisStreamingConfiguration]
5195
+ #
4951
5196
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/KinesisStreamingDestinationInput AWS API Documentation
4952
5197
  #
4953
5198
  class KinesisStreamingDestinationInput < Struct.new(
4954
5199
  :table_name,
4955
- :stream_arn)
5200
+ :stream_arn,
5201
+ :enable_kinesis_streaming_configuration)
4956
5202
  SENSITIVE = []
4957
5203
  include Aws::Structure
4958
5204
  end
@@ -4969,12 +5215,18 @@ module Aws::DynamoDB
4969
5215
  # The current status of the replication.
4970
5216
  # @return [String]
4971
5217
  #
5218
+ # @!attribute [rw] enable_kinesis_streaming_configuration
5219
+ # The destination for the Kinesis streaming information that is being
5220
+ # enabled.
5221
+ # @return [Types::EnableKinesisStreamingConfiguration]
5222
+ #
4972
5223
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/KinesisStreamingDestinationOutput AWS API Documentation
4973
5224
  #
4974
5225
  class KinesisStreamingDestinationOutput < Struct.new(
4975
5226
  :table_name,
4976
5227
  :stream_arn,
4977
- :destination_status)
5228
+ :destination_status,
5229
+ :enable_kinesis_streaming_configuration)
4978
5230
  SENSITIVE = []
4979
5231
  include Aws::Structure
4980
5232
  end
@@ -5016,7 +5268,9 @@ module Aws::DynamoDB
5016
5268
  end
5017
5269
 
5018
5270
  # @!attribute [rw] table_name
5019
- # The backups from the table specified by `TableName` are listed.
5271
+ # Lists the backups from the table specified in `TableName`. You can
5272
+ # also provide the Amazon Resource Name (ARN) of the table in this
5273
+ # parameter.
5020
5274
  # @return [String]
5021
5275
  #
5022
5276
  # @!attribute [rw] limit
@@ -5096,7 +5350,8 @@ module Aws::DynamoDB
5096
5350
  end
5097
5351
 
5098
5352
  # @!attribute [rw] table_name
5099
- # The name of the table.
5353
+ # The name of the table. You can also provide the Amazon Resource Name
5354
+ # (ARN) of the table in this parameter.
5100
5355
  # @return [String]
5101
5356
  #
5102
5357
  # @!attribute [rw] next_token
@@ -5511,10 +5766,58 @@ module Aws::DynamoDB
5511
5766
  include Aws::Structure
5512
5767
  end
5513
5768
 
5514
- # Represents a PartiQL statment that uses parameters.
5769
+ # Sets the maximum number of read and write units for the specified
5770
+ # on-demand table. If you use this parameter, you must specify
5771
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
5772
+ #
5773
+ # @!attribute [rw] max_read_request_units
5774
+ # Maximum number of read request units for the specified table.
5775
+ #
5776
+ # To specify a maximum `OnDemandThroughput` on your table, set the
5777
+ # value of `MaxReadRequestUnits` as greater than or equal to 1. To
5778
+ # remove the maximum `OnDemandThroughput` that is currently set on
5779
+ # your table, set the value of `MaxReadRequestUnits` to -1.
5780
+ # @return [Integer]
5781
+ #
5782
+ # @!attribute [rw] max_write_request_units
5783
+ # Maximum number of write request units for the specified table.
5784
+ #
5785
+ # To specify a maximum `OnDemandThroughput` on your table, set the
5786
+ # value of `MaxWriteRequestUnits` as greater than or equal to 1. To
5787
+ # remove the maximum `OnDemandThroughput` that is currently set on
5788
+ # your table, set the value of `MaxWriteRequestUnits` to -1.
5789
+ # @return [Integer]
5790
+ #
5791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/OnDemandThroughput AWS API Documentation
5792
+ #
5793
+ class OnDemandThroughput < Struct.new(
5794
+ :max_read_request_units,
5795
+ :max_write_request_units)
5796
+ SENSITIVE = []
5797
+ include Aws::Structure
5798
+ end
5799
+
5800
+ # Overrides the on-demand throughput settings for this replica table. If
5801
+ # you don't specify a value for this parameter, it uses the source
5802
+ # table's on-demand throughput settings.
5803
+ #
5804
+ # @!attribute [rw] max_read_request_units
5805
+ # Maximum number of read request units for the specified replica
5806
+ # table.
5807
+ # @return [Integer]
5808
+ #
5809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/OnDemandThroughputOverride AWS API Documentation
5810
+ #
5811
+ class OnDemandThroughputOverride < Struct.new(
5812
+ :max_read_request_units)
5813
+ SENSITIVE = []
5814
+ include Aws::Structure
5815
+ end
5816
+
5817
+ # Represents a PartiQL statement that uses parameters.
5515
5818
  #
5516
5819
  # @!attribute [rw] statement
5517
- # A PartiQL statment that uses parameters.
5820
+ # A PartiQL statement that uses parameters.
5518
5821
  # @return [String]
5519
5822
  #
5520
5823
  # @!attribute [rw] parameters
@@ -5599,6 +5902,23 @@ module Aws::DynamoDB
5599
5902
  include Aws::Structure
5600
5903
  end
5601
5904
 
5905
+ # The operation tried to access a nonexistent resource-based policy.
5906
+ #
5907
+ # If you specified an `ExpectedRevisionId`, it's possible that a policy
5908
+ # is present for the resource but its revision ID didn't match the
5909
+ # expected value.
5910
+ #
5911
+ # @!attribute [rw] message
5912
+ # @return [String]
5913
+ #
5914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PolicyNotFoundException AWS API Documentation
5915
+ #
5916
+ class PolicyNotFoundException < Struct.new(
5917
+ :message)
5918
+ SENSITIVE = []
5919
+ include Aws::Structure
5920
+ end
5921
+
5602
5922
  # Represents attributes that are copied (projected) from the table into
5603
5923
  # an index. These are in addition to the primary key attributes and
5604
5924
  # index key attributes, which are automatically projected.
@@ -5614,6 +5934,8 @@ module Aws::DynamoDB
5614
5934
  # attributes that you specify.
5615
5935
  #
5616
5936
  # * `ALL` - All of the table attributes are projected into the index.
5937
+ #
5938
+ # When using the DynamoDB console, `ALL` is selected by default.
5617
5939
  # @return [String]
5618
5940
  #
5619
5941
  # @!attribute [rw] non_key_attributes
@@ -5785,7 +6107,8 @@ module Aws::DynamoDB
5785
6107
  # @return [Hash<String,Types::AttributeValue>]
5786
6108
  #
5787
6109
  # @!attribute [rw] table_name
5788
- # Name of the table in which to write the item.
6110
+ # Name of the table in which to write the item. You can also provide
6111
+ # the Amazon Resource Name (ARN) of the table in this parameter.
5789
6112
  # @return [String]
5790
6113
  #
5791
6114
  # @!attribute [rw] condition_expression
@@ -5825,7 +6148,8 @@ module Aws::DynamoDB
5825
6148
  # Represents the input of a `PutItem` operation.
5826
6149
  #
5827
6150
  # @!attribute [rw] table_name
5828
- # The name of the table to contain the item.
6151
+ # The name of the table to contain the item. You can also provide the
6152
+ # Amazon Resource Name (ARN) of the table in this parameter.
5829
6153
  # @return [String]
5830
6154
  #
5831
6155
  # @!attribute [rw] item
@@ -5980,7 +6304,7 @@ module Aws::DynamoDB
5980
6304
  # Developer Guide*). To work around this, you could specify the
5981
6305
  # following for `ExpressionAttributeNames`:
5982
6306
  #
5983
- # * `\{"#P":"Percentile"\}`
6307
+ # * `{"#P":"Percentile"}`
5984
6308
  #
5985
6309
  # ^
5986
6310
  #
@@ -6019,8 +6343,8 @@ module Aws::DynamoDB
6019
6343
  # You would first need to specify `ExpressionAttributeValues` as
6020
6344
  # follows:
6021
6345
  #
6022
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
6023
- # ":disc":\{"S":"Discontinued"\} \}`
6346
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
6347
+ # ":disc":{"S":"Discontinued"} }`
6024
6348
  #
6025
6349
  # You could then use these values in an expression, such as this:
6026
6350
  #
@@ -6076,12 +6400,12 @@ module Aws::DynamoDB
6076
6400
  # with statistics for the table and any indexes involved in the
6077
6401
  # operation. `ConsumedCapacity` is only returned if the
6078
6402
  # `ReturnConsumedCapacity` parameter was specified. For more
6079
- # information, see [Provisioned Throughput][1] in the *Amazon DynamoDB
6080
- # Developer Guide*.
6403
+ # information, see [Capacity unity consumption for write
6404
+ # operations][1] in the *Amazon DynamoDB Developer Guide*.
6081
6405
  #
6082
6406
  #
6083
6407
  #
6084
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html
6408
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#write-operation-consumption
6085
6409
  # @return [Types::ConsumedCapacity]
6086
6410
  #
6087
6411
  # @!attribute [rw] item_collection_metrics
@@ -6138,10 +6462,93 @@ module Aws::DynamoDB
6138
6462
  include Aws::Structure
6139
6463
  end
6140
6464
 
6465
+ # @!attribute [rw] resource_arn
6466
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
6467
+ # policy will be attached. The resources you can specify include
6468
+ # tables and streams.
6469
+ #
6470
+ # You can control index permissions using the base table's policy. To
6471
+ # specify the same permission level for your table and its indexes,
6472
+ # you can provide both the table and index Amazon Resource Name (ARN)s
6473
+ # in the `Resource` field of a given `Statement` in your policy
6474
+ # document. Alternatively, to specify different permissions for your
6475
+ # table, indexes, or both, you can define multiple `Statement` fields
6476
+ # in your policy document.
6477
+ # @return [String]
6478
+ #
6479
+ # @!attribute [rw] policy
6480
+ # An Amazon Web Services resource-based policy document in JSON
6481
+ # format.
6482
+ #
6483
+ # * The maximum size supported for a resource-based policy document is
6484
+ # 20 KB. DynamoDB counts whitespaces when calculating the size of a
6485
+ # policy against this limit.
6486
+ #
6487
+ # * Within a resource-based policy, if the action for a DynamoDB
6488
+ # service-linked role (SLR) to replicate data for a global table is
6489
+ # denied, adding or deleting a replica will fail with an error.
6490
+ #
6491
+ # For a full list of all considerations that apply while attaching a
6492
+ # resource-based policy, see [Resource-based policy
6493
+ # considerations][1].
6494
+ #
6495
+ #
6496
+ #
6497
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
6498
+ # @return [String]
6499
+ #
6500
+ # @!attribute [rw] expected_revision_id
6501
+ # A string value that you can use to conditionally update your policy.
6502
+ # You can provide the revision ID of your existing policy to make
6503
+ # mutating requests against that policy.
6504
+ #
6505
+ # <note markdown="1"> When you provide an expected revision ID, if the revision ID of the
6506
+ # existing policy on the resource doesn't match or if there's no
6507
+ # policy attached to the resource, your request will be rejected with
6508
+ # a `PolicyNotFoundException`.
6509
+ #
6510
+ # </note>
6511
+ #
6512
+ # To conditionally attach a policy when no policy exists for the
6513
+ # resource, specify `NO_POLICY` for the revision ID.
6514
+ # @return [String]
6515
+ #
6516
+ # @!attribute [rw] confirm_remove_self_resource_access
6517
+ # Set this parameter to `true` to confirm that you want to remove your
6518
+ # permissions to change the policy of this resource in the future.
6519
+ # @return [Boolean]
6520
+ #
6521
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutResourcePolicyInput AWS API Documentation
6522
+ #
6523
+ class PutResourcePolicyInput < Struct.new(
6524
+ :resource_arn,
6525
+ :policy,
6526
+ :expected_revision_id,
6527
+ :confirm_remove_self_resource_access)
6528
+ SENSITIVE = []
6529
+ include Aws::Structure
6530
+ end
6531
+
6532
+ # @!attribute [rw] revision_id
6533
+ # A unique string that represents the revision ID of the policy. If
6534
+ # you're comparing revision IDs, make sure to always use string
6535
+ # comparison logic.
6536
+ # @return [String]
6537
+ #
6538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutResourcePolicyOutput AWS API Documentation
6539
+ #
6540
+ class PutResourcePolicyOutput < Struct.new(
6541
+ :revision_id)
6542
+ SENSITIVE = []
6543
+ include Aws::Structure
6544
+ end
6545
+
6141
6546
  # Represents the input of a `Query` operation.
6142
6547
  #
6143
6548
  # @!attribute [rw] table_name
6144
- # The name of the table containing the requested items.
6549
+ # The name of the table containing the requested items. You can also
6550
+ # provide the Amazon Resource Name (ARN) of the table in this
6551
+ # parameter.
6145
6552
  # @return [String]
6146
6553
  #
6147
6554
  # @!attribute [rw] index_name
@@ -6358,7 +6765,7 @@ module Aws::DynamoDB
6358
6765
  #
6359
6766
  #
6360
6767
  #
6361
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
6768
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.FilterExpression.html
6362
6769
  # @return [String]
6363
6770
  #
6364
6771
  # @!attribute [rw] key_condition_expression
@@ -6474,7 +6881,7 @@ module Aws::DynamoDB
6474
6881
  # Developer Guide*). To work around this, you could specify the
6475
6882
  # following for `ExpressionAttributeNames`:
6476
6883
  #
6477
- # * `\{"#P":"Percentile"\}`
6884
+ # * `{"#P":"Percentile"}`
6478
6885
  #
6479
6886
  # ^
6480
6887
  #
@@ -6513,8 +6920,8 @@ module Aws::DynamoDB
6513
6920
  # You would first need to specify `ExpressionAttributeValues` as
6514
6921
  # follows:
6515
6922
  #
6516
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
6517
- # ":disc":\{"S":"Discontinued"\} \}`
6923
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
6924
+ # ":disc":{"S":"Discontinued"} }`
6518
6925
  #
6519
6926
  # You could then use these values in an expression, such as this:
6520
6927
  #
@@ -6584,7 +6991,7 @@ module Aws::DynamoDB
6584
6991
  #
6585
6992
  #
6586
6993
  #
6587
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count
6994
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Count
6588
6995
  # @return [Integer]
6589
6996
  #
6590
6997
  # @!attribute [rw] last_evaluated_key
@@ -6607,12 +7014,12 @@ module Aws::DynamoDB
6607
7014
  # with statistics for the table and any indexes involved in the
6608
7015
  # operation. `ConsumedCapacity` is only returned if the
6609
7016
  # `ReturnConsumedCapacity` parameter was specified. For more
6610
- # information, see [Provisioned Throughput][1] in the *Amazon DynamoDB
6611
- # Developer Guide*.
7017
+ # information, see [Capacity unit consumption for read operations][1]
7018
+ # in the *Amazon DynamoDB Developer Guide*.
6612
7019
  #
6613
7020
  #
6614
7021
  #
6615
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html
7022
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#read-operation-consumption
6616
7023
  # @return [Types::ConsumedCapacity]
6617
7024
  #
6618
7025
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/QueryOutput AWS API Documentation
@@ -6781,6 +7188,15 @@ module Aws::DynamoDB
6781
7188
  # source table's provisioned throughput settings.
6782
7189
  # @return [Types::ProvisionedThroughputOverride]
6783
7190
  #
7191
+ # @!attribute [rw] on_demand_throughput_override
7192
+ # Overrides the maximum on-demand throughput settings for the
7193
+ # specified replica table.
7194
+ # @return [Types::OnDemandThroughputOverride]
7195
+ #
7196
+ # @!attribute [rw] warm_throughput
7197
+ # Represents the warm throughput value for this replica.
7198
+ # @return [Types::TableWarmThroughputDescription]
7199
+ #
6784
7200
  # @!attribute [rw] global_secondary_indexes
6785
7201
  # Replica-specific global secondary index settings.
6786
7202
  # @return [Array<Types::ReplicaGlobalSecondaryIndexDescription>]
@@ -6804,6 +7220,8 @@ module Aws::DynamoDB
6804
7220
  :replica_status_percent_progress,
6805
7221
  :kms_master_key_id,
6806
7222
  :provisioned_throughput_override,
7223
+ :on_demand_throughput_override,
7224
+ :warm_throughput,
6807
7225
  :global_secondary_indexes,
6808
7226
  :replica_inaccessible_date_time,
6809
7227
  :replica_table_class_summary)
@@ -6822,11 +7240,17 @@ module Aws::DynamoDB
6822
7240
  # uses the source table GSI's read capacity settings.
6823
7241
  # @return [Types::ProvisionedThroughputOverride]
6824
7242
  #
7243
+ # @!attribute [rw] on_demand_throughput_override
7244
+ # Overrides the maximum on-demand throughput settings for the
7245
+ # specified global secondary index in the specified replica table.
7246
+ # @return [Types::OnDemandThroughputOverride]
7247
+ #
6825
7248
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ReplicaGlobalSecondaryIndex AWS API Documentation
6826
7249
  #
6827
7250
  class ReplicaGlobalSecondaryIndex < Struct.new(
6828
7251
  :index_name,
6829
- :provisioned_throughput_override)
7252
+ :provisioned_throughput_override,
7253
+ :on_demand_throughput_override)
6830
7254
  SENSITIVE = []
6831
7255
  include Aws::Structure
6832
7256
  end
@@ -6904,11 +7328,23 @@ module Aws::DynamoDB
6904
7328
  # settings.
6905
7329
  # @return [Types::ProvisionedThroughputOverride]
6906
7330
  #
7331
+ # @!attribute [rw] on_demand_throughput_override
7332
+ # Overrides the maximum on-demand throughput for the specified global
7333
+ # secondary index in the specified replica table.
7334
+ # @return [Types::OnDemandThroughputOverride]
7335
+ #
7336
+ # @!attribute [rw] warm_throughput
7337
+ # Represents the warm throughput of the global secondary index for
7338
+ # this replica.
7339
+ # @return [Types::GlobalSecondaryIndexWarmThroughputDescription]
7340
+ #
6907
7341
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ReplicaGlobalSecondaryIndexDescription AWS API Documentation
6908
7342
  #
6909
7343
  class ReplicaGlobalSecondaryIndexDescription < Struct.new(
6910
7344
  :index_name,
6911
- :provisioned_throughput_override)
7345
+ :provisioned_throughput_override,
7346
+ :on_demand_throughput_override,
7347
+ :warm_throughput)
6912
7348
  SENSITIVE = []
6913
7349
  include Aws::Structure
6914
7350
  end
@@ -7155,6 +7591,20 @@ module Aws::DynamoDB
7155
7591
  include Aws::Structure
7156
7592
  end
7157
7593
 
7594
+ # The request was rejected because one or more items in the request are
7595
+ # being modified by a request in another Region.
7596
+ #
7597
+ # @!attribute [rw] message
7598
+ # @return [String]
7599
+ #
7600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ReplicatedWriteConflictException AWS API Documentation
7601
+ #
7602
+ class ReplicatedWriteConflictException < Struct.new(
7603
+ :message)
7604
+ SENSITIVE = []
7605
+ include Aws::Structure
7606
+ end
7607
+
7158
7608
  # Represents one of the following:
7159
7609
  #
7160
7610
  # * A new replica to be added to an existing regional table or global
@@ -7216,8 +7666,16 @@ module Aws::DynamoDB
7216
7666
  end
7217
7667
 
7218
7668
  # The operation conflicts with the resource's availability. For
7219
- # example, you attempted to recreate an existing table, or tried to
7220
- # delete a table currently in the `CREATING` state.
7669
+ # example:
7670
+ #
7671
+ # * You attempted to recreate an existing table.
7672
+ #
7673
+ # * You tried to delete a table currently in the `CREATING` state.
7674
+ #
7675
+ # * You tried to update a resource that was already being updated.
7676
+ #
7677
+ # When appropriate, wait for the ongoing update to complete and attempt
7678
+ # the request again.
7221
7679
  #
7222
7680
  # @!attribute [rw] message
7223
7681
  # The resource which is being attempted to be changed is in use.
@@ -7305,6 +7763,12 @@ module Aws::DynamoDB
7305
7763
  # Provisioned throughput settings for the restored table.
7306
7764
  # @return [Types::ProvisionedThroughput]
7307
7765
  #
7766
+ # @!attribute [rw] on_demand_throughput_override
7767
+ # Sets the maximum number of read and write units for the specified
7768
+ # on-demand table. If you use this parameter, you must specify
7769
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
7770
+ # @return [Types::OnDemandThroughput]
7771
+ #
7308
7772
  # @!attribute [rw] sse_specification_override
7309
7773
  # The new server-side encryption settings for the restored table.
7310
7774
  # @return [Types::SSESpecification]
@@ -7318,6 +7782,7 @@ module Aws::DynamoDB
7318
7782
  :global_secondary_index_override,
7319
7783
  :local_secondary_index_override,
7320
7784
  :provisioned_throughput_override,
7785
+ :on_demand_throughput_override,
7321
7786
  :sse_specification_override)
7322
7787
  SENSITIVE = []
7323
7788
  include Aws::Structure
@@ -7378,6 +7843,12 @@ module Aws::DynamoDB
7378
7843
  # Provisioned throughput settings for the restored table.
7379
7844
  # @return [Types::ProvisionedThroughput]
7380
7845
  #
7846
+ # @!attribute [rw] on_demand_throughput_override
7847
+ # Sets the maximum number of read and write units for the specified
7848
+ # on-demand table. If you use this parameter, you must specify
7849
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
7850
+ # @return [Types::OnDemandThroughput]
7851
+ #
7381
7852
  # @!attribute [rw] sse_specification_override
7382
7853
  # The new server-side encryption settings for the restored table.
7383
7854
  # @return [Types::SSESpecification]
@@ -7394,6 +7865,7 @@ module Aws::DynamoDB
7394
7865
  :global_secondary_index_override,
7395
7866
  :local_secondary_index_override,
7396
7867
  :provisioned_throughput_override,
7868
+ :on_demand_throughput_override,
7397
7869
  :sse_specification_override)
7398
7870
  SENSITIVE = []
7399
7871
  include Aws::Structure
@@ -7523,9 +7995,12 @@ module Aws::DynamoDB
7523
7995
  # Represents the input of a `Scan` operation.
7524
7996
  #
7525
7997
  # @!attribute [rw] table_name
7526
- # The name of the table containing the requested items; or, if you
7998
+ # The name of the table containing the requested items or if you
7527
7999
  # provide `IndexName`, the name of the table to which that index
7528
8000
  # belongs.
8001
+ #
8002
+ # You can also provide the Amazon Resource Name (ARN) of the table in
8003
+ # this parameter.
7529
8004
  # @return [String]
7530
8005
  #
7531
8006
  # @!attribute [rw] index_name
@@ -7769,7 +8244,7 @@ module Aws::DynamoDB
7769
8244
  # Developer Guide*). To work around this, you could specify the
7770
8245
  # following for `ExpressionAttributeNames`:
7771
8246
  #
7772
- # * `\{"#P":"Percentile"\}`
8247
+ # * `{"#P":"Percentile"}`
7773
8248
  #
7774
8249
  # ^
7775
8250
  #
@@ -7808,8 +8283,8 @@ module Aws::DynamoDB
7808
8283
  # You would first need to specify `ExpressionAttributeValues` as
7809
8284
  # follows:
7810
8285
  #
7811
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
7812
- # ":disc":\{"S":"Discontinued"\} \}`
8286
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
8287
+ # ":disc":{"S":"Discontinued"} }`
7813
8288
  #
7814
8289
  # You could then use these values in an expression, such as this:
7815
8290
  #
@@ -7918,12 +8393,12 @@ module Aws::DynamoDB
7918
8393
  # with statistics for the table and any indexes involved in the
7919
8394
  # operation. `ConsumedCapacity` is only returned if the
7920
8395
  # `ReturnConsumedCapacity` parameter was specified. For more
7921
- # information, see [Provisioned Throughput][1] in the *Amazon DynamoDB
7922
- # Developer Guide*.
8396
+ # information, see [Capacity unit consumption for read operations][1]
8397
+ # in the *Amazon DynamoDB Developer Guide*.
7923
8398
  #
7924
8399
  #
7925
8400
  #
7926
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html#ItemSizeCalculations.Reads
8401
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#read-operation-consumption
7927
8402
  # @return [Types::ConsumedCapacity]
7928
8403
  #
7929
8404
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ScanOutput AWS API Documentation
@@ -7968,6 +8443,12 @@ module Aws::DynamoDB
7968
8443
  # Read IOPs and Write IOPS on the table when the backup was created.
7969
8444
  # @return [Types::ProvisionedThroughput]
7970
8445
  #
8446
+ # @!attribute [rw] on_demand_throughput
8447
+ # Sets the maximum number of read and write units for the specified
8448
+ # on-demand table. If you use this parameter, you must specify
8449
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
8450
+ # @return [Types::OnDemandThroughput]
8451
+ #
7971
8452
  # @!attribute [rw] item_count
7972
8453
  # Number of items in the table. Note that this is an approximate
7973
8454
  # value.
@@ -7996,6 +8477,7 @@ module Aws::DynamoDB
7996
8477
  :key_schema,
7997
8478
  :table_creation_date_time,
7998
8479
  :provisioned_throughput,
8480
+ :on_demand_throughput,
7999
8481
  :item_count,
8000
8482
  :billing_mode)
8001
8483
  SENSITIVE = []
@@ -8176,6 +8658,12 @@ module Aws::DynamoDB
8176
8658
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html
8177
8659
  # @return [Types::ProvisionedThroughput]
8178
8660
  #
8661
+ # @!attribute [rw] on_demand_throughput
8662
+ # Sets the maximum number of read and write units for the specified
8663
+ # on-demand table. If you use this parameter, you must specify
8664
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
8665
+ # @return [Types::OnDemandThroughput]
8666
+ #
8179
8667
  # @!attribute [rw] sse_specification
8180
8668
  # Represents the settings used to enable server-side encryption.
8181
8669
  # @return [Types::SSESpecification]
@@ -8193,6 +8681,7 @@ module Aws::DynamoDB
8193
8681
  :key_schema,
8194
8682
  :billing_mode,
8195
8683
  :provisioned_throughput,
8684
+ :on_demand_throughput,
8196
8685
  :sse_specification,
8197
8686
  :global_secondary_indexes)
8198
8687
  SENSITIVE = []
@@ -8227,7 +8716,6 @@ module Aws::DynamoDB
8227
8716
  # * `HASH` - partition key
8228
8717
  #
8229
8718
  # * `RANGE` - sort key
8230
- #
8231
8719
  # <note markdown="1"> The partition key of an item is also known as its *hash
8232
8720
  # attribute*. The term "hash attribute" derives from DynamoDB's
8233
8721
  # usage of an internal hash function to evenly distribute data items
@@ -8343,14 +8831,12 @@ module Aws::DynamoDB
8343
8831
  #
8344
8832
  # * `ALL` - All of the table attributes are projected into the
8345
8833
  # index.
8346
- #
8347
8834
  # * `NonKeyAttributes` - A list of one or more non-key attribute
8348
8835
  # names that are projected into the secondary index. The total
8349
8836
  # count of attributes provided in `NonKeyAttributes`, summed
8350
8837
  # across all of the secondary indexes, must not exceed 100. If you
8351
8838
  # project the same attribute into two different indexes, this
8352
8839
  # counts as two distinct attributes when determining the total.
8353
- #
8354
8840
  # * `IndexSizeBytes` - Represents the total size of the index, in
8355
8841
  # bytes. DynamoDB updates this value approximately every six hours.
8356
8842
  # Recent changes might not be reflected in this value.
@@ -8396,7 +8882,6 @@ module Aws::DynamoDB
8396
8882
  # * `DELETING` - The index is being deleted.
8397
8883
  #
8398
8884
  # * `ACTIVE` - The index is ready for use.
8399
- #
8400
8885
  # * `ItemCount` - The number of items in the global secondary index.
8401
8886
  # DynamoDB updates this value approximately every six hours. Recent
8402
8887
  # changes might not be reflected in this value.
@@ -8423,14 +8908,12 @@ module Aws::DynamoDB
8423
8908
  #
8424
8909
  # * `ALL` - All of the table attributes are projected into the
8425
8910
  # index.
8426
- #
8427
8911
  # * `NonKeyAttributes` - A list of one or more non-key attribute
8428
8912
  # names that are projected into the secondary index. The total
8429
8913
  # count of attributes provided in `NonKeyAttributes`, summed
8430
8914
  # across all of the secondary indexes, must not exceed 100. If you
8431
8915
  # project the same attribute into two different indexes, this
8432
8916
  # counts as two distinct attributes when determining the total.
8433
- #
8434
8917
  # * `ProvisionedThroughput` - The provisioned throughput settings for
8435
8918
  # the global secondary index, consisting of read and write capacity
8436
8919
  # units, along with data about increases and decreases.
@@ -8498,6 +8981,40 @@ module Aws::DynamoDB
8498
8981
  # (false) on the table.
8499
8982
  # @return [Boolean]
8500
8983
  #
8984
+ # @!attribute [rw] on_demand_throughput
8985
+ # The maximum number of read and write units for the specified
8986
+ # on-demand table. If you use this parameter, you must specify
8987
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
8988
+ # @return [Types::OnDemandThroughput]
8989
+ #
8990
+ # @!attribute [rw] warm_throughput
8991
+ # Describes the warm throughput value of the base table.
8992
+ # @return [Types::TableWarmThroughputDescription]
8993
+ #
8994
+ # @!attribute [rw] multi_region_consistency
8995
+ # Indicates one of the following consistency modes for a global table:
8996
+ #
8997
+ # * `EVENTUAL`: Indicates that the global table is configured for
8998
+ # multi-Region eventual consistency.
8999
+ #
9000
+ # * `STRONG`: Indicates that the global table is configured for
9001
+ # multi-Region strong consistency (preview).
9002
+ #
9003
+ # <note markdown="1"> Multi-Region strong consistency (MRSC) is a new DynamoDB global
9004
+ # tables capability currently available in preview mode. For more
9005
+ # information, see [Global tables multi-Region strong
9006
+ # consistency][1].
9007
+ #
9008
+ # </note>
9009
+ #
9010
+ # If you don't specify this field, the global table consistency mode
9011
+ # defaults to `EVENTUAL`.
9012
+ #
9013
+ #
9014
+ #
9015
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PreviewFeatures.html#multi-region-strong-consistency-gt
9016
+ # @return [String]
9017
+ #
8501
9018
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TableDescription AWS API Documentation
8502
9019
  #
8503
9020
  class TableDescription < Struct.new(
@@ -8523,7 +9040,10 @@ module Aws::DynamoDB
8523
9040
  :sse_description,
8524
9041
  :archival_summary,
8525
9042
  :table_class_summary,
8526
- :deletion_protection_enabled)
9043
+ :deletion_protection_enabled,
9044
+ :on_demand_throughput,
9045
+ :warm_throughput,
9046
+ :multi_region_consistency)
8527
9047
  SENSITIVE = []
8528
9048
  include Aws::Structure
8529
9049
  end
@@ -8557,6 +9077,33 @@ module Aws::DynamoDB
8557
9077
  include Aws::Structure
8558
9078
  end
8559
9079
 
9080
+ # Represents the warm throughput value (in read units per second and
9081
+ # write units per second) of the base table.
9082
+ #
9083
+ # @!attribute [rw] read_units_per_second
9084
+ # Represents the base table's warm throughput value in read units per
9085
+ # second.
9086
+ # @return [Integer]
9087
+ #
9088
+ # @!attribute [rw] write_units_per_second
9089
+ # Represents the base table's warm throughput value in write units
9090
+ # per second.
9091
+ # @return [Integer]
9092
+ #
9093
+ # @!attribute [rw] status
9094
+ # Represents warm throughput value of the base table..
9095
+ # @return [String]
9096
+ #
9097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TableWarmThroughputDescription AWS API Documentation
9098
+ #
9099
+ class TableWarmThroughputDescription < Struct.new(
9100
+ :read_units_per_second,
9101
+ :write_units_per_second,
9102
+ :status)
9103
+ SENSITIVE = []
9104
+ include Aws::Structure
9105
+ end
9106
+
8560
9107
  # Describes a tag. A tag is a key-value pair. You can add up to 50 tags
8561
9108
  # to a single DynamoDB table.
8562
9109
  #
@@ -8904,25 +9451,21 @@ module Aws::DynamoDB
8904
9451
  # * Code: `None`
8905
9452
  #
8906
9453
  # * Message: `null`
8907
- #
8908
9454
  # * Conditional Check Failed:
8909
9455
  #
8910
9456
  # * Code: `ConditionalCheckFailed`
8911
9457
  #
8912
9458
  # * Message: The conditional request failed.
8913
- #
8914
9459
  # * Item Collection Size Limit Exceeded:
8915
9460
  #
8916
9461
  # * Code: `ItemCollectionSizeLimitExceeded`
8917
9462
  #
8918
9463
  # * Message: Collection size exceeded.
8919
- #
8920
9464
  # * Transaction Conflict:
8921
9465
  #
8922
9466
  # * Code: `TransactionConflict`
8923
9467
  #
8924
9468
  # * Message: Transaction is ongoing for the item.
8925
- #
8926
9469
  # * Provisioned Throughput Exceeded:
8927
9470
  #
8928
9471
  # * Code: `ProvisionedThroughputExceeded`
@@ -8947,7 +9490,6 @@ module Aws::DynamoDB
8947
9490
  # is on a provisioned GSI.
8948
9491
  #
8949
9492
  # </note>
8950
- #
8951
9493
  # * Throttling Error:
8952
9494
  #
8953
9495
  # * Code: `ThrottlingError`
@@ -8973,7 +9515,6 @@ module Aws::DynamoDB
8973
9515
  # On-Demand GSI as DynamoDB is automatically scaling the GSI.
8974
9516
  #
8975
9517
  # </note>
8976
- #
8977
9518
  # * Validation Error:
8978
9519
  #
8979
9520
  # * Code: `ValidationError`
@@ -9128,7 +9669,8 @@ module Aws::DynamoDB
9128
9669
  # @return [String]
9129
9670
  #
9130
9671
  # @!attribute [rw] table_name
9131
- # Name of the table for the `UpdateItem` request.
9672
+ # Name of the table for the `UpdateItem` request. You can also provide
9673
+ # the Amazon Resource Name (ARN) of the table in this parameter.
9132
9674
  # @return [String]
9133
9675
  #
9134
9676
  # @!attribute [rw] condition_expression
@@ -9167,7 +9709,8 @@ module Aws::DynamoDB
9167
9709
  end
9168
9710
 
9169
9711
  # @!attribute [rw] table_name
9170
- # The name of the table.
9712
+ # The name of the table. You can also provide the Amazon Resource Name
9713
+ # (ARN) of the table in this parameter.
9171
9714
  # @return [String]
9172
9715
  #
9173
9716
  # @!attribute [rw] point_in_time_recovery_specification
@@ -9197,7 +9740,8 @@ module Aws::DynamoDB
9197
9740
  end
9198
9741
 
9199
9742
  # @!attribute [rw] table_name
9200
- # The name of the table.
9743
+ # The name of the table. You can also provide the Amazon Resource Name
9744
+ # (ARN) of the table in this parameter.
9201
9745
  # @return [String]
9202
9746
  #
9203
9747
  # @!attribute [rw] index_name
@@ -9260,11 +9804,24 @@ module Aws::DynamoDB
9260
9804
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html
9261
9805
  # @return [Types::ProvisionedThroughput]
9262
9806
  #
9807
+ # @!attribute [rw] on_demand_throughput
9808
+ # Updates the maximum number of read and write units for the specified
9809
+ # global secondary index. If you use this parameter, you must specify
9810
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
9811
+ # @return [Types::OnDemandThroughput]
9812
+ #
9813
+ # @!attribute [rw] warm_throughput
9814
+ # Represents the warm throughput value of the new provisioned
9815
+ # throughput settings to be applied to a global secondary index.
9816
+ # @return [Types::WarmThroughput]
9817
+ #
9263
9818
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalSecondaryIndexAction AWS API Documentation
9264
9819
  #
9265
9820
  class UpdateGlobalSecondaryIndexAction < Struct.new(
9266
9821
  :index_name,
9267
- :provisioned_throughput)
9822
+ :provisioned_throughput,
9823
+ :on_demand_throughput,
9824
+ :warm_throughput)
9268
9825
  SENSITIVE = []
9269
9826
  include Aws::Structure
9270
9827
  end
@@ -9310,16 +9867,16 @@ module Aws::DynamoDB
9310
9867
  #
9311
9868
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
9312
9869
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
9313
- # Mode][1].
9870
+ # capacity mode][1].
9314
9871
  #
9315
9872
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
9316
9873
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode
9317
- # to [On-Demand Mode][2].
9874
+ # to [On-demand capacity mode][2].
9318
9875
  #
9319
9876
  #
9320
9877
  #
9321
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
9322
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
9878
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
9879
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
9323
9880
  # @return [String]
9324
9881
  #
9325
9882
  # @!attribute [rw] global_table_provisioned_write_capacity_units
@@ -9375,7 +9932,9 @@ module Aws::DynamoDB
9375
9932
  # Represents the input of an `UpdateItem` operation.
9376
9933
  #
9377
9934
  # @!attribute [rw] table_name
9378
- # The name of the table containing the item to update.
9935
+ # The name of the table containing the item to update. You can also
9936
+ # provide the Amazon Resource Name (ARN) of the table in this
9937
+ # parameter.
9379
9938
  # @return [String]
9380
9939
  #
9381
9940
  # @!attribute [rw] key
@@ -9498,7 +10057,6 @@ module Aws::DynamoDB
9498
10057
  # new element added to it. You can append the new element to the
9499
10058
  # start or the end of the list by reversing the order of the
9500
10059
  # operands.
9501
- #
9502
10060
  # These function names are case-sensitive.
9503
10061
  #
9504
10062
  # * `REMOVE` - Removes one or more attributes from an item.
@@ -9539,7 +10097,6 @@ module Aws::DynamoDB
9539
10097
  # Both sets must have the same primitive data type. For example,
9540
10098
  # if the existing data type is a set of strings, the `Value` must
9541
10099
  # also be a set of strings.
9542
- #
9543
10100
  # The `ADD` action only supports Number and set data types. In
9544
10101
  # addition, `ADD` can only be used on top-level attributes, not
9545
10102
  # nested attributes.
@@ -9618,7 +10175,7 @@ module Aws::DynamoDB
9618
10175
  # Developer Guide*.) To work around this, you could specify the
9619
10176
  # following for `ExpressionAttributeNames`:
9620
10177
  #
9621
- # * `\{"#P":"Percentile"\}`
10178
+ # * `{"#P":"Percentile"}`
9622
10179
  #
9623
10180
  # ^
9624
10181
  #
@@ -9658,8 +10215,8 @@ module Aws::DynamoDB
9658
10215
  # You would first need to specify `ExpressionAttributeValues` as
9659
10216
  # follows:
9660
10217
  #
9661
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
9662
- # ":disc":\{"S":"Discontinued"\} \}`
10218
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
10219
+ # ":disc":{"S":"Discontinued"} }`
9663
10220
  #
9664
10221
  # You could then use these values in an expression, such as this:
9665
10222
  #
@@ -9720,12 +10277,12 @@ module Aws::DynamoDB
9720
10277
  # with statistics for the table and any indexes involved in the
9721
10278
  # operation. `ConsumedCapacity` is only returned if the
9722
10279
  # `ReturnConsumedCapacity` parameter was specified. For more
9723
- # information, see [Provisioned Throughput][1] in the *Amazon DynamoDB
9724
- # Developer Guide*.
10280
+ # information, see [Capacity unity consumption for write
10281
+ # operations][1] in the *Amazon DynamoDB Developer Guide*.
9725
10282
  #
9726
10283
  #
9727
10284
  #
9728
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html#ItemSizeCalculations.Reads
10285
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#write-operation-consumption
9729
10286
  # @return [Types::ConsumedCapacity]
9730
10287
  #
9731
10288
  # @!attribute [rw] item_collection_metrics
@@ -9763,6 +10320,72 @@ module Aws::DynamoDB
9763
10320
  include Aws::Structure
9764
10321
  end
9765
10322
 
10323
+ # Enables updating the configuration for Kinesis Streaming.
10324
+ #
10325
+ # @!attribute [rw] approximate_creation_date_time_precision
10326
+ # Enables updating the precision of Kinesis data stream timestamp.
10327
+ # @return [String]
10328
+ #
10329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateKinesisStreamingConfiguration AWS API Documentation
10330
+ #
10331
+ class UpdateKinesisStreamingConfiguration < Struct.new(
10332
+ :approximate_creation_date_time_precision)
10333
+ SENSITIVE = []
10334
+ include Aws::Structure
10335
+ end
10336
+
10337
+ # @!attribute [rw] table_name
10338
+ # The table name for the Kinesis streaming destination input. You can
10339
+ # also provide the ARN of the table in this parameter.
10340
+ # @return [String]
10341
+ #
10342
+ # @!attribute [rw] stream_arn
10343
+ # The Amazon Resource Name (ARN) for the Kinesis stream input.
10344
+ # @return [String]
10345
+ #
10346
+ # @!attribute [rw] update_kinesis_streaming_configuration
10347
+ # The command to update the Kinesis stream configuration.
10348
+ # @return [Types::UpdateKinesisStreamingConfiguration]
10349
+ #
10350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateKinesisStreamingDestinationInput AWS API Documentation
10351
+ #
10352
+ class UpdateKinesisStreamingDestinationInput < Struct.new(
10353
+ :table_name,
10354
+ :stream_arn,
10355
+ :update_kinesis_streaming_configuration)
10356
+ SENSITIVE = []
10357
+ include Aws::Structure
10358
+ end
10359
+
10360
+ # @!attribute [rw] table_name
10361
+ # The table name for the Kinesis streaming destination output.
10362
+ # @return [String]
10363
+ #
10364
+ # @!attribute [rw] stream_arn
10365
+ # The ARN for the Kinesis stream input.
10366
+ # @return [String]
10367
+ #
10368
+ # @!attribute [rw] destination_status
10369
+ # The status of the attempt to update the Kinesis streaming
10370
+ # destination output.
10371
+ # @return [String]
10372
+ #
10373
+ # @!attribute [rw] update_kinesis_streaming_configuration
10374
+ # The command to update the Kinesis streaming destination
10375
+ # configuration.
10376
+ # @return [Types::UpdateKinesisStreamingConfiguration]
10377
+ #
10378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateKinesisStreamingDestinationOutput AWS API Documentation
10379
+ #
10380
+ class UpdateKinesisStreamingDestinationOutput < Struct.new(
10381
+ :table_name,
10382
+ :stream_arn,
10383
+ :destination_status,
10384
+ :update_kinesis_streaming_configuration)
10385
+ SENSITIVE = []
10386
+ include Aws::Structure
10387
+ end
10388
+
9766
10389
  # Represents a replica to be modified.
9767
10390
  #
9768
10391
  # @!attribute [rw] region_name
@@ -9782,6 +10405,10 @@ module Aws::DynamoDB
9782
10405
  # source table's provisioned throughput settings.
9783
10406
  # @return [Types::ProvisionedThroughputOverride]
9784
10407
  #
10408
+ # @!attribute [rw] on_demand_throughput_override
10409
+ # Overrides the maximum on-demand throughput for the replica table.
10410
+ # @return [Types::OnDemandThroughputOverride]
10411
+ #
9785
10412
  # @!attribute [rw] global_secondary_indexes
9786
10413
  # Replica-specific global secondary index settings.
9787
10414
  # @return [Array<Types::ReplicaGlobalSecondaryIndex>]
@@ -9797,6 +10424,7 @@ module Aws::DynamoDB
9797
10424
  :region_name,
9798
10425
  :kms_master_key_id,
9799
10426
  :provisioned_throughput_override,
10427
+ :on_demand_throughput_override,
9800
10428
  :global_secondary_indexes,
9801
10429
  :table_class_override)
9802
10430
  SENSITIVE = []
@@ -9813,7 +10441,8 @@ module Aws::DynamoDB
9813
10441
  # @return [Array<Types::AttributeDefinition>]
9814
10442
  #
9815
10443
  # @!attribute [rw] table_name
9816
- # The name of the table to be updated.
10444
+ # The name of the table to be updated. You can also provide the Amazon
10445
+ # Resource Name (ARN) of the table in this parameter.
9817
10446
  # @return [String]
9818
10447
  #
9819
10448
  # @!attribute [rw] billing_mode
@@ -9826,16 +10455,16 @@ module Aws::DynamoDB
9826
10455
  #
9827
10456
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
9828
10457
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
9829
- # Mode][1].
10458
+ # capacity mode][1].
9830
10459
  #
9831
10460
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
9832
10461
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode
9833
- # to [On-Demand Mode][2].
10462
+ # to [On-demand capacity mode][2].
9834
10463
  #
9835
10464
  #
9836
10465
  #
9837
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
9838
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
10466
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
10467
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
9839
10468
  # @return [String]
9840
10469
  #
9841
10470
  # @!attribute [rw] provisioned_throughput
@@ -9868,9 +10497,9 @@ module Aws::DynamoDB
9868
10497
  # @!attribute [rw] stream_specification
9869
10498
  # Represents the DynamoDB Streams configuration for the table.
9870
10499
  #
9871
- # <note markdown="1"> You receive a `ResourceInUseException` if you try to enable a stream
9872
- # on a table that already has a stream, or if you try to disable a
9873
- # stream on a table that doesn't have a stream.
10500
+ # <note markdown="1"> You receive a `ValidationException` if you try to enable a stream on
10501
+ # a table that already has a stream, or if you try to disable a stream
10502
+ # on a table that doesn't have a stream.
9874
10503
  #
9875
10504
  # </note>
9876
10505
  # @return [Types::StreamSpecification]
@@ -9883,14 +10512,10 @@ module Aws::DynamoDB
9883
10512
  # A list of replica update actions (create, delete, or update) for the
9884
10513
  # table.
9885
10514
  #
9886
- # <note markdown="1"> This property only applies to [Version 2019.11.21 (Current)][1] of
9887
- # global tables.
10515
+ # <note markdown="1"> For global tables, this property only applies to global tables using
10516
+ # Version 2019.11.21 (Current version).
9888
10517
  #
9889
10518
  # </note>
9890
- #
9891
- #
9892
- #
9893
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
9894
10519
  # @return [Array<Types::ReplicationGroupUpdate>]
9895
10520
  #
9896
10521
  # @!attribute [rw] table_class
@@ -9903,6 +10528,49 @@ module Aws::DynamoDB
9903
10528
  # disabled (false) on the table.
9904
10529
  # @return [Boolean]
9905
10530
  #
10531
+ # @!attribute [rw] multi_region_consistency
10532
+ # Specifies the consistency mode for a new global table. This
10533
+ # parameter is only valid when you create a global table by specifying
10534
+ # one or more [Create][1] actions in the [ReplicaUpdates][2] action
10535
+ # list.
10536
+ #
10537
+ # You can specify one of the following consistency modes:
10538
+ #
10539
+ # * `EVENTUAL`: Configures a new global table for multi-Region
10540
+ # eventual consistency. This is the default consistency mode for
10541
+ # global tables.
10542
+ #
10543
+ # * `STRONG`: Configures a new global table for multi-Region strong
10544
+ # consistency (preview).
10545
+ #
10546
+ # <note markdown="1"> Multi-Region strong consistency (MRSC) is a new DynamoDB global
10547
+ # tables capability currently available in preview mode. For more
10548
+ # information, see [Global tables multi-Region strong
10549
+ # consistency][3].
10550
+ #
10551
+ # </note>
10552
+ #
10553
+ # If you don't specify this parameter, the global table consistency
10554
+ # mode defaults to `EVENTUAL`.
10555
+ #
10556
+ #
10557
+ #
10558
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create
10559
+ # [2]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates
10560
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PreviewFeatures.html#multi-region-strong-consistency-gt
10561
+ # @return [String]
10562
+ #
10563
+ # @!attribute [rw] on_demand_throughput
10564
+ # Updates the maximum number of read and write units for the specified
10565
+ # table in on-demand capacity mode. If you use this parameter, you
10566
+ # must specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
10567
+ # @return [Types::OnDemandThroughput]
10568
+ #
10569
+ # @!attribute [rw] warm_throughput
10570
+ # Represents the warm throughput (in read units per second and write
10571
+ # units per second) for updating a table.
10572
+ # @return [Types::WarmThroughput]
10573
+ #
9906
10574
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableInput AWS API Documentation
9907
10575
  #
9908
10576
  class UpdateTableInput < Struct.new(
@@ -9915,7 +10583,10 @@ module Aws::DynamoDB
9915
10583
  :sse_specification,
9916
10584
  :replica_updates,
9917
10585
  :table_class,
9918
- :deletion_protection_enabled)
10586
+ :deletion_protection_enabled,
10587
+ :multi_region_consistency,
10588
+ :on_demand_throughput,
10589
+ :warm_throughput)
9919
10590
  SENSITIVE = []
9920
10591
  include Aws::Structure
9921
10592
  end
@@ -9940,7 +10611,8 @@ module Aws::DynamoDB
9940
10611
  # @return [Array<Types::GlobalSecondaryIndexAutoScalingUpdate>]
9941
10612
  #
9942
10613
  # @!attribute [rw] table_name
9943
- # The name of the global table to be updated.
10614
+ # The name of the global table to be updated. You can also provide the
10615
+ # Amazon Resource Name (ARN) of the table in this parameter.
9944
10616
  # @return [String]
9945
10617
  #
9946
10618
  # @!attribute [rw] provisioned_write_capacity_auto_scaling_update
@@ -9980,7 +10652,8 @@ module Aws::DynamoDB
9980
10652
  # Represents the input of an `UpdateTimeToLive` operation.
9981
10653
  #
9982
10654
  # @!attribute [rw] table_name
9983
- # The name of the table to be configured.
10655
+ # The name of the table to be configured. You can also provide the
10656
+ # Amazon Resource Name (ARN) of the table in this parameter.
9984
10657
  # @return [String]
9985
10658
  #
9986
10659
  # @!attribute [rw] time_to_live_specification
@@ -10009,6 +10682,30 @@ module Aws::DynamoDB
10009
10682
  include Aws::Structure
10010
10683
  end
10011
10684
 
10685
+ # Provides visibility into the number of read and write operations your
10686
+ # table or secondary index can instantaneously support. The settings can
10687
+ # be modified using the `UpdateTable` operation to meet the throughput
10688
+ # requirements of an upcoming peak event.
10689
+ #
10690
+ # @!attribute [rw] read_units_per_second
10691
+ # Represents the number of read operations your base table can
10692
+ # instantaneously support.
10693
+ # @return [Integer]
10694
+ #
10695
+ # @!attribute [rw] write_units_per_second
10696
+ # Represents the number of write operations your base table can
10697
+ # instantaneously support.
10698
+ # @return [Integer]
10699
+ #
10700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/WarmThroughput AWS API Documentation
10701
+ #
10702
+ class WarmThroughput < Struct.new(
10703
+ :read_units_per_second,
10704
+ :write_units_per_second)
10705
+ SENSITIVE = []
10706
+ include Aws::Structure
10707
+ end
10708
+
10012
10709
  # Represents an operation to perform - either `DeleteItem` or `PutItem`.
10013
10710
  # You can only request one of these operations, not both, in a single
10014
10711
  # `WriteRequest`. If you do need to perform both of these operations,
@@ -10033,3 +10730,4 @@ module Aws::DynamoDB
10033
10730
 
10034
10731
  end
10035
10732
  end
10733
+