aws-sdk-dynamodb 1.93.0 → 1.110.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.
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -75,6 +76,7 @@ module Aws::DynamoDB
75
76
  add_plugin(Aws::Plugins::ResponsePaging)
76
77
  add_plugin(Aws::Plugins::StubResponses)
77
78
  add_plugin(Aws::Plugins::IdempotencyToken)
79
+ add_plugin(Aws::Plugins::InvocationId)
78
80
  add_plugin(Aws::Plugins::JsonvalueConverter)
79
81
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
80
82
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -208,10 +210,17 @@ module Aws::DynamoDB
208
210
  # When set to 'true' the request body will not be compressed
209
211
  # for supported operations.
210
212
  #
211
- # @option options [String] :endpoint
212
- # The client endpoint is normally constructed from the `:region`
213
- # option. You should only configure an `:endpoint` when connecting
214
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
213
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
214
+ # Normally you should not configure the `:endpoint` option
215
+ # directly. This is normally constructed from the `:region`
216
+ # option. Configuring `:endpoint` is normally reserved for
217
+ # connecting to test or custom endpoints. The endpoint should
218
+ # be a URI formatted like:
219
+ #
220
+ # 'http://example.com'
221
+ # 'https://example.com'
222
+ # 'http://example.com:123'
223
+ #
215
224
  #
216
225
  # @option options [Integer] :endpoint_cache_max_entries (1000)
217
226
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -303,8 +312,9 @@ module Aws::DynamoDB
303
312
  #
304
313
  # @option options [String] :sdk_ua_app_id
305
314
  # A unique and opaque application ID that is appended to the
306
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
307
- # maximum length of 50.
315
+ # User-Agent header as app/sdk_ua_app_id. It should have a
316
+ # maximum length of 50. This variable is sourced from environment
317
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
308
318
  #
309
319
  # @option options [String] :secret_access_key
310
320
  #
@@ -366,50 +376,65 @@ module Aws::DynamoDB
366
376
  # @option options [Aws::DynamoDB::EndpointProvider] :endpoint_provider
