aws-sdk-dynamodb 1.17.0 → 1.18.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.
@@ -139,6 +139,12 @@ module Aws::DynamoDB
139
139
  data[:table_id]
140
140
  end
141
141
 
142
+ # Contains the details for the read/write capacity mode.
143
+ # @return [Types::BillingModeSummary]
144
+ def billing_mode_summary
145
+ data[:billing_mode_summary]
146
+ end
147
+
142
148
  # Represents one or more local secondary indexes on the table. Each
143
149
  # index is scoped to a given partition key value. Tables with one or
144
150
  # more local secondary indexes are subject to an item collection size
@@ -1676,6 +1682,7 @@ module Aws::DynamoDB
1676
1682
  # attribute_type: "S", # required, accepts S, N, B
1677
1683
  # },
1678
1684
  # ],
1685
+ # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
1679
1686
  # provisioned_throughput: {
1680
1687
  # read_capacity_units: 1, # required
1681
1688
  # write_capacity_units: 1, # required
@@ -1701,7 +1708,7 @@ module Aws::DynamoDB
1701
1708
  # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
1702
1709
  # non_key_attributes: ["NonKeyAttributeName"],
1703
1710
  # },
1704
- # provisioned_throughput: { # required
1711
+ # provisioned_throughput: {
1705
1712
  # read_capacity_units: 1, # required
1706
1713
  # write_capacity_units: 1, # required
1707
1714
  # },
@@ -1727,6 +1734,19 @@ module Aws::DynamoDB
1727
1734
  # indexes. If you are adding a new global secondary index to the table,
1728
1735
  # `AttributeDefinitions` must include the key element(s) of the new
1729
1736
  # index.
1737
+ # @option options [String] :billing_mode
1738
+ # Controls how you are charged for read and write throughput and how you
1739
+ # manage capacity. When switching from pay-per-request to provisioned
1740
+ # capacity, initial provisioned capacity values must be set. The initial
1741
+ # provisioned capacity values are estimated based on the consumed read
1742
+ # and write capacity of your table and global secondary indexes over the
1743
+ # past 30 minutes.
1744
+ #
1745
+ # * `PROVISIONED` - Sets the billing mode to `PROVISIONED`. We recommend
1746
+ # using `PROVISIONED` for predictable workloads.
1747
+ #
1748
+ # * `PAY_PER_REQUEST` - Sets the billing mode to `PAY_PER_REQUEST`. We
1749
+ # recommend using `PAY_PER_REQUEST` for unpredictable workloads.
1730
1750
  # @option options [Types::ProvisionedThroughput] :provisioned_throughput
1731
1751
  # The new provisioned throughput settings for the specified table or
1732
1752
  # index.
@@ -569,9 +569,14 @@ module Aws::DynamoDB
569
569
  # @!attribute [rw] backup_type
570
570
  # BackupType:
571
571
  #
572
- # * `USER` - On-demand backup created by you.
572
+ # * `USER` - You create and manage these using the on-demand backup
573
+ # feature.
573
574
  #
574
- # * `SYSTEM` - On-demand backup automatically created by DynamoDB.
575
+ # * `SYSTEM` - If you delete a table with point-in-time recovery
576
+ # enabled, a `SYSTEM` backup is automatically created and is
577
+ # retained for 35 days (at no additional cost). System backups allow
578
+ # you to restore the deleted table to the state it was in just
579
+ # before the point of deletion.
575
580
  # @return [String]
576
581
  #
577
582
  # @!attribute [rw] backup_creation_date_time
@@ -638,9 +643,14 @@ module Aws::DynamoDB
638
643
  # @!attribute [rw] backup_type
639
644
  # BackupType:
640
645
  #
641
- # * `USER` - On-demand backup created by you.
646
+ # * `USER` - You create and manage these using the on-demand backup
647
+ # feature.
642
648
  #
643
- # * `SYSTEM` - On-demand backup automatically created by DynamoDB.
649
+ # * `SYSTEM` - If you delete a table with point-in-time recovery
650
+ # enabled, a `SYSTEM` backup is automatically created and is
651
+ # retained for 35 days (at no additional cost). System backups allow
652
+ # you to restore the deleted table to the state it was in just
653
+ # before the point of deletion.
644
654
  # @return [String]
645
655
  #
646
656
  # @!attribute [rw] backup_size_bytes
@@ -1038,9 +1048,74 @@ module Aws::DynamoDB
1038
1048
  include Aws::Structure
1039
1049
  end
1040
1050
 
1051
+ # Contains the details for the read/write capacity mode.
1052
+ #
1053
+ # @!attribute [rw] billing_mode
1054
+ # Controls how you are charged for read and write throughput and how
1055
+ # you manage capacity. This setting can be changed later.
1056
+ #
1057
+ # * `PROVISIONED` - Sets the read/write capacity mode to
1058
+ # `PROVISIONED`. We recommend using `PROVISIONED` for predictable
1059
+ # workloads.
1060
+ #
1061
+ # * `PAY_PER_REQUEST` - Sets the read/write capacity mode to
1062
+ # `PAY_PER_REQUEST`. We recommend using `PAY_PER_REQUEST` for
1063
+ # unpredictable workloads.
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] last_update_to_pay_per_request_date_time
1067
+ # Represents the time when `PAY_PER_REQUEST` was last set as the
1068
+ # read/write capacity mode.
1069
+ # @return [Time]
1070
+ #
1071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BillingModeSummary AWS API Documentation
1072
+ #
1073
+ class BillingModeSummary < Struct.new(
1074
+ :billing_mode,
1075
+ :last_update_to_pay_per_request_date_time)
1076
+ include Aws::Structure
1077
+ end
1078
+
1079
+ # An ordered list of errors for each item in the request which caused
1080
+ # the transaction to get cancelled. The values of the list are ordered
1081
+ # according to the ordering of the `TransactWriteItems` request
1082
+ # parameter. If no error occurred for the associated item an error with
1083
+ # a Null code and Null message will be present.
1084
+ #
1085
+ # @!attribute [rw] item
1086
+ # Item in the request which caused the transaction to get cancelled.
1087
+ # @return [Hash<String,Types::AttributeValue>]
1088
+ #
1089
+ # @!attribute [rw] code
1090
+ # Status code for the result of the cancelled transaction.
1091
+ # @return [String]
1092
+ #
1093
+ # @!attribute [rw] message
1094
+ # Cancellation reason message description.
1095
+ # @return [String]
1096
+ #
1097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CancellationReason AWS API Documentation
1098
+ #
1099
+ class CancellationReason < Struct.new(
1100
+ :item,
1101
+ :code,
1102
+ :message)
1103
+ include Aws::Structure
1104
+ end
1105
+
1041
1106
  # Represents the amount of provisioned throughput capacity consumed on a
