aws-sdk-dynamodb 1.17.0 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,