367
377
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::DynamoDB::EndpointParameters`
368
378
  #
369
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
370
- # requests through. Formatted like 'http://proxy.com:123'.
371
- #
372
- # @option options [Float] :http_open_timeout (15) The number of
373
- # seconds to wait when opening a HTTP session before raising a
374
- # `Timeout::Error`.
375
- #
376
- # @option options [Float] :http_read_timeout (60) The default
377
- # number of seconds to wait for response data. This value can
378
- # safely be set per-request on the session.
379
- #
380
- # @option options [Float] :http_idle_timeout (5) The number of
381
- # seconds a connection is allowed to sit idle before it is
382
- # considered stale. Stale connections are closed and removed
383
- # from the pool before making a request.
384
- #
385
- # @option options [Float] :http_continue_timeout (1) The number of
386
- # seconds to wait for a 100-continue response before sending the
387
- # request body. This option has no effect unless the request has
388
- # "Expect" header set to "100-continue". Defaults to `nil` which
389
- # disables this behaviour. This value can safely be set per
390
- # request on the session.
391
- #
392
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
393
- # in seconds.
394
- #
395
- # @option options [Boolean] :http_wire_trace (false) When `true`,
396
- # HTTP debug output will be sent to the `:logger`.
379
+ # @option options [Float] :http_continue_timeout (1)
380
+ # The number of seconds to wait for a 100-continue response before sending the
381
+ # request body. This option has no effect unless the request has "Expect"
382
+ # header set to "100-continue". Defaults to `nil` which disables this
383
+ # behaviour. This value can safely be set per request on the session.
384
+ #
385
+ # @option options [Float] :http_idle_timeout (5)
386
+ # The number of seconds a connection is allowed to sit idle before it
387
+ # is considered stale. Stale connections are closed and removed from the
388
+ # pool before making a request.
389
+ #
390
+ # @option options [Float] :http_open_timeout (15)
391
+ # The default number of seconds to wait for response data.
392
+ # This value can safely be set per-request on the session.
393
+ #
394
+ # @option options [URI::HTTP,String] :http_proxy
395
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
396
+ #
397
+ # @option options [Float] :http_read_timeout (60)
398
+ # The default number of seconds to wait for response data.
399
+ # This value can safely be set per-request on the session.
400
+ #
401
+ # @option options [Boolean] :http_wire_trace (false)
402
+ # When `true`, HTTP debug output will be sent to the `:logger`.
403
+ #
404
+ # @option options [Proc] :on_chunk_received
405
+ # When a Proc object is provided, it will be used as callback when each chunk
406
+ # of the response body is received. It provides three arguments: the chunk,
407
+ # the number of bytes received, and the total number of
408
+ # bytes in the response (or nil if the server did not send a `content-length`).
409
+ #
410
+ # @option options [Proc] :on_chunk_sent
411
+ # When a Proc object is provided, it will be used as callback when each chunk
412
+ # of the request body is sent. It provides three arguments: the chunk,
413
+ # the number of bytes read from the body, and the total number of
414
+ # bytes in the body.
415
+ #
416
+ # @option options [Boolean] :raise_response_errors (true)
417
+ # When `true`, response errors are raised.
418
+ #
419
+ # @option options [String] :ssl_ca_bundle
420
+ # Full path to the SSL certificate authority bundle file that should be used when
421
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
422
+ # `:ssl_ca_directory` the the system default will be used if available.
423
+ #
424
+ # @option options [String] :ssl_ca_directory
425
+ # Full path of the directory that contains the unbundled SSL certificate
426
+ # authority files for verifying peer certificates. If you do
427
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
428
+ # default will be used if available.
397
429
  #
398
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
399
- # SSL peer certificates are verified when establishing a
400
- # connection.
430
+ # @option options [String] :ssl_ca_store
431
+ # Sets the X509::Store to verify peer certificate.
401
432
  #
402
- # @option options [String] :ssl_ca_bundle Full path to the SSL
403
- # certificate authority bundle file that should be used when
404
- # verifying peer certificates. If you do not pass
405
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
406
- # will be used if available.
433
+ # @option options [Float] :ssl_timeout
434
+ # Sets the SSL timeout in seconds
407
435
  #
408
- # @option options [String] :ssl_ca_directory Full path of the
409
- # directory that contains the unbundled SSL certificate
410
- # authority files for verifying peer certificates. If you do
411
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
412
- # system default will be used if available.
436
+ # @option options [Boolean] :ssl_verify_peer (true)
437
+ # When `true`, SSL peer certificates are verified when establishing a connection.
413
438
  #
414
439
  def initialize(*args)
415
440
  super
@@ -576,9 +601,9 @@ module Aws::DynamoDB
576
601
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations
577
602
  #
578
603
  # @option params [required, Hash<String,Types::KeysAndAttributes>] :request_items
579
- # A map of one or more table names and, for each table, a map that
580
- # describes one or more items to retrieve from that table. Each table
581
- # name can be used only once per `BatchGetItem` request.
604
+ # A map of one or more table names or table ARNs and, for each table, a
605
+ # map that describes one or more items to retrieve from that table. Each
606
+ # table name or ARN can be used only once per `BatchGetItem` request.
582
607
  #
583
608
  # Each element in the map of items to retrieve consists of the
584
609
  # following:
@@ -736,7 +761,7 @@ module Aws::DynamoDB
736
761
  #
737
762
  # resp = client.batch_get_item({
738
763
  # request_items: { # required
739
- # "TableName" => {
764
+ # "TableArn" => {
740
765
  # keys: [ # required
741
766
  # {
742
767
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
@@ -756,19 +781,19 @@ module Aws::DynamoDB
756
781
  # @example Response structure
757
782
  #
758
783
  # resp.responses #=> Hash
759
- # resp.responses["TableName"] #=> Array
760
- # resp.responses["TableName"][0] #=> Hash
761
- # resp.responses["TableName"][0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
784
+ # resp.responses["TableArn"] #=> Array
785
+ # resp.responses["TableArn"][0] #=> Hash
786
+ # resp.responses["TableArn"][0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
762
787
  # resp.unprocessed_keys #=> Hash
763
- # resp.unprocessed_keys["TableName"].keys #=> Array
764
- # resp.unprocessed_keys["TableName"].keys[0] #=> Hash
765
- # resp.unprocessed_keys["TableName"].keys[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
766
- # resp.unprocessed_keys["TableName"].attributes_to_get #=> Array
767
- # resp.unprocessed_keys["TableName"].attributes_to_get[0] #=> String
768
- # resp.unprocessed_keys["TableName"].consistent_read #=> Boolean
769
- # resp.unprocessed_keys["TableName"].projection_expression #=> String
770
- # resp.unprocessed_keys["TableName"].expression_attribute_names #=> Hash
771
- # resp.unprocessed_keys["TableName"].expression_attribute_names["ExpressionAttributeNameVariable"] #=> String
788
+ # resp.unprocessed_keys["TableArn"].keys #=> Array
789
+ # resp.unprocessed_keys["TableArn"].keys[0] #=> Hash
790
+ # resp.unprocessed_keys["TableArn"].keys[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
791
+ # resp.unprocessed_keys["TableArn"].attributes_to_get #=> Array
792
+ # resp.unprocessed_keys["TableArn"].attributes_to_get[0] #=> String
793
+ # resp.unprocessed_keys["TableArn"].consistent_read #=> Boolean
794
+ # resp.unprocessed_keys["TableArn"].projection_expression #=> String
795
+ # resp.unprocessed_keys["TableArn"].expression_attribute_names #=> Hash
796
+ # resp.unprocessed_keys["TableArn"].expression_attribute_names["ExpressionAttributeNameVariable"] #=> String
772
797
  # resp.consumed_capacity #=> Array
773
798
  # resp.consumed_capacity[0].table_name #=> String
774
799
  # resp.consumed_capacity[0].capacity_units #=> Float
@@ -882,15 +907,19 @@ module Aws::DynamoDB
882
907
  #
883
908
  # * The total request size exceeds 16 MB.
884
909
  #
910
+ # * Any individual items with keys exceeding the key length limits. For
911
+ # a partition key, the limit is 2048 bytes and for a sort key, the
912
+ # limit is 1024 bytes.
913
+ #
885
914
  #
886
915
  #
887
916
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html
888
917
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#Programming.Errors.BatchOperations
889
918
  #
890
919
  # @option params [required, Hash<String,Array>] :request_items
891
- # A map of one or more table names and, for each table, a list of
892
- # operations to be performed (`DeleteRequest` or `PutRequest`). Each
893
- # element in the map consists of the following:
920
+ # A map of one or more table names or table ARNs and, for each table, a
921
+ # list of operations to be performed (`DeleteRequest` or `PutRequest`).
922
+ # Each element in the map consists of the following:
894
923
  #
895
924
  # * `DeleteRequest` - Perform a `DeleteItem` operation on the specified
896
925
  # item. The item to be deleted is identified by a `Key` subelement:
@@ -995,7 +1024,7 @@ module Aws::DynamoDB
995
1024
  #
996
1025
  # resp = client.batch_write_item({
997
1026
  # request_items: { # required
998
- # "TableName" => [
1027
+ # "TableArn" => [
999
1028
  # {
1000
1029
  # put_request: {
1001
1030
  # item: { # required
@@ -1017,17 +1046,17 @@ module Aws::DynamoDB
1017
1046
  # @example Response structure
1018
1047
  #
1019
1048
  # resp.unprocessed_items #=> Hash
1020
- # resp.unprocessed_items["TableName"] #=> Array
1021
- # resp.unprocessed_items["TableName"][0].put_request.item #=> Hash
1022
- # resp.unprocessed_items["TableName"][0].put_request.item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1023
- # resp.unprocessed_items["TableName"][0].delete_request.key #=> Hash
1024
- # resp.unprocessed_items["TableName"][0].delete_request.key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1049
+ # resp.unprocessed_items["TableArn"] #=> Array
1050
+ # resp.unprocessed_items["TableArn"][0].put_request.item #=> Hash
1051
+ # resp.unprocessed_items["TableArn"][0].put_request.item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1052
+ # resp.unprocessed_items["TableArn"][0].delete_request.key #=> Hash
1053
+ # resp.unprocessed_items["TableArn"][0].delete_request.key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1025
1054
  # resp.item_collection_metrics #=> Hash
1026
- # resp.item_collection_metrics["TableName"] #=> Array
1027
- # resp.item_collection_metrics["TableName"][0].item_collection_key #=> Hash
1028
- # resp.item_collection_metrics["TableName"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1029
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb #=> Array
1030
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb[0] #=> Float
1055
+ # resp.item_collection_metrics["TableArn"] #=> Array
1056
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key #=> Hash
1057
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1058
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb #=> Array
1059
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb[0] #=> Float
1031
1060
  # resp.consumed_capacity #=> Array
1032
1061
  # resp.consumed_capacity[0].table_name #=> String
1033
1062
  # resp.consumed_capacity[0].capacity_units #=> Float
@@ -1088,7 +1117,8 @@ module Aws::DynamoDB
1088
1117
  # * Provisioned read and write capacity
1089
1118
  #
1090
1119
  # @option params [required, String] :table_name
1091
- # The name of the table.
1120
+ # The name of the table. You can also provide the Amazon Resource Name
1121
+ # (ARN) of the table in this parameter.
1092
1122
  #
1093
1123
  # @option params [required, String] :backup_name
1094
1124
  # Specified name for the backup.
@@ -1100,7 +1130,7 @@ module Aws::DynamoDB
1100
1130
  # @example Request syntax with placeholder values
1101
1131
  #
1102
1132
  # resp = client.create_backup({
1103
- # table_name: "TableName", # required
1133
+ # table_name: "TableArn", # required
1104
1134
  # backup_name: "BackupName", # required
1105
1135
  # })
1106
1136
  #
@@ -1127,14 +1157,13 @@ module Aws::DynamoDB
1127
1157
  # a replication relationship between two or more DynamoDB tables with
1128
1158
  # the same table name in the provided Regions.
1129
1159
  #
1130
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
1131
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
1132
- # when creating new global tables, as it provides greater flexibility,
1133
- # higher efficiency and consumes less write capacity than 2017.11.29
1134
- # (Legacy). To determine which version you are using, see [Determining
1135
- # the version][3]. To update existing global tables from version
1136
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
1137
- # global tables][4].
1160
+ # For global tables, this operation only applies to global tables using
1161
+ # Version 2019.11.21 (Current version), as it provides greater
1162
+ # flexibility, higher efficiency and consumes less write capacity than
1163
+ # 2017.11.29 (Legacy). To determine which version you are using, see
1164
+ # [Determining the version][1]. To update existing global tables from
1165
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [
1166
+ # Updating global tables][2].
1138
1167
  #
1139
1168
  # If you want to add a new replica table to a global table, each of the
1140
1169
  # following conditions must be true:
@@ -1177,10 +1206,8 @@ module Aws::DynamoDB
1177
1206
  #
1178
1207
  #
1179
1208
  #
1180
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
1181
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
1182
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
1183
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
1209
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
1210
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
1184
1211
  #
1185
1212
  # @option params [required, String] :global_table_name
1186
1213
  # The global table name.
@@ -1212,9 +1239,11 @@ module Aws::DynamoDB
1212
1239
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
1213
1240
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
1214
1241
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
1242
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
1215
1243
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
1216
1244
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
1217
1245
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
1246
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
1218
1247
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
1219
1248
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1220
1249
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -1256,7 +1285,8 @@ module Aws::DynamoDB
1256
1285
  # indexes.
1257
1286
  #
1258
1287
  # @option params [required, String] :table_name
1259
- # The name of the table to create.
1288
+ # The name of the table to create. You can also provide the Amazon
1289
+ # Resource Name (ARN) of the table in this parameter.
1260
1290
  #
1261
1291
  # @option params [required, Array<Types::KeySchemaElement>] :key_schema
1262
1292
  # Specifies the attributes that make up the primary key for a table or
@@ -1390,16 +1420,16 @@ module Aws::DynamoDB
1390
1420
  #
1391
1421
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
1392
1422
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
1393
- # Mode][1].
1423
+ # capacity mode][1].
1394
1424
  #
1395
1425
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
1396
1426
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
1397
- # [On-Demand Mode][2].
1427
+ # [On-demand capacity mode][2].
1398
1428
  #
1399
1429
  #
1400
1430
  #
1401
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
1402
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
1431
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
1432
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
1403
1433
  #
1404
1434
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput
1405
1435
  # Represents the provisioned throughput settings for a specified table
@@ -1460,6 +1490,28 @@ module Aws::DynamoDB
1460
1490
  # Indicates whether deletion protection is to be enabled (true) or
1461
1491
  # disabled (false) on the table.
1462
1492
  #
1493
+ # @option params [String] :resource_policy
1494
+ # An Amazon Web Services resource-based policy document in JSON format
1495
+ # that will be attached to the table.
1496
+ #
1497
+ # When you attach a resource-based policy while creating a table, the
1498
+ # policy application is *strongly consistent*.
1499
+ #
1500
+ # The maximum size supported for a resource-based policy document is 20
1501
+ # KB. DynamoDB counts whitespaces when calculating the size of a policy
1502
+ # against this limit. For a full list of all considerations that apply
1503
+ # for resource-based policies, see [Resource-based policy
1504
+ # considerations][1].
1505
+ #
1506
+ #
1507
+ #
1508
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
1509
+ #
1510
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput
1511
+ # Sets the maximum number of read and write units for the specified
1512
+ # table in on-demand capacity mode. If you use this parameter, you must
1513
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
1514
+ #
1463
1515
  # @return [Types::CreateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1464
1516
  #
1465
1517
  # * {Types::CreateTableOutput#table_description #table_description} => Types::TableDescription
@@ -1541,7 +1593,7 @@ module Aws::DynamoDB
1541
1593
  # attribute_type: "S", # required, accepts S, N, B
1542
1594
  # },
1543
1595
  # ],
1544
- # table_name: "TableName", # required
1596
+ # table_name: "TableArn", # required
1545
1597
  # key_schema: [ # required
1546
1598
  # {
1547
1599
  # attribute_name: "KeySchemaAttributeName", # required
@@ -1580,6 +1632,10 @@ module Aws::DynamoDB
1580
1632
  # read_capacity_units: 1, # required
1581
1633
  # write_capacity_units: 1, # required
1582
1634
  # },
1635
+ # on_demand_throughput: {
1636
+ # max_read_request_units: 1,
1637
+ # max_write_request_units: 1,
1638
+ # },
1583
1639
  # },
1584
1640
  # ],
1585
1641
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
@@ -1604,6 +1660,11 @@ module Aws::DynamoDB
1604
1660
  # ],
1605
1661
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
1606
1662
  # deletion_protection_enabled: false,
1663
+ # resource_policy: "ResourcePolicy",
1664
+ # on_demand_throughput: {
1665
+ # max_read_request_units: 1,
1666
+ # max_write_request_units: 1,
1667
+ # },
1607
1668
  # })
1608
1669
  #
1609
1670
  # @example Response structure
@@ -1657,6 +1718,8 @@ module Aws::DynamoDB
1657
1718
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
1658
1719
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
1659
1720
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
1721
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
1722
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
1660
1723
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
1661
1724
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
1662
1725
  # resp.table_description.latest_stream_label #=> String
@@ -1669,9 +1732,11 @@ module Aws::DynamoDB
1669
1732
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
1670
1733
  # resp.table_description.replicas[0].kms_master_key_id #=> String
1671
1734
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
1735
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
1672
1736
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
1673
1737
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
1674
1738
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
1739
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
1675
1740
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
1676
1741
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1677
1742
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -1689,6 +1754,8 @@ module Aws::DynamoDB
1689
1754
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1690
1755
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
1691
1756
  # resp.table_description.deletion_protection_enabled #=> Boolean
1757
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
1758
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
1692
1759
  #
1693
1760
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable AWS API Documentation
1694
1761
  #
@@ -1735,6 +1802,8 @@ module Aws::DynamoDB
1735
1802
  # resp.backup_description.source_table_details.table_creation_date_time #=> Time
1736
1803
  # resp.backup_description.source_table_details.provisioned_throughput.read_capacity_units #=> Integer
1737
1804
  # resp.backup_description.source_table_details.provisioned_throughput.write_capacity_units #=> Integer
1805
+ # resp.backup_description.source_table_details.on_demand_throughput.max_read_request_units #=> Integer
1806
+ # resp.backup_description.source_table_details.on_demand_throughput.max_write_request_units #=> Integer
1738
1807
  # resp.backup_description.source_table_details.item_count #=> Integer
1739
1808
  # resp.backup_description.source_table_details.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
1740
1809
  # resp.backup_description.source_table_feature_details.local_secondary_indexes #=> Array
@@ -1755,6 +1824,8 @@ module Aws::DynamoDB
1755
1824
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
1756
1825
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
1757
1826
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
1827
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
1828
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
1758
1829
  # resp.backup_description.source_table_feature_details.stream_description.stream_enabled #=> Boolean
1759
1830
  # resp.backup_description.source_table_feature_details.stream_description.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
1760
1831
  # resp.backup_description.source_table_feature_details.time_to_live_description.time_to_live_status #=> String, one of "ENABLING", "DISABLING", "ENABLED", "DISABLED"
@@ -1790,7 +1861,8 @@ module Aws::DynamoDB
1790
1861
  # delete. Otherwise, the item is not deleted.
1791
1862
  #
1792
1863
  # @option params [required, String] :table_name
1793
- # The name of the table from which to delete the item.
1864
+ # The name of the table from which to delete the item. You can also
1865
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
1794
1866
  #
1795
1867
  # @option params [required, Hash<String,Types::AttributeValue>] :key
1796
1868
  # A map of attribute names to `AttributeValue` objects, representing the
@@ -1999,7 +2071,7 @@ module Aws::DynamoDB
1999
2071
  # @example Request syntax with placeholder values
2000
2072
  #
2001
2073
  # resp = client.delete_item({
2002
- # table_name: "TableName", # required
2074
+ # table_name: "TableArn", # required
2003
2075
  # key: { # required
2004
2076
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
2005
2077
  # },
@@ -2058,6 +2130,67 @@ module Aws::DynamoDB
2058
2130
  req.send_request(options)
2059
2131
  end
2060
2132
 
2133
+ # Deletes the resource-based policy attached to the resource, which can
2134
+ # be a table or stream.
2135
+ #
2136
+ # `DeleteResourcePolicy` is an idempotent operation; running it multiple
2137
+ # times on the same resource *doesn't* result in an error response,
2138
+ # unless you specify an `ExpectedRevisionId`, which will then return a
2139
+ # `PolicyNotFoundException`.
2140
+ #
2141
+ # To make sure that you don't inadvertently lock yourself out of your
2142
+ # own resources, the root principal in your Amazon Web Services account
2143
+ # can perform `DeleteResourcePolicy` requests, even if your
2144
+ # resource-based policy explicitly denies the root principal's access.
2145
+ #
2146
+ # <note markdown="1"> `DeleteResourcePolicy` is an asynchronous operation. If you issue a
2147
+ # `GetResourcePolicy` request immediately after running the
2148
+ # `DeleteResourcePolicy` request, DynamoDB might still return the
2149
+ # deleted policy. This is because the policy for your resource might not
2150
+ # have been deleted yet. Wait for a few seconds, and then try the
2151
+ # `GetResourcePolicy` request again.
2152
+ #
2153
+ # </note>
2154
+ #
2155
+ # @option params [required, String] :resource_arn
2156
+ # The Amazon Resource Name (ARN) of the DynamoDB resource from which the
2157
+ # policy will be removed. The resources you can specify include tables
2158
+ # and streams. If you remove the policy of a table, it will also remove
2159
+ # the permissions for the table's indexes defined in that policy
2160
+ # document. This is because index permissions are defined in the
2161
+ # table's policy.
2162
+ #
2163
+ # @option params [String] :expected_revision_id
2164
+ # A string value that you can use to conditionally delete your policy.
2165
+ # When you provide an expected revision ID, if the revision ID of the
2166
+ # existing policy on the resource doesn't match or if there's no
2167
+ # policy attached to the resource, the request will fail and return a
2168
+ # `PolicyNotFoundException`.
2169
+ #
2170
+ # @return [Types::DeleteResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2171
+ #
2172
+ # * {Types::DeleteResourcePolicyOutput#revision_id #revision_id} => String
2173
+ #
2174
+ # @example Request syntax with placeholder values
2175
+ #
2176
+ # resp = client.delete_resource_policy({
2177
+ # resource_arn: "ResourceArnString", # required
2178
+ # expected_revision_id: "PolicyRevisionId",
2179
+ # })
2180
+ #
2181
+ # @example Response structure
2182
+ #
2183
+ # resp.revision_id #=> String
2184
+ #
2185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteResourcePolicy AWS API Documentation
2186
+ #
2187
+ # @overload delete_resource_policy(params = {})
2188
+ # @param [Hash] params ({})
2189
+ def delete_resource_policy(params = {}, options = {})
2190
+ req = build_request(:delete_resource_policy, params)
2191
+ req.send_request(options)
2192
+ end
2193
+
2061
2194
  # The `DeleteTable` operation deletes a table and all of its items.
2062
2195
  # After a `DeleteTable` request, the specified table is in the
2063
2196
  # `DELETING` state until DynamoDB completes the deletion. If the table
@@ -2067,8 +2200,8 @@ module Aws::DynamoDB
2067
2200
  # DynamoDB returns a `ResourceNotFoundException`. If table is already in
2068
2201
  # the `DELETING` state, no error is returned.
2069
2202
  #
2070
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
2071
- # global tables.
2203
+ # For global tables, this operation only applies to global tables using
2204
+ # Version 2019.11.21 (Current version).
2072
2205
  #
2073
2206
  # <note markdown="1"> DynamoDB might continue to accept data read and write operations, such
2074
2207
  # as `GetItem` and `PutItem`, on a table in the `DELETING` state until
@@ -2084,12 +2217,9 @@ module Aws::DynamoDB
2084
2217
  #
2085
2218
  # Use the `DescribeTable` action to check the status of the table.
2086
2219
  #
2087
- #
2088
- #
2089
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2090
- #
2091
2220
  # @option params [required, String] :table_name
2092
- # The name of the table to delete.
2221
+ # The name of the table to delete. You can also provide the Amazon
2222
+ # Resource Name (ARN) of the table in this parameter.
2093
2223
  #
2094
2224
  # @return [Types::DeleteTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2095
2225
  #
@@ -2122,7 +2252,7 @@ module Aws::DynamoDB
2122
2252
  # @example Request syntax with placeholder values
2123
2253
  #
2124
2254
  # resp = client.delete_table({
2125
- # table_name: "TableName", # required
2255
+ # table_name: "TableArn", # required
2126
2256
  # })
2127
2257
  #
2128
2258
  # @example Response structure
@@ -2176,6 +2306,8 @@ module Aws::DynamoDB
2176
2306
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
2177
2307
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
2178
2308
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
2309
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2310
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2179
2311
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
2180
2312
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2181
2313
  # resp.table_description.latest_stream_label #=> String
@@ -2188,9 +2320,11 @@ module Aws::DynamoDB
2188
2320
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
2189
2321
  # resp.table_description.replicas[0].kms_master_key_id #=> String
2190
2322
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
2323
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
2191
2324
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
2192
2325
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
2193
2326
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
2327
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2194
2328
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
2195
2329
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2196
2330
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2208,6 +2342,8 @@ module Aws::DynamoDB
2208
2342
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2209
2343
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
2210
2344
  # resp.table_description.deletion_protection_enabled #=> Boolean
2345
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
2346
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
2211
2347
  #
2212
2348
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable AWS API Documentation
2213
2349
  #
@@ -2255,6 +2391,8 @@ module Aws::DynamoDB
2255
2391
  # resp.backup_description.source_table_details.table_creation_date_time #=> Time
2256
2392
  # resp.backup_description.source_table_details.provisioned_throughput.read_capacity_units #=> Integer
2257
2393
  # resp.backup_description.source_table_details.provisioned_throughput.write_capacity_units #=> Integer
2394
+ # resp.backup_description.source_table_details.on_demand_throughput.max_read_request_units #=> Integer
2395
+ # resp.backup_description.source_table_details.on_demand_throughput.max_write_request_units #=> Integer
2258
2396
  # resp.backup_description.source_table_details.item_count #=> Integer
2259
2397
  # resp.backup_description.source_table_details.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
2260
2398
  # resp.backup_description.source_table_feature_details.local_secondary_indexes #=> Array
@@ -2275,6 +2413,8 @@ module Aws::DynamoDB
2275
2413
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
2276
2414
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
2277
2415
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
2416
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2417
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2278
2418
  # resp.backup_description.source_table_feature_details.stream_description.stream_enabled #=> Boolean
2279
2419
  # resp.backup_description.source_table_feature_details.stream_description.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2280
2420
  # resp.backup_description.source_table_feature_details.time_to_live_description.time_to_live_status #=> String, one of "ENABLING", "DISABLING", "ENABLED", "DISABLED"
@@ -2313,6 +2453,9 @@ module Aws::DynamoDB
2313
2453
  # Name of the table for which the customer wants to check the continuous
2314
2454
  # backups and point in time recovery settings.
2315
2455
  #
2456
+ # You can also provide the Amazon Resource Name (ARN) of the table in
2457
+ # this parameter.
2458
+ #
2316
2459
  # @return [Types::DescribeContinuousBackupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2317
2460
  #
2318
2461
  # * {Types::DescribeContinuousBackupsOutput#continuous_backups_description #continuous_backups_description} => Types::ContinuousBackupsDescription
@@ -2320,7 +2463,7 @@ module Aws::DynamoDB
2320
2463
  # @example Request syntax with placeholder values
2321
2464
  #
2322
2465
  # resp = client.describe_continuous_backups({
2323
- # table_name: "TableName", # required
2466
+ # table_name: "TableArn", # required
2324
2467
  # })
2325
2468
  #
2326
2469
  # @example Response structure
@@ -2343,7 +2486,8 @@ module Aws::DynamoDB
2343
2486
  # global secondary index.
2344
2487
  #
2345
2488
  # @option params [required, String] :table_name
2346
- # The name of the table to describe.
2489
+ # The name of the table to describe. You can also provide the Amazon
2490
+ # Resource Name (ARN) of the table in this parameter.
2347
2491
  #
2348
2492
  # @option params [String] :index_name
2349
2493
  # The name of the global secondary index to describe, if applicable.
@@ -2360,7 +2504,7 @@ module Aws::DynamoDB
2360
2504
  # @example Request syntax with placeholder values
2361
2505
  #
2362
2506
  # resp = client.describe_contributor_insights({
2363
- # table_name: "TableName", # required
2507
+ # table_name: "TableArn", # required
2364
2508
  # index_name: "IndexName",
2365
2509
  # })
2366
2510
  #
@@ -2446,6 +2590,10 @@ module Aws::DynamoDB
2446
2590
  # resp.export_description.export_format #=> String, one of "DYNAMODB_JSON", "ION"
2447
2591
  # resp.export_description.billed_size_bytes #=> Integer
2448
2592
  # resp.export_description.item_count #=> Integer
2593
+ # resp.export_description.export_type #=> String, one of "FULL_EXPORT", "INCREMENTAL_EXPORT"
2594
+ # resp.export_description.incremental_export_specification.export_from_time #=> Time
2595
+ # resp.export_description.incremental_export_specification.export_to_time #=> Time
2596
+ # resp.export_description.incremental_export_specification.export_view_type #=> String, one of "NEW_IMAGE", "NEW_AND_OLD_IMAGES"
2449
2597
  #
2450
2598
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeExport AWS API Documentation
2451
2599
  #
@@ -2458,21 +2606,18 @@ module Aws::DynamoDB
2458
2606
 
2459
2607
  # Returns information about the specified global table.
2460
2608
  #
2461
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
2462
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
2463
- # when creating new global tables, as it provides greater flexibility,
2464
- # higher efficiency and consumes less write capacity than 2017.11.29
2465
- # (Legacy). To determine which version you are using, see [Determining
2466
- # the version][3]. To update existing global tables from version
2467
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
2468
- # global tables][4].
2609
+ # For global tables, this operation only applies to global tables using
2610
+ # Version 2019.11.21 (Current version), as it provides greater
2611
+ # flexibility, higher efficiency and consumes less write capacity than
2612
+ # 2017.11.29 (Legacy). To determine which version you are using, see
2613
+ # [Determining the version][1]. To update existing global tables from
2614
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [
2615
+ # Updating global tables][2].
2469
2616
  #
2470
2617
  #
2471
2618
  #
2472
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
2473
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2474
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2475
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2619
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2620
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2476
2621
  #
2477
2622
  # @option params [required, String] :global_table_name
2478
2623
  # The name of the global table.
@@ -2496,9 +2641,11 @@ module Aws::DynamoDB
2496
2641
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
2497
2642
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
2498
2643
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
2644
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
2499
2645
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
2500
2646
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
2501
2647
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
2648
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2502
2649
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
2503
2650
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2504
2651
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2518,21 +2665,18 @@ module Aws::DynamoDB
2518
2665
 
2519
2666
  # Describes Region-specific settings for a global table.
2520
2667
  #
2521
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
2522
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
2523
- # when creating new global tables, as it provides greater flexibility,
2524
- # higher efficiency and consumes less write capacity than 2017.11.29
2525
- # (Legacy). To determine which version you are using, see [Determining
2526
- # the version][3]. To update existing global tables from version
2527
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
2528
- # global tables][4].
2668
+ # For global tables, this operation only applies to global tables using
2669
+ # Version 2019.11.21 (Current version), as it provides greater
2670
+ # flexibility, higher efficiency and consumes less write capacity than
2671
+ # 2017.11.29 (Legacy). To determine which version you are using, see
2672
+ # [Determining the version][1]. To update existing global tables from
2673
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [
2674
+ # Updating global tables][2].
2529
2675
  #
2530
2676
  #
2531
2677
  #
2532
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
2533
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2534
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2535
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2678
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2679
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2536
2680
  #
2537
2681
  # @option params [required, String] :global_table_name
2538
2682
  # The name of the global table to describe.
@@ -2658,6 +2802,8 @@ module Aws::DynamoDB
2658
2802
  # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
2659
2803
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
2660
2804
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
2805
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_read_request_units #=> Integer
2806
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_write_request_units #=> Integer
2661
2807
  # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
2662
2808
  # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
2663
2809
  # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
@@ -2671,6 +2817,8 @@ module Aws::DynamoDB
2671
2817
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
2672
2818
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
2673
2819
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
2820
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2821
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2674
2822
  # resp.import_table_description.start_time #=> Time
2675
2823
  # resp.import_table_description.end_time #=> Time
2676
2824
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -2691,7 +2839,8 @@ module Aws::DynamoDB
2691
2839
  # Returns information about the status of Kinesis streaming.
2692
2840
  #
2693
2841
  # @option params [required, String] :table_name
2694
- # The name of the table being described.
2842
+ # The name of the table being described. You can also provide the Amazon
2843
+ # Resource Name (ARN) of the table in this parameter.
2695
2844
  #
2696
2845
  # @return [Types::DescribeKinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2697
2846
  #
@@ -2701,7 +2850,7 @@ module Aws::DynamoDB
2701
2850
  # @example Request syntax with placeholder values
2702
2851
  #
2703
2852
  # resp = client.describe_kinesis_streaming_destination({
2704
- # table_name: "TableName", # required
2853
+ # table_name: "TableArn", # required
2705
2854
  # })
2706
2855
  #
2707
2856
  # @example Response structure
@@ -2709,8 +2858,9 @@ module Aws::DynamoDB
2709
2858
  # resp.table_name #=> String
2710
2859
  # resp.kinesis_data_stream_destinations #=> Array
2711
2860
  # resp.kinesis_data_stream_destinations[0].stream_arn #=> String
2712
- # resp.kinesis_data_stream_destinations[0].destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
2861
+ # resp.kinesis_data_stream_destinations[0].destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
2713
2862
  # resp.kinesis_data_stream_destinations[0].destination_status_description #=> String
2863
+ # resp.kinesis_data_stream_destinations[0].approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
2714
2864
  #
2715
2865
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestination AWS API Documentation
2716
2866
  #
@@ -2835,8 +2985,8 @@ module Aws::DynamoDB
2835
2985
  # the table, when it was created, the primary key schema, and any
2836
2986
  # indexes on the table.
2837
2987
  #
2838
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
2839
- # global tables.
2988
+ # For global tables, this operation only applies to global tables using
2989
+ # Version 2019.11.21 (Current version).
2840
2990
  #
2841
2991
  # <note markdown="1"> If you issue a `DescribeTable` request immediately after a
2842
2992
  # `CreateTable` request, DynamoDB might return a
@@ -2847,12 +2997,9 @@ module Aws::DynamoDB
2847
2997
  #
2848
2998
  # </note>
2849
2999
  #
2850
- #
2851
- #
2852
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2853
- #
2854
3000
  # @option params [required, String] :table_name
2855
- # The name of the table to describe.
3001
+ # The name of the table to describe. You can also provide the Amazon
3002
+ # Resource Name (ARN) of the table in this parameter.
2856
3003
  #
2857
3004
  # @return [Types::DescribeTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2858
3005
  #
@@ -2906,7 +3053,7 @@ module Aws::DynamoDB
2906
3053
  # @example Request syntax with placeholder values
2907
3054
  #
2908
3055
  # resp = client.describe_table({
2909
- # table_name: "TableName", # required
3056
+ # table_name: "TableArn", # required
2910
3057
  # })
2911
3058
  #
2912
3059
  # @example Response structure
@@ -2960,6 +3107,8 @@ module Aws::DynamoDB
2960
3107
  # resp.table.global_secondary_indexes[0].index_size_bytes #=> Integer
2961
3108
  # resp.table.global_secondary_indexes[0].item_count #=> Integer
2962
3109
  # resp.table.global_secondary_indexes[0].index_arn #=> String
3110
+ # resp.table.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
3111
+ # resp.table.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2963
3112
  # resp.table.stream_specification.stream_enabled #=> Boolean
2964
3113
  # resp.table.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2965
3114
  # resp.table.latest_stream_label #=> String
@@ -2972,9 +3121,11 @@ module Aws::DynamoDB
2972
3121
  # resp.table.replicas[0].replica_status_percent_progress #=> String
2973
3122
  # resp.table.replicas[0].kms_master_key_id #=> String
2974
3123
  # resp.table.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
3124
+ # resp.table.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
2975
3125
  # resp.table.replicas[0].global_secondary_indexes #=> Array
2976
3126
  # resp.table.replicas[0].global_secondary_indexes[0].index_name #=> String
2977
3127
  # resp.table.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
3128
+ # resp.table.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2978
3129
  # resp.table.replicas[0].replica_inaccessible_date_time #=> Time
2979
3130
  # resp.table.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2980
3131
  # resp.table.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2992,6 +3143,8 @@ module Aws::DynamoDB
2992
3143
  # resp.table.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2993
3144
  # resp.table.table_class_summary.last_update_date_time #=> Time
2994
3145
  # resp.table.deletion_protection_enabled #=> Boolean
3146
+ # resp.table.on_demand_throughput.max_read_request_units #=> Integer
3147
+ # resp.table.on_demand_throughput.max_write_request_units #=> Integer
2995
3148
  #
2996
3149
  #
2997
3150
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -3011,15 +3164,12 @@ module Aws::DynamoDB
3011
3164
  # Describes auto scaling settings across replicas of the global table at
3012
3165
  # once.
3013
3166
  #
3014
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
3015
- # global tables.
3016
- #
3017
- #
3018
- #
3019
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
3167
+ # For global tables, this operation only applies to global tables using
3168
+ # Version 2019.11.21 (Current version).
3020
3169
  #
3021
3170
  # @option params [required, String] :table_name
3022
- # The name of the table.
3171
+ # The name of the table. You can also provide the Amazon Resource Name
3172
+ # (ARN) of the table in this parameter.
3023
3173
  #
3024
3174
  # @return [Types::DescribeTableReplicaAutoScalingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3025
3175
  #
@@ -3028,7 +3178,7 @@ module Aws::DynamoDB
3028
3178
  # @example Request syntax with placeholder values
3029
3179
  #
3030
3180
  # resp = client.describe_table_replica_auto_scaling({
3031
- # table_name: "TableName", # required
3181
+ # table_name: "TableArn", # required
3032
3182
  # })
3033
3183
  #
3034
3184
  # @example Response structure
@@ -3095,7 +3245,8 @@ module Aws::DynamoDB
3095
3245
  # table.
3096
3246
  #
3097
3247
  # @option params [required, String] :table_name
3098
- # The name of the table to be described.
3248
+ # The name of the table to be described. You can also provide the Amazon
3249
+ # Resource Name (ARN) of the table in this parameter.
3099
3250
  #
3100
3251
  # @return [Types::DescribeTimeToLiveOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3101
3252
  #
@@ -3104,7 +3255,7 @@ module Aws::DynamoDB
3104
3255
  # @example Request syntax with placeholder values
3105
3256
  #
3106
3257
  # resp = client.describe_time_to_live({
3107
- # table_name: "TableName", # required
3258
+ # table_name: "TableArn", # required
3108
3259
  # })
3109
3260
  #
3110
3261
  # @example Response structure
@@ -3125,29 +3276,39 @@ module Aws::DynamoDB
3125
3276
  # This is done without deleting either of the resources.
3126
3277
  #
3127
3278
  # @option params [required, String] :table_name
3128
- # The name of the DynamoDB table.
3279
+ # The name of the DynamoDB table. You can also provide the Amazon
3280
+ # Resource Name (ARN) of the table in this parameter.
3129
3281
  #
3130
3282
  # @option params [required, String] :stream_arn
3131
3283
  # The ARN for a Kinesis data stream.
3132
3284
  #
3285
+ # @option params [Types::EnableKinesisStreamingConfiguration] :enable_kinesis_streaming_configuration
3286
+ # The source for the Kinesis streaming information that is being
3287
+ # enabled.
3288
+ #
3133
3289
  # @return [Types::KinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3134
3290
  #
3135
3291
  # * {Types::KinesisStreamingDestinationOutput#table_name #table_name} => String
3136
3292
  # * {Types::KinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
3137
3293
  # * {Types::KinesisStreamingDestinationOutput#destination_status #destination_status} => String
3294
+ # * {Types::KinesisStreamingDestinationOutput#enable_kinesis_streaming_configuration #enable_kinesis_streaming_configuration} => Types::EnableKinesisStreamingConfiguration
3138
3295
  #
3139
3296
  # @example Request syntax with placeholder values
3140
3297
  #
3141
3298
  # resp = client.disable_kinesis_streaming_destination({
3142
- # table_name: "TableName", # required
3299
+ # table_name: "TableArn", # required
3143
3300
  # stream_arn: "StreamArn", # required
3301
+ # enable_kinesis_streaming_configuration: {
3302
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
3303
+ # },
3144
3304
  # })
3145
3305
  #
3146
3306
  # @example Response structure
3147
3307
  #
3148
3308
  # resp.table_name #=> String
3149
3309
  # resp.stream_arn #=> String
3150
- # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
3310
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
3311
+ # resp.enable_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
3151
3312
  #
3152
3313
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DisableKinesisStreamingDestination AWS API Documentation
3153
3314
  #
@@ -3165,29 +3326,39 @@ module Aws::DynamoDB
3165
3326
  # Kinesis data stream is ACTIVE.
3166
3327
  #
3167
3328
  # @option params [required, String] :table_name
3168
- # The name of the DynamoDB table.
3329
+ # The name of the DynamoDB table. You can also provide the Amazon
3330
+ # Resource Name (ARN) of the table in this parameter.
3169
3331
  #
3170
3332
  # @option params [required, String] :stream_arn
3171
3333
  # The ARN for a Kinesis data stream.
3172
3334
  #
3335
+ # @option params [Types::EnableKinesisStreamingConfiguration] :enable_kinesis_streaming_configuration
3336
+ # The source for the Kinesis streaming information that is being
3337
+ # enabled.
3338
+ #
3173
3339
  # @return [Types::KinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3174
3340
  #
3175
3341
  # * {Types::KinesisStreamingDestinationOutput#table_name #table_name} => String
3176
3342
  # * {Types::KinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
3177
3343
  # * {Types::KinesisStreamingDestinationOutput#destination_status #destination_status} => String
3344
+ # * {Types::KinesisStreamingDestinationOutput#enable_kinesis_streaming_configuration #enable_kinesis_streaming_configuration} => Types::EnableKinesisStreamingConfiguration
3178
3345
  #
3179
3346
  # @example Request syntax with placeholder values
3180
3347
  #
3181
3348
  # resp = client.enable_kinesis_streaming_destination({
3182
- # table_name: "TableName", # required
3349
+ # table_name: "TableArn", # required
3183
3350
  # stream_arn: "StreamArn", # required
3351
+ # enable_kinesis_streaming_configuration: {
3352
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
3353
+ # },
3184
3354
  # })
3185
3355
  #
3186
3356
  # @example Response structure
3187
3357
  #
3188
3358
  # resp.table_name #=> String
3189
3359
  # resp.stream_arn #=> String
3190
- # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
3360
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
3361
+ # resp.enable_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
3191
3362
  #
3192
3363
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingDestination AWS API Documentation
3193
3364
  #
@@ -3441,6 +3612,11 @@ module Aws::DynamoDB
3441
3612
  # The ID of the Amazon Web Services account that owns the bucket the
3442
3613
  # export will be stored in.
3443
3614
  #
3615
+ # <note markdown="1"> S3BucketOwner is a required parameter when exporting to a S3 bucket in
3616
+ # another account.
3617
+ #
3618
+ # </note>
3619
+ #
3444
3620
  # @option params [String] :s3_prefix
3445
3621
  # The Amazon S3 bucket prefix to use as the file name and path of the
3446
3622
  # exported snapshot.
@@ -3461,6 +3637,16 @@ module Aws::DynamoDB
3461
3637
  # The format for the exported data. Valid values for `ExportFormat` are
3462
3638
  # `DYNAMODB_JSON` or `ION`.
3463
3639
  #
3640
+ # @option params [String] :export_type
3641
+ # Choice of whether to execute as a full export or incremental export.
3642
+ # Valid values are FULL\_EXPORT or INCREMENTAL\_EXPORT. The default
3643
+ # value is FULL\_EXPORT. If INCREMENTAL\_EXPORT is provided, the
3644
+ # IncrementalExportSpecification must also be used.
3645
+ #
3646
+ # @option params [Types::IncrementalExportSpecification] :incremental_export_specification
3647
+ # Optional object containing the parameters specific to an incremental
3648
+ # export.
3649
+ #
3464
3650
  # @return [Types::ExportTableToPointInTimeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3465
3651
  #
3466
3652
  # * {Types::ExportTableToPointInTimeOutput#export_description #export_description} => Types::ExportDescription
@@ -3477,6 +3663,12 @@ module Aws::DynamoDB
3477
3663
  # s3_sse_algorithm: "AES256", # accepts AES256, KMS
3478
3664
  # s3_sse_kms_key_id: "S3SseKmsKeyId",
3479
3665
  # export_format: "DYNAMODB_JSON", # accepts DYNAMODB_JSON, ION
3666
+ # export_type: "FULL_EXPORT", # accepts FULL_EXPORT, INCREMENTAL_EXPORT
3667
+ # incremental_export_specification: {
3668
+ # export_from_time: Time.now,
3669
+ # export_to_time: Time.now,
3670
+ # export_view_type: "NEW_IMAGE", # accepts NEW_IMAGE, NEW_AND_OLD_IMAGES
3671
+ # },
3480
3672
  # })
3481
3673
  #
3482
3674
  # @example Response structure
@@ -3500,6 +3692,10 @@ module Aws::DynamoDB
3500
3692
  # resp.export_description.export_format #=> String, one of "DYNAMODB_JSON", "ION"
3501
3693
  # resp.export_description.billed_size_bytes #=> Integer
3502
3694
  # resp.export_description.item_count #=> Integer
3695
+ # resp.export_description.export_type #=> String, one of "FULL_EXPORT", "INCREMENTAL_EXPORT"
3696
+ # resp.export_description.incremental_export_specification.export_from_time #=> Time
3697
+ # resp.export_description.incremental_export_specification.export_to_time #=> Time
3698
+ # resp.export_description.incremental_export_specification.export_view_type #=> String, one of "NEW_IMAGE", "NEW_AND_OLD_IMAGES"
3503
3699
  #
3504
3700
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime AWS API Documentation
3505
3701
  #
@@ -3522,7 +3718,8 @@ module Aws::DynamoDB
3522
3718
  # value.
3523
3719
  #
3524
3720
  # @option params [required, String] :table_name
3525
- # The name of the table containing the requested item.
3721
+ # The name of the table containing the requested item. You can also
3722
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
3526
3723
  #
3527
3724
  # @option params [required, Hash<String,Types::AttributeValue>] :key
3528
3725
  # A map of attribute names to `AttributeValue` objects, representing the
@@ -3662,7 +3859,7 @@ module Aws::DynamoDB
3662
3859
  # @example Request syntax with placeholder values
3663
3860
  #
3664
3861
  # resp = client.get_item({
3665
- # table_name: "TableName", # required
3862
+ # table_name: "TableArn", # required
3666
3863
  # key: { # required
3667
3864
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
3668
3865
  # },
@@ -3704,6 +3901,73 @@ module Aws::DynamoDB
3704
3901
  req.send_request(options)
3705
3902
  end
3706
3903
 
3904
+ # Returns the resource-based policy document attached to the resource,
3905
+ # which can be a table or stream, in JSON format.
3906
+ #
3907
+ # `GetResourcePolicy` follows an [ *eventually consistent* ][1] model.
3908
+ # The following list describes the outcomes when you issue the
3909
+ # `GetResourcePolicy` request immediately after issuing another request:
3910
+ #
3911
+ # * If you issue a `GetResourcePolicy` request immediately after a
3912
+ # `PutResourcePolicy` request, DynamoDB might return a
3913
+ # `PolicyNotFoundException`.
3914
+ #
3915
+ # * If you issue a `GetResourcePolicy`request immediately after a
3916
+ # `DeleteResourcePolicy` request, DynamoDB might return the policy
3917
+ # that was present before the deletion request.
3918
+ #
3919
+ # * If you issue a `GetResourcePolicy` request immediately after a
3920
+ # `CreateTable` request, which includes a resource-based policy,
3921
+ # DynamoDB might return a `ResourceNotFoundException` or a
3922
+ # `PolicyNotFoundException`.
3923
+ #
3924
+ # Because `GetResourcePolicy` uses an *eventually consistent* query, the
3925
+ # metadata for your policy or table might not be available at that
3926
+ # moment. Wait for a few seconds, and then retry the `GetResourcePolicy`
3927
+ # request.
3928
+ #
3929
+ # After a `GetResourcePolicy` request returns a policy created using the
3930
+ # `PutResourcePolicy` request, the policy will be applied in the
3931
+ # authorization of requests to the resource. Because this process is
3932
+ # eventually consistent, it will take some time to apply the policy to
3933
+ # all requests to a resource. Policies that you attach while creating a
3934
+ # table using the `CreateTable` request will always be applied to all
3935
+ # requests for that table.
3936
+ #
3937
+ #
3938
+ #
3939
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
3940
+ #
3941
+ # @option params [required, String] :resource_arn
3942
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
3943
+ # policy is attached. The resources you can specify include tables and
3944
+ # streams.
3945
+ #
3946
+ # @return [Types::GetResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3947
+ #
3948
+ # * {Types::GetResourcePolicyOutput#policy #policy} => String
3949
+ # * {Types::GetResourcePolicyOutput#revision_id #revision_id} => String
3950
+ #
3951
+ # @example Request syntax with placeholder values
3952
+ #
3953
+ # resp = client.get_resource_policy({
3954
+ # resource_arn: "ResourceArnString", # required
3955
+ # })
3956
+ #
3957
+ # @example Response structure
3958
+ #
3959
+ # resp.policy #=> String
3960
+ # resp.revision_id #=> String
3961
+ #
3962
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetResourcePolicy AWS API Documentation
3963
+ #
3964
+ # @overload get_resource_policy(params = {})
3965
+ # @param [Hash] params ({})
3966
+ def get_resource_policy(params = {}, options = {})
3967
+ req = build_request(:get_resource_policy, params)
3968
+ req.send_request(options)
3969
+ end
3970
+
3707
3971
  # Imports table data from an S3 bucket.
3708
3972
  #
3709
3973
  # @option params [String] :client_token
@@ -3781,6 +4045,10 @@ module Aws::DynamoDB
3781
4045
  # read_capacity_units: 1, # required
3782
4046
  # write_capacity_units: 1, # required
3783
4047
  # },
4048
+ # on_demand_throughput: {
4049
+ # max_read_request_units: 1,
4050
+ # max_write_request_units: 1,
4051
+ # },
3784
4052
  # sse_specification: {
3785
4053
  # enabled: false,
3786
4054
  # sse_type: "AES256", # accepts AES256, KMS
@@ -3803,6 +4071,10 @@ module Aws::DynamoDB
3803
4071
  # read_capacity_units: 1, # required
3804
4072
  # write_capacity_units: 1, # required
3805
4073
  # },
4074
+ # on_demand_throughput: {
4075
+ # max_read_request_units: 1,
4076
+ # max_write_request_units: 1,
4077
+ # },
3806
4078
  # },
3807
4079
  # ],
3808
4080
  # },
@@ -3835,6 +4107,8 @@ module Aws::DynamoDB
3835
4107
  # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
3836
4108
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
3837
4109
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
4110
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_read_request_units #=> Integer
4111
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_write_request_units #=> Integer
3838
4112
  # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
3839
4113
  # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
3840
4114
  # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
@@ -3848,6 +4122,8 @@ module Aws::DynamoDB
3848
4122
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
3849
4123
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
3850
4124
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
4125
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
4126
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
3851
4127
  # resp.import_table_description.start_time #=> Time
3852
4128
  # resp.import_table_description.end_time #=> Time
3853
4129
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -3865,11 +4141,12 @@ module Aws::DynamoDB
3865
4141
  req.send_request(options)
3866
4142
  end
3867
4143
 
3868
- # List backups associated with an Amazon Web Services account. To list
3869
- # backups for a given table, specify `TableName`. `ListBackups` returns
3870
- # a paginated list of results with at most 1 MB worth of items in a
3871
- # page. You can also specify a maximum number of entries to be returned
3872
- # in a page.
4144
+ # List DynamoDB backups that are associated with an Amazon Web Services
4145
+ # account and weren't made with Amazon Web Services Backup. To list
4146
+ # these backups for a given table, specify `TableName`. `ListBackups`
4147
+ # returns a paginated list of results with at most 1 MB worth of items
4148
+ # in a page. You can also specify a maximum number of entries to be
4149
+ # returned in a page.
3873
4150
  #
3874
4151
  # In the request, start time is inclusive, but end time is exclusive.
3875
4152
  # Note that these boundaries are for the time at which the original
@@ -3877,8 +4154,17 @@ module Aws::DynamoDB
3877
4154
  #
3878
4155
  # You can call `ListBackups` a maximum of five times per second.
3879
4156
  #
4157
+ # If you want to retrieve the complete list of backups made with Amazon
4158
+ # Web Services Backup, use the [Amazon Web Services Backup list API.][1]
4159
+ #
4160
+ #
4161
+ #
4162
+ # [1]: https://docs.aws.amazon.com/aws-backup/latest/devguide/API_ListBackupJobs.html
4163
+ #
3880
4164
  # @option params [String] :table_name
3881
- # The backups from the table specified by `TableName` are listed.
4165
+ # Lists the backups from the table specified in `TableName`. You can
4166
+ # also provide the Amazon Resource Name (ARN) of the table in this
4167
+ # parameter.
3882
4168
  #
3883
4169
  # @option params [Integer] :limit
3884
4170
  # Maximum number of backups to return at once.
@@ -3918,7 +4204,7 @@ module Aws::DynamoDB
3918
4204
  # @example Request syntax with placeholder values
3919
4205
  #
3920
4206
  # resp = client.list_backups({
3921
- # table_name: "TableName",
4207
+ # table_name: "TableArn",
3922
4208
  # limit: 1,
3923
4209
  # time_range_lower_bound: Time.now,
3924
4210
  # time_range_upper_bound: Time.now,
@@ -3954,7 +4240,8 @@ module Aws::DynamoDB
3954
4240
  # global secondary indexes.
3955
4241
  #
3956
4242
  # @option params [String] :table_name
3957
- # The name of the table.
4243
+ # The name of the table. You can also provide the Amazon Resource Name
4244
+ # (ARN) of the table in this parameter.
3958
4245
  #
3959
4246
  # @option params [String] :next_token
3960
4247
  # A token to for the desired page, if there is one.
@@ -3972,7 +4259,7 @@ module Aws::DynamoDB
3972
4259
  # @example Request syntax with placeholder values
3973
4260
  #
3974
4261
  # resp = client.list_contributor_insights({
3975
- # table_name: "TableName",
4262
+ # table_name: "TableArn",
3976
4263
  # next_token: "NextTokenString",
3977
4264
  # max_results: 1,
3978
4265
  # })
@@ -4027,6 +4314,7 @@ module Aws::DynamoDB
4027
4314
  # resp.export_summaries #=> Array
4028
4315
  # resp.export_summaries[0].export_arn #=> String
4029
4316
  # resp.export_summaries[0].export_status #=> String, one of "IN_PROGRESS", "COMPLETED", "FAILED"
4317
+ # resp.export_summaries[0].export_type #=> String, one of "FULL_EXPORT", "INCREMENTAL_EXPORT"
4030
4318
  # resp.next_token #=> String
4031
4319
  #
4032
4320
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports AWS API Documentation
@@ -4040,21 +4328,18 @@ module Aws::DynamoDB
4040
4328
 
4041
4329
  # Lists all global tables that have a replica in the specified Region.
4042
4330
  #
4043
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
4044
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
4045
- # when creating new global tables, as it provides greater flexibility,
4046
- # higher efficiency and consumes less write capacity than 2017.11.29
4047
- # (Legacy). To determine which version you are using, see [Determining
4048
- # the version][3]. To update existing global tables from version
4049
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
4050
- # global tables][4].
4331
+ # For global tables, this operation only applies to global tables using
4332
+ # Version 2019.11.21 (Current version), as it provides greater
4333
+ # flexibility, higher efficiency and consumes less write capacity than
4334
+ # 2017.11.29 (Legacy). To determine which version you are using, see
4335
+ # [Determining the version][1]. To update existing global tables from
4336
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [
4337
+ # Updating global tables][2].
4051
4338
  #
4052
4339
  #
4053
4340
  #
4054
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
4055
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
4056
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
4057
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
4341
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
4342
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
4058
4343
  #
4059
4344
  # @option params [String] :exclusive_start_global_table_name
4060
4345
  # The first global table name that this operation will evaluate.
@@ -4299,7 +4584,8 @@ module Aws::DynamoDB
4299
4584
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html
4300
4585
  #
4301
4586
  # @option params [required, String] :table_name
4302
- # The name of the table to contain the item.
4587
+ # The name of the table to contain the item. You can also provide the
4588
+ # Amazon Resource Name (ARN) of the table in this parameter.
4303
4589
  #
4304
4590
  # @option params [required, Hash<String,Types::AttributeValue>] :item
4305
4591
  # A map of attribute name/value pairs, one for each attribute. Only the
@@ -4531,7 +4817,7 @@ module Aws::DynamoDB
4531
4817
  # @example Request syntax with placeholder values
4532
4818
  #
4533
4819
  # resp = client.put_item({
4534
- # table_name: "TableName", # required
4820
+ # table_name: "TableArn", # required
4535
4821
  # item: { # required
4536
4822
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
4537
4823
  # },
@@ -4590,6 +4876,107 @@ module Aws::DynamoDB
4590
4876
  req.send_request(options)
4591
4877
  end
4592
4878
 
4879
+ # Attaches a resource-based policy document to the resource, which can
4880
+ # be a table or stream. When you attach a resource-based policy using
4881
+ # this API, the policy application is [ *eventually consistent* ][1].
4882
+ #
4883
+ # `PutResourcePolicy` is an idempotent operation; running it multiple
4884
+ # times on the same resource using the same policy document will return
4885
+ # the same revision ID. If you specify an `ExpectedRevisionId` that
4886
+ # doesn't match the current policy's `RevisionId`, the
4887
+ # `PolicyNotFoundException` will be returned.
4888
+ #
4889
+ # <note markdown="1"> `PutResourcePolicy` is an asynchronous operation. If you issue a
4890
+ # `GetResourcePolicy` request immediately after a `PutResourcePolicy`
4891
+ # request, DynamoDB might return your previous policy, if there was one,
4892
+ # or return the `PolicyNotFoundException`. This is because
4893
+ # `GetResourcePolicy` uses an eventually consistent query, and the
4894
+ # metadata for your policy or table might not be available at that
4895
+ # moment. Wait for a few seconds, and then try the `GetResourcePolicy`
4896
+ # request again.
4897
+ #
4898
+ # </note>
4899
+ #
4900
+ #
4901
+ #
4902
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
4903
+ #
4904
+ # @option params [required, String] :resource_arn
4905
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
4906
+ # policy will be attached. The resources you can specify include tables
4907
+ # and streams.
4908
+ #
4909
+ # You can control index permissions using the base table's policy. To
4910
+ # specify the same permission level for your table and its indexes, you
4911
+ # can provide both the table and index Amazon Resource Name (ARN)s in
4912
+ # the `Resource` field of a given `Statement` in your policy document.
4913
+ # Alternatively, to specify different permissions for your table,
4914
+ # indexes, or both, you can define multiple `Statement` fields in your
4915
+ # policy document.
4916
+ #
4917
+ # @option params [required, String] :policy
4918
+ # An Amazon Web Services resource-based policy document in JSON format.
4919
+ #
4920
+ # * The maximum size supported for a resource-based policy document is
4921
+ # 20 KB. DynamoDB counts whitespaces when calculating the size of a
4922
+ # policy against this limit.
4923
+ #
4924
+ # * Within a resource-based policy, if the action for a DynamoDB
4925
+ # service-linked role (SLR) to replicate data for a global table is
4926
+ # denied, adding or deleting a replica will fail with an error.
4927
+ #
4928
+ # For a full list of all considerations that apply while attaching a
4929
+ # resource-based policy, see [Resource-based policy considerations][1].
4930
+ #
4931
+ #
4932
+ #
4933
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
4934
+ #
4935
+ # @option params [String] :expected_revision_id
4936
+ # A string value that you can use to conditionally update your policy.
4937
+ # You can provide the revision ID of your existing policy to make
4938
+ # mutating requests against that policy.
4939
+ #
4940
+ # <note markdown="1"> When you provide an expected revision ID, if the revision ID of the
4941
+ # existing policy on the resource doesn't match or if there's no
4942
+ # policy attached to the resource, your request will be rejected with a
4943
+ # `PolicyNotFoundException`.
4944
+ #
4945
+ # </note>
4946
+ #
4947
+ # To conditionally attach a policy when no policy exists for the
4948
+ # resource, specify `NO_POLICY` for the revision ID.
4949
+ #
4950
+ # @option params [Boolean] :confirm_remove_self_resource_access
4951
+ # Set this parameter to `true` to confirm that you want to remove your
4952
+ # permissions to change the policy of this resource in the future.
4953
+ #
4954
+ # @return [Types::PutResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4955
+ #
4956
+ # * {Types::PutResourcePolicyOutput#revision_id #revision_id} => String
4957
+ #
4958
+ # @example Request syntax with placeholder values
4959
+ #
4960
+ # resp = client.put_resource_policy({
4961
+ # resource_arn: "ResourceArnString", # required
4962
+ # policy: "ResourcePolicy", # required
4963
+ # expected_revision_id: "PolicyRevisionId",
4964
+ # confirm_remove_self_resource_access: false,
4965
+ # })
4966
+ #
4967
+ # @example Response structure
4968
+ #
4969
+ # resp.revision_id #=> String
4970
+ #
4971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutResourcePolicy AWS API Documentation
4972
+ #
4973
+ # @overload put_resource_policy(params = {})
4974
+ # @param [Hash] params ({})
4975
+ def put_resource_policy(params = {}, options = {})
4976
+ req = build_request(:put_resource_policy, params)
4977
+ req.send_request(options)
4978
+ end
4979
+
4593
4980
  # You must provide the name of the partition key attribute and a single
4594
4981
  # value for that attribute. `Query` returns all items with that
4595
4982
  # partition key value. Optionally, you can provide a sort key attribute
@@ -4655,7 +5042,8 @@ module Aws::DynamoDB
4655
5042
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination
4656
5043
  #
4657
5044
  # @option params [required, String] :table_name
4658
- # The name of the table containing the requested items.
5045
+ # The name of the table containing the requested items. You can also
5046
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
4659
5047
  #
4660
5048
  # @option params [String] :index_name
4661
5049
  # The name of an index to query. This index can be any local secondary
@@ -4855,7 +5243,7 @@ module Aws::DynamoDB
4855
5243
  #
4856
5244
  #
4857
5245
  #
4858
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
5246
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.FilterExpression.html
4859
5247
  #
4860
5248
  # @option params [String] :key_condition_expression
4861
5249
  # The condition that specifies the key values for items to be retrieved
@@ -5058,7 +5446,7 @@ module Aws::DynamoDB
5058
5446
  # @example Request syntax with placeholder values
5059
5447
  #
5060
5448
  # resp = client.query({
5061
- # table_name: "TableName", # required
5449
+ # table_name: "TableArn", # required
5062
5450
  # index_name: "IndexName",
5063
5451
  # select: "ALL_ATTRIBUTES", # accepts ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT
5064
5452
  # attributes_to_get: ["AttributeName"],
@@ -5170,6 +5558,11 @@ module Aws::DynamoDB
5170
5558
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput_override
5171
5559
  # Provisioned throughput settings for the restored table.
5172
5560
  #
5561
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput_override
5562
+ # Sets the maximum number of read and write units for the specified
5563
+ # on-demand table. If you use this parameter, you must specify
5564
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
5565
+ #
5173
5566
  # @option params [Types::SSESpecification] :sse_specification_override
5174
5567
  # The new server-side encryption settings for the restored table.
5175
5568
  #
@@ -5200,6 +5593,10 @@ module Aws::DynamoDB
5200
5593
  # read_capacity_units: 1, # required
5201
5594
  # write_capacity_units: 1, # required
5202
5595
  # },
5596
+ # on_demand_throughput: {
5597
+ # max_read_request_units: 1,
5598
+ # max_write_request_units: 1,
5599
+ # },
5203
5600
  # },
5204
5601
  # ],
5205
5602
  # local_secondary_index_override: [
@@ -5221,6 +5618,10 @@ module Aws::DynamoDB
5221
5618
  # read_capacity_units: 1, # required
5222
5619
  # write_capacity_units: 1, # required
5223
5620
  # },
5621
+ # on_demand_throughput_override: {
5622
+ # max_read_request_units: 1,
5623
+ # max_write_request_units: 1,
5624
+ # },
5224
5625
  # sse_specification_override: {
5225
5626
  # enabled: false,
5226
5627
  # sse_type: "AES256", # accepts AES256, KMS
@@ -5279,6 +5680,8 @@ module Aws::DynamoDB
5279
5680
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
5280
5681
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
5281
5682
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
5683
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
5684
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
5282
5685
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
5283
5686
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
5284
5687
  # resp.table_description.latest_stream_label #=> String
@@ -5291,9 +5694,11 @@ module Aws::DynamoDB
5291
5694
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
5292
5695
  # resp.table_description.replicas[0].kms_master_key_id #=> String
5293
5696
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
5697
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
5294
5698
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
5295
5699
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
5296
5700
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
5701
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
5297
5702
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
5298
5703
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5299
5704
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -5311,6 +5716,8 @@ module Aws::DynamoDB
5311
5716
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5312
5717
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
5313
5718
  # resp.table_description.deletion_protection_enabled #=> Boolean
5719
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
5720
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
5314
5721
  #
5315
5722
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup AWS API Documentation
5316
5723
  #
@@ -5324,7 +5731,7 @@ module Aws::DynamoDB
5324
5731
  # Restores the specified table to the specified point in time within
5325
5732
  # `EarliestRestorableDateTime` and `LatestRestorableDateTime`. You can
5326
5733
  # restore your table to any point in time during the last 35 days. Any
5327
- # number of users can execute up to 4 concurrent restores (any type of
5734
+ # number of users can execute up to 50 concurrent restores (any type of
5328
5735
  # restore) in a given account.
5329
5736
  #
5330
5737
  # When you restore using point in time recovery, DynamoDB restores your
@@ -5395,6 +5802,11 @@ module Aws::DynamoDB
5395
5802
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput_override
5396
5803
  # Provisioned throughput settings for the restored table.
5397
5804
  #
5805
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput_override
5806
+ # Sets the maximum number of read and write units for the specified
5807
+ # on-demand table. If you use this parameter, you must specify
5808
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
5809
+ #
5398
5810
  # @option params [Types::SSESpecification] :sse_specification_override
5399
5811
  # The new server-side encryption settings for the restored table.
5400
5812
  #
@@ -5428,6 +5840,10 @@ module Aws::DynamoDB
5428
5840
  # read_capacity_units: 1, # required
5429
5841
  # write_capacity_units: 1, # required
5430
5842
  # },
5843
+ # on_demand_throughput: {
5844
+ # max_read_request_units: 1,
5845
+ # max_write_request_units: 1,
5846
+ # },
5431
5847
  # },
5432
5848
  # ],
5433
5849
  # local_secondary_index_override: [
@@ -5449,6 +5865,10 @@ module Aws::DynamoDB
5449
5865
  # read_capacity_units: 1, # required
5450
5866
  # write_capacity_units: 1, # required
5451
5867
  # },
5868
+ # on_demand_throughput_override: {
5869
+ # max_read_request_units: 1,
5870
+ # max_write_request_units: 1,
5871
+ # },
5452
5872
  # sse_specification_override: {
5453
5873
  # enabled: false,
5454
5874
  # sse_type: "AES256", # accepts AES256, KMS
@@ -5507,6 +5927,8 @@ module Aws::DynamoDB
5507
5927
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
5508
5928
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
5509
5929
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
5930
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
5931
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
5510
5932
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
5511
5933
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
5512
5934
  # resp.table_description.latest_stream_label #=> String
@@ -5519,9 +5941,11 @@ module Aws::DynamoDB
5519
5941
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
5520
5942
  # resp.table_description.replicas[0].kms_master_key_id #=> String
5521
5943
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
5944
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
5522
5945
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
5523
5946
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
5524
5947
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
5948
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
5525
5949
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
5526
5950
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5527
5951
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -5539,6 +5963,8 @@ module Aws::DynamoDB
5539
5963
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5540
5964
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
5541
5965
  # resp.table_description.deletion_protection_enabled #=> Boolean
5966
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
5967
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
5542
5968
  #
5543
5969
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime AWS API Documentation
5544
5970
  #
@@ -5606,9 +6032,11 @@ module Aws::DynamoDB
5606
6032
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan
5607
6033
  #
5608
6034
  # @option params [required, String] :table_name
5609
- # The name of the table containing the requested items; or, if you
5610
- # provide `IndexName`, the name of the table to which that index
5611
- # belongs.
6035
+ # The name of the table containing the requested items or if you provide
6036
+ # `IndexName`, the name of the table to which that index belongs.
6037
+ #
6038
+ # You can also provide the Amazon Resource Name (ARN) of the table in
6039
+ # this parameter.
5612
6040
  #
5613
6041
  # @option params [String] :index_name
5614
6042
  # The name of a secondary index to scan. This index can be any local
@@ -5806,7 +6234,7 @@ module Aws::DynamoDB
5806
6234
  #
5807
6235
  #
5808
6236
  #
5809
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
6237
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.FilterExpression
5810
6238
  #
5811
6239
  # @option params [Hash<String,String>] :expression_attribute_names
5812
6240
  # One or more substitution tokens for attribute names in an expression.
@@ -5952,7 +6380,7 @@ module Aws::DynamoDB
5952
6380
  # @example Request syntax with placeholder values
5953
6381
  #
5954
6382
  # resp = client.scan({
5955
- # table_name: "TableName", # required
6383
+ # table_name: "TableArn", # required
5956
6384
  # index_name: "IndexName",
5957
6385
  # attributes_to_get: ["AttributeName"],
5958
6386
  # limit: 1,
@@ -6102,7 +6530,7 @@ module Aws::DynamoDB
6102
6530
  # key: { # required
6103
6531
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6104
6532
  # },
6105
- # table_name: "TableName", # required
6533
+ # table_name: "TableArn", # required
6106
6534
  # projection_expression: "ProjectionExpression",
6107
6535
  # expression_attribute_names: {
6108
6536
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6272,7 +6700,7 @@ module Aws::DynamoDB
6272
6700
  # key: { # required
6273
6701
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6274
6702
  # },
6275
- # table_name: "TableName", # required
6703
+ # table_name: "TableArn", # required
6276
6704
  # condition_expression: "ConditionExpression", # required
6277
6705
  # expression_attribute_names: {
6278
6706
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6286,7 +6714,7 @@ module Aws::DynamoDB
6286
6714
  # item: { # required
6287
6715
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6288
6716
  # },
6289
- # table_name: "TableName", # required
6717
+ # table_name: "TableArn", # required
6290
6718
  # condition_expression: "ConditionExpression",
6291
6719
  # expression_attribute_names: {
6292
6720
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6300,7 +6728,7 @@ module Aws::DynamoDB
6300
6728
  # key: { # required
6301
6729
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6302
6730
  # },
6303
- # table_name: "TableName", # required
6731
+ # table_name: "TableArn", # required
6304
6732
  # condition_expression: "ConditionExpression",
6305
6733
  # expression_attribute_names: {
6306
6734
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6315,7 +6743,7 @@ module Aws::DynamoDB
6315
6743
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6316
6744
  # },
6317
6745
  # update_expression: "UpdateExpression", # required
6318
- # table_name: "TableName", # required
6746
+ # table_name: "TableArn", # required
6319
6747
  # condition_expression: "ConditionExpression",
6320
6748
  # expression_attribute_names: {
6321
6749
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6351,11 +6779,11 @@ module Aws::DynamoDB
6351
6779
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
6352
6780
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
6353
6781
  # resp.item_collection_metrics #=> Hash
6354
- # resp.item_collection_metrics["TableName"] #=> Array
6355
- # resp.item_collection_metrics["TableName"][0].item_collection_key #=> Hash
6356
- # resp.item_collection_metrics["TableName"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6357
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb #=> Array
6358
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb[0] #=> Float
6782
+ # resp.item_collection_metrics["TableArn"] #=> Array
6783
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key #=> Hash
6784
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6785
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb #=> Array
6786
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb[0] #=> Float
6359
6787
  #
6360
6788
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems AWS API Documentation
6361
6789
  #
@@ -6418,7 +6846,8 @@ module Aws::DynamoDB
6418
6846
  # 35 days.
6419
6847
  #
6420
6848
  # @option params [required, String] :table_name
6421
- # The name of the table.
6849
+ # The name of the table. You can also provide the Amazon Resource Name
6850
+ # (ARN) of the table in this parameter.
6422
6851
  #
6423
6852
  # @option params [required, Types::PointInTimeRecoverySpecification] :point_in_time_recovery_specification
6424
6853
  # Represents the settings used to enable point in time recovery.
@@ -6430,7 +6859,7 @@ module Aws::DynamoDB
6430
6859
  # @example Request syntax with placeholder values
6431
6860
  #
6432
6861
  # resp = client.update_continuous_backups({
6433
- # table_name: "TableName", # required
6862
+ # table_name: "TableArn", # required
6434
6863
  # point_in_time_recovery_specification: { # required
6435
6864
  # point_in_time_recovery_enabled: false, # required
6436
6865
  # },
@@ -6462,7 +6891,8 @@ module Aws::DynamoDB
6462
6891
  # CloudWatch Contributor Insights for DynamoDB for this table.
6463
6892
  #
6464
6893
  # @option params [required, String] :table_name
6465
- # The name of the table.
6894
+ # The name of the table. You can also provide the Amazon Resource Name
6895
+ # (ARN) of the table in this parameter.
6466
6896
  #
6467
6897
  # @option params [String] :index_name
6468
6898
  # The global secondary index name, if applicable.
@@ -6479,7 +6909,7 @@ module Aws::DynamoDB
6479
6909
  # @example Request syntax with placeholder values
6480
6910
  #
6481
6911
  # resp = client.update_contributor_insights({
6482
- # table_name: "TableName", # required
6912
+ # table_name: "TableArn", # required
6483
6913
  # index_name: "IndexName",
6484
6914
  # contributor_insights_action: "ENABLE", # required, accepts ENABLE, DISABLE
6485
6915
  # })
@@ -6505,18 +6935,17 @@ module Aws::DynamoDB
6505
6935
  # have the same key schema, have DynamoDB Streams enabled, and have the
6506
6936
  # same provisioned and maximum write capacity units.
6507
6937
  #
6508
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
6509
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
6510
- # when creating new global tables, as it provides greater flexibility,
6511
- # higher efficiency and consumes less write capacity than 2017.11.29
6512
- # (Legacy). To determine which version you are using, see [Determining
6513
- # the version][3]. To update existing global tables from version
6514
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
6515
- # global tables][4].
6938
+ # For global tables, this operation only applies to global tables using
6939
+ # Version 2019.11.21 (Current version), as it provides greater
6940
+ # flexibility, higher efficiency and consumes less write capacity than
6941
+ # 2017.11.29 (Legacy). To determine which version you are using, see
6942
+ # [Determining the version][1]. To update existing global tables from
6943
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [
6944
+ # Updating global tables][2].
6516
6945
  #
6517
- # <note markdown="1"> This operation only applies to [Version 2017.11.29][1] of global
6518
- # tables. If you are using global tables [Version 2019.11.21][2] you can
6519
- # use [DescribeTable][5] instead.
6946
+ # <note markdown="1"> For global tables, this operation only applies to global tables using
6947
+ # Version 2019.11.21 (Current version). If you are using global tables
6948
+ # [Version 2019.11.21][3] you can use [UpdateTable][4] instead.
6520
6949
  #
6521
6950
  # Although you can use `UpdateGlobalTable` to add replicas and remove
6522
6951
  # replicas in a single request, for simplicity we recommend that you
@@ -6537,11 +6966,10 @@ module Aws::DynamoDB
6537
6966
  #
6538
6967
  #
6539
6968
  #
6540
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
6541
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
6542
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
6543
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
6544
- # [5]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html
6969
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
6970
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
6971
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
6972
+ # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html
6545
6973
  #
6546
6974
  # @option params [required, String] :global_table_name
6547
6975
  # The global table name.
@@ -6579,9 +7007,11 @@ module Aws::DynamoDB
6579
7007
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
6580
7008
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
6581
7009
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
7010
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
6582
7011
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
6583
7012
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
6584
7013
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
7014
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
6585
7015
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
6586
7016
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
6587
7017
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -6601,21 +7031,18 @@ module Aws::DynamoDB
6601
7031
 
6602
7032
  # Updates settings for a global table.
6603
7033
  #
6604
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
6605
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
6606
- # when creating new global tables, as it provides greater flexibility,
6607
- # higher efficiency and consumes less write capacity than 2017.11.29
6608
- # (Legacy). To determine which version you are using, see [Determining
6609
- # the version][3]. To update existing global tables from version
6610
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
6611
- # global tables][4].
7034
+ # For global tables, this operation only applies to global tables using
7035
+ # Version 2019.11.21 (Current version), as it provides greater
7036
+ # flexibility, higher efficiency and consumes less write capacity than
7037
+ # 2017.11.29 (Legacy). To determine which version you are using, see
7038
+ # [Determining the version][1]. To update existing global tables from
7039
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [
7040
+ # Updating global tables][2].
6612
7041
  #
6613
7042
  #
6614
7043
  #
6615
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
6616
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
6617
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
6618
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
7044
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
7045
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
6619
7046
  #
6620
7047
  # @option params [required, String] :global_table_name
6621
7048
  # The name of the global table
@@ -6627,16 +7054,16 @@ module Aws::DynamoDB
6627
7054
  #
6628
7055
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
6629
7056
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
6630
- # Mode][1].
7057
+ # capacity mode][1].
6631
7058
  #
6632
7059
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
6633
7060
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
6634
- # [On-Demand Mode][2].
7061
+ # [On-demand capacity mode][2].
6635
7062
  #
6636
7063
  #
6637
7064
  #
6638
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
6639
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
7065
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
7066
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
6640
7067
  #
6641
7068
  # @option params [Integer] :global_table_provisioned_write_capacity_units
6642
7069
  # The maximum number of writes consumed per second before DynamoDB
@@ -6824,7 +7251,8 @@ module Aws::DynamoDB
6824
7251
  # `UpdateItem` operation using the `ReturnValues` parameter.
6825
7252
  #
6826
7253
  # @option params [required, String] :table_name
6827
- # The name of the table containing the item to update.
7254
+ # The name of the table containing the item to update. You can also
7255
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
6828
7256
  #
6829
7257
  # @option params [required, Hash<String,Types::AttributeValue>] :key
6830
7258
  # The primary key of the item to be updated. Each element consists of an
@@ -7149,7 +7577,7 @@ module Aws::DynamoDB
7149
7577
  # @example Request syntax with placeholder values
7150
7578
  #
7151
7579
  # resp = client.update_item({
7152
- # table_name: "TableName", # required
7580
+ # table_name: "TableArn", # required
7153
7581
  # key: { # required
7154
7582
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7155
7583
  # },
@@ -7215,11 +7643,56 @@ module Aws::DynamoDB
7215
7643
  req.send_request(options)
7216
7644
  end
7217
7645
 
7646
+ # The command to update the Kinesis stream destination.
7647
+ #
7648
+ # @option params [required, String] :table_name
7649
+ # The table name for the Kinesis streaming destination input. You can
7650
+ # also provide the ARN of the table in this parameter.
7651
+ #
7652
+ # @option params [required, String] :stream_arn
7653
+ # The Amazon Resource Name (ARN) for the Kinesis stream input.
7654
+ #
7655
+ # @option params [Types::UpdateKinesisStreamingConfiguration] :update_kinesis_streaming_configuration
7656
+ # The command to update the Kinesis stream configuration.
7657
+ #
7658
+ # @return [Types::UpdateKinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7659
+ #
7660
+ # * {Types::UpdateKinesisStreamingDestinationOutput#table_name #table_name} => String
7661
+ # * {Types::UpdateKinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
7662
+ # * {Types::UpdateKinesisStreamingDestinationOutput#destination_status #destination_status} => String
7663
+ # * {Types::UpdateKinesisStreamingDestinationOutput#update_kinesis_streaming_configuration #update_kinesis_streaming_configuration} => Types::UpdateKinesisStreamingConfiguration
7664
+ #
7665
+ # @example Request syntax with placeholder values
7666
+ #
7667
+ # resp = client.update_kinesis_streaming_destination({
7668
+ # table_name: "TableArn", # required
7669
+ # stream_arn: "StreamArn", # required
7670
+ # update_kinesis_streaming_configuration: {
7671
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
7672
+ # },
7673
+ # })
7674
+ #
7675
+ # @example Response structure
7676
+ #
7677
+ # resp.table_name #=> String
7678
+ # resp.stream_arn #=> String
7679
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
7680
+ # resp.update_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
7681
+ #
7682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateKinesisStreamingDestination AWS API Documentation
7683
+ #
7684
+ # @overload update_kinesis_streaming_destination(params = {})
7685
+ # @param [Hash] params ({})
7686
+ def update_kinesis_streaming_destination(params = {}, options = {})
7687
+ req = build_request(:update_kinesis_streaming_destination, params)
7688
+ req.send_request(options)
7689
+ end
7690
+
7218
7691
  # Modifies the provisioned throughput settings, global secondary
7219
7692
  # indexes, or DynamoDB Streams settings for a given table.
7220
7693
  #
7221
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
7222
- # global tables.
7694
+ # For global tables, this operation only applies to global tables using
7695
+ # Version 2019.11.21 (Current version).
7223
7696
  #
7224
7697
  # You can only perform one of the following operations at once:
7225
7698
  #
@@ -7231,16 +7704,12 @@ module Aws::DynamoDB
7231
7704
  # begins backfilling, you can use `UpdateTable` to perform other
7232
7705
  # operations.
7233
7706
  #
7234
- # `UpdateTable` is an asynchronous operation; while it is executing, the
7235
- # table status changes from `ACTIVE` to `UPDATING`. While it is
7236
- # `UPDATING`, you cannot issue another `UpdateTable` request. When the
7707
+ # `UpdateTable` is an asynchronous operation; while it's executing, the
7708
+ # table status changes from `ACTIVE` to `UPDATING`. While it's
7709
+ # `UPDATING`, you can't issue another `UpdateTable` request. When the
7237
7710
  # table returns to the `ACTIVE` state, the `UpdateTable` operation is
7238
7711
  # complete.
7239
7712
  #
7240
- #
7241
- #
7242
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
7243
- #
7244
7713
  # @option params [Array<Types::AttributeDefinition>] :attribute_definitions
7245
7714
  # An array of attributes that describe the key schema for the table and
7246
7715
  # indexes. If you are adding a new global secondary index to the table,
@@ -7248,7 +7717,8 @@ module Aws::DynamoDB
7248
7717
  # index.
7249
7718
  #
7250
7719
  # @option params [required, String] :table_name
7251
- # The name of the table to be updated.
7720
+ # The name of the table to be updated. You can also provide the Amazon
7721
+ # Resource Name (ARN) of the table in this parameter.
7252
7722
  #
7253
7723
  # @option params [String] :billing_mode
7254
7724
  # Controls how you are charged for read and write throughput and how you
@@ -7260,16 +7730,16 @@ module Aws::DynamoDB
7260
7730
  #
7261
7731
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
7262
7732
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
7263
- # Mode][1].
7733
+ # capacity mode][1].
7264
7734
  #
7265
7735
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
7266
7736
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
7267
- # [On-Demand Mode][2].
7737
+ # [On-demand capacity mode][2].
7268
7738
  #
7269
7739
  #
7270
7740
  #
7271
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
7272
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
7741
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
7742
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
7273
7743
  #
7274
7744
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput
7275
7745
  # The new provisioned throughput settings for the specified table or
@@ -7299,9 +7769,9 @@ module Aws::DynamoDB
7299
7769
  # @option params [Types::StreamSpecification] :stream_specification
7300
7770
  # Represents the DynamoDB Streams configuration for the table.
7301
7771
  #
7302
- # <note markdown="1"> You receive a `ResourceInUseException` if you try to enable a stream
7303
- # on a table that already has a stream, or if you try to disable a
7304
- # stream on a table that doesn't have a stream.
7772
+ # <note markdown="1"> You receive a `ValidationException` if you try to enable a stream on a
7773
+ # table that already has a stream, or if you try to disable a stream on
7774
+ # a table that doesn't have a stream.
7305
7775
  #
7306
7776
  # </note>
7307
7777
  #
@@ -7312,15 +7782,11 @@ module Aws::DynamoDB
7312
7782
  # A list of replica update actions (create, delete, or update) for the
7313
7783
  # table.
7314
7784
  #
7315
- # <note markdown="1"> This property only applies to [Version 2019.11.21 (Current)][1] of
7316
- # global tables.
7785
+ # <note markdown="1"> For global tables, this property only applies to global tables using
7786
+ # Version 2019.11.21 (Current version).
7317
7787
  #
7318
7788
  # </note>
7319
7789
  #
7320
- #
7321
- #
7322
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
7323
- #
7324
7790
  # @option params [String] :table_class
7325
7791
  # The table class of the table to be updated. Valid values are
7326
7792
  # `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