1042
1107
  # table or an index.
1043
1108
  #
1109
+ # @!attribute [rw] read_capacity_units
1110
+ # The total number of read capacity units consumed on a table or an
1111
+ # index.
1112
+ # @return [Float]
1113
+ #
1114
+ # @!attribute [rw] write_capacity_units
1115
+ # The total number of write capacity units consumed on a table or an
1116
+ # index.
1117
+ # @return [Float]
1118
+ #
1044
1119
  # @!attribute [rw] capacity_units
1045
1120
  # The total number of capacity units consumed on a table or an index.
1046
1121
  # @return [Float]
@@ -1048,6 +1123,8 @@ module Aws::DynamoDB
1048
1123
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Capacity AWS API Documentation
1049
1124
  #
1050
1125
  class Capacity < Struct.new(
1126
+ :read_capacity_units,
1127
+ :write_capacity_units,
1051
1128
  :capacity_units)
1052
1129
  include Aws::Structure
1053
1130
  end
@@ -1278,6 +1355,69 @@ module Aws::DynamoDB
1278
1355
  include Aws::Structure
1279
1356
  end
1280
1357
 
1358
+ # Represents a request to perform a check that an item exists or to
1359
+ # check the condition of specific attributes of the item..
1360
+ #
1361
+ # @note When making an API call, you may pass ConditionCheck
1362
+ # data as a hash:
1363
+ #
1364
+ # {
1365
+ # key: { # required
1366
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1367
+ # },
1368
+ # table_name: "TableName", # required
1369
+ # condition_expression: "ConditionExpression", # required
1370
+ # expression_attribute_names: {
1371
+ # "ExpressionAttributeNameVariable" => "AttributeName",
1372
+ # },
1373
+ # expression_attribute_values: {
1374
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1375
+ # },
1376
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
1377
+ # }
1378
+ #
1379
+ # @!attribute [rw] key
1380
+ # The primary key of the item to be checked. Each element consists of
1381
+ # an attribute name and a value for that attribute.
1382
+ # @return [Hash<String,Types::AttributeValue>]
1383
+ #
1384
+ # @!attribute [rw] table_name
1385
+ # Name of the table for the check item request.
1386
+ # @return [String]
1387
+ #
1388
+ # @!attribute [rw] condition_expression
1389
+ # A condition that must be satisfied in order for a conditional update
1390
+ # to succeed.
1391
+ # @return [String]
1392
+ #
1393
+ # @!attribute [rw] expression_attribute_names
1394
+ # One or more substitution tokens for attribute names in an
1395
+ # expression.
1396
+ # @return [Hash<String,String>]
1397
+ #
1398
+ # @!attribute [rw] expression_attribute_values
1399
+ # One or more values that can be substituted in an expression.
1400
+ # @return [Hash<String,Types::AttributeValue>]
1401
+ #
1402
+ # @!attribute [rw] return_values_on_condition_check_failure
1403
+ # Use `ReturnValuesOnConditionCheckFailure` to get the item attributes
1404
+ # if the `ConditionCheck` condition fails. For
1405
+ # `ReturnValuesOnConditionCheckFailure`, the valid values are: NONE
1406
+ # and ALL\_OLD.
1407
+ # @return [String]
1408
+ #
1409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ConditionCheck AWS API Documentation
1410
+ #
1411
+ class ConditionCheck < Struct.new(
1412
+ :key,
1413
+ :table_name,
1414
+ :condition_expression,
1415
+ :expression_attribute_names,
1416
+ :expression_attribute_values,
1417
+ :return_values_on_condition_check_failure)
1418
+ include Aws::Structure
1419
+ end
1420
+
1281
1421
  # The capacity units consumed by an operation. The data returned
1282
1422
  # includes the total provisioned throughput consumed, along with
1283
1423
  # statistics for the table and any indexes involved in the operation.
@@ -1297,6 +1437,14 @@ module Aws::DynamoDB
1297
1437
  # The total number of capacity units consumed by the operation.
1298
1438
  # @return [Float]
1299
1439
  #
1440
+ # @!attribute [rw] read_capacity_units
1441
+ # The total number of read capacity units consumed by the operation.
1442
+ # @return [Float]
1443
+ #
1444
+ # @!attribute [rw] write_capacity_units
1445
+ # The total number of write capacity units consumed by the operation.
1446
+ # @return [Float]
1447
+ #
1300
1448
  # @!attribute [rw] table
1301
1449
  # The amount of throughput consumed on the table affected by the
1302
1450
  # operation.
@@ -1317,6 +1465,8 @@ module Aws::DynamoDB
1317
1465
  class ConsumedCapacity < Struct.new(
1318
1466
  :table_name,
1319
1467
  :capacity_units,
1468
+ :read_capacity_units,
1469
+ :write_capacity_units,
1320
1470
  :table,
1321
1471
  :local_secondary_indexes,
1322
1472
  :global_secondary_indexes)
@@ -1397,7 +1547,7 @@ module Aws::DynamoDB
1397
1547
  # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
1398
1548
  # non_key_attributes: ["NonKeyAttributeName"],
1399
1549
  # },
1400
- # provisioned_throughput: { # required
1550
+ # provisioned_throughput: {
1401
1551
  # read_capacity_units: 1, # required
1402
1552
  # write_capacity_units: 1, # required
1403
1553
  # },
@@ -1545,13 +1695,14 @@ module Aws::DynamoDB
1545
1695
  # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
1546
1696
  # non_key_attributes: ["NonKeyAttributeName"],
1547
1697
  # },
1548
- # provisioned_throughput: { # required
1698
+ # provisioned_throughput: {
1549
1699
  # read_capacity_units: 1, # required
1550
1700
  # write_capacity_units: 1, # required
1551
1701
  # },
1552
1702
  # },
1553
1703
  # ],
1554
- # provisioned_throughput: { # required
1704
+ # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
1705
+ # provisioned_throughput: {
1555
1706
  # read_capacity_units: 1, # required
1556
1707
  # write_capacity_units: 1, # required
1557
1708
  # },
@@ -1706,11 +1857,26 @@ module Aws::DynamoDB
1706
1857
  # units.
1707
1858
  # @return [Array<Types::GlobalSecondaryIndex>]
1708
1859
  #
