aws-sdk-dynamodb 1.96.0 → 1.132.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -31,14 +32,13 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
32
  require 'aws-sdk-core/plugins/request_compression.rb'
32
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
33
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
34
36
  require 'aws-sdk-core/plugins/sign.rb'
35
37
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
36
38
  require 'aws-sdk-dynamodb/plugins/extended_retries.rb'
37
39
  require 'aws-sdk-dynamodb/plugins/simple_attributes.rb'
38
40
  require 'aws-sdk-dynamodb/plugins/crc32_validation.rb'
39
41
 
40
- Aws::Plugins::GlobalConfiguration.add_identifier(:dynamodb)
41
-
42
42
  module Aws::DynamoDB
43
43
  # An API client for DynamoDB. To construct a client, you need to configure a `:region` and `:credentials`.
44
44
  #
@@ -75,6 +75,7 @@ module Aws::DynamoDB
75
75
  add_plugin(Aws::Plugins::ResponsePaging)
76
76
  add_plugin(Aws::Plugins::StubResponses)
77
77
  add_plugin(Aws::Plugins::IdempotencyToken)
78
+ add_plugin(Aws::Plugins::InvocationId)
78
79
  add_plugin(Aws::Plugins::JsonvalueConverter)
79
80
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
80
81
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -84,6 +85,7 @@ module Aws::DynamoDB
84
85
  add_plugin(Aws::Plugins::RequestCompression)
85
86
  add_plugin(Aws::Plugins::DefaultsMode)
86
87
  add_plugin(Aws::Plugins::RecursionDetection)
88
+ add_plugin(Aws::Plugins::Telemetry)
87
89
  add_plugin(Aws::Plugins::Sign)
88
90
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
89
91
  add_plugin(Aws::DynamoDB::Plugins::ExtendedRetries)
@@ -93,6 +95,11 @@ module Aws::DynamoDB
93
95
 
94
96
  # @overload initialize(options)
95
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
+ #
96
103
  # @option options [required, Aws::CredentialProvider] :credentials
97
104
  # Your AWS credentials. This can be an instance of any one of the
98
105
  # following classes:
@@ -127,13 +134,15 @@ module Aws::DynamoDB
127
134
  # locations will be searched for credentials:
128
135
  #
129
136
  # * `Aws.config[:credentials]`
130
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
131
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
137
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
138
+ # `:account_id` options.
139
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
140
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
132
141
  # * `~/.aws/credentials`
133
142
  # * `~/.aws/config`
134
143
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
135
144
  # are very aggressive. Construct and pass an instance of
136
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
145
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
137
146
  # enable retries and extended timeouts. Instance profile credential
138
147
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
139
148
  # to true.
@@ -152,6 +161,8 @@ module Aws::DynamoDB
152
161
  #
153
162
  # @option options [String] :access_key_id
154
163
  #
164
+ # @option options [String] :account_id
165
+ #
155
166
  # @option options [Boolean] :active_endpoint_cache (false)
156
167
  # When set to `true`, a thread polling for endpoints will be running in
157
168
  # the background every 60 secs (default). Defaults to `false`.
@@ -208,10 +219,16 @@ module Aws::DynamoDB
208
219
  # When set to 'true' the request body will not be compressed
209
220
  # for supported operations.
210
221
  #
211
- # @option options [String] :endpoint
212
- # The client endpoint is normally constructed from the `:region`
213
- # option. You should only configure an `:endpoint` when connecting
214
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
222
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
223
+ # Normally you should not configure the `:endpoint` option
224
+ # directly. This is normally constructed from the `:region`
225
+ # option. Configuring `:endpoint` is normally reserved for
226
+ # connecting to test or custom endpoints. The endpoint should
227
+ # be a URI formatted like:
228
+ #
229
+ # 'http://example.com'
230
+ # 'https://example.com'
231
+ # 'http://example.com:123'
215
232
  #
216
233
  # @option options [Integer] :endpoint_cache_max_entries (1000)
217
234
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -300,16 +317,25 @@ module Aws::DynamoDB
300
317
  # throttling. This is a provisional mode that may change behavior
301
318
  # in the future.
302
319
  #
303
- #
304
320
  # @option options [String] :sdk_ua_app_id
305
321
  # A unique and opaque application ID that is appended to the
306
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
307
- # maximum length of 50.
322
+ # User-Agent header as app/sdk_ua_app_id. It should have a
323
+ # maximum length of 50. This variable is sourced from environment
324
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
308
325
  #
309
326
  # @option options [String] :secret_access_key
310
327
  #
311
328
  # @option options [String] :session_token
312
329
  #
330
+ # @option options [Array] :sigv4a_signing_region_set
331
+ # A list of regions that should be signed with SigV4a signing. When
332
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
333
+ # in the following locations:
334
+ #
335
+ # * `Aws.config[:sigv4a_signing_region_set]`
336
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
337
+ # * `~/.aws/config`
338
+ #
313
339
  # @option options [Boolean] :simple_attributes (true)
314
340
  # Enables working with DynamoDB attribute values using
315
341
  # hashes, arrays, sets, integers, floats, booleans, and nil.
@@ -318,15 +344,14 @@ module Aws::DynamoDB
318
344
  # their types specified, e.g. `{ s: 'abc' }` instead of simply
319
345
  # `'abc'`.
320
346
  #
347
+ # See {Aws::DynamoDB::Plugins::SimpleAttributes} for more information.
348
+ #
321
349
  # @option options [Boolean] :simple_json (false)
322
350
  # Disables request parameter conversion, validation, and formatting.
323
- # Also disable response data type conversions. This option is useful
324
- # when you want to ensure the highest level of performance by
325
- # avoiding overhead of walking request parameters and response data
326
- # structures.
327
- #
328
- # When `:simple_json` is enabled, the request parameters hash must
329
- # be formatted exactly as the DynamoDB API expects.
351
+ # Also disables response data type conversions. The request parameters
352
+ # hash must be formatted exactly as the API expects.This option is useful
353
+ # when you want to ensure the highest level of performance by avoiding
354
+ # overhead of walking request parameters and response data structures.
330
355
  #
331
356
  # @option options [Boolean] :stub_responses (false)
332
357
  # Causes the client to return stubbed responses. By default
@@ -337,6 +362,16 @@ module Aws::DynamoDB
337
362
  # ** Please note ** When response stubbing is enabled, no HTTP
338
363
  # requests are made, and retries are disabled.
339
364
  #
365
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
366
+ # Allows you to provide a telemetry provider, which is used to
367
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
368
+ # will not record or emit any telemetry data. The SDK supports the
369
+ # following telemetry providers:
370
+ #
371
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
372
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
373
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
374
+ #
340
375
  # @option options [Aws::TokenProvider] :token_provider
341
376
  # A Bearer Token Provider. This can be an instance of any one of the
342
377
  # following classes:
@@ -363,53 +398,85 @@ module Aws::DynamoDB
363
398
  # When `true`, request parameters are validated before
364
399
  # sending the request.
365
400
  #
366
- # @option options [Aws::DynamoDB::EndpointProvider] :endpoint_provider
367
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::DynamoDB::EndpointParameters`
368
- #
369
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
370
- # requests through. Formatted like 'http://proxy.com:123'.
401
+ # @option options [String] :account_id_endpoint_mode
402
+ # The account ID endpoint mode to use. This can be one of the following values:
403
+ # * `preferred` - The default behavior. Use the account ID endpoint if
404
+ # available, otherwise use the standard endpoint.
405
+ # * `disabled` - Never use the account ID endpoint. Only use the standard
406
+ # endpoint.
407
+ # * `required` - Always use the account ID endpoint. If the account ID
408
+ # cannot be retrieved from credentials, an error is raised.
371
409
  #
372
- # @option options [Float] :http_open_timeout (15) The number of
373
- # seconds to wait when opening a HTTP session before raising a
374
- # `Timeout::Error`.
375
- #
376
- # @option options [Float] :http_read_timeout (60) The default
377
- # number of seconds to wait for response data. This value can
378
- # safely be set per-request on the session.
379
- #
380
- # @option options [Float] :http_idle_timeout (5) The number of
381
- # seconds a connection is allowed to sit idle before it is
382
- # considered stale. Stale connections are closed and removed
383
- # from the pool before making a request.
384
- #
385
- # @option options [Float] :http_continue_timeout (1) The number of
386
- # seconds to wait for a 100-continue response before sending the
387
- # request body. This option has no effect unless the request has
388
- # "Expect" header set to "100-continue". Defaults to `nil` which
389
- # disables this behaviour. This value can safely be set per
390
- # request on the session.
410
+ # @option options [Aws::DynamoDB::EndpointProvider] :endpoint_provider
411
+ # The endpoint provider used to resolve endpoints. Any object that responds to
412
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
413
+ # `Aws::DynamoDB::EndpointParameters`.
414
+ #
415
+ # @option options [Float] :http_continue_timeout (1)
416
+ # The number of seconds to wait for a 100-continue response before sending the
417
+ # request body. This option has no effect unless the request has "Expect"
418
+ # header set to "100-continue". Defaults to `nil` which disables this
419
+ # behaviour. This value can safely be set per request on the session.
420
+ #
421
+ # @option options [Float] :http_idle_timeout (5)
422
+ # The number of seconds a connection is allowed to sit idle before it
423
+ # is considered stale. Stale connections are closed and removed from the
424
+ # pool before making a request.
425
+ #
426
+ # @option options [Float] :http_open_timeout (15)
427
+ # The default number of seconds to wait for response data.
428
+ # This value can safely be set per-request on the session.
429
+ #
430
+ # @option options [URI::HTTP,String] :http_proxy
431
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
432
+ #
433
+ # @option options [Float] :http_read_timeout (60)
434
+ # The default number of seconds to wait for response data.
435
+ # This value can safely be set per-request on the session.
436
+ #
437
+ # @option options [Boolean] :http_wire_trace (false)
438
+ # When `true`, HTTP debug output will be sent to the `:logger`.
439
+ #
440
+ # @option options [Proc] :on_chunk_received
441
+ # When a Proc object is provided, it will be used as callback when each chunk
442
+ # of the response body is received. It provides three arguments: the chunk,
443
+ # the number of bytes received, and the total number of
444
+ # bytes in the response (or nil if the server did not send a `content-length`).
445
+ #
446
+ # @option options [Proc] :on_chunk_sent
447
+ # When a Proc object is provided, it will be used as callback when each chunk
448
+ # of the request body is sent. It provides three arguments: the chunk,
449
+ # the number of bytes read from the body, and the total number of
450
+ # bytes in the body.
451
+ #
452
+ # @option options [Boolean] :raise_response_errors (true)
453
+ # When `true`, response errors are raised.
454
+ #
455
+ # @option options [String] :ssl_ca_bundle
456
+ # Full path to the SSL certificate authority bundle file that should be used when
457
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
458
+ # `:ssl_ca_directory` the the system default will be used if available.
459
+ #
460
+ # @option options [String] :ssl_ca_directory
461
+ # Full path of the directory that contains the unbundled SSL certificate
462
+ # authority files for verifying peer certificates. If you do
463
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
464
+ # default will be used if available.
391
465
  #
392
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
393
- # in seconds.
466
+ # @option options [String] :ssl_ca_store
467
+ # Sets the X509::Store to verify peer certificate.
394
468
  #
395
- # @option options [Boolean] :http_wire_trace (false) When `true`,
396
- # HTTP debug output will be sent to the `:logger`.
469
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
470
+ # Sets a client certificate when creating http connections.
397
471
  #
398
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
399
- # SSL peer certificates are verified when establishing a
400
- # connection.
472
+ # @option options [OpenSSL::PKey] :ssl_key
473
+ # Sets a client key when creating http connections.
401
474
  #
402
- # @option options [String] :ssl_ca_bundle Full path to the SSL
403
- # certificate authority bundle file that should be used when
404
- # verifying peer certificates. If you do not pass
405
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
406
- # will be used if available.
475
+ # @option options [Float] :ssl_timeout
476
+ # Sets the SSL timeout in seconds
407
477
  #
408
- # @option options [String] :ssl_ca_directory Full path of the
409
- # directory that contains the unbundled SSL certificate
410
- # authority files for verifying peer certificates. If you do
411
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
412
- # system default will be used if available.
478
+ # @option options [Boolean] :ssl_verify_peer (true)
479
+ # When `true`, SSL peer certificates are verified when establishing a connection.
413
480
  #
414
481
  def initialize(*args)
415
482
  super
@@ -421,7 +488,8 @@ module Aws::DynamoDB
421
488
  # stored in DynamoDB, using PartiQL. Each read statement in a
422
489
  # `BatchExecuteStatement` must specify an equality condition on all key
423
490
  # attributes. This enforces that each `SELECT` statement in a batch
424
- # returns at most a single item.
491
+ # returns at most a single item. For more information, see [Running
492
+ # batch operations with PartiQL for DynamoDB ][1].
425
493
  #
426
494
  # <note markdown="1"> The entire batch must consist of either read statements or write
427
495
  # statements, you cannot mix both in one batch.
@@ -430,12 +498,13 @@ module Aws::DynamoDB
430
498
  #
431
499
  # A HTTP 200 response does not mean that all statements in the
432
500
  # BatchExecuteStatement succeeded. Error details for individual
433
- # statements can be found under the [Error][1] field of the
501
+ # statements can be found under the [Error][2] field of the
434
502
  # `BatchStatementResponse` for each statement.
435
503
  #
436
504
  #
437
505
  #
438
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchStatementResponse.html#DDB-Type-BatchStatementResponse-Error
506
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.batching.html
507
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchStatementResponse.html#DDB-Type-BatchStatementResponse-Error
439
508
  #
440
509
  # @option params [required, Array<Types::BatchStatementRequest>] :statements
441
510
  # The list of PartiQL statements representing the batch to run.
@@ -576,9 +645,9 @@ module Aws::DynamoDB
576
645
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations
577
646
  #
578
647
  # @option params [required, Hash<String,Types::KeysAndAttributes>] :request_items
579
- # A map of one or more table names and, for each table, a map that
580
- # describes one or more items to retrieve from that table. Each table
581
- # name can be used only once per `BatchGetItem` request.
648
+ # A map of one or more table names or table ARNs and, for each table, a
649
+ # map that describes one or more items to retrieve from that table. Each
650
+ # table name or ARN can be used only once per `BatchGetItem` request.
582
651
  #
583
652
  # Each element in the map of items to retrieve consists of the
584
653
  # following:
@@ -598,31 +667,27 @@ module Aws::DynamoDB
598
667
  #
599
668
  # * To prevent special characters in an attribute name from being
600
669
  # misinterpreted in an expression.
601
- #
602
670
  # Use the **#** character in an expression to dereference an attribute
603
671
  # name. For example, consider the following attribute name:
604
672
  #
605
673
  # * `Percentile`
606
674
  #
607
675
  # ^
608
- #
609
676
  # The name of this attribute conflicts with a reserved word, so it
610
677
  # cannot be used directly in an expression. (For the complete list of
611
678
  # reserved words, see [Reserved Words][1] in the *Amazon DynamoDB
612
679
  # Developer Guide*). To work around this, you could specify the
613
680
  # following for `ExpressionAttributeNames`:
614
681
  #
615
- # * `\{"#P":"Percentile"\}`
682
+ # * `{"#P":"Percentile"}`
616
683
  #
617
684
  # ^
618
- #
619
685
  # You could then use this substitution in an expression, as in this
620
686
  # example:
621
687
  #
622
688
  # * `#P = :val`