@@ -7329,6 +7795,11 @@ module Aws::DynamoDB
7329
7795
  # Indicates whether deletion protection is to be enabled (true) or
7330
7796
  # disabled (false) on the table.
7331
7797
  #
7798
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput
7799
+ # Updates the maximum number of read and write units for the specified
7800
+ # table in on-demand capacity mode. If you use this parameter, you must
7801
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
7802
+ #
7332
7803
  # @return [Types::UpdateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7333
7804
  #
7334
7805
  # * {Types::UpdateTableOutput#table_description #table_description} => Types::TableDescription
@@ -7392,7 +7863,7 @@ module Aws::DynamoDB
7392
7863
  # attribute_type: "S", # required, accepts S, N, B
7393
7864
  # },
7394
7865
  # ],
7395
- # table_name: "TableName", # required
7866
+ # table_name: "TableArn", # required
7396
7867
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
7397
7868
  # provisioned_throughput: {
7398
7869
  # read_capacity_units: 1, # required
@@ -7402,10 +7873,14 @@ module Aws::DynamoDB
7402
7873
  # {
7403
7874
  # update: {
7404
7875
  # index_name: "IndexName", # required
7405
- # provisioned_throughput: { # required
7876
+ # provisioned_throughput: {
7406
7877
  # read_capacity_units: 1, # required