1860
+ # @!attribute [rw] billing_mode
1861
+ # Controls how you are charged for read and write throughput and how
1862
+ # you manage capacity. This setting can be changed later.
1863
+ #
1864
+ # * `PROVISIONED` - Sets the billing mode to `PROVISIONED`. We
1865
+ # recommend using `PROVISIONED` for predictable workloads.
1866
+ #
1867
+ # * `PAY_PER_REQUEST` - Sets the billing mode to `PAY_PER_REQUEST`. We
1868
+ # recommend using `PAY_PER_REQUEST` for unpredictable workloads.
1869
+ # @return [String]
1870
+ #
1709
1871
  # @!attribute [rw] provisioned_throughput
1710
1872
  # Represents the provisioned throughput settings for a specified table
1711
1873
  # or index. The settings can be modified using the `UpdateTable`
1712
1874
  # operation.
1713
1875
  #
1876
+ # If you set BillingMode as `PROVISIONED`, you must specify this
1877
+ # property. If you set BillingMode as `PAY_PER_REQUEST`, you cannot
1878
+ # specify this property.
1879
+ #
1714
1880
  # For current minimum and maximum provisioned throughput values, see
1715
1881
  # [Limits][1] in the *Amazon DynamoDB Developer Guide*.
1716
1882
  #
@@ -1755,6 +1921,7 @@ module Aws::DynamoDB
1755
1921
  :key_schema,
1756
1922
  :local_secondary_indexes,
1757
1923
  :global_secondary_indexes,
1924
+ :billing_mode,
1758
1925
  :provisioned_throughput,
1759
1926
  :stream_specification,
1760
1927
  :sse_specification)
@@ -1774,6 +1941,68 @@ module Aws::DynamoDB
1774
1941
  include Aws::Structure
1775
1942
  end
1776
1943
 
1944
+ # Represents a request to perform a `DeleteItem` operation.
1945
+ #
1946
+ # @note When making an API call, you may pass Delete
1947
+ # data as a hash:
1948
+ #
1949
+ # {
1950
+ # key: { # required
1951
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1952
+ # },
1953
+ # table_name: "TableName", # required
1954
+ # condition_expression: "ConditionExpression",
1955
+ # expression_attribute_names: {
1956
+ # "ExpressionAttributeNameVariable" => "AttributeName",
1957
+ # },
1958
+ # expression_attribute_values: {
1959
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1960
+ # },
1961
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
1962
+ # }
1963
+ #
1964
+ # @!attribute [rw] key
1965
+ # The primary key of the item to be deleted. Each element consists of
1966
+ # an attribute name and a value for that attribute.
1967
+ # @return [Hash<String,Types::AttributeValue>]
1968
+ #
1969
+ # @!attribute [rw] table_name
1970
+ # Name of the table in which the item to be deleted resides.
1971
+ # @return [String]
1972
+ #
1973
+ # @!attribute [rw] condition_expression
1974
+ # A condition that must be satisfied in order for a conditional delete
1975
+ # to succeed.
1976
+ # @return [String]
1977
+ #
1978
+ # @!attribute [rw] expression_attribute_names
1979
+ # One or more substitution tokens for attribute names in an
1980
+ # expression.
1981
+ # @return [Hash<String,String>]
1982
+ #
1983
+ # @!attribute [rw] expression_attribute_values
1984
+ # One or more values that can be substituted in an expression.
1985
+ # @return [Hash<String,Types::AttributeValue>]
1986
+ #
1987
+ # @!attribute [rw] return_values_on_condition_check_failure
1988
+ # Use `ReturnValuesOnConditionCheckFailure` to get the item attributes
1989
+ # if the `Delete` condition fails. For
1990
+ # `ReturnValuesOnConditionCheckFailure`, the valid values are: NONE
1991
+ # and ALL\_OLD.
1992
+ # @return [String]
1993
+ #
1994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Delete AWS API Documentation
1995
+ #
1996
+ class Delete < Struct.new(
1997
+ :key,
1998
+ :table_name,
1999
+ :condition_expression,
2000
+ :expression_attribute_names,
2001
+ :expression_attribute_values,
2002
+ :return_values_on_condition_check_failure)
2003
+ include Aws::Structure
2004
+ end
2005
+
1777
2006
  # @note When making an API call, you may pass DeleteBackupInput
1778
2007
  # data as a hash:
1779
2008
  #
@@ -2502,13 +2731,13 @@ module Aws::DynamoDB
2502
2731
  # * If `Exists` is `true`, DynamoDB will check to see if that
2503
2732
  # attribute value already exists in the table. If it is found, then
2504
2733
  # the operation succeeds. If it is not found, the operation fails
2505
- # with a `ConditionalCheckFailedException`.
2734
+ # with a `ConditionCheckFailedException`.
2506
2735
  #
2507
2736
  # * If `Exists` is `false`, DynamoDB assumes that the attribute value
2508
2737
  # does not exist in the table. If in fact the value does not exist,
2509
2738
  # then the assumption is valid and the operation succeeds. If the
2510
2739
  # value is found, despite the assumption that it does not exist, the
2511
- # operation fails with a `ConditionalCheckFailedException`.
2740
+ # operation fails with a `ConditionCheckFailedException`.
2512
2741
  #
2513
2742
  # The default setting for `Exists` is `true`. If you supply a `Value`
2514
2743
  # all by itself, DynamoDB assumes the attribute exists: You don't
@@ -2725,6 +2954,56 @@ module Aws::DynamoDB
2725
2954
  include Aws::Structure
2726
2955
  end
2727
2956
 
2957
+ # Specifies an item and related attribute values to retrieve in a
2958
+ # `TransactGetItem` object.
2959
+ #
2960
+ # @note When making an API call, you may pass Get
2961
+ # data as a hash:
2962
+ #
2963
+ # {
2964
+ # key: { # required
2965
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
2966
+ # },
2967
+ # table_name: "TableName", # required
2968
+ # projection_expression: "ProjectionExpression",
2969
+ # expression_attribute_names: {
2970
+ # "ExpressionAttributeNameVariable" => "AttributeName",
2971
+ # },
2972
+ # }
2973
+ #
2974
+ # @!attribute [rw] key
2975
+ # A map of attribute names to `AttributeValue` objects that specifies
2976
+ # the primary key of the item to retrieve.
2977
+ # @return [Hash<String,Types::AttributeValue>]
2978
+ #
2979
+ # @!attribute [rw] table_name
2980
+ # The name of the table from which to retrieve the specified item.
2981
+ # @return [String]
2982
+ #
2983
+ # @!attribute [rw] projection_expression
2984
+ # A string that identifies one or more attributes of the specified
2985
+ # item to retrieve from the table. The attributes in the expression
2986
+ # must be separated by commas. If no attribute names are specified,
2987
+ # then all attributes of the specified item are returned. If any of
2988
+ # the requested attributes are not found, they do not appear in the
2989
+ # result.
2990
+ # @return [String]
2991
+ #
2992
+ # @!attribute [rw] expression_attribute_names
2993
+ # One or more substitution tokens for attribute names in the
2994
+ # ProjectionExpression parameter.
2995
+ # @return [Hash<String,String>]
2996
+ #
2997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Get AWS API Documentation
2998
+ #
2999
+ class Get < Struct.new(
3000
+ :key,
3001
+ :table_name,
3002
+ :projection_expression,
3003
+ :expression_attribute_names)
3004
+ include Aws::Structure
3005
+ end
3006
+
2728
3007
  # Represents the input of a `GetItem` operation.
