aws-sdk-dynamodb 1.84.0 → 1.118.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,12 +22,14 @@ 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'
28
29
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
30
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
31
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
+ require 'aws-sdk-core/plugins/request_compression.rb'
31
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
35
  require 'aws-sdk-core/plugins/sign.rb'
@@ -74,12 +76,14 @@ module Aws::DynamoDB
74
76
  add_plugin(Aws::Plugins::ResponsePaging)
75
77
  add_plugin(Aws::Plugins::StubResponses)
76
78
  add_plugin(Aws::Plugins::IdempotencyToken)
79
+ add_plugin(Aws::Plugins::InvocationId)
77
80
  add_plugin(Aws::Plugins::JsonvalueConverter)
78
81
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
79
82
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
80
83
  add_plugin(Aws::Plugins::TransferEncoding)
81
84
  add_plugin(Aws::Plugins::HttpChecksum)
82
85
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
86
+ add_plugin(Aws::Plugins::RequestCompression)
83
87
  add_plugin(Aws::Plugins::DefaultsMode)
84
88
  add_plugin(Aws::Plugins::RecursionDetection)
85
89
  add_plugin(Aws::Plugins::Sign)
@@ -91,6 +95,11 @@ module Aws::DynamoDB
91
95
 
92
96
  # @overload initialize(options)
93
97
  # @param [Hash] options
98
+ #
99
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
100
+ # A list of plugins to apply to the client. Each plugin is either a
101
+ # class name or an instance of a plugin class.
102
+ #
94
103
  # @option options [required, Aws::CredentialProvider] :credentials
95
104
  # Your AWS credentials. This can be an instance of any one of the
96
105
  # following classes:
@@ -202,10 +211,20 @@ module Aws::DynamoDB
202
211
  # Set to true to disable SDK automatically adding host prefix
203
212
  # to default service endpoint when available.
204
213
  #
205
- # @option options [String] :endpoint
206
- # The client endpoint is normally constructed from the `:region`
207
- # option. You should only configure an `:endpoint` when connecting
208
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
214
+ # @option options [Boolean] :disable_request_compression (false)
215
+ # When set to 'true' the request body will not be compressed
216
+ # for supported operations.
217
+ #
218
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
219
+ # Normally you should not configure the `:endpoint` option
220
+ # directly. This is normally constructed from the `:region`
221
+ # option. Configuring `:endpoint` is normally reserved for
222
+ # connecting to test or custom endpoints. The endpoint should
223
+ # be a URI formatted like:
224
+ #
225
+ # 'http://example.com'
226
+ # 'https://example.com'
227
+ # 'http://example.com:123'
209
228
  #
210
229
  # @option options [Integer] :endpoint_cache_max_entries (1000)
211
230
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -222,6 +241,10 @@ module Aws::DynamoDB
222
241
  # @option options [Boolean] :endpoint_discovery (false)
223
242
  # When set to `true`, endpoint discovery will be enabled for operations when available.
224
243
  #
244
+ # @option options [Boolean] :ignore_configured_endpoint_urls
245
+ # Setting to true disables use of endpoint URLs provided via environment
246
+ # variables and the shared configuration file.
247
+ #
225
248
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
226
249
  # The log formatter.
227
250
  #
@@ -242,6 +265,11 @@ module Aws::DynamoDB
242
265
  # Used when loading credentials from the shared credentials file
243
266
  # at HOME/.aws/credentials. When not specified, 'default' is used.
244
267
  #
268
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
269
+ # The minimum size in bytes that triggers compression for request
270
+ # bodies. The value must be non-negative integer value between 0
271
+ # and 10485780 bytes inclusive.
272
+ #
245
273
  # @option options [Proc] :retry_backoff
246
274
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
247
275
  # This option is only used in the `legacy` retry mode.
@@ -285,11 +313,25 @@ module Aws::DynamoDB
285
313
  # throttling. This is a provisional mode that may change behavior
286
314
  # in the future.
287
315
  #
316
+ # @option options [String] :sdk_ua_app_id
317
+ # A unique and opaque application ID that is appended to the
318
+ # User-Agent header as app/sdk_ua_app_id. It should have a
319
+ # maximum length of 50. This variable is sourced from environment
320
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
288
321
  #
289
322
  # @option options [String] :secret_access_key
290
323
  #
291
324
  # @option options [String] :session_token
292
325
  #
326
+ # @option options [Array] :sigv4a_signing_region_set
327
+ # A list of regions that should be signed with SigV4a signing. When
328
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
329
+ # in the following locations:
330
+ #
331
+ # * `Aws.config[:sigv4a_signing_region_set]`
332
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
333
+ # * `~/.aws/config`
334
+ #
293
335
  # @option options [Boolean] :simple_attributes (true)
294
336
  # Enables working with DynamoDB attribute values using
295
337
  # hashes, arrays, sets, integers, floats, booleans, and nil.
@@ -300,13 +342,10 @@ module Aws::DynamoDB
300
342
  #
301
343
  # @option options [Boolean] :simple_json (false)
302
344
  # Disables request parameter conversion, validation, and formatting.
303
- # Also disable response data type conversions. This option is useful
304
- # when you want to ensure the highest level of performance by
305
- # avoiding overhead of walking request parameters and response data
306
- # structures.
307
- #
308
- # When `:simple_json` is enabled, the request parameters hash must
309
- # be formatted exactly as the DynamoDB API expects.
345
+ # Also disables response data type conversions. The request parameters
346
+ # hash must be formatted exactly as the API expects.This option is useful
347
+ # when you want to ensure the highest level of performance by avoiding
348
+ # overhead of walking request parameters and response data structures.
310
349
  #
311
350
  # @option options [Boolean] :stub_responses (false)
312
351
  # Causes the client to return stubbed responses. By default
@@ -346,50 +385,65 @@ module Aws::DynamoDB
346
385
  # @option options [Aws::DynamoDB::EndpointProvider] :endpoint_provider
347
386
  # 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`
348
387
  #
349
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
350
- # requests through. Formatted like 'http://proxy.com:123'.
351
- #
352
- # @option options [Float] :http_open_timeout (15) The number of
353
- # seconds to wait when opening a HTTP session before raising a
354
- # `Timeout::Error`.
355
- #
356
- # @option options [Float] :http_read_timeout (60) The default
357
- # number of seconds to wait for response data. This value can
358
- # safely be set per-request on the session.
359
- #
360
- # @option options [Float] :http_idle_timeout (5) The number of
361
- # seconds a connection is allowed to sit idle before it is
362
- # considered stale. Stale connections are closed and removed
363
- # from the pool before making a request.
364
- #
365
- # @option options [Float] :http_continue_timeout (1) The number of
366
- # seconds to wait for a 100-continue response before sending the
367
- # request body. This option has no effect unless the request has
368
- # "Expect" header set to "100-continue". Defaults to `nil` which
369
- # disables this behaviour. This value can safely be set per
370
- # request on the session.
371
- #
372
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
373
- # in seconds.
388
+ # @option options [Float] :http_continue_timeout (1)
389
+ # The number of seconds to wait for a 100-continue response before sending the
390
+ # request body. This option has no effect unless the request has "Expect"
391
+ # header set to "100-continue". Defaults to `nil` which disables this
392
+ # behaviour. This value can safely be set per request on the session.
393
+ #
394
+ # @option options [Float] :http_idle_timeout (5)
395
+ # The number of seconds a connection is allowed to sit idle before it
396
+ # is considered stale. Stale connections are closed and removed from the
397
+ # pool before making a request.
398
+ #
399
+ # @option options [Float] :http_open_timeout (15)
400
+ # The default number of seconds to wait for response data.
401
+ # This value can safely be set per-request on the session.
402
+ #
403
+ # @option options [URI::HTTP,String] :http_proxy
404
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
405
+ #
406
+ # @option options [Float] :http_read_timeout (60)
407
+ # The default number of seconds to wait for response data.
408
+ # This value can safely be set per-request on the session.
409
+ #
410
+ # @option options [Boolean] :http_wire_trace (false)
411
+ # When `true`, HTTP debug output will be sent to the `:logger`.
412
+ #
413
+ # @option options [Proc] :on_chunk_received
414
+ # When a Proc object is provided, it will be used as callback when each chunk
415
+ # of the response body is received. It provides three arguments: the chunk,
416
+ # the number of bytes received, and the total number of
417
+ # bytes in the response (or nil if the server did not send a `content-length`).
418
+ #
419
+ # @option options [Proc] :on_chunk_sent
420
+ # When a Proc object is provided, it will be used as callback when each chunk
421
+ # of the request body is sent. It provides three arguments: the chunk,
422
+ # the number of bytes read from the body, and the total number of
423
+ # bytes in the body.
424
+ #
425
+ # @option options [Boolean] :raise_response_errors (true)
426
+ # When `true`, response errors are raised.
427
+ #
428
+ # @option options [String] :ssl_ca_bundle
429
+ # Full path to the SSL certificate authority bundle file that should be used when
430
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
431
+ # `:ssl_ca_directory` the the system default will be used if available.
432
+ #
433
+ # @option options [String] :ssl_ca_directory
434
+ # Full path of the directory that contains the unbundled SSL certificate
435
+ # authority files for verifying peer certificates. If you do
436
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
437
+ # default will be used if available.
374
438
  #
375
- # @option options [Boolean] :http_wire_trace (false) When `true`,
376
- # HTTP debug output will be sent to the `:logger`.
439
+ # @option options [String] :ssl_ca_store
440
+ # Sets the X509::Store to verify peer certificate.
377
441
  #
378
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
379
- # SSL peer certificates are verified when establishing a
380
- # connection.
442
+ # @option options [Float] :ssl_timeout
443
+ # Sets the SSL timeout in seconds
381
444
  #
382
- # @option options [String] :ssl_ca_bundle Full path to the SSL
383
- # certificate authority bundle file that should be used when
384
- # verifying peer certificates. If you do not pass
385
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
386
- # will be used if available.
387
- #
388
- # @option options [String] :ssl_ca_directory Full path of the
389
- # directory that contains the unbundled SSL certificate
390
- # authority files for verifying peer certificates. If you do
391
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
392
- # system default will be used if available.
445
+ # @option options [Boolean] :ssl_verify_peer (true)
446
+ # When `true`, SSL peer certificates are verified when establishing a connection.
393
447
  #
394
448
  def initialize(*args)
395
449
  super
@@ -401,7 +455,8 @@ module Aws::DynamoDB
401
455
  # stored in DynamoDB, using PartiQL. Each read statement in a
402
456
  # `BatchExecuteStatement` must specify an equality condition on all key
403
457
  # attributes. This enforces that each `SELECT` statement in a batch
404
- # returns at most a single item.
458
+ # returns at most a single item. For more information, see [Running
459
+ # batch operations with PartiQL for DynamoDB ][1].
405
460
  #
406
461
  # <note markdown="1"> The entire batch must consist of either read statements or write
407
462
  # statements, you cannot mix both in one batch.
@@ -410,12 +465,13 @@ module Aws::DynamoDB
410
465
  #
411
466
  # A HTTP 200 response does not mean that all statements in the
412
467
  # BatchExecuteStatement succeeded. Error details for individual
413
- # statements can be found under the [Error][1] field of the
468
+ # statements can be found under the [Error][2] field of the
414
469
  # `BatchStatementResponse` for each statement.
415
470
  #
416
471
  #
417
472
  #
418
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchStatementResponse.html#DDB-Type-BatchStatementResponse-Error
473
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.batching.html
474
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchStatementResponse.html#DDB-Type-BatchStatementResponse-Error
419
475
  #
420
476
  # @option params [required, Array<Types::BatchStatementRequest>] :statements
421
477
  # The list of PartiQL statements representing the batch to run.
@@ -450,6 +506,7 @@ module Aws::DynamoDB
450
506
  # statement: "PartiQLStatement", # required
451
507
  # parameters: ["value"], # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
452
508
  # consistent_read: false,
509
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
453
510
  # },
454
511
  # ],
455
512
  # return_consumed_capacity: "INDEXES", # accepts INDEXES, TOTAL, NONE
@@ -460,6 +517,8 @@ module Aws::DynamoDB
460
517
  # resp.responses #=> Array
461
518
  # resp.responses[0].error.code #=> String, one of "ConditionalCheckFailed", "ItemCollectionSizeLimitExceeded", "RequestLimitExceeded", "ValidationError", "ProvisionedThroughputExceeded", "TransactionConflict", "ThrottlingError", "InternalServerError", "ResourceNotFound", "AccessDenied", "DuplicateItem"
462
519
  # resp.responses[0].error.message #=> String
520
+ # resp.responses[0].error.item #=> Hash
521
+ # resp.responses[0].error.item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
463
522
  # resp.responses[0].table_name #=> String
464
523
  # resp.responses[0].item #=> Hash
465
524
  # resp.responses[0].item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
@@ -496,10 +555,10 @@ module Aws::DynamoDB
496
555
  # A single operation can retrieve up to 16 MB of data, which can contain
497
556
  # as many as 100 items. `BatchGetItem` returns a partial result if the
498
557
  # response size limit is exceeded, the table's provisioned throughput
499
- # is exceeded, or an internal processing failure occurs. If a partial
500
- # result is returned, the operation returns a value for
501
- # `UnprocessedKeys`. You can use this value to retry the operation
502
- # starting with the next item to get.
558
+ # is exceeded, more than 1MB per partition is requested, or an internal
559
+ # processing failure occurs. If a partial result is returned, the
560
+ # operation returns a value for `UnprocessedKeys`. You can use this
561
+ # value to retry the operation starting with the next item to get.
503
562
  #
504
563
  # If you request more than 100 items, `BatchGetItem` returns a
505
564
  # `ValidationException` with the message "Too many items requested for
@@ -553,9 +612,9 @@ module Aws::DynamoDB
553
612
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations
554
613
  #
555
614
  # @option params [required, Hash<String,Types::KeysAndAttributes>] :request_items
556
- # A map of one or more table names and, for each table, a map that
557
- # describes one or more items to retrieve from that table. Each table
558
- # name can be used only once per `BatchGetItem` request.
615
+ # A map of one or more table names or table ARNs and, for each table, a
616
+ # map that describes one or more items to retrieve from that table. Each
617
+ # table name or ARN can be used only once per `BatchGetItem` request.
559
618
  #
560
619
  # Each element in the map of items to retrieve consists of the
561
620
  # following:
@@ -713,7 +772,7 @@ module Aws::DynamoDB
713
772
  #
714
773
  # resp = client.batch_get_item({
715
774
  # request_items: { # required
716
- # "TableName" => {
775
+ # "TableArn" => {
717
776
  # keys: [ # required
718
777
  # {
719
778
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
@@ -733,19 +792,19 @@ module Aws::DynamoDB
733
792
  # @example Response structure
734
793
  #
735
794
  # resp.responses #=> Hash
736
- # resp.responses["TableName"] #=> Array
737
- # resp.responses["TableName"][0] #=> Hash
738
- # resp.responses["TableName"][0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
795
+ # resp.responses["TableArn"] #=> Array
796
+ # resp.responses["TableArn"][0] #=> Hash
797
+ # resp.responses["TableArn"][0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
739
798
  # resp.unprocessed_keys #=> Hash
740
- # resp.unprocessed_keys["TableName"].keys #=> Array
741
- # resp.unprocessed_keys["TableName"].keys[0] #=> Hash
742
- # resp.unprocessed_keys["TableName"].keys[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
743
- # resp.unprocessed_keys["TableName"].attributes_to_get #=> Array
744
- # resp.unprocessed_keys["TableName"].attributes_to_get[0] #=> String
745
- # resp.unprocessed_keys["TableName"].consistent_read #=> Boolean
746
- # resp.unprocessed_keys["TableName"].projection_expression #=> String
747
- # resp.unprocessed_keys["TableName"].expression_attribute_names #=> Hash
748
- # resp.unprocessed_keys["TableName"].expression_attribute_names["ExpressionAttributeNameVariable"] #=> String
799
+ # resp.unprocessed_keys["TableArn"].keys #=> Array
800
+ # resp.unprocessed_keys["TableArn"].keys[0] #=> Hash
801
+ # resp.unprocessed_keys["TableArn"].keys[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
802
+ # resp.unprocessed_keys["TableArn"].attributes_to_get #=> Array
803
+ # resp.unprocessed_keys["TableArn"].attributes_to_get[0] #=> String
804
+ # resp.unprocessed_keys["TableArn"].consistent_read #=> Boolean
805
+ # resp.unprocessed_keys["TableArn"].projection_expression #=> String
806
+ # resp.unprocessed_keys["TableArn"].expression_attribute_names #=> Hash
807
+ # resp.unprocessed_keys["TableArn"].expression_attribute_names["ExpressionAttributeNameVariable"] #=> String
749
808
  # resp.consumed_capacity #=> Array
750
809
  # resp.consumed_capacity[0].table_name #=> String
751
810
  # resp.consumed_capacity[0].capacity_units #=> Float
@@ -800,9 +859,13 @@ module Aws::DynamoDB
800
859
  # request with those unprocessed items until all items have been
801
860
  # processed.
802
861
  #
803
- # If *none* of the items can be processed due to insufficient
804
- # provisioned throughput on all of the tables in the request, then
805
- # `BatchWriteItem` returns a `ProvisionedThroughputExceededException`.
862
+ # For tables and indexes with provisioned capacity, if none of the items
863
+ # can be processed due to insufficient provisioned throughput on all of
864
+ # the tables in the request, then `BatchWriteItem` returns a
865
+ # `ProvisionedThroughputExceededException`. For all tables and indexes,
866
+ # if none of the items can be processed due to other throttling
867
+ # scenarios (such as exceeding partition level limits), then
868
+ # `BatchWriteItem` returns a `ThrottlingException`.
806
869
  #
807
870
  # If DynamoDB returns any unprocessed items, you should retry the batch
808
871
  # operation on those items. However, *we strongly recommend that you use
@@ -859,15 +922,19 @@ module Aws::DynamoDB
859
922
  #
860
923
  # * The total request size exceeds 16 MB.
861
924
  #
925
+ # * Any individual items with keys exceeding the key length limits. For
926
+ # a partition key, the limit is 2048 bytes and for a sort key, the
927
+ # limit is 1024 bytes.
928
+ #
862
929
  #
863
930
  #
864
931
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html
865
932
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#Programming.Errors.BatchOperations
866
933
  #
867
934
  # @option params [required, Hash<String,Array>] :request_items
868
- # A map of one or more table names and, for each table, a list of
869
- # operations to be performed (`DeleteRequest` or `PutRequest`). Each
870
- # element in the map consists of the following:
935
+ # A map of one or more table names or table ARNs and, for each table, a
936
+ # list of operations to be performed (`DeleteRequest` or `PutRequest`).
937
+ # Each element in the map consists of the following:
871
938
  #
872
939
  # * `DeleteRequest` - Perform a `DeleteItem` operation on the specified
873
940
  # item. The item to be deleted is identified by a `Key` subelement:
@@ -972,7 +1039,7 @@ module Aws::DynamoDB
972
1039
  #
973
1040
  # resp = client.batch_write_item({
974
1041
  # request_items: { # required
975
- # "TableName" => [
1042
+ # "TableArn" => [
976
1043
  # {
977
1044
  # put_request: {
978
1045
  # item: { # required
@@ -994,17 +1061,17 @@ module Aws::DynamoDB
994
1061
  # @example Response structure
995
1062
  #
996
1063
  # resp.unprocessed_items #=> Hash
997
- # resp.unprocessed_items["TableName"] #=> Array
998
- # resp.unprocessed_items["TableName"][0].put_request.item #=> Hash
999
- # resp.unprocessed_items["TableName"][0].put_request.item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1000
- # resp.unprocessed_items["TableName"][0].delete_request.key #=> Hash
1001
- # resp.unprocessed_items["TableName"][0].delete_request.key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1064
+ # resp.unprocessed_items["TableArn"] #=> Array
1065
+ # resp.unprocessed_items["TableArn"][0].put_request.item #=> Hash
1066
+ # resp.unprocessed_items["TableArn"][0].put_request.item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1067
+ # resp.unprocessed_items["TableArn"][0].delete_request.key #=> Hash
1068
+ # resp.unprocessed_items["TableArn"][0].delete_request.key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1002
1069
  # resp.item_collection_metrics #=> Hash
1003
- # resp.item_collection_metrics["TableName"] #=> Array
1004
- # resp.item_collection_metrics["TableName"][0].item_collection_key #=> Hash
1005
- # resp.item_collection_metrics["TableName"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1006
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb #=> Array
1007
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb[0] #=> Float
1070
+ # resp.item_collection_metrics["TableArn"] #=> Array
1071
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key #=> Hash
1072
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1073
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb #=> Array
1074
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb[0] #=> Float
1008
1075
  # resp.consumed_capacity #=> Array
1009
1076
  # resp.consumed_capacity[0].table_name #=> String
1010
1077
  # resp.consumed_capacity[0].capacity_units #=> Float
@@ -1065,7 +1132,8 @@ module Aws::DynamoDB
1065
1132
  # * Provisioned read and write capacity
1066
1133
  #
1067
1134
  # @option params [required, String] :table_name
1068
- # The name of the table.
1135
+ # The name of the table. You can also provide the Amazon Resource Name
1136
+ # (ARN) of the table in this parameter.
1069
1137
  #
1070
1138
  # @option params [required, String] :backup_name
1071
1139
  # Specified name for the backup.
@@ -1077,7 +1145,7 @@ module Aws::DynamoDB
1077
1145
  # @example Request syntax with placeholder values
1078
1146
  #
1079
1147
  # resp = client.create_backup({
1080
- # table_name: "TableName", # required
1148
+ # table_name: "TableArn", # required
1081
1149
  # backup_name: "BackupName", # required
1082
1150
  # })
1083
1151
  #
@@ -1104,14 +1172,16 @@ module Aws::DynamoDB
1104
1172
  # a replication relationship between two or more DynamoDB tables with
1105
1173
  # the same table name in the provided Regions.
1106
1174
  #
1107
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
1108
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
1109
- # when creating new global tables, as it provides greater flexibility,
1110
- # higher efficiency and consumes less write capacity than 2017.11.29
1111
- # (Legacy). To determine which version you are using, see [Determining
1112
- # the version][3]. To update existing global tables from version
1113
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
1114
- # global tables][4].
1175
+ # This documentation is for version 2017.11.29 (Legacy) of global
1176
+ # tables, which should be avoided for new global tables. Customers
1177
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
1178
+ # possible, because it provides greater flexibility, higher efficiency,
1179
+ # and consumes less write capacity than 2017.11.29 (Legacy).
1180
+ #
1181
+ # To determine which version you're using, see [Determining the global
1182
+ # table version you are using][2]. To update existing global tables from
1183
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
1184
+ # [Upgrading global tables][3].
1115
1185
  #
1116
1186
  # If you want to add a new replica table to a global table, each of the
1117
1187
  # following conditions must be true:
@@ -1154,10 +1224,9 @@ module Aws::DynamoDB
1154
1224
  #
1155
1225
  #
1156
1226
  #
1157
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
1158
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
1159
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
1160
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
1227
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
1228
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
1229
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
1161
1230
  #
1162
1231
  # @option params [required, String] :global_table_name
1163
1232
  # The global table name.
@@ -1189,9 +1258,11 @@ module Aws::DynamoDB
1189
1258
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
1190
1259
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
1191
1260
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
1261
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
1192
1262
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
1193
1263
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
1194
1264
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
1265
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
1195
1266
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
1196
1267
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1197
1268
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -1233,7 +1304,8 @@ module Aws::DynamoDB
1233
1304
  # indexes.
1234
1305
  #
1235
1306
  # @option params [required, String] :table_name
1236
- # The name of the table to create.
1307
+ # The name of the table to create. You can also provide the Amazon
1308
+ # Resource Name (ARN) of the table in this parameter.
1237
1309
  #
1238
1310
  # @option params [required, Array<Types::KeySchemaElement>] :key_schema
1239
1311
  # Specifies the attributes that make up the primary key for a table or
@@ -1367,16 +1439,16 @@ module Aws::DynamoDB
1367
1439
  #
1368
1440
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
1369
1441
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
1370
- # Mode][1].
1442
+ # capacity mode][1].
1371
1443
  #
1372
1444
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
1373
1445
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
1374
- # [On-Demand Mode][2].
1446
+ # [On-demand capacity mode][2].
1375
1447
  #
1376
1448
  #
1377
1449
  #
1378
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
1379
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
1450
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
1451
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
1380
1452
  #
1381
1453
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput
1382
1454
  # Represents the provisioned throughput settings for a specified table
@@ -1437,6 +1509,34 @@ module Aws::DynamoDB
1437
1509
  # Indicates whether deletion protection is to be enabled (true) or
1438
1510
  # disabled (false) on the table.
1439
1511
  #
1512
+ # @option params [String] :resource_policy
1513
+ # An Amazon Web Services resource-based policy document in JSON format
1514
+ # that will be attached to the table.
1515
+ #
1516
+ # When you attach a resource-based policy while creating a table, the
1517
+ # policy application is *strongly consistent*.
1518
+ #
1519
+ # The maximum size supported for a resource-based policy document is 20
1520
+ # KB. DynamoDB counts whitespaces when calculating the size of a policy
1521
+ # against this limit. For a full list of all considerations that apply
1522
+ # for resource-based policies, see [Resource-based policy
1523
+ # considerations][1].
1524
+ #
1525
+ # <note markdown="1"> You need to specify the `CreateTable` and `PutResourcePolicy` IAM
1526
+ # actions for authorizing a user to create a table with a resource-based
1527
+ # policy.
1528
+ #
1529
+ # </note>
1530
+ #
1531
+ #
1532
+ #
1533
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
1534
+ #
1535
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput
1536
+ # Sets the maximum number of read and write units for the specified
1537
+ # table in on-demand capacity mode. If you use this parameter, you must
1538
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
1539
+ #
1440
1540
  # @return [Types::CreateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1441
1541
  #
1442
1542
  # * {Types::CreateTableOutput#table_description #table_description} => Types::TableDescription
@@ -1518,7 +1618,7 @@ module Aws::DynamoDB
1518
1618
  # attribute_type: "S", # required, accepts S, N, B
1519
1619
  # },
1520
1620
  # ],
1521
- # table_name: "TableName", # required
1621
+ # table_name: "TableArn", # required
1522
1622
  # key_schema: [ # required
1523
1623
  # {
1524
1624
  # attribute_name: "KeySchemaAttributeName", # required
@@ -1557,6 +1657,10 @@ module Aws::DynamoDB
1557
1657
  # read_capacity_units: 1, # required
1558
1658
  # write_capacity_units: 1, # required
1559
1659
  # },
1660
+ # on_demand_throughput: {
1661
+ # max_read_request_units: 1,
1662
+ # max_write_request_units: 1,
1663
+ # },
1560
1664
  # },
1561
1665
  # ],
1562
1666
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
@@ -1581,6 +1685,11 @@ module Aws::DynamoDB
1581
1685
  # ],
1582
1686
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
1583
1687
  # deletion_protection_enabled: false,
1688
+ # resource_policy: "ResourcePolicy",
1689
+ # on_demand_throughput: {
1690
+ # max_read_request_units: 1,
1691
+ # max_write_request_units: 1,
1692
+ # },
1584
1693
  # })
1585
1694
  #
1586
1695
  # @example Response structure
@@ -1634,6 +1743,8 @@ module Aws::DynamoDB
1634
1743
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
1635
1744
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
1636
1745
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
1746
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
1747
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
1637
1748
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
1638
1749
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
1639
1750
  # resp.table_description.latest_stream_label #=> String
@@ -1646,9 +1757,11 @@ module Aws::DynamoDB
1646
1757
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
1647
1758
  # resp.table_description.replicas[0].kms_master_key_id #=> String
1648
1759
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
1760
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
1649
1761
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
1650
1762
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
1651
1763
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
1764
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
1652
1765
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
1653
1766
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1654
1767
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -1666,6 +1779,8 @@ module Aws::DynamoDB
1666
1779
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1667
1780
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
1668
1781
  # resp.table_description.deletion_protection_enabled #=> Boolean
1782
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
1783
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
1669
1784
  #
1670
1785
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable AWS API Documentation
1671
1786
  #
@@ -1712,6 +1827,8 @@ module Aws::DynamoDB
1712
1827
  # resp.backup_description.source_table_details.table_creation_date_time #=> Time
1713
1828
  # resp.backup_description.source_table_details.provisioned_throughput.read_capacity_units #=> Integer
1714
1829
  # resp.backup_description.source_table_details.provisioned_throughput.write_capacity_units #=> Integer