7407
7878
  # write_capacity_units: 1, # required
7408
7879
  # },
7880
+ # on_demand_throughput: {
7881
+ # max_read_request_units: 1,
7882
+ # max_write_request_units: 1,
7883
+ # },
7409
7884
  # },
7410
7885
  # create: {
7411
7886
  # index_name: "IndexName", # required
@@ -7423,6 +7898,10 @@ module Aws::DynamoDB
7423
7898
  # read_capacity_units: 1, # required
7424
7899
  # write_capacity_units: 1, # required
7425
7900
  # },
7901
+ # on_demand_throughput: {
7902
+ # max_read_request_units: 1,
7903
+ # max_write_request_units: 1,
7904
+ # },
7426
7905
  # },
7427
7906
  # delete: {
7428
7907
  # index_name: "IndexName", # required
@@ -7446,12 +7925,18 @@ module Aws::DynamoDB
7446
7925
  # provisioned_throughput_override: {
7447
7926
  # read_capacity_units: 1,
7448
7927
  # },
7928
+ # on_demand_throughput_override: {
7929
+ # max_read_request_units: 1,
7930
+ # },
7449
7931
  # global_secondary_indexes: [
7450
7932
  # {
7451
7933
  # index_name: "IndexName", # required
7452
7934
  # provisioned_throughput_override: {