2729
3008
  #
2730
3009
  # @note When making an API call, you may pass GetItemInput
@@ -2924,7 +3203,7 @@ module Aws::DynamoDB
2924
3203
  # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
2925
3204
  # non_key_attributes: ["NonKeyAttributeName"],
2926
3205
  # },
2927
- # provisioned_throughput: { # required
3206
+ # provisioned_throughput: {
2928
3207
  # read_capacity_units: 1, # required
2929
3208
  # write_capacity_units: 1, # required
2930
3209
  # },
@@ -3173,7 +3452,7 @@ module Aws::DynamoDB
3173
3452
  # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
3174
3453
  # non_key_attributes: ["NonKeyAttributeName"],
3175
3454
  # },
3176
- # provisioned_throughput: { # required
3455
+ # provisioned_throughput: {
3177
3456
  # read_capacity_units: 1, # required
3178
3457
  # write_capacity_units: 1, # required
3179
3458
  # },
@@ -3355,6 +3634,20 @@ module Aws::DynamoDB
3355
3634
  include Aws::Structure
3356
3635
  end
3357
3636
 
3637
+ # Details for the requested item.
3638
+ #
3639
+ # @!attribute [rw] item
3640
+ # Map of attribute data consisting of the data type and attribute
3641
+ # value.
3642
+ # @return [Hash<String,Types::AttributeValue>]
3643
+ #
3644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ItemResponse AWS API Documentation
3645
+ #
3646
+ class ItemResponse < Struct.new(
3647
+ :item)
3648
+ include Aws::Structure
3649
+ end
3650
+
3358
3651
  # Represents *a single element* of a key schema. A key schema specifies
3359
3652
  # the attributes that make up the primary key of a table, or the key
3360
3653
  # attributes of an index.
@@ -4063,6 +4356,9 @@ module Aws::DynamoDB
4063
4356
  # information, see [Specifying Read and Write Requirements][1] in the
4064
4357
  # *Amazon DynamoDB Developer Guide*.
4065
4358
  #
4359
+ # If read/write capacity mode is `PAY_PER_REQUEST` the value is set to
4360
+ # 0.
4361
+ #
4066
4362
  #
4067
4363
  #
4068
4364
  # [1]: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput
@@ -4074,6 +4370,9 @@ module Aws::DynamoDB
4074
4370
  # [Specifying Read and Write Requirements][1] in the *Amazon DynamoDB
4075
4371
  # Developer Guide*.
4076
4372
  #
4373
+ # If read/write capacity mode is `PAY_PER_REQUEST` the value is set to
4374
+ # 0.
4375
+ #
4077
4376
  #
4078
4377
  #
4079
4378
  # [1]: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput
@@ -4136,6 +4435,72 @@ module Aws::DynamoDB
4136
4435
  include Aws::Structure
4137
4436
  end
4138
4437
 
4438
+ # Represents a request to perform a `PutItem` operation.
4439
+ #
4440
+ # @note When making an API call, you may pass Put
4441
+ # data as a hash:
4442
+ #
4443
+ # {
4444
+ # item: { # required
4445
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
4446
+ # },
4447
+ # table_name: "TableName", # required
4448
+ # condition_expression: "ConditionExpression",
4449
+ # expression_attribute_names: {
4450
+ # "ExpressionAttributeNameVariable" => "AttributeName",
4451
+ # },
4452
+ # expression_attribute_values: {
4453
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
4454
+ # },
4455
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
4456
+ # }
4457
+ #
4458
+ # @!attribute [rw] item
4459
+ # A map of attribute name to attribute values, representing the
4460
+ # primary key of the item to be written by `PutItem`. All of the
4461
+ # table's primary key attributes must be specified, and their data
4462
+ # types must match those of the table's key schema. If any attributes
4463
+ # are present in the item that are part of an index key schema for the
4464
+ # table, their types must match the index key schema.
4465
+ # @return [Hash<String,Types::AttributeValue>]
4466
+ #
4467
+ # @!attribute [rw] table_name
4468
+ # Name of the table in which to write the item.
4469
+ # @return [String]
4470
+ #
4471
+ # @!attribute [rw] condition_expression
4472
+ # A condition that must be satisfied in order for a conditional update
4473
+ # to succeed.
4474
+ # @return [String]
4475
+ #
4476
+ # @!attribute [rw] expression_attribute_names
4477
+ # One or more substitution tokens for attribute names in an
4478
+ # expression.
4479
+ # @return [Hash<String,String>]
4480
+ #
4481
+ # @!attribute [rw] expression_attribute_values
4482
+ # One or more values that can be substituted in an expression.
4483
+ # @return [Hash<String,Types::AttributeValue>]
4484
+ #
4485
+ # @!attribute [rw] return_values_on_condition_check_failure
4486
+ # Use `ReturnValuesOnConditionCheckFailure` to get the item attributes
4487
+ # if the `Put` condition fails. For
4488
+ # `ReturnValuesOnConditionCheckFailure`, the valid values are: NONE
4489
+ # and ALL\_OLD.
4490
+ # @return [String]
4491
+ #
4492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Put AWS API Documentation
4493
+ #
4494
+ class Put < Struct.new(
4495
+ :item,
4496
+ :table_name,
4497
+ :condition_expression,
4498
+ :expression_attribute_names,
4499
+ :expression_attribute_values,
4500
+ :return_values_on_condition_check_failure)
4501
+ include Aws::Structure
4502
+ end
4503
+
4139
4504
  # Represents the input of a `PutItem` operation.
4140
4505
  #
4141
4506
  # @note When making an API call, you may pass PutItemInput