623
689
  #
624
690
  # ^
625
- #
626
691
  # <note markdown="1"> Tokens that begin with the **\:** character are *expression
627
692
  # attribute values*, which are placeholders for the actual value at
628
693
  # runtime.
@@ -736,7 +801,7 @@ module Aws::DynamoDB
736
801
  #
737
802
  # resp = client.batch_get_item({
738
803
  # request_items: { # required
739
- # "TableName" => {
804
+ # "TableArn" => {
740
805
  # keys: [ # required
741
806
  # {
742
807
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
@@ -756,19 +821,19 @@ module Aws::DynamoDB
756
821
  # @example Response structure
757
822
  #
758
823
  # resp.responses #=> Hash
759
- # resp.responses["TableName"] #=> Array
760
- # resp.responses["TableName"][0] #=> Hash
761
- # resp.responses["TableName"][0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
824
+ # resp.responses["TableArn"] #=> Array
825
+ # resp.responses["TableArn"][0] #=> Hash
826
+ # resp.responses["TableArn"][0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
762
827
  # resp.unprocessed_keys #=> Hash
763
- # resp.unprocessed_keys["TableName"].keys #=> Array
764
- # resp.unprocessed_keys["TableName"].keys[0] #=> Hash
765
- # resp.unprocessed_keys["TableName"].keys[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
766
- # resp.unprocessed_keys["TableName"].attributes_to_get #=> Array
767
- # resp.unprocessed_keys["TableName"].attributes_to_get[0] #=> String
768
- # resp.unprocessed_keys["TableName"].consistent_read #=> Boolean
769
- # resp.unprocessed_keys["TableName"].projection_expression #=> String
770
- # resp.unprocessed_keys["TableName"].expression_attribute_names #=> Hash
771
- # resp.unprocessed_keys["TableName"].expression_attribute_names["ExpressionAttributeNameVariable"] #=> String
828
+ # resp.unprocessed_keys["TableArn"].keys #=> Array
829
+ # resp.unprocessed_keys["TableArn"].keys[0] #=> Hash
830
+ # resp.unprocessed_keys["TableArn"].keys[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
831
+ # resp.unprocessed_keys["TableArn"].attributes_to_get #=> Array
832
+ # resp.unprocessed_keys["TableArn"].attributes_to_get[0] #=> String
833
+ # resp.unprocessed_keys["TableArn"].consistent_read #=> Boolean
834
+ # resp.unprocessed_keys["TableArn"].projection_expression #=> String
835
+ # resp.unprocessed_keys["TableArn"].expression_attribute_names #=> Hash
836
+ # resp.unprocessed_keys["TableArn"].expression_attribute_names["ExpressionAttributeNameVariable"] #=> String
772
837
  # resp.consumed_capacity #=> Array
773
838
  # resp.consumed_capacity[0].table_name #=> String
774
839
  # resp.consumed_capacity[0].capacity_units #=> Float
@@ -823,9 +888,13 @@ module Aws::DynamoDB
823
888
  # request with those unprocessed items until all items have been
824
889
  # processed.
825
890
  #
826
- # If *none* of the items can be processed due to insufficient
827
- # provisioned throughput on all of the tables in the request, then
828
- # `BatchWriteItem` returns a `ProvisionedThroughputExceededException`.
891
+ # For tables and indexes with provisioned capacity, if none of the items
892
+ # can be processed due to insufficient provisioned throughput on all of
893
+ # the tables in the request, then `BatchWriteItem` returns a
894
+ # `ProvisionedThroughputExceededException`. For all tables and indexes,
895
+ # if none of the items can be processed due to other throttling
896
+ # scenarios (such as exceeding partition level limits), then
897
+ # `BatchWriteItem` returns a `ThrottlingException`.
829
898
  #
830
899
  # If DynamoDB returns any unprocessed items, you should retry the batch
831
900
  # operation on those items. However, *we strongly recommend that you use
@@ -882,15 +951,19 @@ module Aws::DynamoDB
882
951
  #
883
952
  # * The total request size exceeds 16 MB.
884
953
  #
954
+ # * Any individual items with keys exceeding the key length limits. For
955
+ # a partition key, the limit is 2048 bytes and for a sort key, the
956
+ # limit is 1024 bytes.
957
+ #
885
958
  #
886
959
  #
887
960
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html
888
961
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#Programming.Errors.BatchOperations
889
962
  #
890
963
  # @option params [required, Hash<String,Array>] :request_items
891
- # A map of one or more table names and, for each table, a list of
892
- # operations to be performed (`DeleteRequest` or `PutRequest`). Each
893
- # element in the map consists of the following:
964
+ # A map of one or more table names or table ARNs and, for each table, a
965
+ # list of operations to be performed (`DeleteRequest` or `PutRequest`).
966
+ # Each element in the map consists of the following:
894
967
  #
895
968
  # * `DeleteRequest` - Perform a `DeleteItem` operation on the specified
896
969
  # item. The item to be deleted is identified by a `Key` subelement:
@@ -904,7 +977,6 @@ module Aws::DynamoDB
904
977
  # *both* the partition key and the sort key.
905
978
  #
906
979
  # ^
907
- #
908
980
  # * `PutRequest` - Perform a `PutItem` operation on the specified item.
909
981
  # The item to be put is identified by an `Item` subelement:
910
982
  #
@@ -995,7 +1067,7 @@ module Aws::DynamoDB
995
1067
  #
996
1068
  # resp = client.batch_write_item({
997
1069
  # request_items: { # required
998
- # "TableName" => [
1070
+ # "TableArn" => [
999
1071
  # {
1000
1072
  # put_request: {
1001
1073
  # item: { # required
@@ -1017,17 +1089,17 @@ module Aws::DynamoDB
1017
1089
  # @example Response structure
1018
1090
  #
1019
1091
  # resp.unprocessed_items #=> Hash
1020
- # resp.unprocessed_items["TableName"] #=> Array
1021
- # resp.unprocessed_items["TableName"][0].put_request.item #=> Hash
1022
- # resp.unprocessed_items["TableName"][0].put_request.item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1023
- # resp.unprocessed_items["TableName"][0].delete_request.key #=> Hash
1024
- # resp.unprocessed_items["TableName"][0].delete_request.key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1092
+ # resp.unprocessed_items["TableArn"] #=> Array
1093
+ # resp.unprocessed_items["TableArn"][0].put_request.item #=> Hash
1094
+ # resp.unprocessed_items["TableArn"][0].put_request.item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1095
+ # resp.unprocessed_items["TableArn"][0].delete_request.key #=> Hash
1096
+ # resp.unprocessed_items["TableArn"][0].delete_request.key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1025
1097
  # resp.item_collection_metrics #=> Hash
1026
- # resp.item_collection_metrics["TableName"] #=> Array
1027
- # resp.item_collection_metrics["TableName"][0].item_collection_key #=> Hash
1028
- # resp.item_collection_metrics["TableName"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1029
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb #=> Array
1030
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb[0] #=> Float
1098
+ # resp.item_collection_metrics["TableArn"] #=> Array
1099
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key #=> Hash
1100
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1101
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb #=> Array
1102
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb[0] #=> Float
1031
1103
  # resp.consumed_capacity #=> Array
1032
1104
  # resp.consumed_capacity[0].table_name #=> String
1033
1105
  # resp.consumed_capacity[0].capacity_units #=> Float
@@ -1088,7 +1160,8 @@ module Aws::DynamoDB
1088
1160
  # * Provisioned read and write capacity
1089
1161
  #
1090
1162
  # @option params [required, String] :table_name
1091
- # The name of the table.
1163
+ # The name of the table. You can also provide the Amazon Resource Name
1164
+ # (ARN) of the table in this parameter.
1092
1165
  #
1093
1166
  # @option params [required, String] :backup_name
1094
1167
  # Specified name for the backup.
@@ -1100,7 +1173,7 @@ module Aws::DynamoDB
1100
1173
  # @example Request syntax with placeholder values
1101
1174
  #
1102
1175
  # resp = client.create_backup({
1103
- # table_name: "TableName", # required
1176
+ # table_name: "TableArn", # required
1104
1177
  # backup_name: "BackupName", # required
1105
1178
  # })
1106
1179
  #
@@ -1127,14 +1200,16 @@ module Aws::DynamoDB
1127
1200
  # a replication relationship between two or more DynamoDB tables with
1128
1201
  # the same table name in the provided Regions.
1129
1202
  #
1130
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
1131
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
1132
- # when creating new global tables, as it provides greater flexibility,
1133
- # higher efficiency and consumes less write capacity than 2017.11.29
1134
- # (Legacy). To determine which version you are using, see [Determining
1135
- # the version][3]. To update existing global tables from version
1136
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
1137
- # global tables][4].
1203
+ # This documentation is for version 2017.11.29 (Legacy) of global
1204
+ # tables, which should be avoided for new global tables. Customers
1205
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
1206
+ # possible, because it provides greater flexibility, higher efficiency,
1207
+ # and consumes less write capacity than 2017.11.29 (Legacy).
1208
+ #
1209
+ # To determine which version you're using, see [Determining the global
1210
+ # table version you are using][2]. To update existing global tables from
1211
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
1212
+ # [Upgrading global tables][3].
1138
1213
  #
1139
1214
  # If you want to add a new replica table to a global table, each of the
1140
1215
  # following conditions must be true:
@@ -1177,10 +1252,9 @@ module Aws::DynamoDB
1177
1252
  #
1178
1253
  #
1179
1254
  #
1180
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
1181
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
1182
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
1183
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
1255
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
1256
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
1257
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
1184
1258
  #
1185
1259
  # @option params [required, String] :global_table_name
1186
1260
  # The global table name.
@@ -1212,9 +1286,17 @@ module Aws::DynamoDB
1212
1286
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
1213
1287
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
1214
1288
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
1289
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
1290
+ # resp.global_table_description.replication_group[0].warm_throughput.read_units_per_second #=> Integer
1291
+ # resp.global_table_description.replication_group[0].warm_throughput.write_units_per_second #=> Integer
1292
+ # resp.global_table_description.replication_group[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
1215
1293
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
1216
1294
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
1217
1295
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
1296
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
1297
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
1298
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
1299
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
1218
1300
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
1219
1301
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1220
1302
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -1256,7 +1338,8 @@ module Aws::DynamoDB
1256
1338
  # indexes.
1257
1339
  #
1258
1340
  # @option params [required, String] :table_name
1259
- # The name of the table to create.
1341
+ # The name of the table to create. You can also provide the Amazon
1342
+ # Resource Name (ARN) of the table in this parameter.
1260
1343
  #
1261
1344
  # @option params [required, Array<Types::KeySchemaElement>] :key_schema
1262
1345
  # Specifies the attributes that make up the primary key for a table or
@@ -1335,7 +1418,6 @@ module Aws::DynamoDB
1335
1418
  #
1336
1419
  # * `ALL` - All of the table attributes are projected into the
1337
1420
  # index.
1338
- #
1339
1421
  # * `NonKeyAttributes` - A list of one or more non-key attribute names
1340
1422
  # that are projected into the secondary index. The total count of
1341
1423
  # attributes provided in `NonKeyAttributes`, summed across all of
@@ -1372,14 +1454,12 @@ module Aws::DynamoDB
1372
1454
  #
1373
1455
  # * `ALL` - All of the table attributes are projected into the
1374
1456
  # index.
1375
- #
1376
1457
  # * `NonKeyAttributes` - A list of one or more non-key attribute names
1377
1458
  # that are projected into the secondary index. The total count of
1378
1459
  # attributes provided in `NonKeyAttributes`, summed across all of
1379
1460
  # the secondary indexes, must not exceed 100. If you project the
1380
1461
  # same attribute into two different indexes, this counts as two
1381
1462
  # distinct attributes when determining the total.
1382
- #
1383
1463
  # * `ProvisionedThroughput` - The provisioned throughput settings for
1384
1464
  # the global secondary index, consisting of read and write capacity
1385
1465
  # units.
@@ -1390,16 +1470,16 @@ module Aws::DynamoDB
1390
1470
  #
1391
1471
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
1392
1472
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
1393
- # Mode][1].
1473
+ # capacity mode][1].
1394
1474
  #
1395
1475
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
1396
1476
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
1397
- # [On-Demand Mode][2].
1477
+ # [On-demand capacity mode][2].
1398
1478
  #
1399
1479
  #
1400
1480
  #
1401
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
1402
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
1481
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
1482
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
1403
1483
  #
1404
1484
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput
1405
1485
  # Represents the provisioned throughput settings for a specified table
@@ -1460,6 +1540,38 @@ module Aws::DynamoDB
1460
1540
  # Indicates whether deletion protection is to be enabled (true) or
1461
1541
  # disabled (false) on the table.
1462
1542
  #
1543
+ # @option params [Types::WarmThroughput] :warm_throughput
1544
+ # Represents the warm throughput (in read units per second and write
1545
+ # units per second) for creating a table.
1546
+ #
1547
+ # @option params [String] :resource_policy
1548
+ # An Amazon Web Services resource-based policy document in JSON format
1549
+ # that will be attached to the table.
1550
+ #
1551
+ # When you attach a resource-based policy while creating a table, the
1552
+ # policy application is *strongly consistent*.
1553
+ #
1554
+ # The maximum size supported for a resource-based policy document is 20
1555
+ # KB. DynamoDB counts whitespaces when calculating the size of a policy
1556
+ # against this limit. For a full list of all considerations that apply
1557
+ # for resource-based policies, see [Resource-based policy
1558
+ # considerations][1].
1559
+ #
1560
+ # <note markdown="1"> You need to specify the `CreateTable` and `PutResourcePolicy` IAM
1561
+ # actions for authorizing a user to create a table with a resource-based
1562
+ # policy.
1563
+ #
1564
+ # </note>
1565
+ #
1566
+ #
1567
+ #
1568
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
1569
+ #
1570
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput
1571
+ # Sets the maximum number of read and write units for the specified
1572
+ # table in on-demand capacity mode. If you use this parameter, you must
1573
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
1574
+ #
1463
1575
  # @return [Types::CreateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1464
1576
  #
1465
1577
  # * {Types::CreateTableOutput#table_description #table_description} => Types::TableDescription
@@ -1541,7 +1653,7 @@ module Aws::DynamoDB
1541
1653
  # attribute_type: "S", # required, accepts S, N, B
1542
1654
  # },
1543
1655
  # ],
1544
- # table_name: "TableName", # required
1656
+ # table_name: "TableArn", # required
1545
1657
  # key_schema: [ # required
1546
1658
  # {
1547
1659
  # attribute_name: "KeySchemaAttributeName", # required
@@ -1580,6 +1692,14 @@ module Aws::DynamoDB
1580
1692
  # read_capacity_units: 1, # required
1581
1693
  # write_capacity_units: 1, # required
1582
1694
  # },
1695
+ # on_demand_throughput: {
1696
+ # max_read_request_units: 1,
1697
+ # max_write_request_units: 1,
1698
+ # },
1699
+ # warm_throughput: {
1700
+ # read_units_per_second: 1,
1701
+ # write_units_per_second: 1,
1702
+ # },
1583
1703
  # },
1584
1704
  # ],
1585
1705
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
@@ -1604,6 +1724,15 @@ module Aws::DynamoDB
1604
1724
  # ],
1605
1725
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
1606
1726
  # deletion_protection_enabled: false,