7453
7935
  # read_capacity_units: 1,
7454
7936
  # },
7937
+ # on_demand_throughput_override: {
7938
+ # max_read_request_units: 1,
7939
+ # },
7455
7940
  # },
7456
7941
  # ],
7457
7942
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -7462,12 +7947,18 @@ module Aws::DynamoDB
7462
7947
  # provisioned_throughput_override: {
7463
7948
  # read_capacity_units: 1,
7464
7949
  # },
7950
+ # on_demand_throughput_override: {
7951
+ # max_read_request_units: 1,
7952
+ # },
7465
7953
  # global_secondary_indexes: [
7466
7954
  # {
7467
7955
  # index_name: "IndexName", # required
7468
7956
  # provisioned_throughput_override: {
7469
7957
  # read_capacity_units: 1,
7470
7958
  # },
7959
+ # on_demand_throughput_override: {
7960
+ # max_read_request_units: 1,
7961
+ # },
7471
7962
  # },
7472
7963
  # ],
7473
7964
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -7479,6 +7970,10 @@ module Aws::DynamoDB
7479
7970
  # ],
7480
7971
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
7481
7972
  # deletion_protection_enabled: false,
7973
+ # on_demand_throughput: {
7974
+ # max_read_request_units: 1,
7975
+ # max_write_request_units: 1,
7976
+ # },
7482
7977
  # })