@@ -5142,6 +5507,10 @@ module Aws::DynamoDB
5142
5507
  # * `ACTIVE` - The region is ready for use.
5143
5508
  # @return [String]
5144
5509
  #
5510
+ # @!attribute [rw] replica_billing_mode_summary
5511
+ # The read/write capacity mode of the replica.
5512
+ # @return [Types::BillingModeSummary]
5513
+ #
5145
5514
  # @!attribute [rw] replica_provisioned_read_capacity_units
5146
5515
  # The maximum number of strongly consistent reads consumed per second
5147
5516
  # before DynamoDB returns a `ThrottlingException`. For more
@@ -5183,6 +5552,7 @@ module Aws::DynamoDB
5183
5552
  class ReplicaSettingsDescription < Struct.new(
5184
5553
  :region_name,
5185
5554
  :replica_status,
5555
+ :replica_billing_mode_summary,
5186
5556
  :replica_provisioned_read_capacity_units,
5187
5557
  :replica_provisioned_read_capacity_auto_scaling_settings,
5188
5558
  :replica_provisioned_write_capacity_units,
@@ -5442,10 +5812,12 @@ module Aws::DynamoDB
5442
5812
  # @!attribute [rw] sse_type
5443
5813
  # Server-side encryption type:
5444
5814
  #
5445
- # * `AES256` - Server-side encryption which uses the AES256 algorithm.
5815
+ # * `AES256` - Server-side encryption which uses the AES256 algorithm
5816
+ # (not applicable).
5446
5817
  #
5447
5818
  # * `KMS` - Server-side encryption which uses AWS Key Management
5448
- # Service.
5819
+ # Service. Key is stored in your account and is managed by AWS KMS
5820
+ # (KMS charges apply).
5449
5821
  # @return [String]
5450
5822
  #
5451
5823
  # @!attribute [rw] kms_master_key_arn
@@ -5474,16 +5846,20 @@ module Aws::DynamoDB
5474
5846
  #
5475
5847
  # @!attribute [rw] enabled
5476
5848
  # Indicates whether server-side encryption is enabled (true) or
5477
- # disabled (false) on the table.
5849
+ # disabled (false) on the table. If enabled (true), server-side
5850
+ # encryption type is set to `KMS`. If disabled (false) or not
5851
+ # specified, server-side encryption is set to AWS owned CMK.
5478
5852
  # @return [Boolean]
5479
5853
  #
5480
5854
  # @!attribute [rw] sse_type
5481
5855
  # Server-side encryption type:
5482
5856
  #
5483
- # * `AES256` - Server-side encryption which uses the AES256 algorithm.
5857
+ # * `AES256` - Server-side encryption which uses the AES256 algorithm
5858
+ # (not applicable).
5484
5859
  #
5485
5860
  # * `KMS` - Server-side encryption which uses AWS Key Management
5486
- # Service. (default)
5861
+ # Service. Key is stored in your account and is managed by AWS KMS
5862
+ # (KMS charges apply).
5487
5863
  # @return [String]
5488
5864
  #
5489
5865
  # @!attribute [rw] kms_master_key_id
@@ -5986,6 +6362,19 @@ module Aws::DynamoDB
5986
6362
  # value.
5987
6363
  # @return [Integer]
5988
6364
  #
6365
+ # @!attribute [rw] billing_mode
6366
+ # Controls how you are charged for read and write throughput and how
6367
+ # you manage capacity. This setting can be changed later.
6368
+ #
6369
+ # * `PROVISIONED` - Sets the read/write capacity mode to
6370
+ # `PROVISIONED`. We recommend using `PROVISIONED` for predictable
6371
+ # workloads.
6372
+ #
6373
+ # * `PAY_PER_REQUEST` - Sets the read/write capacity mode to
6374
+ # `PAY_PER_REQUEST`. We recommend using `PAY_PER_REQUEST` for
6375
+ # unpredictable workloads.
6376
+ # @return [String]
6377
+ #
5989
6378
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SourceTableDetails AWS API Documentation
5990
6379
  #
5991
6380
  class SourceTableDetails < Struct.new(
@@ -5996,7 +6385,8 @@ module Aws::DynamoDB
5996
6385
  :key_schema,
5997
6386
  :table_creation_date_time,
5998
6387
  :provisioned_throughput,
5999
- :item_count)
6388
+ :item_count,
6389
+ :billing_mode)
6000
6390
  include Aws::Structure
6001
6391
  end
6002
6392
 
@@ -6177,6 +6567,10 @@ module Aws::DynamoDB
6177
6567
  # Unique identifier for the table for which the backup was created.
6178
6568
  # @return [String]
6179
6569
  #
6570
+ # @!attribute [rw] billing_mode_summary
6571
+ # Contains the details for the read/write capacity mode.
6572
+ # @return [Types::BillingModeSummary]
6573
+ #
6180
6574
  # @!attribute [rw] local_secondary_indexes
6181
6575
  # Represents one or more local secondary indexes on the table. Each
6182
6576
  # index is scoped to a given partition key value. Tables with one or
@@ -6343,6 +6737,7 @@ module Aws::DynamoDB
6343
6737
  :item_count,
6344
6738
  :table_arn,
6345
6739
  :table_id,
6740
+ :billing_mode_summary,
6346
6741
  :local_secondary_indexes,
6347
6742
  :global_secondary_indexes,
6348
6743
  :stream_specification,
@@ -6474,6 +6869,363 @@ module Aws::DynamoDB
6474
6869
  include Aws::Structure
6475
6870
  end
6476
6871
 