1727
+ # warm_throughput: {
1728
+ # read_units_per_second: 1,
1729
+ # write_units_per_second: 1,
1730
+ # },
1731
+ # resource_policy: "ResourcePolicy",
1732
+ # on_demand_throughput: {
1733
+ # max_read_request_units: 1,
1734
+ # max_write_request_units: 1,
1735
+ # },
1607
1736
  # })
1608
1737
  #
1609
1738
  # @example Response structure
@@ -1657,6 +1786,11 @@ module Aws::DynamoDB
1657
1786
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
1658
1787
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
1659
1788
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
1789
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
1790
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
1791
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
1792
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
1793
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
1660
1794
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
1661
1795
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
1662
1796
  # resp.table_description.latest_stream_label #=> String
@@ -1669,9 +1803,17 @@ module Aws::DynamoDB
1669
1803
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
1670
1804
  # resp.table_description.replicas[0].kms_master_key_id #=> String
1671
1805
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
1806
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
1807
+ # resp.table_description.replicas[0].warm_throughput.read_units_per_second #=> Integer
1808
+ # resp.table_description.replicas[0].warm_throughput.write_units_per_second #=> Integer
1809
+ # resp.table_description.replicas[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
1672
1810
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
1673
1811
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
1674
1812
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
1813
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
1814
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
1815
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
1816
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
1675
1817
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
1676
1818
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1677
1819
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -1689,6 +1831,12 @@ module Aws::DynamoDB
1689
1831
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
1690
1832
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
1691
1833
  # resp.table_description.deletion_protection_enabled #=> Boolean
1834
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
1835
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
1836
+ # resp.table_description.warm_throughput.read_units_per_second #=> Integer
1837
+ # resp.table_description.warm_throughput.write_units_per_second #=> Integer
1838
+ # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
1839
+ # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
1692
1840
  #
1693
1841
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable AWS API Documentation
1694
1842
  #
@@ -1735,6 +1883,8 @@ module Aws::DynamoDB
1735
1883
  # resp.backup_description.source_table_details.table_creation_date_time #=> Time
1736
1884
  # resp.backup_description.source_table_details.provisioned_throughput.read_capacity_units #=> Integer
1737
1885
  # resp.backup_description.source_table_details.provisioned_throughput.write_capacity_units #=> Integer
1886
+ # resp.backup_description.source_table_details.on_demand_throughput.max_read_request_units #=> Integer
1887
+ # resp.backup_description.source_table_details.on_demand_throughput.max_write_request_units #=> Integer
1738
1888
  # resp.backup_description.source_table_details.item_count #=> Integer
1739
1889
  # resp.backup_description.source_table_details.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
1740
1890
  # resp.backup_description.source_table_feature_details.local_secondary_indexes #=> Array
@@ -1755,6 +1905,8 @@ module Aws::DynamoDB
1755
1905
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
1756
1906
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
1757
1907
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
1908
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
1909
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
1758
1910
  # resp.backup_description.source_table_feature_details.stream_description.stream_enabled #=> Boolean
1759
1911
  # resp.backup_description.source_table_feature_details.stream_description.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
1760
1912
  # resp.backup_description.source_table_feature_details.time_to_live_description.time_to_live_status #=> String, one of "ENABLING", "DISABLING", "ENABLED", "DISABLED"
@@ -1790,7 +1942,8 @@ module Aws::DynamoDB
1790
1942
  # delete. Otherwise, the item is not deleted.
1791
1943
  #
1792
1944
  # @option params [required, String] :table_name
1793
- # The name of the table from which to delete the item.
1945
+ # The name of the table from which to delete the item. You can also
1946
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
1794
1947
  #
1795
1948
  # @option params [required, Hash<String,Types::AttributeValue>] :key
1796
1949
  # A map of attribute names to `AttributeValue` objects, representing the
@@ -1911,7 +2064,7 @@ module Aws::DynamoDB
1911
2064
  # Developer Guide*). To work around this, you could specify the
1912
2065
  # following for `ExpressionAttributeNames`:
1913
2066
  #
1914
- # * `\{"#P":"Percentile"\}`
2067
+ # * `{"#P":"Percentile"}`
1915
2068
  #
1916
2069
  # ^
1917
2070
  #
@@ -1947,8 +2100,8 @@ module Aws::DynamoDB
1947
2100
  # You would first need to specify `ExpressionAttributeValues` as
1948
2101
  # follows:
1949
2102
  #
1950
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
1951
- # ":disc":\{"S":"Discontinued"\} \}`
2103
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
2104
+ # ":disc":{"S":"Discontinued"} }`
1952
2105
  #
1953
2106
  # You could then use these values in an expression, such as this:
1954
2107
  #
@@ -1999,7 +2152,7 @@ module Aws::DynamoDB
1999
2152
  # @example Request syntax with placeholder values
2000
2153
  #
2001
2154
  # resp = client.delete_item({
2002
- # table_name: "TableName", # required
2155
+ # table_name: "TableArn", # required
2003
2156
  # key: { # required
2004
2157
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
2005
2158
  # },
@@ -2058,6 +2211,67 @@ module Aws::DynamoDB
2058
2211
  req.send_request(options)
2059
2212
  end
2060
2213
 
2214
+ # Deletes the resource-based policy attached to the resource, which can
2215
+ # be a table or stream.
2216
+ #
2217
+ # `DeleteResourcePolicy` is an idempotent operation; running it multiple
2218
+ # times on the same resource *doesn't* result in an error response,
2219
+ # unless you specify an `ExpectedRevisionId`, which will then return a
2220
+ # `PolicyNotFoundException`.
2221
+ #
2222
+ # To make sure that you don't inadvertently lock yourself out of your
2223
+ # own resources, the root principal in your Amazon Web Services account
2224
+ # can perform `DeleteResourcePolicy` requests, even if your
2225
+ # resource-based policy explicitly denies the root principal's access.
2226
+ #
2227
+ # <note markdown="1"> `DeleteResourcePolicy` is an asynchronous operation. If you issue a
2228
+ # `GetResourcePolicy` request immediately after running the
2229
+ # `DeleteResourcePolicy` request, DynamoDB might still return the
2230
+ # deleted policy. This is because the policy for your resource might not
2231
+ # have been deleted yet. Wait for a few seconds, and then try the
2232
+ # `GetResourcePolicy` request again.
2233
+ #
2234
+ # </note>
2235
+ #
2236
+ # @option params [required, String] :resource_arn
2237
+ # The Amazon Resource Name (ARN) of the DynamoDB resource from which the
2238
+ # policy will be removed. The resources you can specify include tables
2239
+ # and streams. If you remove the policy of a table, it will also remove
2240
+ # the permissions for the table's indexes defined in that policy
2241
+ # document. This is because index permissions are defined in the
2242
+ # table's policy.
2243
+ #
2244
+ # @option params [String] :expected_revision_id
2245
+ # A string value that you can use to conditionally delete your policy.
2246
+ # When you provide an expected revision ID, if the revision ID of the
2247
+ # existing policy on the resource doesn't match or if there's no
2248
+ # policy attached to the resource, the request will fail and return a
2249
+ # `PolicyNotFoundException`.
2250
+ #
2251
+ # @return [Types::DeleteResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2252
+ #
2253
+ # * {Types::DeleteResourcePolicyOutput#revision_id #revision_id} => String
2254
+ #
2255
+ # @example Request syntax with placeholder values
2256
+ #
2257
+ # resp = client.delete_resource_policy({
2258
+ # resource_arn: "ResourceArnString", # required
2259
+ # expected_revision_id: "PolicyRevisionId",
2260
+ # })
2261
+ #
2262
+ # @example Response structure
2263
+ #
2264
+ # resp.revision_id #=> String
2265
+ #
2266
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteResourcePolicy AWS API Documentation
2267
+ #
2268
+ # @overload delete_resource_policy(params = {})
2269
+ # @param [Hash] params ({})
2270
+ def delete_resource_policy(params = {}, options = {})
2271
+ req = build_request(:delete_resource_policy, params)
2272
+ req.send_request(options)
2273
+ end
2274
+
2061
2275
  # The `DeleteTable` operation deletes a table and all of its items.
2062
2276
  # After a `DeleteTable` request, the specified table is in the
2063
2277
  # `DELETING` state until DynamoDB completes the deletion. If the table
@@ -2067,12 +2281,13 @@ module Aws::DynamoDB
2067
2281
  # DynamoDB returns a `ResourceNotFoundException`. If table is already in
2068
2282
  # the `DELETING` state, no error is returned.
2069
2283
  #
2070
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
2071
- # global tables.
2284
+ # For global tables, this operation only applies to global tables using
2285
+ # Version 2019.11.21 (Current version).
2072
2286
  #
2073
2287
  # <note markdown="1"> DynamoDB might continue to accept data read and write operations, such
2074
2288
  # as `GetItem` and `PutItem`, on a table in the `DELETING` state until
2075
- # the table deletion is complete.
2289
+ # the table deletion is complete. For the full list of table states, see
2290
+ # [TableStatus][1].
2076
2291
  #
2077
2292
  # </note>
2078
2293
  #
@@ -2086,10 +2301,11 @@ module Aws::DynamoDB
2086
2301
  #
2087
2302
  #
2088
2303
  #
2089
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2304
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TableDescription.html#DDB-Type-TableDescription-TableStatus
2090
2305
  #
2091
2306
  # @option params [required, String] :table_name
2092
- # The name of the table to delete.
2307
+ # The name of the table to delete. You can also provide the Amazon
2308
+ # Resource Name (ARN) of the table in this parameter.
2093
2309
  #
2094
2310
  # @return [Types::DeleteTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2095
2311
  #
@@ -2122,7 +2338,7 @@ module Aws::DynamoDB
2122
2338
  # @example Request syntax with placeholder values
2123
2339
  #
2124
2340
  # resp = client.delete_table({
2125
- # table_name: "TableName", # required
2341
+ # table_name: "TableArn", # required
2126
2342
  # })
2127
2343
  #
2128
2344
  # @example Response structure
@@ -2176,6 +2392,11 @@ module Aws::DynamoDB
2176
2392
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
2177
2393
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
2178
2394
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
2395
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2396
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2397
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
2398
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
2399
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
2179
2400
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
2180
2401
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2181
2402
  # resp.table_description.latest_stream_label #=> String
@@ -2188,9 +2409,17 @@ module Aws::DynamoDB
2188
2409
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
2189
2410
  # resp.table_description.replicas[0].kms_master_key_id #=> String
2190
2411
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
2412
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
2413
+ # resp.table_description.replicas[0].warm_throughput.read_units_per_second #=> Integer
2414
+ # resp.table_description.replicas[0].warm_throughput.write_units_per_second #=> Integer
2415
+ # resp.table_description.replicas[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
2191
2416
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
2192
2417
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
2193
2418
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
2419
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2420
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
2421
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
2422
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
2194
2423
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
2195
2424
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2196
2425
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2208,6 +2437,12 @@ module Aws::DynamoDB
2208
2437
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2209
2438
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
2210
2439
  # resp.table_description.deletion_protection_enabled #=> Boolean
2440
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
2441
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
2442
+ # resp.table_description.warm_throughput.read_units_per_second #=> Integer
2443
+ # resp.table_description.warm_throughput.write_units_per_second #=> Integer
2444
+ # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
2445
+ # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
2211
2446
  #
2212
2447
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable AWS API Documentation
2213
2448
  #
@@ -2255,6 +2490,8 @@ module Aws::DynamoDB
2255
2490
  # resp.backup_description.source_table_details.table_creation_date_time #=> Time
2256
2491
  # resp.backup_description.source_table_details.provisioned_throughput.read_capacity_units #=> Integer
2257
2492
  # resp.backup_description.source_table_details.provisioned_throughput.write_capacity_units #=> Integer
2493
+ # resp.backup_description.source_table_details.on_demand_throughput.max_read_request_units #=> Integer
2494
+ # resp.backup_description.source_table_details.on_demand_throughput.max_write_request_units #=> Integer
2258
2495
  # resp.backup_description.source_table_details.item_count #=> Integer
2259
2496
  # resp.backup_description.source_table_details.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
2260
2497
  # resp.backup_description.source_table_feature_details.local_secondary_indexes #=> Array
@@ -2275,6 +2512,8 @@ module Aws::DynamoDB
2275
2512
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
2276
2513
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
2277
2514
  # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
2515
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2516
+ # resp.backup_description.source_table_feature_details.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2278
2517
  # resp.backup_description.source_table_feature_details.stream_description.stream_enabled #=> Boolean
2279
2518
  # resp.backup_description.source_table_feature_details.stream_description.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2280
2519
  # resp.backup_description.source_table_feature_details.time_to_live_description.time_to_live_status #=> String, one of "ENABLING", "DISABLING", "ENABLED", "DISABLED"
@@ -2313,6 +2552,9 @@ module Aws::DynamoDB
2313
2552
  # Name of the table for which the customer wants to check the continuous
2314
2553
  # backups and point in time recovery settings.
2315
2554
  #
2555
+ # You can also provide the Amazon Resource Name (ARN) of the table in
2556
+ # this parameter.
2557
+ #
2316
2558
  # @return [Types::DescribeContinuousBackupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2317
2559
  #
2318
2560
  # * {Types::DescribeContinuousBackupsOutput#continuous_backups_description #continuous_backups_description} => Types::ContinuousBackupsDescription
@@ -2320,7 +2562,7 @@ module Aws::DynamoDB
2320
2562
  # @example Request syntax with placeholder values
2321
2563
  #
2322
2564
  # resp = client.describe_continuous_backups({
2323
- # table_name: "TableName", # required
2565
+ # table_name: "TableArn", # required
2324
2566
  # })
2325
2567
  #
2326
2568
  # @example Response structure
@@ -2343,7 +2585,8 @@ module Aws::DynamoDB
2343
2585
  # global secondary index.
2344
2586
  #
2345
2587
  # @option params [required, String] :table_name
2346
- # The name of the table to describe.
2588
+ # The name of the table to describe. You can also provide the Amazon
2589
+ # Resource Name (ARN) of the table in this parameter.
2347
2590
  #
2348
2591
  # @option params [String] :index_name
2349
2592
  # The name of the global secondary index to describe, if applicable.
@@ -2360,7 +2603,7 @@ module Aws::DynamoDB
2360
2603
  # @example Request syntax with placeholder values
2361
2604
  #
2362
2605
  # resp = client.describe_contributor_insights({
2363
- # table_name: "TableName", # required
2606
+ # table_name: "TableArn", # required
2364
2607
  # index_name: "IndexName",
2365
2608
  # })
2366
2609
  #
@@ -2462,21 +2705,22 @@ module Aws::DynamoDB
2462
2705
 
2463
2706
  # Returns information about the specified global table.
2464
2707
  #
2465
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
2466
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
2467
- # when creating new global tables, as it provides greater flexibility,
2468
- # higher efficiency and consumes less write capacity than 2017.11.29
2469
- # (Legacy). To determine which version you are using, see [Determining
2470
- # the version][3]. To update existing global tables from version
2471
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
2472
- # global tables][4].
2708
+ # This documentation is for version 2017.11.29 (Legacy) of global
2709
+ # tables, which should be avoided for new global tables. Customers
2710
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
2711
+ # possible, because it provides greater flexibility, higher efficiency,
2712
+ # and consumes less write capacity than 2017.11.29 (Legacy).
2713
+ #
2714
+ # To determine which version you're using, see [Determining the global
2715
+ # table version you are using][2]. To update existing global tables from
2716
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
2717
+ # [Upgrading global tables][3].
2473
2718
  #