7483
7978
  #
7484
7979
  # @example Response structure
@@ -7532,6 +8027,8 @@ module Aws::DynamoDB
7532
8027
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
7533
8028
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
7534
8029
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
8030
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
8031
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
7535
8032
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
7536
8033
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
7537
8034
  # resp.table_description.latest_stream_label #=> String
@@ -7544,9 +8041,11 @@ module Aws::DynamoDB
7544
8041
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
7545
8042
  # resp.table_description.replicas[0].kms_master_key_id #=> String
7546
8043
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
8044
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
7547
8045
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
7548
8046
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
7549
8047
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
8048
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
7550
8049
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
7551
8050
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
7552
8051
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -7564,6 +8063,8 @@ module Aws::DynamoDB
7564
8063
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
7565
8064
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
7566
8065
  # resp.table_description.deletion_protection_enabled #=> Boolean
8066
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
8067
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
7567
8068
  #
7568
8069
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable AWS API Documentation
7569
8070
  #
@@ -7576,19 +8077,16 @@ module Aws::DynamoDB
7576
8077
 
7577
8078
  # Updates auto scaling settings on your global tables at once.
7578
8079
  #
7579
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
7580
- # global tables.
7581
- #
7582
- #
7583
- #
7584
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
8080
+ # For global tables, this operation only applies to global tables using
8081
+ # Version 2019.11.21 (Current version).
7585
8082
  #