6872
+ # Specifies an item to be retrieved as part of the transaction.
6873
+ #
6874
+ # @note When making an API call, you may pass TransactGetItem
6875
+ # data as a hash:
6876
+ #
6877
+ # {
6878
+ # get: { # required
6879
+ # key: { # required
6880
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6881
+ # },
6882
+ # table_name: "TableName", # required
6883
+ # projection_expression: "ProjectionExpression",
6884
+ # expression_attribute_names: {
6885
+ # "ExpressionAttributeNameVariable" => "AttributeName",
6886
+ # },
6887
+ # },
6888
+ # }
6889
+ #
6890
+ # @!attribute [rw] get
6891
+ # Contains the primary key that identifies the item to get, together
6892
+ # with the name of the table that contains the item, and optionally
6893
+ # the specific attributes of the item to retrieve.
6894
+ # @return [Types::Get]
6895
+ #
6896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItem AWS API Documentation
6897
+ #
6898
+ class TransactGetItem < Struct.new(
6899
+ :get)
6900
+ include Aws::Structure
6901
+ end
6902
+
6903
+ # @note When making an API call, you may pass TransactGetItemsInput
6904
+ # data as a hash:
6905
+ #
6906
+ # {
6907
+ # transact_items: [ # required
6908
+ # {
6909
+ # get: { # required
6910
+ # key: { # required
6911
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6912
+ # },
6913
+ # table_name: "TableName", # required
6914
+ # projection_expression: "ProjectionExpression",
6915
+ # expression_attribute_names: {
6916
+ # "ExpressionAttributeNameVariable" => "AttributeName",
6917
+ # },
6918
+ # },
6919
+ # },
6920
+ # ],
6921
+ # return_consumed_capacity: "INDEXES", # accepts INDEXES, TOTAL, NONE
6922
+ # }
6923
+ #
6924
+ # @!attribute [rw] transact_items
6925
+ # An ordered array of up to 10 `TransactGetItem` objects, each of
6926
+ # which contains a `Get` structure.
6927
+ # @return [Array<Types::TransactGetItem>]
6928
+ #
6929
+ # @!attribute [rw] return_consumed_capacity
6930
+ # A value of `TOTAL` causes consumed capacity information to be
6931
+ # returned, and a value of `NONE` prevents that information from being
6932
+ # returned. No other value is valid.
6933
+ # @return [String]
6934
+ #
6935
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItemsInput AWS API Documentation
6936
+ #
6937
+ class TransactGetItemsInput < Struct.new(
6938
+ :transact_items,
6939
+ :return_consumed_capacity)
6940
+ include Aws::Structure
6941
+ end
6942
+
6943
+ # @!attribute [rw] consumed_capacity
6944
+ # If the *ReturnConsumedCapacity* value was `TOTAL`, this is an array
6945
+ # of `ConsumedCapacity` objects, one for each table addressed by
6946
+ # `TransactGetItem` objects in the *TransactItems* parameter. These
6947
+ # `ConsumedCapacity` objects report the read-capacity units consumed
6948
+ # by the `TransactGetItems` call in that table.
6949
+ # @return [Array<Types::ConsumedCapacity>]
6950
+ #
6951
+ # @!attribute [rw] responses
6952
+ # An ordered array of up to 10 `ItemResponse` objects, each of which
6953
+ # corresponds to the `TransactGetItem` object in the same position in
6954
+ # the *TransactItems* array. Each `ItemResponse` object contains a Map
6955
+ # of the name-value pairs that are the projected attributes of the
6956
+ # requested item.
6957
+ #
6958
+ # If a requested item could not be retrieved, the corresponding
6959
+ # `ItemResponse` object is Null, or if the requested item has no
6960
+ # projected attributes, the corresponding `ItemResponse` object is an
6961
+ # empty Map.
6962
+ # @return [Array<Types::ItemResponse>]
6963
+ #
6964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItemsOutput AWS API Documentation
6965
+ #
6966
+ class TransactGetItemsOutput < Struct.new(
6967
+ :consumed_capacity,
6968
+ :responses)
6969
+ include Aws::Structure
6970
+ end
6971
+
6972
+ # A list of requests that can perform update, put, delete, or check
6973
+ # operations on multiple items in one or more tables atomically.
6974
+ #
6975
+ # @note When making an API call, you may pass TransactWriteItem
6976
+ # data as a hash:
6977
+ #
6978
+ # {
6979
+ # condition_check: {
6980
+ # key: { # required
6981
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6982
+ # },
6983
+ # table_name: "TableName", # required
6984
+ # condition_expression: "ConditionExpression", # required
6985
+ # expression_attribute_names: {
6986
+ # "ExpressionAttributeNameVariable" => "AttributeName",
6987
+ # },
6988
+ # expression_attribute_values: {
6989
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6990
+ # },
6991
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
6992
+ # },
6993
+ # put: {
6994
+ # item: { # required
6995
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6996
+ # },
6997
+ # table_name: "TableName", # required
6998
+ # condition_expression: "ConditionExpression",
6999
+ # expression_attribute_names: {
7000
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7001
+ # },
7002
+ # expression_attribute_values: {
7003
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7004
+ # },
7005
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7006
+ # },
7007
+ # delete: {
7008
+ # key: { # required
7009
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7010
+ # },
7011
+ # table_name: "TableName", # required
7012
+ # condition_expression: "ConditionExpression",
7013
+ # expression_attribute_names: {
7014
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7015
+ # },
7016
+ # expression_attribute_values: {
7017
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7018
+ # },
7019
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7020
+ # },
7021
+ # update: {
7022
+ # key: { # required
7023
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7024
+ # },
7025
+ # update_expression: "UpdateExpression", # required
7026
+ # table_name: "TableName", # required
7027
+ # condition_expression: "ConditionExpression",
7028
+ # expression_attribute_names: {
7029
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7030
+ # },
7031
+ # expression_attribute_values: {
7032
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7033
+ # },
7034
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7035
+ # },
7036
+ # }
7037
+ #
7038
+ # @!attribute [rw] condition_check
7039
+ # A request to perform a check item operation.
7040
+ # @return [Types::ConditionCheck]
7041
+ #
7042
+ # @!attribute [rw] put
7043
+ # A request to perform a `PutItem` operation.
7044
+ # @return [Types::Put]
7045
+ #
7046
+ # @!attribute [rw] delete
7047
+ # A request to perform a `DeleteItem` operation.
7048
+ # @return [Types::Delete]
7049
+ #
7050
+ # @!attribute [rw] update
7051
+ # A request to perform an `UpdateItem` operation.
7052
+ # @return [Types::Update]
7053
+ #
7054
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItem AWS API Documentation
7055
+ #
7056
+ class TransactWriteItem < Struct.new(
7057
+ :condition_check,
7058
+ :put,
7059
+ :delete,
7060
+ :update)
7061
+ include Aws::Structure
7062
+ end
7063
+
7064
+ # @note When making an API call, you may pass TransactWriteItemsInput
7065
+ # data as a hash:
7066
+ #
7067
+ # {
7068
+ # transact_items: [ # required
7069
+ # {
7070
+ # condition_check: {
7071
+ # key: { # required
7072
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7073
+ # },
7074
+ # table_name: "TableName", # required
7075
+ # condition_expression: "ConditionExpression", # required
7076
+ # expression_attribute_names: {
7077
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7078
+ # },
7079
+ # expression_attribute_values: {
7080
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7081
+ # },
7082
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7083
+ # },
7084
+ # put: {
7085
+ # item: { # required
7086
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7087
+ # },
7088
+ # table_name: "TableName", # required
7089
+ # condition_expression: "ConditionExpression",
7090
+ # expression_attribute_names: {
7091
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7092
+ # },
7093
+ # expression_attribute_values: {
7094
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7095
+ # },
7096
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7097
+ # },
7098
+ # delete: {
7099
+ # key: { # required
7100
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7101
+ # },
7102
+ # table_name: "TableName", # required
7103
+ # condition_expression: "ConditionExpression",
7104
+ # expression_attribute_names: {
7105
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7106
+ # },
7107
+ # expression_attribute_values: {
7108
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7109
+ # },
7110
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7111
+ # },
7112
+ # update: {
7113
+ # key: { # required
7114
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7115
+ # },
7116
+ # update_expression: "UpdateExpression", # required
7117
+ # table_name: "TableName", # required
7118
+ # condition_expression: "ConditionExpression",
7119
+ # expression_attribute_names: {
7120
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7121
+ # },
7122
+ # expression_attribute_values: {
7123
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7124
+ # },
7125
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7126
+ # },
7127
+ # },
7128
+ # ],
7129
+ # return_consumed_capacity: "INDEXES", # accepts INDEXES, TOTAL, NONE
7130
+ # return_item_collection_metrics: "SIZE", # accepts SIZE, NONE
7131
+ # client_request_token: "String",
7132
+ # }
7133
+ #
7134
+ # @!attribute [rw] transact_items
7135
+ # An ordered array of up to 10 `TransactWriteItem` objects, each of
7136
+ # which contains a `ConditionCheck`, `Put`, `Update`, or `Delete`
7137
+ # object. These can operate on items in different tables, but the
7138
+ # tables must reside in the same AWS account and region, and no two of
7139
+ # them can operate on the same item.
7140
+ # @return [Array<Types::TransactWriteItem>]
7141
+ #
7142
+ # @!attribute [rw] return_consumed_capacity
7143
+ # Determines the level of detail about provisioned throughput
7144
+ # consumption that is returned in the response:
7145
+ #
7146
+ # * `INDEXES` - The response includes the aggregate `ConsumedCapacity`
7147
+ # for the operation, together with `ConsumedCapacity` for each table
7148
+ # and secondary index that was accessed.
7149
+ #
7150
+ # Note that some operations, such as `GetItem` and `BatchGetItem`,
7151
+ # do not access any indexes at all. In these cases, specifying
7152
+ # `INDEXES` will only return `ConsumedCapacity` information for
7153
+ # table(s).
7154
+ #
7155
+ # * `TOTAL` - The response includes only the aggregate
7156
+ # `ConsumedCapacity` for the operation.
7157
+ #
7158
+ # * `NONE` - No `ConsumedCapacity` details are included in the
7159
+ # response.
7160
+ # @return [String]
7161
+ #
7162
+ # @!attribute [rw] return_item_collection_metrics
7163
+ # Determines whether item collection metrics are returned. If set to
7164
+ # `SIZE`, the response includes statistics about item collections (if
7165
+ # any), that were modified during the operation and are returned in
7166
+ # the response. If set to `NONE` (the default), no statistics are
7167
+ # returned.
7168
+ # @return [String]
7169
+ #
7170
+ # @!attribute [rw] client_request_token
7171
+ # Providing a `ClientRequestToken` makes the call to
7172
+ # `TransactWriteItems` idempotent, meaning that multiple identical
7173
+ # calls have the same effect as one single call.
7174
+ #
7175
+ # Although multiple identical calls using the same client request
7176
+ # token produce the same result on the server (no side effects), the
7177
+ # responses to the calls may not be the same. If the
7178
+ # `ReturnConsumedCapacity>` parameter is set, then the initial
7179
+ # `TransactWriteItems` call returns the amount of write capacity units
7180
+ # consumed in making the changes, and subsequent `TransactWriteItems`
7181
+ # calls with the same client token return the amount of read capacity
7182
+ # units consumed in reading the item.
7183
+ #
7184
+ # A client request token is valid for 10 minutes after the first
7185
+ # request that uses it completes. After 10 minutes, any request with
7186
+ # the same client token is treated as a new request. Do not resubmit
7187
+ # the same request with the same client token for more than 10 minutes
7188
+ # or the result may not be idempotent.
7189
+ #
7190
+ # If you submit a request with the same client token but a change in
7191
+ # other parameters within the 10 minute idempotency window, DynamoDB
7192
+ # returns an `IdempotentParameterMismatch` exception.
7193
+ #
7194
+ # **A suitable default value is auto-generated.** You should normally
7195
+ # not need to pass this option.
7196
+ # @return [String]
7197
+ #
7198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItemsInput AWS API Documentation
7199
+ #
7200
+ class TransactWriteItemsInput < Struct.new(
7201
+ :transact_items,
7202
+ :return_consumed_capacity,
7203
+ :return_item_collection_metrics,
7204
+ :client_request_token)
7205
+ include Aws::Structure
7206
+ end
7207
+
7208
+ # @!attribute [rw] consumed_capacity
7209
+ # The capacity units consumed by the entire `TransactWriteItems`
7210
+ # operation. The values of the list are ordered according to the
7211
+ # ordering of the `TransactItems` request parameter.
7212
+ # @return [Array<Types::ConsumedCapacity>]
7213
+ #
7214
+ # @!attribute [rw] item_collection_metrics
7215
+ # A list of tables that were processed by `TransactWriteItems` and,
7216
+ # for each table, information about any item collections that were
7217
+ # affected by individual `UpdateItem`, `PutItem` or `DeleteItem`
7218
+ # operations.
7219
+ # @return [Hash<String,Array<Types::ItemCollectionMetrics>>]
7220
+ #
7221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItemsOutput AWS API Documentation
7222
+ #
7223
+ class TransactWriteItemsOutput < Struct.new(
7224
+ :consumed_capacity,
7225
+ :item_collection_metrics)
7226
+ include Aws::Structure
7227
+ end
7228
+
6477
7229
  # @note When making an API call, you may pass UntagResourceInput