2474
2719
  #
2475
2720
  #
2476
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
2477
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2478
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2479
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2721
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
2722
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2723
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2480
2724
  #
2481
2725
  # @option params [required, String] :global_table_name
2482
2726
  # The name of the global table.
@@ -2500,9 +2744,17 @@ module Aws::DynamoDB
2500
2744
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
2501
2745
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
2502
2746
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
2747
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
2748
+ # resp.global_table_description.replication_group[0].warm_throughput.read_units_per_second #=> Integer
2749
+ # resp.global_table_description.replication_group[0].warm_throughput.write_units_per_second #=> Integer
2750
+ # resp.global_table_description.replication_group[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
2503
2751
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
2504
2752
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
2505
2753
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
2754
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
2755
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
2756
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
2757
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
2506
2758
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
2507
2759
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2508
2760
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2522,21 +2774,22 @@ module Aws::DynamoDB
2522
2774
 
2523
2775
  # Describes Region-specific settings for a global table.
2524
2776
  #
2525
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
2526
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
2527
- # when creating new global tables, as it provides greater flexibility,
2528
- # higher efficiency and consumes less write capacity than 2017.11.29
2529
- # (Legacy). To determine which version you are using, see [Determining
2530
- # the version][3]. To update existing global tables from version
2531
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
2532
- # global tables][4].
2777
+ # This documentation is for version 2017.11.29 (Legacy) of global
2778
+ # tables, which should be avoided for new global tables. Customers
2779
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
2780
+ # possible, because it provides greater flexibility, higher efficiency,
2781
+ # and consumes less write capacity than 2017.11.29 (Legacy).
2782
+ #
2783
+ # To determine which version you're using, see [Determining the global
2784
+ # table version you are using][2]. To update existing global tables from
2785
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
2786
+ # [Upgrading global tables][3].
2533
2787
  #
2534
2788
  #
2535
2789
  #
2536
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
2537
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2538
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2539
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2790
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
2791
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
2792
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
2540
2793
  #
2541
2794
  # @option params [required, String] :global_table_name
2542
2795
  # The name of the global table to describe.
@@ -2662,6 +2915,8 @@ module Aws::DynamoDB
2662
2915
  # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
2663
2916
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
2664
2917
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
2918
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_read_request_units #=> Integer
2919
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_write_request_units #=> Integer
2665
2920
  # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
2666
2921
  # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
2667
2922
  # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
@@ -2675,6 +2930,10 @@ module Aws::DynamoDB
2675
2930
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
2676
2931
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
2677
2932
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
2933
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
2934
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
2935
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
2936
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
2678
2937
  # resp.import_table_description.start_time #=> Time
2679
2938
  # resp.import_table_description.end_time #=> Time
2680
2939
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -2695,7 +2954,8 @@ module Aws::DynamoDB
2695
2954
  # Returns information about the status of Kinesis streaming.
2696
2955
  #
2697
2956
  # @option params [required, String] :table_name
2698
- # The name of the table being described.
2957
+ # The name of the table being described. You can also provide the Amazon
2958
+ # Resource Name (ARN) of the table in this parameter.
2699
2959
  #
2700
2960
  # @return [Types::DescribeKinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2701
2961
  #
@@ -2705,7 +2965,7 @@ module Aws::DynamoDB
2705
2965
  # @example Request syntax with placeholder values
2706
2966
  #
2707
2967
  # resp = client.describe_kinesis_streaming_destination({
2708
- # table_name: "TableName", # required
2968
+ # table_name: "TableArn", # required
2709
2969
  # })
2710
2970
  #
2711
2971
  # @example Response structure
@@ -2713,8 +2973,9 @@ module Aws::DynamoDB
2713
2973
  # resp.table_name #=> String
2714
2974
  # resp.kinesis_data_stream_destinations #=> Array
2715
2975
  # resp.kinesis_data_stream_destinations[0].stream_arn #=> String
2716
- # resp.kinesis_data_stream_destinations[0].destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
2976
+ # resp.kinesis_data_stream_destinations[0].destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
2717
2977
  # resp.kinesis_data_stream_destinations[0].destination_status_description #=> String
2978
+ # resp.kinesis_data_stream_destinations[0].approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
2718
2979
  #
2719
2980
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestination AWS API Documentation
2720
2981
  #
@@ -2766,7 +3027,6 @@ module Aws::DynamoDB
2766
3027
  # * If the table has one or more global secondary indexes (GSIs),
2767
3028
  # loop over these GSIs and add their provisioned capacity values
2768
3029
  # to your variables as well.
2769
- #
2770
3030
  # 5. Report the account quotas for that Region returned by
2771
3031
  # `DescribeLimits`, along with the total current provisioned
2772
3032
  # capacity levels you have calculated.
@@ -2839,8 +3099,8 @@ module Aws::DynamoDB
2839
3099
  # the table, when it was created, the primary key schema, and any
2840
3100
  # indexes on the table.
2841
3101
  #
2842
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
2843
- # global tables.
3102
+ # For global tables, this operation only applies to global tables using
3103
+ # Version 2019.11.21 (Current version).
2844
3104
  #
2845
3105
  # <note markdown="1"> If you issue a `DescribeTable` request immediately after a
2846
3106
  # `CreateTable` request, DynamoDB might return a
@@ -2851,12 +3111,9 @@ module Aws::DynamoDB
2851
3111
  #
2852
3112
  # </note>
2853
3113
  #
2854
- #
2855
- #
2856
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
2857
- #
2858
3114
  # @option params [required, String] :table_name
2859
- # The name of the table to describe.
3115
+ # The name of the table to describe. You can also provide the Amazon
3116
+ # Resource Name (ARN) of the table in this parameter.
2860
3117
  #
2861
3118
  # @return [Types::DescribeTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2862
3119
  #
@@ -2910,7 +3167,7 @@ module Aws::DynamoDB
2910
3167
  # @example Request syntax with placeholder values
2911
3168
  #
2912
3169
  # resp = client.describe_table({
2913
- # table_name: "TableName", # required
3170
+ # table_name: "TableArn", # required
2914
3171
  # })
2915
3172
  #
2916
3173
  # @example Response structure
@@ -2964,6 +3221,11 @@ module Aws::DynamoDB
2964
3221
  # resp.table.global_secondary_indexes[0].index_size_bytes #=> Integer
2965
3222
  # resp.table.global_secondary_indexes[0].item_count #=> Integer
2966
3223
  # resp.table.global_secondary_indexes[0].index_arn #=> String
3224
+ # resp.table.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
3225
+ # resp.table.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
3226
+ # resp.table.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
3227
+ # resp.table.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
3228
+ # resp.table.global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
2967
3229
  # resp.table.stream_specification.stream_enabled #=> Boolean
2968
3230
  # resp.table.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
2969
3231
  # resp.table.latest_stream_label #=> String
@@ -2976,9 +3238,17 @@ module Aws::DynamoDB
2976
3238
  # resp.table.replicas[0].replica_status_percent_progress #=> String
2977
3239
  # resp.table.replicas[0].kms_master_key_id #=> String
2978
3240
  # resp.table.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
3241
+ # resp.table.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
3242
+ # resp.table.replicas[0].warm_throughput.read_units_per_second #=> Integer
3243
+ # resp.table.replicas[0].warm_throughput.write_units_per_second #=> Integer
3244
+ # resp.table.replicas[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
2979
3245
  # resp.table.replicas[0].global_secondary_indexes #=> Array
2980
3246
  # resp.table.replicas[0].global_secondary_indexes[0].index_name #=> String
2981
3247
  # resp.table.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
3248
+ # resp.table.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
3249
+ # resp.table.replicas[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
3250
+ # resp.table.replicas[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
3251
+ # resp.table.replicas[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
2982
3252
  # resp.table.replicas[0].replica_inaccessible_date_time #=> Time
2983
3253
  # resp.table.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2984
3254
  # resp.table.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -2996,6 +3266,12 @@ module Aws::DynamoDB
2996
3266
  # resp.table.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
2997
3267
  # resp.table.table_class_summary.last_update_date_time #=> Time
2998
3268
  # resp.table.deletion_protection_enabled #=> Boolean
3269
+ # resp.table.on_demand_throughput.max_read_request_units #=> Integer
3270
+ # resp.table.on_demand_throughput.max_write_request_units #=> Integer
3271
+ # resp.table.warm_throughput.read_units_per_second #=> Integer
3272
+ # resp.table.warm_throughput.write_units_per_second #=> Integer
3273
+ # resp.table.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
3274
+ # resp.table.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
2999
3275
  #
3000
3276
  #
3001
3277
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -3015,15 +3291,12 @@ module Aws::DynamoDB
3015
3291
  # Describes auto scaling settings across replicas of the global table at
3016
3292
  # once.
3017
3293
  #
3018
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
3019
- # global tables.
3020
- #
3021
- #
3022
- #
3023
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
3294
+ # For global tables, this operation only applies to global tables using
3295
+ # Version 2019.11.21 (Current version).
3024
3296
  #
3025
3297
  # @option params [required, String] :table_name
3026
- # The name of the table.
3298
+ # The name of the table. You can also provide the Amazon Resource Name
3299
+ # (ARN) of the table in this parameter.
3027
3300
  #
3028
3301
  # @return [Types::DescribeTableReplicaAutoScalingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3029
3302
  #
@@ -3032,7 +3305,7 @@ module Aws::DynamoDB
3032
3305
  # @example Request syntax with placeholder values
3033
3306
  #
3034
3307
  # resp = client.describe_table_replica_auto_scaling({
3035
- # table_name: "TableName", # required
3308
+ # table_name: "TableArn", # required
3036
3309
  # })
3037
3310
  #
3038
3311
  # @example Response structure
@@ -3099,7 +3372,8 @@ module Aws::DynamoDB
3099
3372
  # table.
3100
3373
  #
3101
3374
  # @option params [required, String] :table_name
3102
- # The name of the table to be described.
3375
+ # The name of the table to be described. You can also provide the Amazon
3376
+ # Resource Name (ARN) of the table in this parameter.
3103
3377
  #
3104
3378
  # @return [Types::DescribeTimeToLiveOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3105
3379
  #
@@ -3108,7 +3382,7 @@ module Aws::DynamoDB
3108
3382
  # @example Request syntax with placeholder values
3109
3383
  #
3110
3384
  # resp = client.describe_time_to_live({
3111
- # table_name: "TableName", # required
3385
+ # table_name: "TableArn", # required
3112
3386
  # })
3113
3387
  #
3114
3388
  # @example Response structure
@@ -3129,29 +3403,39 @@ module Aws::DynamoDB
3129
3403
  # This is done without deleting either of the resources.
3130
3404
  #
3131
3405
  # @option params [required, String] :table_name
3132
- # The name of the DynamoDB table.
3406
+ # The name of the DynamoDB table. You can also provide the Amazon
3407
+ # Resource Name (ARN) of the table in this parameter.
3133
3408
  #
3134
3409
  # @option params [required, String] :stream_arn
3135
3410
  # The ARN for a Kinesis data stream.
3136
3411
  #
3412
+ # @option params [Types::EnableKinesisStreamingConfiguration] :enable_kinesis_streaming_configuration
3413
+ # The source for the Kinesis streaming information that is being
3414
+ # enabled.
3415
+ #
3137
3416
  # @return [Types::KinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3138
3417
  #
3139
3418
  # * {Types::KinesisStreamingDestinationOutput#table_name #table_name} => String
3140
3419
  # * {Types::KinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
3141
3420
  # * {Types::KinesisStreamingDestinationOutput#destination_status #destination_status} => String
3421
+ # * {Types::KinesisStreamingDestinationOutput#enable_kinesis_streaming_configuration #enable_kinesis_streaming_configuration} => Types::EnableKinesisStreamingConfiguration
3142
3422
  #
3143
3423
  # @example Request syntax with placeholder values
3144
3424
  #
3145
3425
  # resp = client.disable_kinesis_streaming_destination({
3146
- # table_name: "TableName", # required
3426
+ # table_name: "TableArn", # required
3147
3427
  # stream_arn: "StreamArn", # required
3428
+ # enable_kinesis_streaming_configuration: {
3429
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
3430
+ # },
3148
3431
  # })
3149
3432
  #
3150
3433
  # @example Response structure
3151
3434
  #
3152
3435
  # resp.table_name #=> String
3153
3436
  # resp.stream_arn #=> String
3154
- # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
3437
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
3438
+ # resp.enable_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
3155
3439
  #
3156
3440
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DisableKinesisStreamingDestination AWS API Documentation
3157
3441
  #
@@ -3169,29 +3453,39 @@ module Aws::DynamoDB
3169
3453
  # Kinesis data stream is ACTIVE.
3170
3454
  #
3171
3455
  # @option params [required, String] :table_name
3172
- # The name of the DynamoDB table.
3456
+ # The name of the DynamoDB table. You can also provide the Amazon
3457
+ # Resource Name (ARN) of the table in this parameter.
3173
3458
  #
3174
3459
  # @option params [required, String] :stream_arn
3175
3460
  # The ARN for a Kinesis data stream.
3176
3461
  #
3462
+ # @option params [Types::EnableKinesisStreamingConfiguration] :enable_kinesis_streaming_configuration
3463
+ # The source for the Kinesis streaming information that is being
3464
+ # enabled.
3465
+ #
3177
3466
  # @return [Types::KinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3178
3467
  #
3179
3468
  # * {Types::KinesisStreamingDestinationOutput#table_name #table_name} => String
3180
3469
  # * {Types::KinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
3181
3470
  # * {Types::KinesisStreamingDestinationOutput#destination_status #destination_status} => String
3471
+ # * {Types::KinesisStreamingDestinationOutput#enable_kinesis_streaming_configuration #enable_kinesis_streaming_configuration} => Types::EnableKinesisStreamingConfiguration
3182
3472
  #
3183
3473
  # @example Request syntax with placeholder values
3184
3474
  #
3185
3475
  # resp = client.enable_kinesis_streaming_destination({
3186
- # table_name: "TableName", # required
3476
+ # table_name: "TableArn", # required
3187
3477
  # stream_arn: "StreamArn", # required
3478
+ # enable_kinesis_streaming_configuration: {
3479
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
3480
+ # },
3188
3481
  # })
3189
3482
  #
3190
3483
  # @example Response structure
3191
3484
  #
3192
3485
  # resp.table_name #=> String
3193
3486
  # resp.stream_arn #=> String
3194
- # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED"
3487
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
3488
+ # resp.enable_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
3195
3489
  #
3196
3490
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingDestination AWS API Documentation
3197
3491
  #
@@ -3445,6 +3739,11 @@ module Aws::DynamoDB
3445
3739
  # The ID of the Amazon Web Services account that owns the bucket the
3446
3740
  # export will be stored in.
3447
3741
  #
3742
+ # <note markdown="1"> S3BucketOwner is a required parameter when exporting to a S3 bucket in
3743
+ # another account.
3744
+ #
3745
+ # </note>
3746
+ #
3448
3747
  # @option params [String] :s3_prefix
3449
3748
  # The Amazon S3 bucket prefix to use as the file name and path of the
3450
3749
  # exported snapshot.
@@ -3546,7 +3845,8 @@ module Aws::DynamoDB
3546
3845
  # value.