1830
+ # resp.backup_description.source_table_details.on_demand_throughput.max_read_request_units #=> Integer
1831
+ # resp.backup_description.source_table_details.on_demand_throughput.max_write_request_units #=> Integer
1715
1832
  # resp.backup_description.source_table_details.item_count #=> Integer
1716
1833
  # resp.backup_description.source_table_details.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
1717
1834
  # resp.backup_description.source_table_feature_details.local_secondary_indexes #=> Array
@@ -1732,6 +1849,8 @@ module Aws::DynamoDB
1732
1849
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
1733
1850
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
1734
1851
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
1852
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
1853
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
1735
1854
  # resp.backup_description.source_table_feature_details.stream_description.stream_enabled #=> Boolean
1736
1855
  # 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"
1737
1856
  # resp.backup_description.source_table_feature_details.time_to_live_description.time_to_live_status #=> String, one of "ENABLING", "DISABLING", "ENABLED", "DISABLED"
@@ -1767,7 +1886,8 @@ module Aws::DynamoDB
1767
1886
  # delete. Otherwise, the item is not deleted.
1768
1887
  #
1769
1888
  # @option params [required, String] :table_name
1770
- # The name of the table from which to delete the item.
1889
+ # The name of the table from which to delete the item. You can also
1890
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
1771
1891
  #
1772
1892
  # @option params [required, Hash<String,Types::AttributeValue>] :key
1773
1893
  # A map of attribute names to `AttributeValue` objects, representing the
@@ -1938,6 +2058,14 @@ module Aws::DynamoDB
1938
2058
  #
1939
2059
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html
1940
2060
  #
2061
+ # @option params [String] :return_values_on_condition_check_failure
2062
+ # An optional parameter that returns the item attributes for a
2063
+ # `DeleteItem` operation that failed a condition check.
2064
+ #
2065
+ # There is no additional cost associated with requesting a return value
2066
+ # aside from the small network and processing overhead of receiving a
2067
+ # larger response. No read capacity units are consumed.
2068
+ #
1941
2069
  # @return [Types::DeleteItemOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1942
2070
  #
1943
2071
  # * {Types::DeleteItemOutput#attributes #attributes} => Hash&lt;String,Types::AttributeValue&gt;
@@ -1968,7 +2096,7 @@ module Aws::DynamoDB
1968
2096
  # @example Request syntax with placeholder values
1969
2097
  #
1970
2098
  # resp = client.delete_item({
1971
- # table_name: "TableName", # required
2099
+ # table_name: "TableArn", # required
1972
2100
  # key: { # required
1973
2101
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1974
2102
  # },
@@ -1991,6 +2119,7 @@ module Aws::DynamoDB
1991
2119
  # expression_attribute_values: {
1992
2120
  # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1993
2121
  # },
2122
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
1994
2123
  # })
1995
2124
  #
1996
2125
  # @example Response structure
@@ -2026,6 +2155,67 @@ module Aws::DynamoDB
2026
2155
  req.send_request(options)
2027
2156
  end
2028
2157
 
2158
+ # Deletes the resource-based policy attached to the resource, which can
2159
+ # be a table or stream.
2160
+ #
2161
+ # `DeleteResourcePolicy` is an idempotent operation; running it multiple
2162
+ # times on the same resource *doesn't* result in an error response,
2163
+ # unless you specify an `ExpectedRevisionId`, which will then return a
2164
+ # `PolicyNotFoundException`.
2165
+ #
2166
+ # To make sure that you don't inadvertently lock yourself out of your
2167
+ # own resources, the root principal in your Amazon Web Services account
2168
+ # can perform `DeleteResourcePolicy` requests, even if your
2169
+ # resource-based policy explicitly denies the root principal's access.
2170
+ #
2171
+ # <note markdown="1"> `DeleteResourcePolicy` is an asynchronous operation. If you issue a
2172
+ # `GetResourcePolicy` request immediately after running the
2173
+ # `DeleteResourcePolicy` request, DynamoDB might still return the
2174
+ # deleted policy. This is because the policy for your resource might not
2175
+ # have been deleted yet. Wait for a few seconds, and then try the
2176
+ # `GetResourcePolicy` request again.
2177
+ #
2178
+ # </note>
2179
+ #
2180
+ # @option params [required, String] :resource_arn
2181
+ # The Amazon Resource Name (ARN) of the DynamoDB resource from which the
2182
+ # policy will be removed. The resources you can specify include tables
2183
+ # and streams. If you remove the policy of a table, it will also remove
2184
+ # the permissions for the table's indexes defined in that policy
2185
+ # document. This is because index permissions are defined in the
2186
+ # table's policy.
2187
+ #
2188
+ # @option params [String] :expected_revision_id
2189
+ # A string value that you can use to conditionally delete your policy.
2190
+ # When you provide an expected revision ID, if the revision ID of the
2191
+ # existing policy on the resource doesn't match or if there's no
2192
+ # policy attached to the resource, the request will fail and return a
2193
+ # `PolicyNotFoundException`.
2194
+ #
2195
+ # @return [Types::DeleteResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2196
+ #
2197
+ # * {Types::DeleteResourcePolicyOutput#revision_id #revision_id} => String
2198
+ #
2199
+ # @example Request syntax with placeholder values
2200
+ #
2201
+ # resp = client.delete_resource_policy({
2202
+ # resource_arn: "ResourceArnString", # required
2203
+ # expected_revision_id: "PolicyRevisionId",
2204
+ # })
2205
+ #
2206
+ # @example Response structure
2207
+ #
2208
+ # resp.revision_id #=> String
2209
+ #
2210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteResourcePolicy AWS API Documentation
2211
+ #
2212
+ # @overload delete_resource_policy(params = {})
2213
+ # @param [Hash] params ({})
2214
+ def delete_resource_policy(params = {}, options = {})
2215
+ req = build_request(:delete_resource_policy, params)
2216
+ req.send_request(options)
2217
+ end
2218
+
2029
2219
  # The `DeleteTable` operation deletes a table and all of its items.
2030
2220
  # After a `DeleteTable` request, the specified table is in the
2031
2221
  # `DELETING` state until DynamoDB completes the deletion. If the table
@@ -2035,12 +2225,13 @@ module Aws::DynamoDB
2035
2225
  # DynamoDB returns a `ResourceNotFoundException`. If table is already in
2036
2226
  # the `DELETING` state, no error is returned.
2037
2227
  #
2038
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
2039
- # global tables.
2228
+ # For global tables, this operation only applies to global tables using
2229
+ # Version 2019.11.21 (Current version).
2040
2230
  #
2041
2231
  # <note markdown="1"> DynamoDB might continue to accept data read and write operations, such
2042
2232
  # as `GetItem` and `PutItem`, on a table in the `DELETING` state until
2043
- # the table deletion is complete.
2233
+ # the table deletion is complete. For the full list of table states, see
2234
+ # [TableStatus][1].
2044
2235
  #
2045
2236
  # </note>
2046
2237
  #
@@ -2054,10 +2245,11 @@ module Aws::DynamoDB
2054
2245
  #
2055
2246
  #
2056
2247
  #
2057
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2248
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TableDescription.html#DDB-Type-TableDescription-TableStatus
2058
2249
  #
2059
2250
  # @option params [required, String] :table_name
2060
- # The name of the table to delete.
2251
+ # The name of the table to delete. You can also provide the Amazon
2252
+ # Resource Name (ARN) of the table in this parameter.
2061
2253
  #
2062
2254
  # @return [Types::DeleteTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2063
2255
  #
@@ -2090,7 +2282,7 @@ module Aws::DynamoDB
2090
2282
  # @example Request syntax with placeholder values
2091
2283
  #
2092
2284
  # resp = client.delete_table({
2093
- # table_name: "TableName", # required
2285
+ # table_name: "TableArn", # required
2094
2286
  # })
2095
2287
  #
2096
2288
  # @example Response structure
@@ -2144,6 +2336,8 @@ module Aws::DynamoDB
2144
2336
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
2145
2337
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
2146
2338
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
2339
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2340
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2147
2341
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
2148
2342
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2149
2343
  # resp.table_description.latest_stream_label #=> String
@@ -2156,9 +2350,11 @@ module Aws::DynamoDB
2156
2350
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
2157
2351
  # resp.table_description.replicas[0].kms_master_key_id #=> String
2158
2352
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
2353
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
2159
2354
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
2160
2355
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
2161
2356
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
2357
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2162
2358
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
2163
2359
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2164
2360
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2176,6 +2372,8 @@ module Aws::DynamoDB
2176
2372
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2177
2373
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
2178
2374
  # resp.table_description.deletion_protection_enabled #=> Boolean
2375
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
2376
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
2179
2377
  #
2180
2378
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable AWS API Documentation
2181
2379
  #
@@ -2223,6 +2421,8 @@ module Aws::DynamoDB
2223
2421
  # resp.backup_description.source_table_details.table_creation_date_time #=> Time
2224
2422
  # resp.backup_description.source_table_details.provisioned_throughput.read_capacity_units #=> Integer
2225
2423
  # resp.backup_description.source_table_details.provisioned_throughput.write_capacity_units #=> Integer
2424
+ # resp.backup_description.source_table_details.on_demand_throughput.max_read_request_units #=> Integer
2425
+ # resp.backup_description.source_table_details.on_demand_throughput.max_write_request_units #=> Integer
2226
2426
  # resp.backup_description.source_table_details.item_count #=> Integer
2227
2427
  # resp.backup_description.source_table_details.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
2228
2428
  # resp.backup_description.source_table_feature_details.local_secondary_indexes #=> Array
@@ -2243,6 +2443,8 @@ module Aws::DynamoDB
2243
2443
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
2244
2444
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
2245
2445
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
2446
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2447
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2246
2448
  # resp.backup_description.source_table_feature_details.stream_description.stream_enabled #=> Boolean
2247
2449
  # 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"
2248
2450
  # resp.backup_description.source_table_feature_details.time_to_live_description.time_to_live_status #=> String, one of "ENABLING", "DISABLING", "ENABLED", "DISABLED"
@@ -2281,6 +2483,9 @@ module Aws::DynamoDB
2281
2483
  # Name of the table for which the customer wants to check the continuous
2282
2484
  # backups and point in time recovery settings.
2283
2485
  #
2486
+ # You can also provide the Amazon Resource Name (ARN) of the table in
2487
+ # this parameter.
2488
+ #
2284
2489
  # @return [Types::DescribeContinuousBackupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2285
2490
  #
2286
2491
  # * {Types::DescribeContinuousBackupsOutput#continuous_backups_description #continuous_backups_description} => Types::ContinuousBackupsDescription
@@ -2288,7 +2493,7 @@ module Aws::DynamoDB
2288
2493
  # @example Request syntax with placeholder values
2289
2494
  #
2290
2495
  # resp = client.describe_continuous_backups({
2291
- # table_name: "TableName", # required
2496
+ # table_name: "TableArn", # required
2292
2497
  # })
2293
2498
  #
2294
2499
  # @example Response structure
@@ -2311,7 +2516,8 @@ module Aws::DynamoDB
2311
2516
  # global secondary index.
2312
2517
  #
2313
2518
  # @option params [required, String] :table_name
2314
- # The name of the table to describe.
2519
+ # The name of the table to describe. You can also provide the Amazon
2520
+ # Resource Name (ARN) of the table in this parameter.
2315
2521
  #
2316
2522
  # @option params [String] :index_name
2317
2523
  # The name of the global secondary index to describe, if applicable.
@@ -2328,7 +2534,7 @@ module Aws::DynamoDB
2328
2534
  # @example Request syntax with placeholder values
2329
2535
  #
2330
2536
  # resp = client.describe_contributor_insights({
2331
- # table_name: "TableName", # required
2537
+ # table_name: "TableArn", # required
2332
2538
  # index_name: "IndexName",
2333
2539
  # })
2334
2540
  #
@@ -2352,10 +2558,8 @@ module Aws::DynamoDB
2352
2558
  req.send_request(options)
2353
2559
  end
2354
2560
 
2355
- # Returns the regional endpoint information. This action must be
2356
- # included in your VPC endpoint policies, or access to the
2357
- # DescribeEndpoints API will be denied. For more information on policy
2358
- # permissions, please see [Internetwork traffic privacy][1].
2561
+ # Returns the regional endpoint information. For more information on
2562
+ # policy permissions, please see [Internetwork traffic privacy][1].
2359
2563
  #
2360
2564
  #
2361
2565
  #
@@ -2416,6 +2620,10 @@ module Aws::DynamoDB
2416
2620
  # resp.export_description.export_format #=> String, one of "DYNAMODB_JSON", "ION"
2417
2621
  # resp.export_description.billed_size_bytes #=> Integer
2418
2622
  # resp.export_description.item_count #=> Integer
2623
+ # resp.export_description.export_type #=> String, one of "FULL_EXPORT", "INCREMENTAL_EXPORT"
2624
+ # resp.export_description.incremental_export_specification.export_from_time #=> Time
2625
+ # resp.export_description.incremental_export_specification.export_to_time #=> Time
2626
+ # resp.export_description.incremental_export_specification.export_view_type #=> String, one of "NEW_IMAGE", "NEW_AND_OLD_IMAGES"
2419
2627
  #
2420
2628
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeExport AWS API Documentation
2421
2629
  #
@@ -2428,21 +2636,22 @@ module Aws::DynamoDB
2428
2636
 
2429
2637
  # Returns information about the specified global table.
2430
2638
  #
2431
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
2432
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
2433
- # when creating new global tables, as it provides greater flexibility,
2434
- # higher efficiency and consumes less write capacity than 2017.11.29
2435
- # (Legacy). To determine which version you are using, see [Determining
2436
- # the version][3]. To update existing global tables from version
2437
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
2438
- # global tables][4].
2639
+ # This documentation is for version 2017.11.29 (Legacy) of global
2640
+ # tables, which should be avoided for new global tables. Customers
2641
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
2642
+ # possible, because it provides greater flexibility, higher efficiency,
2643
+ # and consumes less write capacity than 2017.11.29 (Legacy).
2644
+ #
2645
+ # To determine which version you're using, see [Determining the global
2646
+ # table version you are using][2]. To update existing global tables from
2647
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
2648
+ # [Upgrading global tables][3].
2439
2649
  #
2440
2650
  #
2441
2651
  #
2442
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
2443
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2444
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2445
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2652
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
2653
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2654
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2446
2655
  #
