aws-sdk-dynamodb 1.84.0 → 1.118.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,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