3547
3846
  #
3548
3847
  # @option params [required, String] :table_name
3549
- # The name of the table containing the requested item.
3848
+ # The name of the table containing the requested item. You can also
3849
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
3550
3850
  #
3551
3851
  # @option params [required, Hash<String,Types::AttributeValue>] :key
3552
3852
  # A map of attribute names to `AttributeValue` objects, representing the
@@ -3631,7 +3931,7 @@ module Aws::DynamoDB
3631
3931
  # Developer Guide*). To work around this, you could specify the
3632
3932
  # following for `ExpressionAttributeNames`:
3633
3933
  #
3634
- # * `\{"#P":"Percentile"\}`
3934
+ # * `{"#P":"Percentile"}`
3635
3935
  #
3636
3936
  # ^
3637
3937
  #
@@ -3686,7 +3986,7 @@ module Aws::DynamoDB
3686
3986
  # @example Request syntax with placeholder values
3687
3987
  #
3688
3988
  # resp = client.get_item({
3689
- # table_name: "TableName", # required
3989
+ # table_name: "TableArn", # required
3690
3990
  # key: { # required
3691
3991
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
3692
3992
  # },
@@ -3728,6 +4028,73 @@ module Aws::DynamoDB
3728
4028
  req.send_request(options)
3729
4029
  end
3730
4030
 
4031
+ # Returns the resource-based policy document attached to the resource,
4032
+ # which can be a table or stream, in JSON format.
4033
+ #
4034
+ # `GetResourcePolicy` follows an [ *eventually consistent* ][1] model.
4035
+ # The following list describes the outcomes when you issue the
4036
+ # `GetResourcePolicy` request immediately after issuing another request:
4037
+ #
4038
+ # * If you issue a `GetResourcePolicy` request immediately after a
4039
+ # `PutResourcePolicy` request, DynamoDB might return a
4040
+ # `PolicyNotFoundException`.
4041
+ #
4042
+ # * If you issue a `GetResourcePolicy`request immediately after a
4043
+ # `DeleteResourcePolicy` request, DynamoDB might return the policy
4044
+ # that was present before the deletion request.
4045
+ #
4046
+ # * If you issue a `GetResourcePolicy` request immediately after a
4047
+ # `CreateTable` request, which includes a resource-based policy,
4048
+ # DynamoDB might return a `ResourceNotFoundException` or a
4049
+ # `PolicyNotFoundException`.
4050
+ #
4051
+ # Because `GetResourcePolicy` uses an *eventually consistent* query, the
4052
+ # metadata for your policy or table might not be available at that
4053
+ # moment. Wait for a few seconds, and then retry the `GetResourcePolicy`
4054
+ # request.
4055
+ #
4056
+ # After a `GetResourcePolicy` request returns a policy created using the
4057
+ # `PutResourcePolicy` request, the policy will be applied in the
4058
+ # authorization of requests to the resource. Because this process is
4059
+ # eventually consistent, it will take some time to apply the policy to
4060
+ # all requests to a resource. Policies that you attach while creating a
4061
+ # table using the `CreateTable` request will always be applied to all
4062
+ # requests for that table.
4063
+ #
4064
+ #
4065
+ #
4066
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
4067
+ #
4068
+ # @option params [required, String] :resource_arn
4069
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
4070
+ # policy is attached. The resources you can specify include tables and
4071
+ # streams.
4072
+ #
4073
+ # @return [Types::GetResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4074
+ #
4075
+ # * {Types::GetResourcePolicyOutput#policy #policy} => String
4076
+ # * {Types::GetResourcePolicyOutput#revision_id #revision_id} => String
4077
+ #
4078
+ # @example Request syntax with placeholder values
4079
+ #
4080
+ # resp = client.get_resource_policy({
4081
+ # resource_arn: "ResourceArnString", # required
4082
+ # })
4083
+ #
4084
+ # @example Response structure
4085
+ #
4086
+ # resp.policy #=> String
4087
+ # resp.revision_id #=> String
4088
+ #
4089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetResourcePolicy AWS API Documentation
4090
+ #
4091
+ # @overload get_resource_policy(params = {})
4092
+ # @param [Hash] params ({})
4093
+ def get_resource_policy(params = {}, options = {})
4094
+ req = build_request(:get_resource_policy, params)
4095
+ req.send_request(options)
4096
+ end
4097
+
3731
4098
  # Imports table data from an S3 bucket.
3732
4099
  #
3733
4100
  # @option params [String] :client_token
@@ -3805,6 +4172,10 @@ module Aws::DynamoDB
3805
4172
  # read_capacity_units: 1, # required
3806
4173
  # write_capacity_units: 1, # required
3807
4174
  # },
4175
+ # on_demand_throughput: {
4176
+ # max_read_request_units: 1,
4177
+ # max_write_request_units: 1,
4178
+ # },
3808
4179
  # sse_specification: {
3809
4180
  # enabled: false,
3810
4181
  # sse_type: "AES256", # accepts AES256, KMS
@@ -3827,6 +4198,14 @@ module Aws::DynamoDB
3827
4198
  # read_capacity_units: 1, # required
3828
4199
  # write_capacity_units: 1, # required
3829
4200
  # },
4201
+ # on_demand_throughput: {
4202
+ # max_read_request_units: 1,
4203
+ # max_write_request_units: 1,
4204
+ # },
4205
+ # warm_throughput: {
4206
+ # read_units_per_second: 1,
4207
+ # write_units_per_second: 1,
4208
+ # },
3830
4209
  # },
3831
4210
  # ],
3832
4211
  # },
@@ -3859,6 +4238,8 @@ module Aws::DynamoDB
3859
4238
  # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
3860
4239
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
3861
4240
  # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
4241
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_read_request_units #=> Integer
4242
+ # resp.import_table_description.table_creation_parameters.on_demand_throughput.max_write_request_units #=> Integer
3862
4243
  # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
3863
4244
  # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
3864
4245
  # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
@@ -3872,6 +4253,10 @@ module Aws::DynamoDB
3872
4253
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
3873
4254
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
3874
4255
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
4256
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
4257
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
4258
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
4259
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
3875
4260
  # resp.import_table_description.start_time #=> Time
3876
4261
  # resp.import_table_description.end_time #=> Time
3877
4262
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -3910,7 +4295,9 @@ module Aws::DynamoDB
3910
4295
  # [1]: https://docs.aws.amazon.com/aws-backup/latest/devguide/API_ListBackupJobs.html
3911
4296
  #
3912
4297
  # @option params [String] :table_name
3913
- # The backups from the table specified by `TableName` are listed.
4298
+ # Lists the backups from the table specified in `TableName`. You can
4299
+ # also provide the Amazon Resource Name (ARN) of the table in this
4300
+ # parameter.
3914
4301
  #
3915
4302
  # @option params [Integer] :limit
3916
4303
  # Maximum number of backups to return at once.
@@ -3950,7 +4337,7 @@ module Aws::DynamoDB
3950
4337
  # @example Request syntax with placeholder values
3951
4338
  #
3952
4339
  # resp = client.list_backups({
3953
- # table_name: "TableName",
4340
+ # table_name: "TableArn",
3954
4341
  # limit: 1,
3955
4342
  # time_range_lower_bound: Time.now,
3956
4343
  # time_range_upper_bound: Time.now,
@@ -3986,7 +4373,8 @@ module Aws::DynamoDB
3986
4373
  # global secondary indexes.
3987
4374
  #
3988
4375
  # @option params [String] :table_name
3989
- # The name of the table.
4376
+ # The name of the table. You can also provide the Amazon Resource Name
4377
+ # (ARN) of the table in this parameter.
3990
4378
  #
3991
4379
  # @option params [String] :next_token
3992
4380
  # A token to for the desired page, if there is one.
@@ -4004,7 +4392,7 @@ module Aws::DynamoDB
4004
4392
  # @example Request syntax with placeholder values
4005
4393
  #
4006
4394
  # resp = client.list_contributor_insights({
4007
- # table_name: "TableName",
4395
+ # table_name: "TableArn",
4008
4396
  # next_token: "NextTokenString",
4009
4397
  # max_results: 1,
4010
4398
  # })
@@ -4073,21 +4461,22 @@ module Aws::DynamoDB
4073
4461
 
4074
4462
  # Lists all global tables that have a replica in the specified Region.
4075
4463
  #
4076
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
4077
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
4078
- # when creating new global tables, as it provides greater flexibility,
4079
- # higher efficiency and consumes less write capacity than 2017.11.29
4080
- # (Legacy). To determine which version you are using, see [Determining
4081
- # the version][3]. To update existing global tables from version
4082
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
4083
- # global tables][4].
4464
+ # This documentation is for version 2017.11.29 (Legacy) of global
4465
+ # tables, which should be avoided for new global tables. Customers
4466
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
4467
+ # possible, because it provides greater flexibility, higher efficiency,
4468
+ # and consumes less write capacity than 2017.11.29 (Legacy).
4469
+ #
4470
+ # To determine which version you're using, see [Determining the global
4471
+ # table version you are using][2]. To update existing global tables from
4472
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
4473
+ # [Upgrading global tables][3].
4084
4474
  #
4085
4475
  #
4086
4476
  #
4087
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
4088
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
4089
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
4090
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
4477
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
4478
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
4479
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
4091
4480
  #
4092
4481
  # @option params [String] :exclusive_start_global_table_name
4093
4482
  # The first global table name that this operation will evaluate.
@@ -4332,7 +4721,8 @@ module Aws::DynamoDB
4332
4721
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html
4333
4722
  #
4334
4723
  # @option params [required, String] :table_name
4335
- # The name of the table to contain the item.
4724
+ # The name of the table to contain the item. You can also provide the
4725
+ # Amazon Resource Name (ARN) of the table in this parameter.
4336
4726
  #
4337
4727
  # @option params [required, Hash<String,Types::AttributeValue>] :item
4338
4728
  # A map of attribute name/value pairs, one for each attribute. Only the
@@ -4474,7 +4864,7 @@ module Aws::DynamoDB
4474
4864
  # Developer Guide*). To work around this, you could specify the
4475
4865
  # following for `ExpressionAttributeNames`:
4476
4866
  #
4477
- # * `\{"#P":"Percentile"\}`
4867
+ # * `{"#P":"Percentile"}`
4478
4868
  #
4479
4869
  # ^
4480
4870
  #
@@ -4510,8 +4900,8 @@ module Aws::DynamoDB
4510
4900
  # You would first need to specify `ExpressionAttributeValues` as
4511
4901
  # follows:
4512
4902
  #
4513
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
4514
- # ":disc":\{"S":"Discontinued"\} \}`
4903
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
4904
+ # ":disc":{"S":"Discontinued"} }`
4515
4905
  #
4516
4906
  # You could then use these values in an expression, such as this:
4517
4907
  #
@@ -4564,7 +4954,7 @@ module Aws::DynamoDB
4564
4954
  # @example Request syntax with placeholder values
4565
4955
  #
4566
4956
  # resp = client.put_item({
4567
- # table_name: "TableName", # required
4957
+ # table_name: "TableArn", # required
4568
4958
  # item: { # required
4569
4959
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
4570
4960
  # },
@@ -4623,6 +5013,107 @@ module Aws::DynamoDB
4623
5013
  req.send_request(options)
4624
5014
  end
4625
5015
 
5016
+ # Attaches a resource-based policy document to the resource, which can
5017
+ # be a table or stream. When you attach a resource-based policy using
5018
+ # this API, the policy application is [ *eventually consistent* ][1].
5019
+ #
5020
+ # `PutResourcePolicy` is an idempotent operation; running it multiple
5021
+ # times on the same resource using the same policy document will return
5022
+ # the same revision ID. If you specify an `ExpectedRevisionId` that
5023
+ # doesn't match the current policy's `RevisionId`, the
5024
+ # `PolicyNotFoundException` will be returned.
5025
+ #
5026
+ # <note markdown="1"> `PutResourcePolicy` is an asynchronous operation. If you issue a
5027
+ # `GetResourcePolicy` request immediately after a `PutResourcePolicy`
5028
+ # request, DynamoDB might return your previous policy, if there was one,
5029
+ # or return the `PolicyNotFoundException`. This is because
5030
+ # `GetResourcePolicy` uses an eventually consistent query, and the
5031
+ # metadata for your policy or table might not be available at that
5032
+ # moment. Wait for a few seconds, and then try the `GetResourcePolicy`
5033
+ # request again.
5034
+ #
5035
+ # </note>
5036
+ #
5037
+ #
5038
+ #
5039
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
5040
+ #
5041
+ # @option params [required, String] :resource_arn
5042
+ # The Amazon Resource Name (ARN) of the DynamoDB resource to which the
5043
+ # policy will be attached. The resources you can specify include tables
5044
+ # and streams.
5045
+ #
5046
+ # You can control index permissions using the base table's policy. To
5047
+ # specify the same permission level for your table and its indexes, you
5048
+ # can provide both the table and index Amazon Resource Name (ARN)s in
5049
+ # the `Resource` field of a given `Statement` in your policy document.
5050
+ # Alternatively, to specify different permissions for your table,
5051
+ # indexes, or both, you can define multiple `Statement` fields in your
5052
+ # policy document.
5053
+ #
5054
+ # @option params [required, String] :policy
5055
+ # An Amazon Web Services resource-based policy document in JSON format.
5056
+ #
5057
+ # * The maximum size supported for a resource-based policy document is
5058
+ # 20 KB. DynamoDB counts whitespaces when calculating the size of a
5059
+ # policy against this limit.
5060
+ #
5061
+ # * Within a resource-based policy, if the action for a DynamoDB
5062
+ # service-linked role (SLR) to replicate data for a global table is
5063
+ # denied, adding or deleting a replica will fail with an error.
5064
+ #
5065
+ # For a full list of all considerations that apply while attaching a
5066
+ # resource-based policy, see [Resource-based policy considerations][1].
5067
+ #
5068
+ #
5069
+ #
5070
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
5071
+ #
5072
+ # @option params [String] :expected_revision_id
5073
+ # A string value that you can use to conditionally update your policy.
5074
+ # You can provide the revision ID of your existing policy to make
5075
+ # mutating requests against that policy.
5076
+ #
5077
+ # <note markdown="1"> When you provide an expected revision ID, if the revision ID of the
5078
+ # existing policy on the resource doesn't match or if there's no
5079
+ # policy attached to the resource, your request will be rejected with a
5080
+ # `PolicyNotFoundException`.
5081
+ #
5082
+ # </note>
5083
+ #
5084
+ # To conditionally attach a policy when no policy exists for the
5085
+ # resource, specify `NO_POLICY` for the revision ID.
5086
+ #
5087
+ # @option params [Boolean] :confirm_remove_self_resource_access
5088
+ # Set this parameter to `true` to confirm that you want to remove your
5089
+ # permissions to change the policy of this resource in the future.
5090
+ #
5091
+ # @return [Types::PutResourcePolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5092
+ #
5093
+ # * {Types::PutResourcePolicyOutput#revision_id #revision_id} => String
5094
+ #
5095
+ # @example Request syntax with placeholder values
5096
+ #
5097
+ # resp = client.put_resource_policy({
5098
+ # resource_arn: "ResourceArnString", # required
5099
+ # policy: "ResourcePolicy", # required
5100
+ # expected_revision_id: "PolicyRevisionId",
5101
+ # confirm_remove_self_resource_access: false,
5102
+ # })
5103
+ #
5104
+ # @example Response structure
5105
+ #
5106
+ # resp.revision_id #=> String
5107
+ #
5108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutResourcePolicy AWS API Documentation
5109
+ #
5110
+ # @overload put_resource_policy(params = {})
5111
+ # @param [Hash] params ({})
5112
+ def put_resource_policy(params = {}, options = {})
5113
+ req = build_request(:put_resource_policy, params)
5114
+ req.send_request(options)
5115
+ end
5116
+
4626
5117
  # You must provide the name of the partition key attribute and a single