2447
2656
  # @option params [required, String] :global_table_name
2448
2657
  # The name of the global table.
@@ -2466,9 +2675,11 @@ module Aws::DynamoDB
2466
2675
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
2467
2676
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
2468
2677
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
2678
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
2469
2679
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
2470
2680
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
2471
2681
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
2682
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2472
2683
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
2473
2684
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2474
2685
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2488,21 +2699,22 @@ module Aws::DynamoDB
2488
2699
 
2489
2700
  # Describes Region-specific settings for a global table.
2490
2701
  #
2491
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
2492
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
2493
- # when creating new global tables, as it provides greater flexibility,
2494
- # higher efficiency and consumes less write capacity than 2017.11.29
2495
- # (Legacy). To determine which version you are using, see [Determining
2496
- # the version][3]. To update existing global tables from version
2497
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
2498
- # global tables][4].
2702
+ # This documentation is for version 2017.11.29 (Legacy) of global
2703
+ # tables, which should be avoided for new global tables. Customers
2704
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
2705
+ # possible, because it provides greater flexibility, higher efficiency,
2706
+ # and consumes less write capacity than 2017.11.29 (Legacy).
2499
2707
  #
2708
+ # To determine which version you're using, see [Determining the global
2709
+ # table version you are using][2]. To update existing global tables from
2710
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
2711
+ # [Upgrading global tables][3].
2500
2712
  #
2501
2713
  #
2502
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
2503
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2504
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2505
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2714
+ #
2715
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
2716
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2717
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2506
2718
  #
2507
2719
  # @option params [required, String] :global_table_name
2508
2720
  # The name of the global table to describe.
@@ -2628,6 +2840,8 @@ module Aws::DynamoDB
2628
2840
  # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
2629
2841
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
2630
2842
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
2843
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_read_request_units #=> Integer
2844
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_write_request_units #=> Integer
2631
2845
  # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
2632
2846
  # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
2633
2847
  # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
@@ -2641,6 +2855,8 @@ module Aws::DynamoDB
2641
2855
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
2642
2856
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
2643
2857
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
2858
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2859
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2644
2860
  # resp.import_table_description.start_time #=> Time
2645
2861
  # resp.import_table_description.end_time #=> Time
2646
2862
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -2661,7 +2877,8 @@ module Aws::DynamoDB
2661
2877
  # Returns information about the status of Kinesis streaming.
2662
2878
  #
2663
2879
  # @option params [required, String] :table_name
2664
- # The name of the table being described.
2880
+ # The name of the table being described. You can also provide the Amazon
2881
+ # Resource Name (ARN) of the table in this parameter.
2665
2882
  #
2666
2883
  # @return [Types::DescribeKinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2667
2884
  #
@@ -2671,7 +2888,7 @@ module Aws::DynamoDB
2671
2888
  # @example Request syntax with placeholder values
2672
2889
  #
2673
2890
  # resp = client.describe_kinesis_streaming_destination({
2674
- # table_name: "TableName", # required
2891
+ # table_name: "TableArn", # required
2675
2892
  # })
2676
2893
  #
2677
2894
  # @example Response structure
@@ -2679,8 +2896,9 @@ module Aws::DynamoDB
2679
2896
  # resp.table_name #=> String
2680
2897
  # resp.kinesis_data_stream_destinations #=> Array
2681
2898
  # resp.kinesis_data_stream_destinations[0].stream_arn #=> String
2682
- # resp.kinesis_data_stream_destinations[0].destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
2899
+ # resp.kinesis_data_stream_destinations[0].destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
2683
2900
  # resp.kinesis_data_stream_destinations[0].destination_status_description #=> String
2901
+ # resp.kinesis_data_stream_destinations[0].approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
2684
2902
  #
2685
2903
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestination AWS API Documentation
2686
2904
  #
@@ -2805,8 +3023,8 @@ module Aws::DynamoDB
2805
3023
  # the table, when it was created, the primary key schema, and any
2806
3024
  # indexes on the table.
2807
3025
  #
2808
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
2809
- # global tables.
3026
+ # For global tables, this operation only applies to global tables using
3027
+ # Version 2019.11.21 (Current version).
2810
3028
  #
2811
3029
  # <note markdown="1"> If you issue a `DescribeTable` request immediately after a
2812
3030
  # `CreateTable` request, DynamoDB might return a
@@ -2817,12 +3035,9 @@ module Aws::DynamoDB
2817
3035
  #
2818
3036
  # </note>
2819
3037
  #
2820
- #
2821
- #
2822
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2823
- #
2824
3038
  # @option params [required, String] :table_name
2825
- # The name of the table to describe.
3039
+ # The name of the table to describe. You can also provide the Amazon
3040
+ # Resource Name (ARN) of the table in this parameter.
2826
3041
  #
2827
3042
  # @return [Types::DescribeTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2828
3043
  #
@@ -2876,7 +3091,7 @@ module Aws::DynamoDB
2876
3091
  # @example Request syntax with placeholder values
2877
3092
  #
2878
3093
  # resp = client.describe_table({
2879
- # table_name: "TableName", # required
3094
+ # table_name: "TableArn", # required
2880
3095
  # })
2881
3096
  #
2882
3097
  # @example Response structure
@@ -2930,6 +3145,8 @@ module Aws::DynamoDB
2930
3145
  # resp.table.global_secondary_indexes[0].index_size_bytes #=> Integer
2931
3146
  # resp.table.global_secondary_indexes[0].item_count #=> Integer
2932
3147
  # resp.table.global_secondary_indexes[0].index_arn #=> String
3148
+ # resp.table.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
3149
+ # resp.table.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2933
3150
  # resp.table.stream_specification.stream_enabled #=> Boolean
2934
3151
  # resp.table.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2935
3152
  # resp.table.latest_stream_label #=> String
@@ -2942,9 +3159,11 @@ module Aws::DynamoDB
2942
3159
  # resp.table.replicas[0].replica_status_percent_progress #=> String
2943
3160
  # resp.table.replicas[0].kms_master_key_id #=> String
2944
3161
  # resp.table.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
3162
+ # resp.table.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
2945
3163
  # resp.table.replicas[0].global_secondary_indexes #=> Array
2946
3164
  # resp.table.replicas[0].global_secondary_indexes[0].index_name #=> String
2947
3165
  # resp.table.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
3166
+ # resp.table.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2948
3167
  # resp.table.replicas[0].replica_inaccessible_date_time #=> Time
2949
3168
  # resp.table.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2950
3169
  # resp.table.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2962,6 +3181,8 @@ module Aws::DynamoDB
2962
3181
  # resp.table.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2963
3182
  # resp.table.table_class_summary.last_update_date_time #=> Time
2964
3183
  # resp.table.deletion_protection_enabled #=> Boolean
3184
+ # resp.table.on_demand_throughput.max_read_request_units #=> Integer
3185
+ # resp.table.on_demand_throughput.max_write_request_units #=> Integer
2965
3186
  #
2966
3187
  #
2967
3188
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -2981,15 +3202,12 @@ module Aws::DynamoDB
2981
3202
  # Describes auto scaling settings across replicas of the global table at
2982
3203
  # once.
2983
3204
  #
2984
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
2985
- # global tables.
2986
- #
2987
- #
2988
- #
2989
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
3205
+ # For global tables, this operation only applies to global tables using
3206
+ # Version 2019.11.21 (Current version).
2990
3207
  #
2991
3208
  # @option params [required, String] :table_name
2992
- # The name of the table.
3209
+ # The name of the table. You can also provide the Amazon Resource Name
3210
+ # (ARN) of the table in this parameter.
2993
3211
  #
2994
3212
  # @return [Types::DescribeTableReplicaAutoScalingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2995
3213
  #
@@ -2998,7 +3216,7 @@ module Aws::DynamoDB
2998
3216
  # @example Request syntax with placeholder values
2999
3217
  #
3000
3218
  # resp = client.describe_table_replica_auto_scaling({
3001
- # table_name: "TableName", # required
3219
+ # table_name: "TableArn", # required
3002
3220
  # })
3003
3221
  #
3004
3222
  # @example Response structure
@@ -3065,7 +3283,8 @@ module Aws::DynamoDB
3065
3283
  # table.
3066
3284
  #
3067
3285
  # @option params [required, String] :table_name
3068
- # The name of the table to be described.
3286
+ # The name of the table to be described. You can also provide the Amazon
3287
+ # Resource Name (ARN) of the table in this parameter.
3069
3288
  #
3070
3289
  # @return [Types::DescribeTimeToLiveOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3071
3290
  #
@@ -3074,7 +3293,7 @@ module Aws::DynamoDB
3074
3293
  # @example Request syntax with placeholder values
3075
3294
  #
3076
3295
  # resp = client.describe_time_to_live({
3077
- # table_name: "TableName", # required
3296
+ # table_name: "TableArn", # required
3078
3297
  # })
3079
3298
  #
3080
3299
  # @example Response structure
@@ -3095,29 +3314,39 @@ module Aws::DynamoDB
3095
3314
  # This is done without deleting either of the resources.
3096
3315
  #
3097
3316
  # @option params [required, String] :table_name
3098
- # The name of the DynamoDB table.
3317
+ # The name of the DynamoDB table. You can also provide the Amazon
3318
+ # Resource Name (ARN) of the table in this parameter.
3099
3319
  #
3100
3320
  # @option params [required, String] :stream_arn
3101
3321
  # The ARN for a Kinesis data stream.
3102
3322
  #
3323
+ # @option params [Types::EnableKinesisStreamingConfiguration] :enable_kinesis_streaming_configuration
3324
+ # The source for the Kinesis streaming information that is being
3325
+ # enabled.
3326
+ #
3103
3327
  # @return [Types::KinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3104
3328
  #
3105
3329
  # * {Types::KinesisStreamingDestinationOutput#table_name #table_name} => String
3106
3330
  # * {Types::KinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
3107
3331
  # * {Types::KinesisStreamingDestinationOutput#destination_status #destination_status} => String
3332
+ # * {Types::KinesisStreamingDestinationOutput#enable_kinesis_streaming_configuration #enable_kinesis_streaming_configuration} => Types::EnableKinesisStreamingConfiguration
3108
3333
  #
3109
3334
  # @example Request syntax with placeholder values
3110
3335
  #
3111
3336
  # resp = client.disable_kinesis_streaming_destination({
3112
- # table_name: "TableName", # required
3337
+ # table_name: "TableArn", # required
3113
3338
  # stream_arn: "StreamArn", # required
3339
+ # enable_kinesis_streaming_configuration: {
3340
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
3341
+ # },
3114
3342
  # })
3115
3343
  #
3116
3344
  # @example Response structure
3117
3345
  #
3118
3346
  # resp.table_name #=> String
3119
3347
  # resp.stream_arn #=> String
3120
- # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
3348
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
3349
+ # resp.enable_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
3121
3350
  #
3122
3351
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DisableKinesisStreamingDestination AWS API Documentation
3123
3352
  #
@@ -3135,29 +3364,39 @@ module Aws::DynamoDB
3135
3364
  # Kinesis data stream is ACTIVE.
3136
3365
  #
3137
3366
  # @option params [required, String] :table_name
3138
- # The name of the DynamoDB table.
3367
+ # The name of the DynamoDB table. You can also provide the Amazon
3368
+ # Resource Name (ARN) of the table in this parameter.
3139
3369
  #
3140
3370
  # @option params [required, String] :stream_arn
3141
3371
  # The ARN for a Kinesis data stream.
3142
3372
  #
3373
+ # @option params [Types::EnableKinesisStreamingConfiguration] :enable_kinesis_streaming_configuration
3374
+ # The source for the Kinesis streaming information that is being
3375
+ # enabled.
3376
+ #
3143
3377
  # @return [Types::KinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3144
3378
  #
3145
3379
  # * {Types::KinesisStreamingDestinationOutput#table_name #table_name} => String
3146
3380
  # * {Types::KinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
3147
3381
  # * {Types::KinesisStreamingDestinationOutput#destination_status #destination_status} => String
3382
+ # * {Types::KinesisStreamingDestinationOutput#enable_kinesis_streaming_configuration #enable_kinesis_streaming_configuration} => Types::EnableKinesisStreamingConfiguration
3148
3383
  #
3149
3384
  # @example Request syntax with placeholder values
3150
3385
  #
3151
3386
  # resp = client.enable_kinesis_streaming_destination({
3152
- # table_name: "TableName", # required
3387
+ # table_name: "TableArn", # required
3153
3388
  # stream_arn: "StreamArn", # required
3389
+ # enable_kinesis_streaming_configuration: {
3390
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
3391
+ # },
3154
3392
  # })
3155
3393
  #
3156
3394
  # @example Response structure
3157
3395
  #
3158
3396
  # resp.table_name #=> String
3159
3397
  # resp.stream_arn #=> String
3160
- # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
3398
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
3399
+ # resp.enable_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
3161
3400
  #
3162
3401
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingDestination AWS API Documentation
3163
3402
  #
@@ -3229,6 +3468,14 @@ module Aws::DynamoDB
3229
3468
  # `LastEvaluatedKey` to apply in a subsequent operation to continue the
3230
3469
  # operation.
3231
3470
  #
3471
+ # @option params [String] :return_values_on_condition_check_failure
3472
+ # An optional parameter that returns the item attributes for an
3473
+ # `ExecuteStatement` operation that failed a condition check.
3474
+ #
3475
+ # There is no additional cost associated with requesting a return value
3476
+ # aside from the small network and processing overhead of receiving a
3477
+ # larger response. No read capacity units are consumed.
3478
+ #
3232
3479
  # @return [Types::ExecuteStatementOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3233
3480
  #
3234
3481
  # * {Types::ExecuteStatementOutput#items #items} => Array&lt;Hash&lt;String,Types::AttributeValue&gt;&gt;
@@ -3245,6 +3492,7 @@ module Aws::DynamoDB
3245
3492
  # next_token: "PartiQLNextToken",
3246
3493
  # return_consumed_capacity: "INDEXES", # accepts INDEXES, TOTAL, NONE
3247
3494
  # limit: 1,
3495
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
3248
3496
  # })
3249
3497
  #
3250
3498
  # @example Response structure
@@ -3327,6 +3575,7 @@ module Aws::DynamoDB
3327
3575
  # {
3328
3576
  # statement: "PartiQLStatement", # required
3329
3577
  # parameters: ["value"], # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