6478
7230
  # data as a hash:
6479
7231
  #
@@ -6501,6 +7253,75 @@ module Aws::DynamoDB
6501
7253
  include Aws::Structure
6502
7254
  end
6503
7255
 
7256
+ # Represents a request to perform an `UpdateItem` operation.
7257
+ #
7258
+ # @note When making an API call, you may pass Update
7259
+ # data as a hash:
7260
+ #
7261
+ # {
7262
+ # key: { # required
7263
+ # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7264
+ # },
7265
+ # update_expression: "UpdateExpression", # required
7266
+ # table_name: "TableName", # required
7267
+ # condition_expression: "ConditionExpression",
7268
+ # expression_attribute_names: {
7269
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7270
+ # },
7271
+ # expression_attribute_values: {
7272
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7273
+ # },
7274
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7275
+ # }
7276
+ #
7277
+ # @!attribute [rw] key
7278
+ # The primary key of the item to be updated. Each element consists of
7279
+ # an attribute name and a value for that attribute.
7280
+ # @return [Hash<String,Types::AttributeValue>]
7281
+ #
7282
+ # @!attribute [rw] update_expression
7283
+ # An expression that defines one or more attributes to be updated, the
7284
+ # action to be performed on them, and new value(s) for them.
7285
+ # @return [String]
7286
+ #
7287
+ # @!attribute [rw] table_name
7288
+ # Name of the table for the `UpdateItem` request.
7289
+ # @return [String]
7290
+ #
7291
+ # @!attribute [rw] condition_expression
7292
+ # A condition that must be satisfied in order for a conditional update
7293
+ # to succeed.
7294
+ # @return [String]
7295
+ #
7296
+ # @!attribute [rw] expression_attribute_names
7297
+ # One or more substitution tokens for attribute names in an
7298
+ # expression.
7299
+ # @return [Hash<String,String>]
7300
+ #
7301
+ # @!attribute [rw] expression_attribute_values
7302
+ # One or more values that can be substituted in an expression.
7303
+ # @return [Hash<String,Types::AttributeValue>]
7304
+ #
7305
+ # @!attribute [rw] return_values_on_condition_check_failure
7306
+ # Use `ReturnValuesOnConditionCheckFailure` to get the item attributes
7307
+ # if the `Update` condition fails. For
7308
+ # `ReturnValuesOnConditionCheckFailure`, the valid values are: NONE,
7309
+ # ALL\_OLD, UPDATED\_OLD, ALL\_NEW, UPDATED\_NEW.
7310
+ # @return [String]
7311
+ #
7312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Update AWS API Documentation
7313
+ #
7314
+ class Update < Struct.new(
7315
+ :key,
7316
+ :update_expression,
7317
+ :table_name,
7318
+ :condition_expression,
7319
+ :expression_attribute_names,
7320
+ :expression_attribute_values,
7321
+ :return_values_on_condition_check_failure)
7322
+ include Aws::Structure
7323
+ end
7324
+
6504
7325
  # @note When making an API call, you may pass UpdateContinuousBackupsInput