4627
5118
  # value for that attribute. `Query` returns all items with that
4628
5119
  # partition key value. Optionally, you can provide a sort key attribute
@@ -4688,7 +5179,8 @@ module Aws::DynamoDB
4688
5179
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination
4689
5180
  #
4690
5181
  # @option params [required, String] :table_name
4691
- # The name of the table containing the requested items.
5182
+ # The name of the table containing the requested items. You can also
5183
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
4692
5184
  #
4693
5185
  # @option params [String] :index_name
4694
5186
  # The name of an index to query. This index can be any local secondary
@@ -4888,7 +5380,7 @@ module Aws::DynamoDB
4888
5380
  #
4889
5381
  #
4890
5382
  #
4891
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
5383
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.FilterExpression.html
4892
5384
  #
4893
5385
  # @option params [String] :key_condition_expression
4894
5386
  # The condition that specifies the key values for items to be retrieved
@@ -5000,7 +5492,7 @@ module Aws::DynamoDB
5000
5492
  # Developer Guide*). To work around this, you could specify the
5001
5493
  # following for `ExpressionAttributeNames`:
5002
5494
  #
5003
- # * `\{"#P":"Percentile"\}`
5495
+ # * `{"#P":"Percentile"}`
5004
5496
  #
5005
5497
  # ^
5006
5498
  #
@@ -5036,8 +5528,8 @@ module Aws::DynamoDB
5036
5528
  # You would first need to specify `ExpressionAttributeValues` as
5037
5529
  # follows:
5038
5530
  #
5039
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
5040
- # ":disc":\{"S":"Discontinued"\} \}`
5531
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
5532
+ # ":disc":{"S":"Discontinued"} }`
5041
5533
  #
5042
5534
  # You could then use these values in an expression, such as this:
5043
5535
  #
@@ -5091,7 +5583,7 @@ module Aws::DynamoDB
5091
5583
  # @example Request syntax with placeholder values
5092
5584
  #
5093
5585
  # resp = client.query({
5094
- # table_name: "TableName", # required
5586
+ # table_name: "TableArn", # required
5095
5587
  # index_name: "IndexName",
5096
5588
  # select: "ALL_ATTRIBUTES", # accepts ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT
5097
5589
  # attributes_to_get: ["AttributeName"],
@@ -5203,6 +5695,11 @@ module Aws::DynamoDB
5203
5695
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput_override
5204
5696
  # Provisioned throughput settings for the restored table.
5205
5697
  #
5698
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput_override
5699
+ # Sets the maximum number of read and write units for the specified
5700
+ # on-demand table. If you use this parameter, you must specify
5701
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
5702
+ #
5206
5703
  # @option params [Types::SSESpecification] :sse_specification_override
5207
5704
  # The new server-side encryption settings for the restored table.
5208
5705
  #
@@ -5233,6 +5730,14 @@ module Aws::DynamoDB
5233
5730
  # read_capacity_units: 1, # required
5234
5731
  # write_capacity_units: 1, # required
5235
5732
  # },
5733
+ # on_demand_throughput: {
5734
+ # max_read_request_units: 1,
5735
+ # max_write_request_units: 1,
5736
+ # },
5737
+ # warm_throughput: {
5738
+ # read_units_per_second: 1,
5739
+ # write_units_per_second: 1,
5740
+ # },
5236
5741
  # },
5237
5742
  # ],
5238
5743
  # local_secondary_index_override: [
@@ -5254,6 +5759,10 @@ module Aws::DynamoDB
5254
5759
  # read_capacity_units: 1, # required
5255
5760
  # write_capacity_units: 1, # required
5256
5761
  # },
5762
+ # on_demand_throughput_override: {
5763
+ # max_read_request_units: 1,
5764
+ # max_write_request_units: 1,
5765
+ # },
5257
5766
  # sse_specification_override: {
5258
5767
  # enabled: false,
5259
5768
  # sse_type: "AES256", # accepts AES256, KMS
@@ -5312,6 +5821,11 @@ module Aws::DynamoDB
5312
5821
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
5313
5822
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
5314
5823
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
5824
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
5825
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
5826
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
5827
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
5828
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
5315
5829
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
5316
5830
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
5317
5831
  # resp.table_description.latest_stream_label #=> String
@@ -5324,9 +5838,17 @@ module Aws::DynamoDB
5324
5838
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
5325
5839
  # resp.table_description.replicas[0].kms_master_key_id #=> String
5326
5840
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
5841
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
5842
+ # resp.table_description.replicas[0].warm_throughput.read_units_per_second #=> Integer
5843
+ # resp.table_description.replicas[0].warm_throughput.write_units_per_second #=> Integer
5844
+ # resp.table_description.replicas[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
5327
5845
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
5328
5846
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
5329
5847
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
5848
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
5849
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
5850
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
5851
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
5330
5852
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
5331
5853
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5332
5854
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -5344,6 +5866,12 @@ module Aws::DynamoDB
5344
5866
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5345
5867
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
5346
5868
  # resp.table_description.deletion_protection_enabled #=> Boolean
5869
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
5870
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
5871
+ # resp.table_description.warm_throughput.read_units_per_second #=> Integer
5872
+ # resp.table_description.warm_throughput.write_units_per_second #=> Integer
5873
+ # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
5874
+ # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
5347
5875
  #
5348
5876
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup AWS API Documentation
5349
5877
  #
@@ -5357,7 +5885,7 @@ module Aws::DynamoDB
5357
5885
  # Restores the specified table to the specified point in time within
5358
5886
  # `EarliestRestorableDateTime` and `LatestRestorableDateTime`. You can
5359
5887
  # restore your table to any point in time during the last 35 days. Any
5360
- # number of users can execute up to 4 concurrent restores (any type of
5888
+ # number of users can execute up to 50 concurrent restores (any type of
5361
5889
  # restore) in a given account.
5362
5890
  #
5363
5891
  # When you restore using point in time recovery, DynamoDB restores your
@@ -5428,6 +5956,11 @@ module Aws::DynamoDB
5428
5956
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput_override
5429
5957
  # Provisioned throughput settings for the restored table.
5430
5958
  #
5959
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput_override
5960
+ # Sets the maximum number of read and write units for the specified
5961
+ # on-demand table. If you use this parameter, you must specify
5962
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
5963
+ #
5431
5964
  # @option params [Types::SSESpecification] :sse_specification_override
5432
5965
  # The new server-side encryption settings for the restored table.
5433
5966
  #
@@ -5461,6 +5994,14 @@ module Aws::DynamoDB
5461
5994
  # read_capacity_units: 1, # required
5462
5995
  # write_capacity_units: 1, # required
5463
5996
  # },
5997
+ # on_demand_throughput: {
5998
+ # max_read_request_units: 1,
5999
+ # max_write_request_units: 1,
6000
+ # },
6001
+ # warm_throughput: {
6002
+ # read_units_per_second: 1,
6003
+ # write_units_per_second: 1,
6004
+ # },
5464
6005
  # },
5465
6006
  # ],
5466
6007
  # local_secondary_index_override: [
@@ -5482,6 +6023,10 @@ module Aws::DynamoDB
5482
6023
  # read_capacity_units: 1, # required
5483
6024
  # write_capacity_units: 1, # required
5484
6025
  # },
6026
+ # on_demand_throughput_override: {
6027
+ # max_read_request_units: 1,
6028
+ # max_write_request_units: 1,
6029
+ # },
5485
6030
  # sse_specification_override: {
5486
6031
  # enabled: false,
5487
6032
  # sse_type: "AES256", # accepts AES256, KMS
@@ -5540,6 +6085,11 @@ module Aws::DynamoDB
5540
6085
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
5541
6086
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
5542
6087
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
6088
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
6089
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
6090
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
6091
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
6092
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
5543
6093
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
5544
6094
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
5545
6095
  # resp.table_description.latest_stream_label #=> String
@@ -5552,9 +6102,17 @@ module Aws::DynamoDB
5552
6102
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
5553
6103
  # resp.table_description.replicas[0].kms_master_key_id #=> String
5554
6104
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
6105
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
6106
+ # resp.table_description.replicas[0].warm_throughput.read_units_per_second #=> Integer
6107
+ # resp.table_description.replicas[0].warm_throughput.write_units_per_second #=> Integer
6108
+ # resp.table_description.replicas[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
5555
6109
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
5556
6110
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
5557
6111
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
6112
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
6113
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
6114
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
6115
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
5558
6116
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
5559
6117
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5560
6118
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -5572,6 +6130,12 @@ module Aws::DynamoDB
5572
6130
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
5573
6131
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
5574
6132
  # resp.table_description.deletion_protection_enabled #=> Boolean
6133
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
6134
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
6135
+ # resp.table_description.warm_throughput.read_units_per_second #=> Integer
6136
+ # resp.table_description.warm_throughput.write_units_per_second #=> Integer
6137
+ # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
6138
+ # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
5575
6139
  #
5576
6140
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime AWS API Documentation
5577
6141
  #
@@ -5639,9 +6203,11 @@ module Aws::DynamoDB
5639
6203
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan
5640
6204
  #
5641
6205
  # @option params [required, String] :table_name
5642
- # The name of the table containing the requested items; or, if you
5643
- # provide `IndexName`, the name of the table to which that index
5644
- # belongs.
6206
+ # The name of the table containing the requested items or if you provide
6207
+ # `IndexName`, the name of the table to which that index belongs.
6208
+ #
6209
+ # You can also provide the Amazon Resource Name (ARN) of the table in
6210
+ # this parameter.
5645
6211
  #
5646
6212
  # @option params [String] :index_name
5647
6213
  # The name of a secondary index to scan. This index can be any local
@@ -5867,7 +6433,7 @@ module Aws::DynamoDB
5867
6433
  # Developer Guide*). To work around this, you could specify the
5868
6434
  # following for `ExpressionAttributeNames`:
5869
6435
  #
5870
- # * `\{"#P":"Percentile"\}`
6436
+ # * `{"#P":"Percentile"}`
5871
6437
  #
5872
6438
  # ^
5873
6439
  #
@@ -5903,8 +6469,8 @@ module Aws::DynamoDB
5903
6469
  # You would first need to specify `ExpressionAttributeValues` as
5904
6470
  # follows:
5905
6471
  #
5906
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
5907
- # ":disc":\{"S":"Discontinued"\} \}`
6472
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
6473
+ # ":disc":{"S":"Discontinued"} }`
5908
6474
  #
5909
6475
  # You could then use these values in an expression, such as this:
5910
6476
  #
@@ -5985,7 +6551,7 @@ module Aws::DynamoDB
5985
6551
  # @example Request syntax with placeholder values
5986
6552
  #
5987
6553
  # resp = client.scan({
5988
- # table_name: "TableName", # required
6554
+ # table_name: "TableArn", # required
5989
6555
  # index_name: "IndexName",
5990
6556
  # attributes_to_get: ["AttributeName"],
5991
6557
  # limit: 1,
@@ -6053,6 +6619,18 @@ module Aws::DynamoDB
6053
6619
  # and Cost Management console for cost allocation tracking. You can call
6054
6620
  # TagResource up to five times per second, per account.
6055
6621
  #
6622
+ # * `TagResource` is an asynchronous operation. If you issue a
6623
+ # ListTagsOfResource request immediately after a `TagResource`
6624
+ # request, DynamoDB might return your previous tag set, if there was
6625
+ # one, or an empty tag set. This is because `ListTagsOfResource` uses
6626
+ # an eventually consistent query, and the metadata for your tags or
6627
+ # table might not be available at that moment. Wait for a few seconds,
6628
+ # and then try the `ListTagsOfResource` request again.
6629
+ #
6630
+ # * The application or removal of tags using `TagResource` and
6631
+ # `UntagResource` APIs is eventually consistent. `ListTagsOfResource`
6632
+ # API will only reflect the changes after a few seconds.
6633
+ #
6056
6634
  # For an overview on tagging DynamoDB resources, see [Tagging for
6057
6635
  # DynamoDB][1] in the *Amazon DynamoDB Developer Guide*.
6058
6636
  #
@@ -6135,7 +6713,7 @@ module Aws::DynamoDB
6135
6713
  # key: { # required
6136
6714
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6137
6715
  # },
6138
- # table_name: "TableName", # required
6716
+ # table_name: "TableArn", # required
6139
6717
  # projection_expression: "ProjectionExpression",
6140
6718
  # expression_attribute_names: {
6141
6719
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6305,7 +6883,7 @@ module Aws::DynamoDB
6305
6883
  # key: { # required
6306
6884
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6307
6885
  # },
6308
- # table_name: "TableName", # required
6886
+ # table_name: "TableArn", # required
6309
6887
  # condition_expression: "ConditionExpression", # required
6310
6888
  # expression_attribute_names: {
6311
6889
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6319,7 +6897,7 @@ module Aws::DynamoDB
6319
6897
  # item: { # required
6320
6898
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6321
6899
  # },
6322
- # table_name: "TableName", # required
6900
+ # table_name: "TableArn", # required
6323
6901
  # condition_expression: "ConditionExpression",
6324
6902
  # expression_attribute_names: {
6325
6903
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6333,7 +6911,7 @@ module Aws::DynamoDB
6333
6911
  # key: { # required
6334
6912
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6335
6913
  # },
6336
- # table_name: "TableName", # required
6914
+ # table_name: "TableArn", # required
6337
6915
  # condition_expression: "ConditionExpression",
6338
6916
  # expression_attribute_names: {
6339
6917
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6348,7 +6926,7 @@ module Aws::DynamoDB
6348
6926
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6349
6927
  # },
6350
6928
  # update_expression: "UpdateExpression", # required
6351
- # table_name: "TableName", # required
6929
+ # table_name: "TableArn", # required
6352
6930
  # condition_expression: "ConditionExpression",
6353
6931
  # expression_attribute_names: {
6354
6932
  # "ExpressionAttributeNameVariable" => "AttributeName",
@@ -6384,11 +6962,11 @@ module Aws::DynamoDB
6384
6962
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
6385
6963
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
6386
6964
  # resp.item_collection_metrics #=> Hash
6387
- # resp.item_collection_metrics["TableName"] #=> Array
6388
- # resp.item_collection_metrics["TableName"][0].item_collection_key #=> Hash
6389
- # resp.item_collection_metrics["TableName"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6390
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb #=> Array
6391
- # resp.item_collection_metrics["TableName"][0].size_estimate_range_gb[0] #=> Float
6965
+ # resp.item_collection_metrics["TableArn"] #=> Array
6966
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key #=> Hash
6967
+ # resp.item_collection_metrics["TableArn"][0].item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
6968
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb #=> Array
6969
+ # resp.item_collection_metrics["TableArn"][0].size_estimate_range_gb[0] #=> Float
6392
6970
  #
6393
6971
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems AWS API Documentation
6394
6972
  #
@@ -6402,6 +6980,18 @@ module Aws::DynamoDB
6402
6980
  # Removes the association of tags from an Amazon DynamoDB resource. You