3578
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
3330
3579
  # },
3331
3580
  # ],
3332
3581
  # client_request_token: "ClientRequestToken",
@@ -3401,6 +3650,11 @@ module Aws::DynamoDB
3401
3650
  # The ID of the Amazon Web Services account that owns the bucket the
3402
3651
  # export will be stored in.
3403
3652
  #
3653
+ # <note markdown="1"> S3BucketOwner is a required parameter when exporting to a S3 bucket in
3654
+ # another account.
3655
+ #
3656
+ # </note>
3657
+ #
3404
3658
  # @option params [String] :s3_prefix
3405
3659
  # The Amazon S3 bucket prefix to use as the file name and path of the
3406
3660
  # exported snapshot.
@@ -3421,6 +3675,16 @@ module Aws::DynamoDB
3421
3675
  # The format for the exported data. Valid values for `ExportFormat` are
3422
3676
  # `DYNAMODB_JSON` or `ION`.
3423
3677
  #
3678
+ # @option params [String] :export_type
3679
+ # Choice of whether to execute as a full export or incremental export.
3680
+ # Valid values are FULL\_EXPORT or INCREMENTAL\_EXPORT. The default
3681
+ # value is FULL\_EXPORT. If INCREMENTAL\_EXPORT is provided, the
3682
+ # IncrementalExportSpecification must also be used.
3683
+ #
3684
+ # @option params [Types::IncrementalExportSpecification] :incremental_export_specification
3685
+ # Optional object containing the parameters specific to an incremental
3686
+ # export.
3687
+ #
3424
3688
  # @return [Types::ExportTableToPointInTimeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3425
3689
  #
3426
3690
  # * {Types::ExportTableToPointInTimeOutput#export_description #export_description} => Types::ExportDescription
@@ -3437,6 +3701,12 @@ module Aws::DynamoDB
3437
3701
  # s3_sse_algorithm: "AES256", # accepts AES256, KMS
3438
3702
  # s3_sse_kms_key_id: "S3SseKmsKeyId",
3439
3703
  # export_format: "DYNAMODB_JSON", # accepts DYNAMODB_JSON, ION
3704
+ # export_type: "FULL_EXPORT", # accepts FULL_EXPORT, INCREMENTAL_EXPORT
3705
+ # incremental_export_specification: {
3706
+ # export_from_time: Time.now,
3707
+ # export_to_time: Time.now,
3708
+ # export_view_type: "NEW_IMAGE", # accepts NEW_IMAGE, NEW_AND_OLD_IMAGES
3709
+ # },
3440
3710
  # })
3441
3711
  #
3442
3712
  # @example Response structure
@@ -3460,6 +3730,10 @@ module Aws::DynamoDB
3460
3730
  # resp.export_description.export_format #=> String, one of "DYNAMODB_JSON", "ION"
3461
3731
  # resp.export_description.billed_size_bytes #=> Integer
3462
3732
  # resp.export_description.item_count #=> Integer
3733
+ # resp.export_description.export_type #=> String, one of "FULL_EXPORT", "INCREMENTAL_EXPORT"
3734
+ # resp.export_description.incremental_export_specification.export_from_time #=> Time
3735
+ # resp.export_description.incremental_export_specification.export_to_time #=> Time
3736
+ # resp.export_description.incremental_export_specification.export_view_type #=> String, one of "NEW_IMAGE", "NEW_AND_OLD_IMAGES"
3463
3737
  #
3464
3738
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime AWS API Documentation
3465
3739
  #
@@ -3482,7 +3756,8 @@ module Aws::DynamoDB
3482
3756
  # value.
3483
3757
  #
3484
3758
  # @option params [required, String] :table_name
3485
- # The name of the table containing the requested item.
3759
+ # The name of the table containing the requested item. You can also
3760
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
3486
3761
  #
3487
3762
  # @option params [required, Hash<String,Types::AttributeValue>] :key
3488
3763
  # A map of attribute names to `AttributeValue` objects, representing the
@@ -3622,7 +3897,7 @@ module Aws::DynamoDB
3622
3897
  # @example Request syntax with placeholder values
3623
3898
  #
3624
3899
  # resp = client.get_item({
3625
- # table_name: "TableName", # required
3900
+ # table_name: "TableArn", # required
3626
3901
  # key: { # required
3627
3902
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
3628
3903
  # },
@@ -3664,6 +3939,73 @@ module Aws::DynamoDB
3664
3939
  req.send_request(options)
3665
3940
  end
3666
3941
 
3942
+ # Returns the resource-based policy document attached to the resource,
3943
+ # which can be a table or stream, in JSON format.
3944
+ #
3945
+ # `GetResourcePolicy` follows an [ *eventually consistent* ][1] model.
3946
+ # The following list describes the outcomes when you issue the
3947
+ # `GetResourcePolicy` request immediately after issuing another request:
3948
+ #
3949
+ # * If you issue a `GetResourcePolicy` request immediately after a
3950
+ # `PutResourcePolicy` request, DynamoDB might return a
3951
+ # `PolicyNotFoundException`.
3952
+ #
3953
+ # * If you issue a `GetResourcePolicy`request immediately after a
3954
+ # `DeleteResourcePolicy` request, DynamoDB might return the policy
3955
+ # that was present before the deletion request.
3956
+ #
3957
+ # * If you issue a `GetResourcePolicy` request immediately after a
3958
+ # `CreateTable` request, which includes a resource-based policy,
3959
+ # DynamoDB might return a `ResourceNotFoundException` or a
3960
+ # `PolicyNotFoundException`.
3961
+ #
3962
+ # Because `GetResourcePolicy` uses an *eventually consistent* query, the
3963
+ # metadata for your policy or table might not be available at that
3964
+ # moment. Wait for a few seconds, and then retry the `GetResourcePolicy`
3965
+ # request.
3966
+ #
3967
+ # After a `GetResourcePolicy` request returns a policy created using the
3968
+ # `PutResourcePolicy` request, the policy will be applied in the
3969
+ # authorization of requests to the resource. Because this process is
3970
+ # eventually consistent, it will take some time to apply the policy to
3971
+ # all requests to a resource. Policies that you attach while creating a
3972
+ # table using the `CreateTable` request will always be applied to all
3973
+ # requests for that table.
3974
+ #
3975
+ #
3976
+ #
3977
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
3978
+ #
3979
+ # @option params [required, String] :resource_arn
3980
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
3981
+ # policy is attached. The resources you can specify include tables and
3982
+ # streams.
3983
+ #
3984
+ # @return [Types::GetResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3985
+ #
3986
+ # * {Types::GetResourcePolicyOutput#policy #policy} => String
3987
+ # * {Types::GetResourcePolicyOutput#revision_id #revision_id} => String
3988
+ #
3989
+ # @example Request syntax with placeholder values
3990
+ #
3991
+ # resp = client.get_resource_policy({
3992
+ # resource_arn: "ResourceArnString", # required
3993
+ # })
3994
+ #
3995
+ # @example Response structure
3996
+ #
3997
+ # resp.policy #=> String
3998
+ # resp.revision_id #=> String
3999
+ #
4000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetResourcePolicy AWS API Documentation
4001
+ #
4002
+ # @overload get_resource_policy(params = {})
4003
+ # @param [Hash] params ({})
4004
+ def get_resource_policy(params = {}, options = {})
4005
+ req = build_request(:get_resource_policy, params)
4006
+ req.send_request(options)
4007
+ end
4008
+
3667
4009
  # Imports table data from an S3 bucket.
3668
4010
  #
3669
4011
  # @option params [String] :client_token
@@ -3741,6 +4083,10 @@ module Aws::DynamoDB
3741
4083
  # read_capacity_units: 1, # required
3742
4084
  # write_capacity_units: 1, # required
3743
4085
  # },
4086
+ # on_demand_throughput: {
4087
+ # max_read_request_units: 1,
4088
+ # max_write_request_units: 1,
4089
+ # },
3744
4090
  # sse_specification: {
3745
4091
  # enabled: false,
3746
4092
  # sse_type: "AES256", # accepts AES256, KMS
@@ -3763,6 +4109,10 @@ module Aws::DynamoDB
3763
4109
  # read_capacity_units: 1, # required
3764
4110
  # write_capacity_units: 1, # required
3765
4111
  # },
4112
+ # on_demand_throughput: {
4113
+ # max_read_request_units: 1,
4114
+ # max_write_request_units: 1,
4115
+ # },
3766
4116
  # },
3767
4117
  # ],
3768
4118
  # },
@@ -3795,6 +4145,8 @@ module Aws::DynamoDB
3795
4145
  # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
3796
4146
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
3797
4147
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
4148
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_read_request_units #=> Integer
4149
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_write_request_units #=> Integer
3798
4150
  # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
3799
4151
  # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
3800
4152
  # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
@@ -3808,6 +4160,8 @@ module Aws::DynamoDB
3808
4160
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
3809
4161
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
3810
4162
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
4163
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
4164
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
3811
4165
  # resp.import_table_description.start_time #=> Time
3812
4166
  # resp.import_table_description.end_time #=> Time
3813
4167
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -3825,11 +4179,12 @@ module Aws::DynamoDB
3825
4179
  req.send_request(options)
3826
4180
  end
3827
4181
 
3828
- # List backups associated with an Amazon Web Services account. To list
3829
- # backups for a given table, specify `TableName`. `ListBackups` returns
3830
- # a paginated list of results with at most 1 MB worth of items in a
3831
- # page. You can also specify a maximum number of entries to be returned
3832
- # in a page.
4182
+ # List DynamoDB backups that are associated with an Amazon Web Services
4183
+ # account and weren't made with Amazon Web Services Backup. To list
4184
+ # these backups for a given table, specify `TableName`. `ListBackups`
4185
+ # returns a paginated list of results with at most 1 MB worth of items
4186
+ # in a page. You can also specify a maximum number of entries to be
4187
+ # returned in a page.
3833
4188
  #
3834
4189
  # In the request, start time is inclusive, but end time is exclusive.
3835
4190
  # Note that these boundaries are for the time at which the original
@@ -3837,8 +4192,17 @@ module Aws::DynamoDB
3837
4192
  #
3838
4193
  # You can call `ListBackups` a maximum of five times per second.
3839
4194
  #
4195
+ # If you want to retrieve the complete list of backups made with Amazon
4196
+ # Web Services Backup, use the [Amazon Web Services Backup list API.][1]
4197
+ #
4198
+ #
4199
+ #
4200
+ # [1]: https://docs.aws.amazon.com/aws-backup/latest/devguide/API_ListBackupJobs.html
4201
+ #
3840
4202
  # @option params [String] :table_name
3841
- # The backups from the table specified by `TableName` are listed.
4203
+ # Lists the backups from the table specified in `TableName`. You can
4204
+ # also provide the Amazon Resource Name (ARN) of the table in this
4205
+ # parameter.
3842
4206
  #
3843
4207
  # @option params [Integer] :limit
3844
4208
  # Maximum number of backups to return at once.
@@ -3878,7 +4242,7 @@ module Aws::DynamoDB
3878
4242
  # @example Request syntax with placeholder values
3879
4243
  #
3880
4244
  # resp = client.list_backups({
3881
- # table_name: "TableName",
4245
+ # table_name: "TableArn",
3882
4246
  # limit: 1,
3883
4247
  # time_range_lower_bound: Time.now,
3884
4248
  # time_range_upper_bound: Time.now,
@@ -3914,7 +4278,8 @@ module Aws::DynamoDB
3914
4278
  # global secondary indexes.
3915
4279
  #
3916
4280
  # @option params [String] :table_name
3917
- # The name of the table.
4281
+ # The name of the table. You can also provide the Amazon Resource Name
4282
+ # (ARN) of the table in this parameter.
3918
4283
  #
3919
4284
  # @option params [String] :next_token
3920
4285
  # A token to for the desired page, if there is one.
@@ -3932,7 +4297,7 @@ module Aws::DynamoDB
3932
4297
  # @example Request syntax with placeholder values
3933
4298
  #
3934
4299
  # resp = client.list_contributor_insights({
3935
- # table_name: "TableName",
4300
+ # table_name: "TableArn",
3936
4301
  # next_token: "NextTokenString",
3937
4302
  # max_results: 1,
3938
4303
  # })
@@ -3987,6 +4352,7 @@ module Aws::DynamoDB
3987
4352
  # resp.export_summaries #=> Array
3988
4353
  # resp.export_summaries[0].export_arn #=> String
3989
4354
  # resp.export_summaries[0].export_status #=> String, one of "IN_PROGRESS", "COMPLETED", "FAILED"
4355
+ # resp.export_summaries[0].export_type #=> String, one of "FULL_EXPORT", "INCREMENTAL_EXPORT"
3990
4356
  # resp.next_token #=> String
3991
4357
  #
3992
4358
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports AWS API Documentation
@@ -4000,21 +4366,22 @@ module Aws::DynamoDB
4000
4366
 
4001
4367
  # Lists all global tables that have a replica in the specified Region.
4002
4368
  #
4003
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
4004
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
4005
- # when creating new global tables, as it provides greater flexibility,
4006
- # higher efficiency and consumes less write capacity than 2017.11.29
4007
- # (Legacy). To determine which version you are using, see [Determining
4008
- # the version][3]. To update existing global tables from version
4009
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
4010
- # global tables][4].
4369
+ # This documentation is for version 2017.11.29 (Legacy) of global
4370
+ # tables, which should be avoided for new global tables. Customers
4371
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
4372
+ # possible, because it provides greater flexibility, higher efficiency,
4373
+ # and consumes less write capacity than 2017.11.29 (Legacy).
4011
4374
  #
4375
+ # To determine which version you're using, see [Determining the global
4376
+ # table version you are using][2]. To update existing global tables from
4377
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
4378
+ # [Upgrading global tables][3].
4012
4379
  #
4013
4380
  #
4014
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
4015
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
4016
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
4017
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
4381
+ #
4382
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
4383
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
4384
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
4018
4385
  #
4019
4386
  # @option params [String] :exclusive_start_global_table_name
4020
4387
  # The first global table name that this operation will evaluate.
@@ -4259,7 +4626,8 @@ module Aws::DynamoDB
4259
4626
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html
4260
4627
  #
4261
4628
  # @option params [required, String] :table_name
4262
- # The name of the table to contain the item.
4629
+ # The name of the table to contain the item. You can also provide the
4630
+ # Amazon Resource Name (ARN) of the table in this parameter.
4263
4631
  #