7586
8083
  # @option params [Array<Types::GlobalSecondaryIndexAutoScalingUpdate>] :global_secondary_index_updates
7587
8084
  # Represents the auto scaling settings of the global secondary indexes
7588
8085
  # of the replica to be updated.
7589
8086
  #
7590
8087
  # @option params [required, String] :table_name
7591
- # The name of the global table to be updated.
8088
+ # The name of the global table to be updated. You can also provide the
8089
+ # Amazon Resource Name (ARN) of the table in this parameter.
7592
8090
  #
7593
8091
  # @option params [Types::AutoScalingSettingsUpdate] :provisioned_write_capacity_auto_scaling_update
7594
8092
  # Represents the auto scaling settings to be modified for a global table
@@ -7625,7 +8123,7 @@ module Aws::DynamoDB
7625
8123
  # },
7626
8124
  # },
7627
8125
  # ],
7628
- # table_name: "TableName", # required
8126
+ # table_name: "TableArn", # required
7629
8127
  # provisioned_write_capacity_auto_scaling_update: {
7630
8128
  # minimum_units: 1,
7631
8129
  # maximum_units: 1,
@@ -7781,7 +8279,8 @@ module Aws::DynamoDB
7781
8279
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html
7782
8280
  #
7783
8281
  # @option params [required, String] :table_name
7784
- # The name of the table to be configured.
8282
+ # The name of the table to be configured. You can also provide the
8283
+ # Amazon Resource Name (ARN) of the table in this parameter.
7785
8284
  #
7786
8285
  # @option params [required, Types::TimeToLiveSpecification] :time_to_live_specification
7787
8286
  # Represents the settings used to enable or disable Time to Live for the
@@ -7794,7 +8293,7 @@ module Aws::DynamoDB
7794
8293
  # @example Request syntax with placeholder values
7795
8294
  #
7796
8295
  # resp = client.update_time_to_live({
7797
- # table_name: "TableName", # required
8296
+ # table_name: "TableArn", # required
7798
8297
  # time_to_live_specification: { # required
7799
8298
  # enabled: false, # required
7800
8299
  # attribute_name: "TimeToLiveAttributeName", # required
@@ -7828,7 +8327,7 @@ module Aws::DynamoDB
7828
8327
  params: params,
7829
8328
  config: config)
7830
8329
  context[:gem_name] = 'aws-sdk-dynamodb'
7831
- context[:gem_version] = '1.93.0'
8330
+ context[:gem_version] = '1.110.0'
7832
8331
  Seahorse::Client::Request.new(handlers, context)
7833
8332
  end
7834
8333