6403
6981
  # can call `UntagResource` up to five times per second, per account.
6404
6982
  #
6983
+ # * `UntagResource` is an asynchronous operation. If you issue a
6984
+ # ListTagsOfResource request immediately after an `UntagResource`
6985
+ # request, DynamoDB might return your previous tag set, if there was
6986
+ # one, or an empty tag set. This is because `ListTagsOfResource` uses
6987
+ # an eventually consistent query, and the metadata for your tags or
6988
+ # table might not be available at that moment. Wait for a few seconds,
6989
+ # and then try the `ListTagsOfResource` request again.
6990
+ #
6991
+ # * The application or removal of tags using `TagResource` and
6992
+ # `UntagResource` APIs is eventually consistent. `ListTagsOfResource`
6993
+ # API will only reflect the changes after a few seconds.
6994
+ #
6405
6995
  # For an overview on tagging DynamoDB resources, see [Tagging for
6406
6996
  # DynamoDB][1] in the *Amazon DynamoDB Developer Guide*.
6407
6997
  #
@@ -6451,7 +7041,8 @@ module Aws::DynamoDB
6451
7041
  # 35 days.
6452
7042
  #
6453
7043
  # @option params [required, String] :table_name
6454
- # The name of the table.
7044
+ # The name of the table. You can also provide the Amazon Resource Name
7045
+ # (ARN) of the table in this parameter.
6455
7046
  #
6456
7047
  # @option params [required, Types::PointInTimeRecoverySpecification] :point_in_time_recovery_specification
6457
7048
  # Represents the settings used to enable point in time recovery.
@@ -6463,7 +7054,7 @@ module Aws::DynamoDB
6463
7054
  # @example Request syntax with placeholder values
6464
7055
  #
6465
7056
  # resp = client.update_continuous_backups({
6466
- # table_name: "TableName", # required
7057
+ # table_name: "TableArn", # required
6467
7058
  # point_in_time_recovery_specification: { # required
6468
7059
  # point_in_time_recovery_enabled: false, # required
6469
7060
  # },
@@ -6495,7 +7086,8 @@ module Aws::DynamoDB
6495
7086
  # CloudWatch Contributor Insights for DynamoDB for this table.
6496
7087
  #
6497
7088
  # @option params [required, String] :table_name
6498
- # The name of the table.
7089
+ # The name of the table. You can also provide the Amazon Resource Name
7090
+ # (ARN) of the table in this parameter.
6499
7091
  #
6500
7092
  # @option params [String] :index_name
6501
7093
  # The global secondary index name, if applicable.
@@ -6512,7 +7104,7 @@ module Aws::DynamoDB
6512
7104
  # @example Request syntax with placeholder values
6513
7105
  #
6514
7106
  # resp = client.update_contributor_insights({
6515
- # table_name: "TableName", # required
7107
+ # table_name: "TableArn", # required
6516
7108
  # index_name: "IndexName",
6517
7109
  # contributor_insights_action: "ENABLE", # required, accepts ENABLE, DISABLE
6518
7110
  # })
@@ -6538,18 +7130,20 @@ module Aws::DynamoDB
6538
7130
  # have the same key schema, have DynamoDB Streams enabled, and have the
6539
7131
  # same provisioned and maximum write capacity units.
6540
7132
  #
6541
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
6542
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
6543
- # when creating new global tables, as it provides greater flexibility,
6544
- # higher efficiency and consumes less write capacity than 2017.11.29
6545
- # (Legacy). To determine which version you are using, see [Determining
6546
- # the version][3]. To update existing global tables from version
6547
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
6548
- # global tables][4].
7133
+ # This documentation is for version 2017.11.29 (Legacy) of global
7134
+ # tables, which should be avoided for new global tables. Customers
7135
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
7136
+ # possible, because it provides greater flexibility, higher efficiency,
7137
+ # and consumes less write capacity than 2017.11.29 (Legacy).
7138
+ #
7139
+ # To determine which version you're using, see [Determining the global
7140
+ # table version you are using][2]. To update existing global tables from
7141
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
7142
+ # [Upgrading global tables][3].
6549
7143
  #
6550
- # <note markdown="1"> This operation only applies to [Version 2017.11.29][1] of global
6551
- # tables. If you are using global tables [Version 2019.11.21][2] you can
6552
- # use [DescribeTable][5] instead.
7144
+ # <note markdown="1"> For global tables, this operation only applies to global tables using
7145
+ # Version 2019.11.21 (Current version). If you are using global tables
7146
+ # [Version 2019.11.21][1] you can use [UpdateTable][4] instead.
6553
7147
  #
6554
7148
  # Although you can use `UpdateGlobalTable` to add replicas and remove
6555
7149
  # replicas in a single request, for simplicity we recommend that you
@@ -6570,11 +7164,10 @@ module Aws::DynamoDB
6570
7164
  #
6571
7165
  #
6572
7166
  #
6573
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
6574
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
6575
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
6576
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
6577
- # [5]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html
7167
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
7168
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
7169
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
7170
+ # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html
6578
7171
  #
6579
7172
  # @option params [required, String] :global_table_name
6580
7173
  # The global table name.
@@ -6612,9 +7205,17 @@ module Aws::DynamoDB
6612
7205
  # resp.global_table_description.replication_group[0].replica_status_percent_progress #=> String
6613
7206
  # resp.global_table_description.replication_group[0].kms_master_key_id #=> String
6614
7207
  # resp.global_table_description.replication_group[0].provisioned_throughput_override.read_capacity_units #=> Integer
7208
+ # resp.global_table_description.replication_group[0].on_demand_throughput_override.max_read_request_units #=> Integer
7209
+ # resp.global_table_description.replication_group[0].warm_throughput.read_units_per_second #=> Integer
7210
+ # resp.global_table_description.replication_group[0].warm_throughput.write_units_per_second #=> Integer
7211
+ # resp.global_table_description.replication_group[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
6615
7212
  # resp.global_table_description.replication_group[0].global_secondary_indexes #=> Array
6616
7213
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].index_name #=> String
6617
7214
  # resp.global_table_description.replication_group[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
7215
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
7216
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
7217
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
7218
+ # resp.global_table_description.replication_group[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
6618
7219
  # resp.global_table_description.replication_group[0].replica_inaccessible_date_time #=> Time
6619
7220
  # resp.global_table_description.replication_group[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
6620
7221
  # resp.global_table_description.replication_group[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -6634,21 +7235,22 @@ module Aws::DynamoDB
6634
7235
 
6635
7236
  # Updates settings for a global table.
6636
7237
  #
6637
- # This operation only applies to [Version 2017.11.29 (Legacy)][1] of
6638
- # global tables. We recommend using [Version 2019.11.21 (Current)][2]
6639
- # when creating new global tables, as it provides greater flexibility,
6640
- # higher efficiency and consumes less write capacity than 2017.11.29
6641
- # (Legacy). To determine which version you are using, see [Determining
6642
- # the version][3]. To update existing global tables from version
6643
- # 2017.11.29 (Legacy) to version 2019.11.21 (Current), see [ Updating
6644
- # global tables][4].
7238
+ # This documentation is for version 2017.11.29 (Legacy) of global
7239
+ # tables, which should be avoided for new global tables. Customers
7240
+ # should use [Global Tables version 2019.11.21 (Current)][1] when
7241
+ # possible, because it provides greater flexibility, higher efficiency,
7242
+ # and consumes less write capacity than 2017.11.29 (Legacy).
6645
7243
  #
7244
+ # To determine which version you're using, see [Determining the global
7245
+ # table version you are using][2]. To update existing global tables from
7246
+ # version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see
7247
+ # [Upgrading global tables][3].
6646
7248
  #
6647
7249
  #
6648
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html
6649
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
6650
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
6651
- # [4]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
7250
+ #
7251
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
7252
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.DetermineVersion.html
7253
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_upgrade.html
6652
7254
  #
6653
7255
  # @option params [required, String] :global_table_name
6654
7256
  # The name of the global table
@@ -6660,16 +7262,16 @@ module Aws::DynamoDB
6660
7262
  #
6661
7263
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
6662
7264
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
6663
- # Mode][1].
7265
+ # capacity mode][1].
6664
7266
  #
6665
7267
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
6666
7268
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
6667
- # [On-Demand Mode][2].
7269
+ # [On-demand capacity mode][2].
6668
7270
  #
6669
7271
  #
6670
7272
  #
6671
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
6672
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
7273
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
7274
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
6673
7275
  #
6674
7276
  # @option params [Integer] :global_table_provisioned_write_capacity_units
6675
7277
  # The maximum number of writes consumed per second before DynamoDB
@@ -6857,7 +7459,8 @@ module Aws::DynamoDB
6857
7459
  # `UpdateItem` operation using the `ReturnValues` parameter.
6858
7460
  #
6859
7461
  # @option params [required, String] :table_name
6860
- # The name of the table containing the item to update.
7462
+ # The name of the table containing the item to update. You can also
7463
+ # provide the Amazon Resource Name (ARN) of the table in this parameter.
6861
7464
  #
6862
7465
  # @option params [required, Hash<String,Types::AttributeValue>] :key
6863
7466
  # The primary key of the item to be updated. Each element consists of an
@@ -6967,7 +7570,6 @@ module Aws::DynamoDB
6967
7570
  # * `list_append (operand, operand)` - evaluates to a list with a new
6968
7571
  # element added to it. You can append the new element to the start
6969
7572
  # or the end of the list by reversing the order of the operands.
6970
- #
6971
7573
  # These function names are case-sensitive.
6972
7574
  #
6973
7575
  # * `REMOVE` - Removes one or more attributes from an item.
@@ -7007,7 +7609,6 @@ module Aws::DynamoDB
7007
7609
  # Both sets must have the same primitive data type. For example, if
7008
7610
  # the existing data type is a set of strings, the `Value` must also
7009
7611
  # be a set of strings.
7010
- #
7011
7612
  # The `ADD` action only supports Number and set data types. In
7012
7613
  # addition, `ADD` can only be used on top-level attributes, not nested
7013
7614
  # attributes.
@@ -7081,7 +7682,7 @@ module Aws::DynamoDB
7081
7682
  # Developer Guide*.) To work around this, you could specify the
7082
7683
  # following for `ExpressionAttributeNames`:
7083
7684
  #
7084
- # * `\{"#P":"Percentile"\}`
7685
+ # * `{"#P":"Percentile"}`
7085
7686
  #
7086
7687
  # ^
7087
7688
  #
@@ -7117,8 +7718,8 @@ module Aws::DynamoDB
7117
7718
  # You would first need to specify `ExpressionAttributeValues` as
7118
7719
  # follows:
7119
7720
  #
7120
- # `\{ ":avail":\{"S":"Available"\}, ":back":\{"S":"Backordered"\},
7121
- # ":disc":\{"S":"Discontinued"\} \}`
7721
+ # `{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"},
7722
+ # ":disc":{"S":"Discontinued"} }`
7122
7723
  #
7123
7724
  # You could then use these values in an expression, such as this:
7124
7725
  #
@@ -7182,7 +7783,7 @@ module Aws::DynamoDB
7182
7783
  # @example Request syntax with placeholder values
7183
7784
  #
7184
7785
  # resp = client.update_item({
7185
- # table_name: "TableName", # required
7786
+ # table_name: "TableArn", # required
7186
7787
  # key: { # required
7187
7788
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7188
7789
  # },
@@ -7248,11 +7849,56 @@ module Aws::DynamoDB
7248
7849
  req.send_request(options)
7249
7850
  end
7250
7851
 
7852
+ # The command to update the Kinesis stream destination.
7853
+ #
7854
+ # @option params [required, String] :table_name
7855
+ # The table name for the Kinesis streaming destination input. You can
7856
+ # also provide the ARN of the table in this parameter.
7857
+ #
7858
+ # @option params [required, String] :stream_arn
7859
+ # The Amazon Resource Name (ARN) for the Kinesis stream input.
7860
+ #
7861
+ # @option params [Types::UpdateKinesisStreamingConfiguration] :update_kinesis_streaming_configuration
7862
+ # The command to update the Kinesis stream configuration.
7863
+ #
7864
+ # @return [Types::UpdateKinesisStreamingDestinationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7865
+ #
7866
+ # * {Types::UpdateKinesisStreamingDestinationOutput#table_name #table_name} => String
7867
+ # * {Types::UpdateKinesisStreamingDestinationOutput#stream_arn #stream_arn} => String
7868
+ # * {Types::UpdateKinesisStreamingDestinationOutput#destination_status #destination_status} => String
7869
+ # * {Types::UpdateKinesisStreamingDestinationOutput#update_kinesis_streaming_configuration #update_kinesis_streaming_configuration} => Types::UpdateKinesisStreamingConfiguration
7870
+ #
7871
+ # @example Request syntax with placeholder values
7872
+ #
7873
+ # resp = client.update_kinesis_streaming_destination({
7874
+ # table_name: "TableArn", # required
7875
+ # stream_arn: "StreamArn", # required
7876
+ # update_kinesis_streaming_configuration: {
7877
+ # approximate_creation_date_time_precision: "MILLISECOND", # accepts MILLISECOND, MICROSECOND
7878
+ # },
7879
+ # })
7880
+ #
7881
+ # @example Response structure
7882
+ #
7883
+ # resp.table_name #=> String
7884
+ # resp.stream_arn #=> String
7885
+ # resp.destination_status #=> String, one of "ENABLING", "ACTIVE", "DISABLING", "DISABLED", "ENABLE_FAILED", "UPDATING"
7886
+ # resp.update_kinesis_streaming_configuration.approximate_creation_date_time_precision #=> String, one of "MILLISECOND", "MICROSECOND"
7887
+ #
7888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateKinesisStreamingDestination AWS API Documentation
7889
+ #
7890
+ # @overload update_kinesis_streaming_destination(params = {})
7891
+ # @param [Hash] params ({})
7892
+ def update_kinesis_streaming_destination(params = {}, options = {})
7893
+ req = build_request(:update_kinesis_streaming_destination, params)
7894
+ req.send_request(options)
7895
+ end
7896
+
7251
7897
  # Modifies the provisioned throughput settings, global secondary
7252
7898
  # indexes, or DynamoDB Streams settings for a given table.
7253
7899
  #
7254
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
7255
- # global tables.
7900
+ # For global tables, this operation only applies to global tables using
7901
+ # Version 2019.11.21 (Current version).
7256
7902
  #
7257
7903
  # You can only perform one of the following operations at once:
7258
7904
  #
@@ -7264,16 +7910,12 @@ module Aws::DynamoDB
7264
7910
  # begins backfilling, you can use `UpdateTable` to perform other
7265
7911
  # operations.
7266
7912
  #
7267
- # `UpdateTable` is an asynchronous operation; while it is executing, the
7268
- # table status changes from `ACTIVE` to `UPDATING`. While it is
7269
- # `UPDATING`, you cannot issue another `UpdateTable` request. When the
7913
+ # `UpdateTable` is an asynchronous operation; while it's executing, the
7914
+ # table status changes from `ACTIVE` to `UPDATING`. While it's
7915
+ # `UPDATING`, you can't issue another `UpdateTable` request. When the
7270
7916
  # table returns to the `ACTIVE` state, the `UpdateTable` operation is
7271
7917
  # complete.
7272
7918
  #
7273
- #
7274
- #
7275
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
7276
- #
7277
7919
  # @option params [Array<Types::AttributeDefinition>] :attribute_definitions