4264
4632
  # @option params [required, Hash<String,Types::AttributeValue>] :item
4265
4633
  # A map of attribute name/value pairs, one for each attribute. Only the
@@ -4451,6 +4819,14 @@ module Aws::DynamoDB
4451
4819
  #
4452
4820
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html
4453
4821
  #
4822
+ # @option params [String] :return_values_on_condition_check_failure
4823
+ # An optional parameter that returns the item attributes for a `PutItem`
4824
+ # operation that failed a condition check.
4825
+ #
4826
+ # There is no additional cost associated with requesting a return value
4827
+ # aside from the small network and processing overhead of receiving a
4828
+ # larger response. No read capacity units are consumed.
4829
+ #
4454
4830
  # @return [Types::PutItemOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4455
4831
  #
4456
4832
  # * {Types::PutItemOutput#attributes #attributes} => Hash&lt;String,Types::AttributeValue&gt;
@@ -4483,7 +4859,7 @@ module Aws::DynamoDB
4483
4859
  # @example Request syntax with placeholder values
4484
4860
  #
4485
4861
  # resp = client.put_item({
4486
- # table_name: "TableName", # required
4862
+ # table_name: "TableArn", # required
4487
4863
  # item: { # required
4488
4864
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
4489
4865
  # },
@@ -4506,6 +4882,7 @@ module Aws::DynamoDB
4506
4882
  # expression_attribute_values: {
4507
4883
  # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
4508
4884
  # },
4885
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
4509
4886
  # })
4510
4887
  #
4511
4888
  # @example Response structure
@@ -4541,6 +4918,107 @@ module Aws::DynamoDB
4541
4918
  req.send_request(options)
4542
4919
  end
4543
4920
 
4921
+ # Attaches a resource-based policy document to the resource, which can
4922
+ # be a table or stream. When you attach a resource-based policy using
4923
+ # this API, the policy application is [ *eventually consistent* ][1].
4924
+ #
4925
+ # `PutResourcePolicy` is an idempotent operation; running it multiple
4926
+ # times on the same resource using the same policy document will return
4927
+ # the same revision ID. If you specify an `ExpectedRevisionId` that
4928
+ # doesn't match the current policy's `RevisionId`, the
4929
+ # `PolicyNotFoundException` will be returned.
4930
+ #
4931
+ # <note markdown="1"> `PutResourcePolicy` is an asynchronous operation. If you issue a
4932
+ # `GetResourcePolicy` request immediately after a `PutResourcePolicy`
4933
+ # request, DynamoDB might return your previous policy, if there was one,
4934
+ # or return the `PolicyNotFoundException`. This is because
4935
+ # `GetResourcePolicy` uses an eventually consistent query, and the
4936
+ # metadata for your policy or table might not be available at that
4937
+ # moment. Wait for a few seconds, and then try the `GetResourcePolicy`
4938
+ # request again.
4939
+ #
4940
+ # </note>
4941
+ #
4942
+ #
4943
+ #
4944
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
4945
+ #
4946
+ # @option params [required, String] :resource_arn
4947
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
4948
+ # policy will be attached. The resources you can specify include tables
4949
+ # and streams.
4950
+ #
4951
+ # You can control index permissions using the base table's policy. To
4952
+ # specify the same permission level for your table and its indexes, you
4953
+ # can provide both the table and index Amazon Resource Name (ARN)s in
4954
+ # the `Resource` field of a given `Statement` in your policy document.
4955
+ # Alternatively, to specify different permissions for your table,
4956
+ # indexes, or both, you can define multiple `Statement` fields in your
4957
+ # policy document.
4958
+ #
4959
+ # @option params [required, String] :policy
4960
+ # An Amazon Web Services resource-based policy document in JSON format.
4961
+ #
4962
+ # * The maximum size supported for a resource-based policy document is
4963
+ # 20 KB. DynamoDB counts whitespaces when calculating the size of a
4964
+ # policy against this limit.
4965
+ #
4966
+ # * Within a resource-based policy, if the action for a DynamoDB
4967
+ # service-linked role (SLR) to replicate data for a global table is
4968
+ # denied, adding or deleting a replica will fail with an error.
4969
+ #
4970
+ # For a full list of all considerations that apply while attaching a
4971
+ # resource-based policy, see [Resource-based policy considerations][1].
4972
+ #
4973
+ #
4974
+ #
4975
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
4976
+ #
4977
+ # @option params [String] :expected_revision_id
4978
+ # A string value that you can use to conditionally update your policy.
4979
+ # You can provide the revision ID of your existing policy to make
4980
+ # mutating requests against that policy.
4981
+ #
4982
+ # <note markdown="1"> When you provide an expected revision ID, if the revision ID of the
4983
+ # existing policy on the resource doesn't match or if there's no
4984
+ # policy attached to the resource, your request will be rejected with a
4985
+ # `PolicyNotFoundException`.
4986
+ #
4987
+ # </note>
4988
+ #
4989
+ # To conditionally attach a policy when no policy exists for the
4990
+ # resource, specify `NO_POLICY` for the revision ID.
4991
+ #
4992
+ # @option params [Boolean] :confirm_remove_self_resource_access
4993
+ # Set this parameter to `true` to confirm that you want to remove your
4994
+ # permissions to change the policy of this resource in the future.
4995
+ #
4996
+ # @return [Types::PutResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4997
+ #
4998
+ # * {Types::PutResourcePolicyOutput#revision_id #revision_id} => String
4999
+ #
5000
+ # @example Request syntax with placeholder values
5001
+ #
5002
+ # resp = client.put_resource_policy({
5003
+ # resource_arn: "ResourceArnString", # required
5004
+ # policy: "ResourcePolicy", # required
5005
+ # expected_revision_id: "PolicyRevisionId",
5006
+ # confirm_remove_self_resource_access: false,
5007
+ # })
5008
+ #
5009
+ # @example Response structure
5010
+ #
5011
+ # resp.revision_id #=> String
5012
+ #
5013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutResourcePolicy AWS API Documentation
5014
+ #
5015
+ # @overload put_resource_policy(params = {})
5016
+ # @param [Hash] params ({})
5017
+ def put_resource_policy(params = {}, options = {})
5018
+ req = build_request(:put_resource_policy, params)
5019
+ req.send_request(options)
5020
+ end
5021
+
4544
5022
  # You must provide the name of the partition key attribute and a single
4545
5023
  # value for that attribute. `Query` returns all items with that
4546
5024
  # partition key value. Optionally, you can provide a sort key attribute
@@ -4606,7 +5084,8 @@ module Aws::DynamoDB
4606
5084
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination
4607
5085
  #
4608
5086
  # @option params [required, String] :table_name
4609
- # The name of the table containing the requested items.
5087
+ # The name of the table containing the requested items. You can also
5088
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
4610
5089
  #
4611
5090
  # @option params [String] :index_name
4612
5091
  # The name of an index to query. This index can be any local secondary
@@ -4806,7 +5285,7 @@ module Aws::DynamoDB
4806
5285
  #
4807
5286
  #
4808
5287
  #
4809
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
5288
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.FilterExpression.html
4810
5289
  #
4811
5290
  # @option params [String] :key_condition_expression
4812
5291
  # The condition that specifies the key values for items to be retrieved
@@ -5009,7 +5488,7 @@ module Aws::DynamoDB
5009
5488
  # @example Request syntax with placeholder values
5010
5489
  #
5011
5490
  # resp = client.query({
5012
- # table_name: "TableName", # required
5491
+ # table_name: "TableArn", # required
5013
5492
  # index_name: "IndexName",
5014
5493
  # select: "ALL_ATTRIBUTES", # accepts ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT
5015
5494
  # attributes_to_get: ["AttributeName"],
@@ -5121,6 +5600,11 @@ module Aws::DynamoDB
5121
5600
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput_override
5122
5601
  # Provisioned throughput settings for the restored table.
5123
5602
  #
5603
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput_override
5604
+ # Sets the maximum number of read and write units for the specified
5605
+ # on-demand table. If you use this parameter, you must specify
5606
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
5607
+ #
5124
5608
  # @option params [Types::SSESpecification] :sse_specification_override
5125
5609
  # The new server-side encryption settings for the restored table.
5126
5610
  #
@@ -5151,6 +5635,10 @@ module Aws::DynamoDB
5151
5635
  # read_capacity_units: 1, # required
5152
5636
  # write_capacity_units: 1, # required
5153
5637
  # },
5638
+ # on_demand_throughput: {
5639
+ # max_read_request_units: 1,
5640
+ # max_write_request_units: 1,
5641
+ # },
5154
5642
  # },
5155
5643
  # ],
5156
5644
  # local_secondary_index_override: [
@@ -5172,6 +5660,10 @@ module Aws::DynamoDB
5172
5660
  # read_capacity_units: 1, # required
5173
5661
  # write_capacity_units: 1, # required
5174
5662
  # },
5663
+ # on_demand_throughput_override: {
5664
+ # max_read_request_units: 1,
5665
+ # max_write_request_units: 1,
5666
+ # },
5175
5667
  # sse_specification_override: {
5176
5668
  # enabled: false,
5177
5669
  # sse_type: "AES256", # accepts AES256, KMS
@@ -5230,6 +5722,8 @@ module Aws::DynamoDB
5230
5722
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
5231
5723
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
5232
5724
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
5725
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
5726
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
5233
5727
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
5234
5728
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
5235
5729
  # resp.table_description.latest_stream_label #=> String
@@ -5242,9 +5736,11 @@ module Aws::DynamoDB
5242
5736
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
5243
5737
  # resp.table_description.replicas[0].kms_master_key_id #=> String
5244
5738
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
5739
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
5245
5740
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
5246
5741
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
5247
5742
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
5743
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
5248
5744
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
5249
5745
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5250
5746
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -5262,6 +5758,8 @@ module Aws::DynamoDB
5262
5758
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5263
5759
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
5264
5760
  # resp.table_description.deletion_protection_enabled #=> Boolean
5761
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
5762
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
5265
5763
  #
5266
5764
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup AWS API Documentation
5267
5765
  #
@@ -5275,7 +5773,7 @@ module Aws::DynamoDB
5275
5773
  # Restores the specified table to the specified point in time within
5276
5774
  # `EarliestRestorableDateTime` and `LatestRestorableDateTime`. You can
5277
5775
  # restore your table to any point in time during the last 35 days. Any
5278
- # number of users can execute up to 4 concurrent restores (any type of
5776
+ # number of users can execute up to 50 concurrent restores (any type of
5279
5777
  # restore) in a given account.
5280
5778
  #
5281
5779
  # When you restore using point in time recovery, DynamoDB restores your
@@ -5346,6 +5844,11 @@ module Aws::DynamoDB
5346
5844
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput_override
5347
5845
  # Provisioned throughput settings for the restored table.
5348
5846
  #
5847
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput_override
5848
+ # Sets the maximum number of read and write units for the specified
5849
+ # on-demand table. If you use this parameter, you must specify
5850
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
5851
+ #
5349
5852
  # @option params [Types::SSESpecification] :sse_specification_override
5350
5853
  # The new server-side encryption settings for the restored table.
5351
5854
  #
@@ -5379,6 +5882,10 @@ module Aws::DynamoDB
5379
5882
  # read_capacity_units: 1, # required
5380
5883
  # write_capacity_units: 1, # required
5381
5884
  # },
5885
+ # on_demand_throughput: {
5886
+ # max_read_request_units: 1,
5887
+ # max_write_request_units: 1,
5888
+ # },
5382
5889
  # },
5383
5890
  # ],
5384
5891
  # local_secondary_index_override: [
@@ -5400,6 +5907,10 @@ module Aws::DynamoDB
5400
5907
  # read_capacity_units: 1, # required
5401
5908
  # write_capacity_units: 1, # required
5402
5909
  # },
5910
+ # on_demand_throughput_override: {
5911
+ # max_read_request_units: 1,
5912
+ # max_write_request_units: 1,
5913
+ # },
5403
5914
  # sse_specification_override: {
5404
5915
  # enabled: false,
5405
5916
  # sse_type: "AES256", # accepts AES256, KMS
@@ -5458,6 +5969,8 @@ module Aws::DynamoDB
5458
5969
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
5459
5970
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
5460
5971
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
5972
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
5973
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
5461
5974
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
5462
5975
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
5463
5976
  # resp.table_description.latest_stream_label #=> String
@@ -5470,9 +5983,11 @@ module Aws::DynamoDB
5470
5983
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
5471
5984
  # resp.table_description.replicas[0].kms_master_key_id #=> String
5472
5985
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
5986
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
5473
5987
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
5474
5988
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
5475
5989
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
5990
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
5476
5991
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
5477
5992
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5478
5993
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -5490,6 +6005,8 @@ module Aws::DynamoDB
5490
6005
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5491
6006
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
5492
6007
  # resp.table_description.deletion_protection_enabled #=> Boolean
6008
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
6009
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
5493
6010
  #
5494
6011
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime AWS API Documentation
5495
6012
  #
@@ -5504,18 +6021,30 @@ module Aws::DynamoDB
5504
6021
  # accessing every item in a table or a secondary index. To have DynamoDB
5505
6022
  # return fewer items, you can provide a `FilterExpression` operation.
5506
6023
  #
5507
- # If the total number of scanned items exceeds the maximum dataset size
5508
- # limit of 1 MB, the scan stops and results are returned to the user as
5509
- # a `LastEvaluatedKey` value to continue the scan in a subsequent
5510
- # operation. The results also include the number of items exceeding the
5511
- # limit. A scan can result in no table data meeting the filter criteria.
6024
+ # If the total size of scanned items exceeds the maximum dataset size
6025
+ # limit of 1 MB, the scan completes and results are returned to the
6026
+ # user. The `LastEvaluatedKey` value is also returned and the requestor
6027
+ # can use the `LastEvaluatedKey` to continue the scan in a subsequent
6028
+ # operation. Each scan response also includes number of items that were
6029
+ # scanned (ScannedCount) as part of the request. If using a
6030
+ # `FilterExpression`, a scan result can result in no items meeting the
6031
+ # criteria and the `Count` will result in zero. If you did not use a
6032
+ # `FilterExpression` in the scan request, then `Count` is the same as
6033
+ # `ScannedCount`.
6034
+ #
6035
+ # <note markdown="1"> `Count` and `ScannedCount` only return the count of items specific to
6036
+ # a single scan request and, unless the table is less than 1MB, do not
6037
+ # represent the total number of items in the table.
5512
6038
  #