6505
7326
  # data as a hash:
6506
7327
  #
@@ -6627,6 +7448,7 @@ module Aws::DynamoDB
6627
7448
  #
6628
7449
  # {
6629
7450
  # global_table_name: "TableName", # required
7451
+ # global_table_billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
6630
7452
  # global_table_provisioned_write_capacity_units: 1,
6631
7453
  # global_table_provisioned_write_capacity_auto_scaling_settings_update: {
6632
7454
  # minimum_units: 1,
@@ -6712,6 +7534,12 @@ module Aws::DynamoDB
6712
7534
  # The name of the global table
6713
7535
  # @return [String]
6714
7536
  #
7537
+ # @!attribute [rw] global_table_billing_mode
7538
+ # The billing mode of the global table. If `GlobalTableBillingMode` is
7539
+ # not specified, the global table defaults to `PROVISIONED` capacity
7540
+ # billing mode.
7541
+ # @return [String]
7542
+ #
6715
7543
  # @!attribute [rw] global_table_provisioned_write_capacity_units
6716
7544
  # The maximum number of writes consumed per second before DynamoDB
6717
7545
  # returns a `ThrottlingException.`
@@ -6736,6 +7564,7 @@ module Aws::DynamoDB
6736
7564
  #
6737
7565
  class UpdateGlobalTableSettingsInput < Struct.new(
6738
7566
  :global_table_name,
7567
+ :global_table_billing_mode,
6739
7568
  :global_table_provisioned_write_capacity_units,
6740
7569
  :global_table_provisioned_write_capacity_auto_scaling_settings_update,
6741
7570
  :global_table_global_secondary_index_settings_update,
@@ -7186,6 +8015,7 @@ module Aws::DynamoDB
7186
8015
  # },
7187
8016
  # ],
7188
8017
  # table_name: "TableName", # required
8018
+ # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
7189
8019
  # provisioned_throughput: {
7190
8020
  # read_capacity_units: 1, # required
7191
8021
  # write_capacity_units: 1, # required
@@ -7211,7 +8041,7 @@ module Aws::DynamoDB
7211
8041
  # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
7212
8042
  # non_key_attributes: ["NonKeyAttributeName"],
7213
8043
  # },
7214
- # provisioned_throughput: { # required
8044
+ # provisioned_throughput: {
7215
8045
  # read_capacity_units: 1, # required
7216
8046
  # write_capacity_units: 1, # required
7217
8047
  # },
@@ -7243,6 +8073,21 @@ module Aws::DynamoDB
7243
8073
  # The name of the table to be updated.
7244
8074
  # @return [String]
7245
8075
  #
8076
+ # @!attribute [rw] billing_mode
8077
+ # Controls how you are charged for read and write throughput and how
8078
+ # you manage capacity. When switching from pay-per-request to
8079
+ # provisioned capacity, initial provisioned capacity values must be
8080
+ # set. The initial provisioned capacity values are estimated based on
8081
+ # the consumed read and write capacity of your table and global
8082
+ # secondary indexes over the past 30 minutes.
8083
+ #
8084
+ # * `PROVISIONED` - Sets the billing mode to `PROVISIONED`. We
8085
+ # recommend using `PROVISIONED` for predictable workloads.
8086
+ #
8087
+ # * `PAY_PER_REQUEST` - Sets the billing mode to `PAY_PER_REQUEST`. We
8088
+ # recommend using `PAY_PER_REQUEST` for unpredictable workloads.
8089
+ # @return [String]
8090
+ #
7246
8091
  # @!attribute [rw] provisioned_throughput
7247
8092
  # The new provisioned throughput settings for the specified table or
7248
8093
  # index.
@@ -7286,6 +8131,7 @@ module Aws::DynamoDB
7286
8131
  class UpdateTableInput < Struct.new(
7287
8132
  :attribute_definitions,
7288
8133
  :table_name,
8134
+ :billing_mode,
7289
8135
  :provisioned_throughput,
7290
8136
  :global_secondary_index_updates,
7291
8137
  :stream_specification,