7278
7920
  # An array of attributes that describe the key schema for the table and
7279
7921
  # indexes. If you are adding a new global secondary index to the table,
@@ -7281,7 +7923,8 @@ module Aws::DynamoDB
7281
7923
  # index.
7282
7924
  #
7283
7925
  # @option params [required, String] :table_name
7284
- # The name of the table to be updated.
7926
+ # The name of the table to be updated. You can also provide the Amazon
7927
+ # Resource Name (ARN) of the table in this parameter.
7285
7928
  #
7286
7929
  # @option params [String] :billing_mode
7287
7930
  # Controls how you are charged for read and write throughput and how you
@@ -7293,16 +7936,16 @@ module Aws::DynamoDB
7293
7936
  #
7294
7937
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
7295
7938
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
7296
- # Mode][1].
7939
+ # capacity mode][1].
7297
7940
  #
7298
7941
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
7299
7942
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
7300
- # [On-Demand Mode][2].
7943
+ # [On-demand capacity mode][2].
7301
7944
  #
7302
7945
  #
7303
7946
  #
7304
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
7305
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
7947
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
7948
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
7306
7949
  #
7307
7950
  # @option params [Types::ProvisionedThroughput] :provisioned_throughput
7308
7951
  # The new provisioned throughput settings for the specified table or
@@ -7332,9 +7975,9 @@ module Aws::DynamoDB
7332
7975
  # @option params [Types::StreamSpecification] :stream_specification
7333
7976
  # Represents the DynamoDB Streams configuration for the table.
7334
7977
  #
7335
- # <note markdown="1"> You receive a `ResourceInUseException` if you try to enable a stream
7336
- # on a table that already has a stream, or if you try to disable a
7337
- # stream on a table that doesn't have a stream.
7978
+ # <note markdown="1"> You receive a `ValidationException` if you try to enable a stream on a
7979
+ # table that already has a stream, or if you try to disable a stream on
7980
+ # a table that doesn't have a stream.
7338
7981
  #
7339
7982
  # </note>
7340
7983
  #
@@ -7345,15 +7988,11 @@ module Aws::DynamoDB
7345
7988
  # A list of replica update actions (create, delete, or update) for the
7346
7989
  # table.
7347
7990
  #
7348
- # <note markdown="1"> This property only applies to [Version 2019.11.21 (Current)][1] of
7349
- # global tables.
7991
+ # <note markdown="1"> For global tables, this property only applies to global tables using
7992
+ # Version 2019.11.21 (Current version).
7350
7993
  #
7351
7994
  # </note>
7352
7995
  #
7353
- #
7354
- #
7355
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
7356
- #
7357
7996
  # @option params [String] :table_class
7358
7997
  # The table class of the table to be updated. Valid values are
7359
7998
  # `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
@@ -7362,6 +8001,43 @@ module Aws::DynamoDB
7362
8001
  # Indicates whether deletion protection is to be enabled (true) or
7363
8002
  # disabled (false) on the table.
7364
8003
  #
8004
+ # @option params [String] :multi_region_consistency
8005
+ # Specifies the consistency mode for a new global table. This parameter
8006
+ # is only valid when you create a global table by specifying one or more
8007
+ # [Create][1] actions in the [ReplicaUpdates][2] action list.
8008
+ #
8009
+ # You can specify one of the following consistency modes:
8010
+ #
8011
+ # * `EVENTUAL`: Configures a new global table for multi-Region eventual
8012
+ # consistency. This is the default consistency mode for global tables.
8013
+ #
8014
+ # * `STRONG`: Configures a new global table for multi-Region strong
8015
+ # consistency (preview).
8016
+ #
8017
+ # <note markdown="1"> Multi-Region strong consistency (MRSC) is a new DynamoDB global
8018
+ # tables capability currently available in preview mode. For more
8019
+ # information, see [Global tables multi-Region strong consistency][3].
8020
+ #
8021
+ # </note>
8022
+ #
8023
+ # If you don't specify this parameter, the global table consistency
8024
+ # mode defaults to `EVENTUAL`.
8025
+ #
8026
+ #
8027
+ #
8028
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create
8029
+ # [2]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates
8030
+ # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PreviewFeatures.html#multi-region-strong-consistency-gt
8031
+ #
8032
+ # @option params [Types::OnDemandThroughput] :on_demand_throughput
8033
+ # Updates the maximum number of read and write units for the specified
8034
+ # table in on-demand capacity mode. If you use this parameter, you must
8035
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
8036
+ #
8037
+ # @option params [Types::WarmThroughput] :warm_throughput
8038
+ # Represents the warm throughput (in read units per second and write
8039
+ # units per second) for updating a table.
8040
+ #
7365
8041
  # @return [Types::UpdateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7366
8042
  #
7367
8043
  # * {Types::UpdateTableOutput#table_description #table_description} => Types::TableDescription
@@ -7425,7 +8101,7 @@ module Aws::DynamoDB
7425
8101
  # attribute_type: "S", # required, accepts S, N, B
7426
8102
  # },
7427
8103
  # ],
7428
- # table_name: "TableName", # required
8104
+ # table_name: "TableArn", # required
7429
8105
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
7430
8106
  # provisioned_throughput: {
7431
8107
  # read_capacity_units: 1, # required
@@ -7435,10 +8111,18 @@ module Aws::DynamoDB
7435
8111
  # {
7436
8112
  # update: {
7437
8113
  # index_name: "IndexName", # required
7438
- # provisioned_throughput: { # required
8114
+ # provisioned_throughput: {
7439
8115
  # read_capacity_units: 1, # required
7440
8116
  # write_capacity_units: 1, # required
7441
8117
  # },
8118
+ # on_demand_throughput: {
8119
+ # max_read_request_units: 1,
8120
+ # max_write_request_units: 1,
8121
+ # },
8122
+ # warm_throughput: {
8123
+ # read_units_per_second: 1,
8124
+ # write_units_per_second: 1,
8125
+ # },
7442
8126
  # },
7443
8127
  # create: {
7444
8128
  # index_name: "IndexName", # required
@@ -7456,6 +8140,14 @@ module Aws::DynamoDB
7456
8140
  # read_capacity_units: 1, # required
7457
8141
  # write_capacity_units: 1, # required
7458
8142
  # },
8143
+ # on_demand_throughput: {
8144
+ # max_read_request_units: 1,
8145
+ # max_write_request_units: 1,
8146
+ # },
8147
+ # warm_throughput: {
8148
+ # read_units_per_second: 1,
8149
+ # write_units_per_second: 1,
8150
+ # },
7459
8151
  # },
7460
8152
  # delete: {
7461
8153
  # index_name: "IndexName", # required
@@ -7479,12 +8171,18 @@ module Aws::DynamoDB
7479
8171
  # provisioned_throughput_override: {
7480
8172
  # read_capacity_units: 1,
7481
8173
  # },
8174
+ # on_demand_throughput_override: {
8175
+ # max_read_request_units: 1,
8176
+ # },
7482
8177
  # global_secondary_indexes: [
7483
8178
  # {
7484
8179
  # index_name: "IndexName", # required
7485
8180
  # provisioned_throughput_override: {
7486
8181
  # read_capacity_units: 1,
7487
8182
  # },
8183
+ # on_demand_throughput_override: {
8184
+ # max_read_request_units: 1,
8185
+ # },
7488
8186
  # },
7489
8187
  # ],
7490
8188
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -7495,12 +8193,18 @@ module Aws::DynamoDB
7495
8193
  # provisioned_throughput_override: {
7496
8194
  # read_capacity_units: 1,
7497
8195
  # },
8196
+ # on_demand_throughput_override: {
8197
+ # max_read_request_units: 1,
8198
+ # },
7498
8199
  # global_secondary_indexes: [
7499
8200
  # {
7500
8201
  # index_name: "IndexName", # required
7501
8202
  # provisioned_throughput_override: {
7502
8203
  # read_capacity_units: 1,
7503
8204
  # },
8205
+ # on_demand_throughput_override: {
8206
+ # max_read_request_units: 1,
8207
+ # },
7504
8208
  # },
7505
8209
  # ],
7506
8210
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -7512,6 +8216,15 @@ module Aws::DynamoDB
7512
8216
  # ],
7513
8217
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
7514
8218
  # deletion_protection_enabled: false,
8219
+ # multi_region_consistency: "EVENTUAL", # accepts EVENTUAL, STRONG
8220
+ # on_demand_throughput: {
8221
+ # max_read_request_units: 1,
8222
+ # max_write_request_units: 1,
8223
+ # },
8224
+ # warm_throughput: {
8225
+ # read_units_per_second: 1,
8226
+ # write_units_per_second: 1,
8227
+ # },
7515
8228
  # })
7516
8229
  #
7517
8230
  # @example Response structure
@@ -7565,6 +8278,11 @@ module Aws::DynamoDB
7565
8278
  # resp.table_description.global_secondary_indexes[0].index_size_bytes #=> Integer
7566
8279
  # resp.table_description.global_secondary_indexes[0].item_count #=> Integer
7567
8280
  # resp.table_description.global_secondary_indexes[0].index_arn #=> String
8281
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_read_request_units #=> Integer
8282
+ # resp.table_description.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
8283
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
8284
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
8285
+ # resp.table_description.global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
7568
8286
  # resp.table_description.stream_specification.stream_enabled #=> Boolean
7569
8287
  # resp.table_description.stream_specification.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
7570
8288
  # resp.table_description.latest_stream_label #=> String
@@ -7577,9 +8295,17 @@ module Aws::DynamoDB
7577
8295
  # resp.table_description.replicas[0].replica_status_percent_progress #=> String
7578
8296
  # resp.table_description.replicas[0].kms_master_key_id #=> String
7579
8297
  # resp.table_description.replicas[0].provisioned_throughput_override.read_capacity_units #=> Integer
8298
+ # resp.table_description.replicas[0].on_demand_throughput_override.max_read_request_units #=> Integer
8299
+ # resp.table_description.replicas[0].warm_throughput.read_units_per_second #=> Integer
8300
+ # resp.table_description.replicas[0].warm_throughput.write_units_per_second #=> Integer
8301
+ # resp.table_description.replicas[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
7580
8302
  # resp.table_description.replicas[0].global_secondary_indexes #=> Array
7581
8303
  # resp.table_description.replicas[0].global_secondary_indexes[0].index_name #=> String
7582
8304
  # resp.table_description.replicas[0].global_secondary_indexes[0].provisioned_throughput_override.read_capacity_units #=> Integer
8305
+ # resp.table_description.replicas[0].global_secondary_indexes[0].on_demand_throughput_override.max_read_request_units #=> Integer
8306
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
8307
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
8308
+ # resp.table_description.replicas[0].global_secondary_indexes[0].warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
7583
8309
  # resp.table_description.replicas[0].replica_inaccessible_date_time #=> Time
7584
8310
  # resp.table_description.replicas[0].replica_table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
7585
8311
  # resp.table_description.replicas[0].replica_table_class_summary.last_update_date_time #=> Time
@@ -7597,6 +8323,12 @@ module Aws::DynamoDB
7597
8323
  # resp.table_description.table_class_summary.table_class #=> String, one of "STANDARD", "STANDARD_INFREQUENT_ACCESS"
7598
8324
  # resp.table_description.table_class_summary.last_update_date_time #=> Time
7599
8325
  # resp.table_description.deletion_protection_enabled #=> Boolean
8326
+ # resp.table_description.on_demand_throughput.max_read_request_units #=> Integer
8327
+ # resp.table_description.on_demand_throughput.max_write_request_units #=> Integer
8328
+ # resp.table_description.warm_throughput.read_units_per_second #=> Integer
8329
+ # resp.table_description.warm_throughput.write_units_per_second #=> Integer
8330
+ # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED"
8331
+ # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
7600
8332
  #
7601
8333
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable AWS API Documentation
7602
8334
  #
@@ -7609,19 +8341,16 @@ module Aws::DynamoDB
7609
8341
 
7610
8342
  # Updates auto scaling settings on your global tables at once.
7611
8343
  #
7612
- # This operation only applies to [Version 2019.11.21 (Current)][1] of
7613
- # global tables.
7614
- #
7615
- #
7616
- #
7617
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
8344
+ # For global tables, this operation only applies to global tables using
8345
+ # Version 2019.11.21 (Current version).
7618
8346
  #
7619
8347
  # @option params [Array<Types::GlobalSecondaryIndexAutoScalingUpdate>] :global_secondary_index_updates
7620
8348
  # Represents the auto scaling settings of the global secondary indexes
7621
8349
  # of the replica to be updated.
7622
8350
  #
7623
8351
  # @option params [required, String] :table_name
7624
- # The name of the global table to be updated.
8352
+ # The name of the global table to be updated. You can also provide the
8353
+ # Amazon Resource Name (ARN) of the table in this parameter.
7625
8354
  #
7626
8355
  # @option params [Types::AutoScalingSettingsUpdate] :provisioned_write_capacity_auto_scaling_update
7627
8356
  # Represents the auto scaling settings to be modified for a global table
@@ -7658,7 +8387,7 @@ module Aws::DynamoDB
7658
8387
  # },
7659
8388
  # },
7660
8389
  # ],
7661
- # table_name: "TableName", # required
8390
+ # table_name: "TableArn", # required
7662
8391
  # provisioned_write_capacity_auto_scaling_update: {
7663
8392
  # minimum_units: 1,
7664
8393
  # maximum_units: 1,
@@ -7814,7 +8543,8 @@ module Aws::DynamoDB
7814
8543
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html
7815
8544
  #
7816
8545
  # @option params [required, String] :table_name
7817
- # The name of the table to be configured.
8546
+ # The name of the table to be configured. You can also provide the
8547
+ # Amazon Resource Name (ARN) of the table in this parameter.
7818
8548
  #
7819
8549
  # @option params [required, Types::TimeToLiveSpecification] :time_to_live_specification
7820
8550
  # Represents the settings used to enable or disable Time to Live for the
@@ -7827,7 +8557,7 @@ module Aws::DynamoDB
7827
8557
  # @example Request syntax with placeholder values
7828
8558
  #
7829
8559
  # resp = client.update_time_to_live({
7830
- # table_name: "TableName", # required
8560
+ # table_name: "TableArn", # required
7831
8561
  # time_to_live_specification: { # required
7832
8562
  # enabled: false, # required
7833
8563
  # attribute_name: "TimeToLiveAttributeName", # required
@@ -7854,14 +8584,19 @@ module Aws::DynamoDB
7854
8584
  # @api private
7855
8585
  def build_request(operation_name, params = {})
7856
8586
  handlers = @handlers.for(operation_name)
8587
+ tracer = config.telemetry_provider.tracer_provider.tracer(
8588
+ Aws::Telemetry.module_to_tracer_name('Aws::DynamoDB')
8589
+ )
7857
8590
  context = Seahorse::Client::RequestContext.new(
7858
8591
  operation_name: operation_name,
7859
8592
  operation: config.api.operation(operation_name),
7860
8593
  client: self,
7861
8594
  params: params,
7862
- config: config)
8595
+ config: config,
8596
+ tracer: tracer
8597
+ )
7863
8598
  context[:gem_name] = 'aws-sdk-dynamodb'
7864
- context[:gem_version] = '1.96.0'
8599
+ context[:gem_version] = '1.132.0'
7865
8600
  Seahorse::Client::Request.new(handlers, context)
7866
8601
  end
7867
8602