5513
- # A single `Scan` operation reads up to the maximum number of items set
5514
- # (if using the `Limit` parameter) or a maximum of 1 MB of data and then
5515
- # apply any filtering to the results using `FilterExpression`. If
5516
- # `LastEvaluatedKey` is present in the response, you need to paginate
5517
- # the result set. For more information, see [Paginating the Results][1]
5518
- # in the *Amazon DynamoDB Developer Guide*.
6039
+ # </note>
6040
+ #
6041
+ # A single `Scan` operation first reads up to the maximum number of
6042
+ # items set (if using the `Limit` parameter) or a maximum of 1 MB of
6043
+ # data and then applies any filtering to the results if a
6044
+ # `FilterExpression` is provided. If `LastEvaluatedKey` is present in
6045
+ # the response, pagination is required to complete the full table scan.
6046
+ # For more information, see [Paginating the Results][1] in the *Amazon
6047
+ # DynamoDB Developer Guide*.
5519
6048
  #
5520
6049
  # `Scan` operations proceed sequentially; however, for faster
5521
6050
  # performance on a large table or secondary index, applications can
@@ -5523,11 +6052,21 @@ module Aws::DynamoDB
5523
6052
  # `TotalSegments` parameters. For more information, see [Parallel
5524
6053
  # Scan][2] in the *Amazon DynamoDB Developer Guide*.
5525
6054
  #
5526
- # `Scan` uses eventually consistent reads when accessing the data in a
5527
- # table; therefore, the result set might not include the changes to data
5528
- # in the table immediately before the operation began. If you need a
5529
- # consistent copy of the data, as of the time that the `Scan` begins,
5530
- # you can set the `ConsistentRead` parameter to `true`.
6055
+ # By default, a `Scan` uses eventually consistent reads when accessing
6056
+ # the items in a table. Therefore, the results from an eventually
6057
+ # consistent `Scan` may not include the latest item changes at the time
6058
+ # the scan iterates through each item in the table. If you require a
6059
+ # strongly consistent read of each item as the scan iterates through the
6060
+ # items in the table, you can set the `ConsistentRead` parameter to
6061
+ # true. Strong consistency only relates to the consistency of the read
6062
+ # at the item level.
6063
+ #
6064
+ # <note markdown="1"> DynamoDB does not provide snapshot isolation for a scan operation when
6065
+ # the `ConsistentRead` parameter is set to true. Thus, a DynamoDB scan
6066
+ # operation does not guarantee that all reads in a scan see a consistent
6067
+ # snapshot of the table when the scan operation was requested.
6068
+ #
6069
+ # </note>
5531
6070
  #
5532
6071
  #
5533
6072
  #
@@ -5535,9 +6074,11 @@ module Aws::DynamoDB
5535
6074
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan
5536
6075
  #
5537
6076
  # @option params [required, String] :table_name
5538
- # The name of the table containing the requested items; or, if you
5539
- # provide `IndexName`, the name of the table to which that index
5540
- # belongs.
6077
+ # The name of the table containing the requested items or if you provide
6078
+ # `IndexName`, the name of the table to which that index belongs.
6079
+ #
6080
+ # You can also provide the Amazon Resource Name (ARN) of the table in
6081
+ # this parameter.
5541
6082
  #
5542
6083
  # @option params [String] :index_name
5543
6084
  # The name of a secondary index to scan. This index can be any local
@@ -5735,7 +6276,7 @@ module Aws::DynamoDB
5735
6276
  #
5736
6277
  #
5737
6278
  #
5738
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
6279
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.FilterExpression
5739
6280
  #
5740
6281
  # @option params [Hash<String,String>] :expression_attribute_names
5741
6282
  # One or more substitution tokens for attribute names in an expression.
@@ -5881,7 +6422,7 @@ module Aws::DynamoDB
5881
6422
  # @example Request syntax with placeholder values
5882
6423
  #
5883
6424
  # resp = client.scan({
5884
- # table_name: "TableName", # required
6425
+ # table_name: "TableArn", # required
5885
6426
  # index_name: "IndexName",
5886
6427
  # attributes_to_get: ["AttributeName"],
5887
6428
  # limit: 1,
@@ -6031,7 +6572,7 @@ module Aws::DynamoDB
6031
6572
  # key: { # required
6032
6573
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6033
6574
  # },
6034
- # table_name: "TableName", # required
6575
+ # table_name: "TableArn", # required
6035
6576
  # projection_expression: "ProjectionExpression",
6036
6577
  # expression_attribute_names: {
6037
6578
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6201,7 +6742,7 @@ module Aws::DynamoDB
6201
6742
  # key: { # required
6202
6743
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6203
6744
  # },
6204
- # table_name: "TableName", # required
6745
+ # table_name: "TableArn", # required
6205
6746
  # condition_expression: "ConditionExpression", # required
6206
6747
  # expression_attribute_names: {
6207
6748
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6215,7 +6756,7 @@ module Aws::DynamoDB
6215
6756
  # item: { # required
6216
6757
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6217
6758
  # },
6218
- # table_name: "TableName", # required
6759
+ # table_name: "TableArn", # required
6219
6760
  # condition_expression: "ConditionExpression",
6220
6761
  # expression_attribute_names: {
6221
6762
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6229,7 +6770,7 @@ module Aws::DynamoDB
6229
6770
  # key: { # required
6230
6771
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6231
6772
  # },
6232
- # table_name: "TableName", # required
6773
+ # table_name: "TableArn", # required
6233
6774
  # condition_expression: "ConditionExpression",
6234
6775
  # expression_attribute_names: {
6235
6776
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6244,7 +6785,7 @@ module Aws::DynamoDB
6244
6785
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6245
6786
  # },
6246
6787
  # update_expression: "UpdateExpression", # required
6247
- # table_name: "TableName", # required
6788
+ # table_name: "TableArn", # required
6248
6789
  # condition_expression: "ConditionExpression",
6249
6790
  # expression_attribute_names: {
6250
6791
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6280,11 +6821,11 @@ module Aws::DynamoDB
6280
6821
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
6281
6822
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
6282
6823
  # resp.item_collection_metrics #=> Hash
6283
- # resp.item_collection_metrics["TableName"] #=> Array
6284
- # resp.item_collection_metrics["TableName"][0].item_collection_key #=> Hash
6285
- # resp.item_collection_metrics["TableName"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6286
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb #=> Array
6287
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb[0] #=> Float
6824
+ # resp.item_collection_metrics["TableArn"] #=> Array
6825
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key #=> Hash
6826
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6827
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb #=> Array
6828
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb[0] #=> Float
6288
6829
  #
6289
6830
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems AWS API Documentation
6290
6831
  #
@@ -6347,7 +6888,8 @@ module Aws::DynamoDB
6347
6888
  # 35 days.
6348
6889
  #
6349
6890
  # @option params [required, String] :table_name
6350
- # The name of the table.
6891
+ # The name of the table. You can also provide the Amazon Resource Name
6892
+ # (ARN) of the table in this parameter.
6351
6893
  #
6352
6894
  # @option params [required, Types::PointInTimeRecoverySpecification] :point_in_time_recovery_specification
6353
6895
  # Represents the settings used to enable point in time recovery.
@@ -6359,7 +6901,7 @@ module Aws::DynamoDB
6359
6901
  # @example Request syntax with placeholder values
6360
6902
  #
6361
6903
  # resp = client.update_continuous_backups({
6362
- # table_name: "TableName", # required
6904
+ # table_name: "TableArn", # required
6363
6905
  # point_in_time_recovery_specification: { # required
6364
6906
  # point_in_time_recovery_enabled: false, # required
6365
6907
  # },
@@ -6391,7 +6933,8 @@ module Aws::DynamoDB
6391
6933
  # CloudWatch Contributor Insights for DynamoDB for this table.
6392
6934
  #
6393
6935
  # @option params [required, String] :table_name
6394
- # The name of the table.
6936
+ # The name of the table. You can also provide the Amazon Resource Name
6937
+ # (ARN) of the table in this parameter.
6395
6938
  #
6396
6939
  # @option params [String] :index_name
6397
6940
  # The global secondary index name, if applicable.
@@ -6408,7 +6951,7 @@ module Aws::DynamoDB
6408
6951
  # @example Request syntax with placeholder values
6409
6952
  #
6410
6953
  # resp = client.update_contributor_insights({
6411
- # table_name: "TableName", # required
6954
+ # table_name: "TableArn", # required
6412
6955
  # index_name: "IndexName",
6413
6956
  # contributor_insights_action: "ENABLE", # required, accepts ENABLE, DISABLE
6414
6957
  # })
@@ -6434,18 +6977,20 @@ module Aws::DynamoDB
6434
6977
  # have the same key schema, have DynamoDB Streams enabled, and have the
6435
6978
  # same provisioned and maximum write capacity units.
6436
6979
  #
6437
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
6438
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
6439
- # when creating new global tables, as it provides greater flexibility,
6440
- # higher efficiency and consumes less write capacity than 2017.11.29
6441
- # (Legacy). To determine which version you are using, see [Determining
6442
- # the version][3]. To update existing global tables from version
6443
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
6444
- # global tables][4].
6980
+ # This documentation is for version 2017.11.29 (Legacy) of global
6981
+ # tables, which should be avoided for new global tables. Customers
6982
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
6983
+ # possible, because it provides greater flexibility, higher efficiency,
6984
+ # and consumes less write capacity than 2017.11.29 (Legacy).
6985
+ #
6986
+ # To determine which version you're using, see [Determining the global
6987
+ # table version you are using][2]. To update existing global tables from
6988
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
6989
+ # [Upgrading global tables][3].
6445
6990
  #
6446
- # <note markdown="1"> This operation only applies to [Version 2017.11.29][1] of global
6447
- # tables. If you are using global tables [Version 2019.11.21][2] you can
6448
- # use [DescribeTable][5] instead.
6991
+ # <note markdown="1"> For global tables, this operation only applies to global tables using
6992
+ # Version 2019.11.21 (Current version). If you are using global tables
6993
+ # [Version 2019.11.21][1] you can use [UpdateTable][4] instead.
6449
6994
  #
6450
6995
  # Although you can use `UpdateGlobalTable` to add replicas and remove
6451
6996
  # replicas in a single request, for simplicity we recommend that you
@@ -6466,11 +7011,10 @@ module Aws::DynamoDB
6466
7011
  #
6467
7012
  #
6468
7013
  #
6469
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
6470
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
6471
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
6472
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
6473
- # [5]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html
7014
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
7015
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
7016
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
7017
+ # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html
6474
7018
  #
6475
7019
  # @option params [required, String] :global_table_name
6476
7020
  # The global table name.
@@ -6508,9 +7052,11 @@ module Aws::DynamoDB
6508
7052
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
6509
7053
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
6510
7054
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
7055
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
6511
7056
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
6512
7057
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
6513
7058
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
7059
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
6514
7060
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
6515
7061
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
6516
7062
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -6530,21 +7076,22 @@ module Aws::DynamoDB
6530
7076
 
6531
7077
  # Updates settings for a global table.
6532
7078
  #
6533
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
6534
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
6535
- # when creating new global tables, as it provides greater flexibility,
6536
- # higher efficiency and consumes less write capacity than 2017.11.29
6537
- # (Legacy). To determine which version you are using, see [Determining
6538
- # the version][3]. To update existing global tables from version
6539
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
6540
- # global tables][4].
7079
+ # This documentation is for version 2017.11.29 (Legacy) of global
7080
+ # tables, which should be avoided for new global tables. Customers
7081
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
7082
+ # possible, because it provides greater flexibility, higher efficiency,
7083
+ # and consumes less write capacity than 2017.11.29 (Legacy).
6541
7084
  #
7085
+ # To determine which version you're using, see [Determining the global
7086
+ # table version you are using][2]. To update existing global tables from
7087
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
7088
+ # [Upgrading global tables][3].
6542
7089
  #
6543
7090
  #
6544
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
6545
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
6546
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
6547
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
7091
+ #
7092
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
7093
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
7094
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
6548
7095
  #
6549
7096
  # @option params [required, String] :global_table_name
6550
7097
  # The name of the global table
@@ -6556,16 +7103,16 @@ module Aws::DynamoDB
6556
7103
  #
6557
7104
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
6558
7105
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
6559
- # Mode][1].
7106
+ # capacity mode][1].
6560
7107
  #
6561
7108
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
6562
7109
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
6563
- # [On-Demand Mode][2].
7110
+ # [On-demand capacity mode][2].
6564
7111
  #
6565
7112
  #
6566
7113
  #
6567
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
6568
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
7114
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
7115
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
6569
7116
  #
6570
7117
  # @option params [Integer] :global_table_provisioned_write_capacity_units
6571
7118
  # The maximum number of writes consumed per second before DynamoDB
@@ -6753,7 +7300,8 @@ module Aws::DynamoDB
6753
7300
  # `UpdateItem` operation using the `ReturnValues` parameter.
6754
7301
  #
6755
7302
  # @option params [required, String] :table_name
6756
- # The name of the table containing the item to update.
7303
+ # The name of the table containing the item to update. You can also
7304
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
6757
7305
  #
6758
7306
  # @option params [required, Hash<String,Types::AttributeValue>] :key
6759
7307
  # The primary key of the item to be updated. Each element consists of an
@@ -7027,6 +7575,14 @@ module Aws::DynamoDB
7027
7575
  #
7028
7576
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html
7029
7577
  #
7578
+ # @option params [String] :return_values_on_condition_check_failure
7579
+ # An optional parameter that returns the item attributes for an
7580
+ # `UpdateItem` operation that failed a condition check.
7581
+ #
7582
+ # There is no additional cost associated with requesting a return value
7583
+ # aside from the small network and processing overhead of receiving a
7584
+ # larger response. No read capacity units are consumed.
7585
+ #
7030
7586
  # @return [Types::UpdateItemOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7031
7587
  #
7032
7588
  # * {Types::UpdateItemOutput#attributes #attributes} => Hash&lt;String,Types::AttributeValue&gt;
@@ -7070,7 +7626,7 @@ module Aws::DynamoDB
7070
7626
  # @example Request syntax with placeholder values
7071
7627
  #
7072
7628
  # resp = client.update_item({
7073
- # table_name: "TableName", # required
7629
+ # table_name: "TableArn", # required
7074
7630
  # key: { # required
7075
7631
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7076
7632
  # },
@@ -7100,6 +7656,7 @@ module Aws::DynamoDB
7100
7656
  # expression_attribute_values: {
7101
7657
  # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7102
7658
  # },
7659
+ # return_values_on_condition_check_failure: "ALL_OLD", # accepts ALL_OLD, NONE
7103
7660
  # })
7104
7661
  #
7105
7662
  # @example Response structure
@@ -7135,11 +7692,56 @@ module Aws::DynamoDB
7135
7692
  req.send_request(options)
7136
7693
  end
7137
7694
 
7695
+ # The command to update the Kinesis stream destination.
7696
+ #
7697
+ # @option params [required, String] :table_name
7698
+ # The table name for the Kinesis streaming destination input. You can
7699
+ # also provide the ARN of the table in this parameter.
7700
+ #
7701
+ # @option params [required, String] :stream_arn
7702
+ # The Amazon Resource Name (ARN) for the Kinesis stream input.
7703
+ #
7704
+ # @option params [Types::UpdateKinesisStreamingConfiguration] :update_kinesis_streaming_configuration
7705
+ # The command to update the Kinesis stream configuration.
7706
+ #
7707
+ # @return [Types::UpdateKinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7708
+ #
7709
+ # * {Types::UpdateKinesisStreamingDestinationOutput#table_name #table_name} => String
7710
+ # * {Types::UpdateKinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
7711
+ # * {Types::UpdateKinesisStreamingDestinationOutput#destination_status #destination_status} => String
7712
+ # * {Types::UpdateKinesisStreamingDestinationOutput#update_kinesis_streaming_configuration #update_kinesis_streaming_configuration} => Types::UpdateKinesisStreamingConfiguration
7713
+ #
7714
+ # @example Request syntax with placeholder values
7715
+ #
7716
+ # resp = client.update_kinesis_streaming_destination({
7717
+ # table_name: "TableArn", # required
7718
+ # stream_arn: "StreamArn", # required
7719
+ # update_kinesis_streaming_configuration: {
7720
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
7721
+ # },
7722
+ # })
7723
+ #
7724
+ # @example Response structure
7725
+ #
7726
+ # resp.table_name #=> String
7727
+ # resp.stream_arn #=> String
7728
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
7729
+ # resp.update_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
7730
+ #
7731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateKinesisStreamingDestination AWS API Documentation
7732
+ #
7733
+ # @overload update_kinesis_streaming_destination(params = {})
7734
+ # @param [Hash] params ({})
7735
+ def update_kinesis_streaming_destination(params = {}, options = {})
7736
+ req = build_request(:update_kinesis_streaming_destination, params)
7737
+ req.send_request(options)
7738
+ end
7739
+
7138
7740
  # Modifies the provisioned throughput settings, global secondary
7139
7741
  # indexes, or DynamoDB Streams settings for a given table.
7140
7742
  #
7141
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
7142
- # global tables.
7743
+ # For global tables, this operation only applies to global tables using
7744
+ # Version 2019.11.21 (Current version).
7143
7745
  #
7144
7746
  # You can only perform one of the following operations at once:
7145
7747
  #
@@ -7151,16 +7753,12 @@ module Aws::DynamoDB
7151
7753
  # begins backfilling, you can use `UpdateTable` to perform other
7152
7754
  # operations.
7153
7755
  #
7154
- # `UpdateTable` is an asynchronous operation; while it is executing, the
7155
- # table status changes from `ACTIVE` to `UPDATING`. While it is
7156
- # `UPDATING`, you cannot issue another `UpdateTable` request. When the
7756
+ # `UpdateTable` is an asynchronous operation; while it's executing, the
7757
+ # table status changes from `ACTIVE` to `UPDATING`. While it's
7758
+ # `UPDATING`, you can't issue another `UpdateTable` request. When the
7157
7759
  # table returns to the `ACTIVE` state, the `UpdateTable` operation is
7158
7760
  # complete.
7159
7761
  #
7160
- #
7161
- #
7162
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
7163
- #
7164
7762
  # @option params [Array<Types::AttributeDefinition>] :attribute_definitions
7165
7763
  # An array of attributes that describe the key schema for the table and
7166
7764
  # indexes. If you are adding a new global secondary index to the table,
@@ -7168,7 +7766,8 @@ module Aws::DynamoDB
7168
7766
  # index.
7169
7767
  #
7170
7768
  # @option params [required, String] :table_name
7171
- # The name of the table to be updated.
7769
+ # The name of the table to be updated. You can also provide the Amazon
7770
+ # Resource Name (ARN) of the table in this parameter.
7172
7771
  #
7173
7772
  # @option params [String] :billing_mode
7174
7773
  # Controls how you are charged for read and write throughput and how you
@@ -7180,16 +7779,16 @@ module Aws::DynamoDB
7180
7779
  #
7181
7780
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
7182
7781
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
7183
- # Mode][1].
7782
+ # capacity mode][1].
7184
7783
  #
7185
7784
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
7186
7785
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
7187
- # [On-Demand Mode][2].
7786
+ # [On-demand capacity mode][2].
7188
7787
  #
7189
7788
  #
7190
7789
  #
7191
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
7192
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
7790
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
7791
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
7193
7792
  #
7194
7793
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput
7195
7794
  # The new provisioned throughput settings for the specified table or
@@ -7219,9 +7818,9 @@ module Aws::DynamoDB
7219
7818
  # @option params [Types::StreamSpecification] :stream_specification
7220
7819
  # Represents the DynamoDB Streams configuration for the table.
7221
7820
  #
7222
- # <note markdown="1"> You receive a `ResourceInUseException` if you try to enable a stream
7223
- # on a table that already has a stream, or if you try to disable a
7224
- # stream on a table that doesn't have a stream.
7821
+ # <note markdown="1"> You receive a `ValidationException` if you try to enable a stream on a
7822
+ # table that already has a stream, or if you try to disable a stream on
7823
+ # a table that doesn't have a stream.
7225
7824
  #
7226
7825
  # </note>
7227
7826
  #
@@ -7232,15 +7831,11 @@ module Aws::DynamoDB
7232
7831
  # A list of replica update actions (create, delete, or update) for the
7233
7832
  # table.
7234
7833
  #
7235
- # <note markdown="1"> This property only applies to [Version 2019.11.21 (Current)][1] of
7236
- # global tables.
7834
+ # <note markdown="1"> For global tables, this property only applies to global tables using
7835
+ # Version 2019.11.21 (Current version).
7237
7836
  #
7238
7837
  # </note>
7239
7838
  #
7240
- #
7241
- #
7242
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
7243
- #
7244
7839
  # @option params [String] :table_class
7245
7840
  # The table class of the table to be updated. Valid values are
7246
7841
  # `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
@@ -7249,6 +7844,11 @@ module Aws::DynamoDB
7249
7844
  # Indicates whether deletion protection is to be enabled (true) or
7250
7845
  # disabled (false) on the table.
7251
7846
  #
7847
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput
7848
+ # Updates the maximum number of read and write units for the specified
7849
+ # table in on-demand capacity mode. If you use this parameter, you must
7850
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
7851
+ #
7252
7852
  # @return [Types::UpdateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7253
7853
  #
7254
7854
  # * {Types::UpdateTableOutput#table_description #table_description} => Types::TableDescription
@@ -7312,7 +7912,7 @@ module Aws::DynamoDB
7312
7912
  # attribute_type: "S", # required, accepts S, N, B
7313
7913
  # },
7314
7914
  # ],
7315
- # table_name: "TableName", # required
7915
+ # table_name: "TableArn", # required
7316
7916
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
7317
7917
  # provisioned_throughput: {
7318
7918
  # read_capacity_units: 1, # required
@@ -7322,10 +7922,14 @@ module Aws::DynamoDB
7322
7922
  # {
7323
7923
  # update: {
7324
7924
  # index_name: "IndexName", # required
7325
- # provisioned_throughput: { # required
7925
+ # provisioned_throughput: {
7326
7926
  # read_capacity_units: 1, # required
7327
7927
  # write_capacity_units: 1, # required
7328
7928
  # },
7929
+ # on_demand_throughput: {
7930
+ # max_read_request_units: 1,
7931
+ # max_write_request_units: 1,
7932
+ # },
7329
7933
  # },
7330
7934
  # create: {
7331
7935
  # index_name: "IndexName", # required
@@ -7343,6 +7947,10 @@ module Aws::DynamoDB
7343
7947
  # read_capacity_units: 1, # required
7344
7948
  # write_capacity_units: 1, # required
7345
7949
  # },
7950
+ # on_demand_throughput: {
7951
+ # max_read_request_units: 1,
7952
+ # max_write_request_units: 1,
7953
+ # },
7346
7954
  # },
7347
7955
  # delete: {
7348
7956
  # index_name: "IndexName", # required
@@ -7366,12 +7974,18 @@ module Aws::DynamoDB
7366
7974
  # provisioned_throughput_override: {
7367
7975
  # read_capacity_units: 1,
7368
7976
  # },
7977
+ # on_demand_throughput_override: {
7978
+ # max_read_request_units: 1,
7979
+ # },
7369
7980
  # global_secondary_indexes: [
7370
7981
  # {
7371
7982
  # index_name: "IndexName", # required
7372
7983
  # provisioned_throughput_override: {
7373
7984
  # read_capacity_units: 1,
7374
7985
  # },
7986
+ # on_demand_throughput_override: {
7987
+ # max_read_request_units: 1,
7988
+ # },
7375
7989
  # },
7376
7990
  # ],
7377
7991
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -7382,12 +7996,18 @@ module Aws::DynamoDB
7382
7996
  # provisioned_throughput_override: {
7383
7997
  # read_capacity_units: 1,
7384
7998
  # },
7999
+ # on_demand_throughput_override: {
8000
+ # max_read_request_units: 1,
8001
+ # },
7385
8002
  # global_secondary_indexes: [
7386
8003
  # {
7387
8004
  # index_name: "IndexName", # required
7388
8005
  # provisioned_throughput_override: {
7389
8006
  # read_capacity_units: 1,
7390
8007
  # },
8008
+ # on_demand_throughput_override: {
8009
+ # max_read_request_units: 1,
8010
+ # },
7391
8011
  # },
7392
8012
  # ],
7393
8013
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -7399,6 +8019,10 @@ module Aws::DynamoDB
7399
8019
  # ],
7400
8020
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
7401
8021
  # deletion_protection_enabled: false,
8022
+ # on_demand_throughput: {
8023
+ # max_read_request_units: 1,
8024
+ # max_write_request_units: 1,
8025
+ # },
7402
8026
  # })
7403
8027
  #
7404
8028
  # @example Response structure
@@ -7452,6 +8076,8 @@ module Aws::DynamoDB
7452
8076
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
7453
8077
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
7454
8078
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
8079
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
8080
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
7455
8081
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
7456
8082
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
7457
8083
  # resp.table_description.latest_stream_label #=> String
@@ -7464,9 +8090,11 @@ module Aws::DynamoDB
7464
8090
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
7465
8091
  # resp.table_description.replicas[0].kms_master_key_id #=> String
7466
8092
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
8093
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
7467
8094
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
7468
8095
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
7469
8096
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
8097
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
7470
8098
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
7471
8099
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
7472
8100
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -7484,6 +8112,8 @@ module Aws::DynamoDB
7484
8112
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
7485
8113
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
7486
8114
  # resp.table_description.deletion_protection_enabled #=> Boolean
8115
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
8116
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
7487
8117
  #
7488
8118
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable AWS API Documentation
7489
8119
  #
@@ -7496,19 +8126,16 @@ module Aws::DynamoDB
7496
8126
 
7497
8127
  # Updates auto scaling settings on your global tables at once.
7498
8128
  #
7499
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
7500
- # global tables.
7501
- #
7502
- #
7503
- #
7504
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
8129
+ # For global tables, this operation only applies to global tables using
8130
+ # Version 2019.11.21 (Current version).
7505
8131
  #
7506
8132
  # @option params [Array<Types::GlobalSecondaryIndexAutoScalingUpdate>] :global_secondary_index_updates
7507
8133
  # Represents the auto scaling settings of the global secondary indexes
7508
8134
  # of the replica to be updated.
7509
8135
  #
7510
8136
  # @option params [required, String] :table_name
7511
- # The name of the global table to be updated.
8137
+ # The name of the global table to be updated. You can also provide the
8138
+ # Amazon Resource Name (ARN) of the table in this parameter.
7512
8139
  #
7513
8140
  # @option params [Types::AutoScalingSettingsUpdate] :provisioned_write_capacity_auto_scaling_update
7514
8141
  # Represents the auto scaling settings to be modified for a global table
@@ -7545,7 +8172,7 @@ module Aws::DynamoDB
7545
8172
  # },
7546
8173
  # },
7547
8174
  # ],
7548
- # table_name: "TableName", # required
8175
+ # table_name: "TableArn", # required
7549
8176
  # provisioned_write_capacity_auto_scaling_update: {
7550
8177
  # minimum_units: 1,
7551
8178
  # maximum_units: 1,
@@ -7701,7 +8328,8 @@ module Aws::DynamoDB
7701
8328
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html
7702
8329
  #
7703
8330
  # @option params [required, String] :table_name
7704
- # The name of the table to be configured.
8331
+ # The name of the table to be configured. You can also provide the
8332
+ # Amazon Resource Name (ARN) of the table in this parameter.
7705
8333
  #
7706
8334
  # @option params [required, Types::TimeToLiveSpecification] :time_to_live_specification
7707
8335
  # Represents the settings used to enable or disable Time to Live for the
@@ -7714,7 +8342,7 @@ module Aws::DynamoDB
7714
8342
  # @example Request syntax with placeholder values
7715
8343
  #
7716
8344
  # resp = client.update_time_to_live({
7717
- # table_name: "TableName", # required
8345
+ # table_name: "TableArn", # required
7718
8346
  # time_to_live_specification: { # required
7719
8347
  # enabled: false, # required
7720
8348
  # attribute_name: "TimeToLiveAttributeName", # required
@@ -7748,7 +8376,7 @@ module Aws::DynamoDB
7748
8376
  params: params,
7749
8377
  config: config)
7750
8378
  context[:gem_name] = 'aws-sdk-dynamodb'
7751
- context[:gem_version] = '1.84.0'
8379
+ context[:gem_version] = '1.118.0'
7752
8380
  Seahorse::Client::Request.new(handlers, context)
7753
8381
  end
7754
8382