aws-sdk-dynamodb 1.93.0 → 1.110.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,9 +21,11 @@ module Aws
21
21
  def data_to_http_resp(operation_name, data)
22
22
  api = config.api
23
23
  operation = api.operation(operation_name)
24
- translator = Plugins::SimpleAttributes::ValueTranslator
25
- translator = translator.new(operation.output, :marshal)
26
- data = translator.apply(data)
24
+ if config.simple_attributes
25
+ translator = Plugins::SimpleAttributes::ValueTranslator
26
+ translator = translator.new(operation.output, :marshal)
27
+ data = translator.apply(data)
28
+ end
27
29
  ParamValidator.validate!(operation.output, data)
28
30
  protocol_helper.stub_data(api, operation, data)
29
31
  end
@@ -32,8 +32,8 @@ module Aws::DynamoDB
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
- if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
+ if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
37
37
  return Aws::Endpoints::Endpoint.new(url: "https://dynamodb.#{region}.amazonaws.com", headers: {}, properties: {})
38
38
  end
39
39
  return Aws::Endpoints::Endpoint.new(url: "https://dynamodb-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
@@ -124,6 +124,20 @@ module Aws::DynamoDB
124
124
  end
125
125
  end
126
126
 
127
+ class DeleteResourcePolicy
128
+ def self.build(context)
129
+ unless context.config.regional_endpoint
130
+ endpoint = context.config.endpoint.to_s
131
+ end
132
+ Aws::DynamoDB::EndpointParameters.new(
133
+ region: context.config.region,
134
+ use_dual_stack: context.config.use_dualstack_endpoint,
135
+ use_fips: context.config.use_fips_endpoint,
136
+ endpoint: endpoint,
137
+ )
138
+ end
139
+ end
140
+
127
141
  class DeleteTable
128
142
  def self.build(context)
129
143
  unless context.config.regional_endpoint
@@ -404,6 +418,20 @@ module Aws::DynamoDB
404
418
  end
405
419
  end
406
420
 
421
+ class GetResourcePolicy
422
+ def self.build(context)
423
+ unless context.config.regional_endpoint
424
+ endpoint = context.config.endpoint.to_s
425
+ end
426
+ Aws::DynamoDB::EndpointParameters.new(
427
+ region: context.config.region,
428
+ use_dual_stack: context.config.use_dualstack_endpoint,
429
+ use_fips: context.config.use_fips_endpoint,
430
+ endpoint: endpoint,
431
+ )
432
+ end
433
+ end
434
+
407
435
  class ImportTable
408
436
  def self.build(context)
409
437
  unless context.config.regional_endpoint
@@ -530,6 +558,20 @@ module Aws::DynamoDB
530
558
  end
531
559
  end
532
560
 
561
+ class PutResourcePolicy
562
+ def self.build(context)
563
+ unless context.config.regional_endpoint
564
+ endpoint = context.config.endpoint.to_s
565
+ end
566
+ Aws::DynamoDB::EndpointParameters.new(
567
+ region: context.config.region,
568
+ use_dual_stack: context.config.use_dualstack_endpoint,
569
+ use_fips: context.config.use_fips_endpoint,
570
+ endpoint: endpoint,
571
+ )
572
+ end
573
+ end
574
+
533
575
  class Query
534
576
  def self.build(context)
535
577
  unless context.config.regional_endpoint
@@ -712,6 +754,20 @@ module Aws::DynamoDB
712
754
  end
713
755
  end
714
756
 
757
+ class UpdateKinesisStreamingDestination
758
+ def self.build(context)
759
+ unless context.config.regional_endpoint
760
+ endpoint = context.config.endpoint.to_s
761
+ end
762
+ Aws::DynamoDB::EndpointParameters.new(
763
+ region: context.config.region,
764
+ use_dual_stack: context.config.use_dualstack_endpoint,
765
+ use_fips: context.config.use_fips_endpoint,
766
+ endpoint: endpoint,
767
+ )
768
+ end
769
+ end
770
+
715
771
  class UpdateTable
716
772
  def self.build(context)
717
773
  unless context.config.regional_endpoint
@@ -46,6 +46,7 @@ module Aws::DynamoDB
46
46
  # * {ItemCollectionSizeLimitExceededException}
47
47
  # * {LimitExceededException}
48
48
  # * {PointInTimeRecoveryUnavailableException}
49
+ # * {PolicyNotFoundException}
49
50
  # * {ProvisionedThroughputExceededException}
50
51
  # * {ReplicaAlreadyExistsException}
51
52
  # * {ReplicaNotFoundException}
@@ -355,6 +356,21 @@ module Aws::DynamoDB
355
356
  end
356
357
  end
357
358
 
359
+ class PolicyNotFoundException < ServiceError
360
+
361
+ # @param [Seahorse::Client::RequestContext] context
362
+ # @param [String] message
363
+ # @param [Aws::DynamoDB::Types::PolicyNotFoundException] data
364
+ def initialize(context, message, data = Aws::EmptyStructure.new)
365
+ super(context, message, data)
366
+ end
367
+
368
+ # @return [String]
369
+ def message
370
+ @message || @data[:message]
371
+ end
372
+ end
373
+
358
374
  class ProvisionedThroughputExceededException < ServiceError
359
375
 
360
376
  # @param [Seahorse::Client::RequestContext] context
@@ -14,6 +14,7 @@ module Aws::DynamoDB
14
14
  option(
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::DynamoDB::EndpointProvider',
17
+ rbs_type: 'untyped',
17
18
  docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
19
  'object that responds to `#resolve_endpoint(parameters)` '\
19
20
  'where `parameters` is a Struct similar to '\
@@ -25,16 +26,17 @@ module Aws::DynamoDB
25
26
  # @api private
26
27
  class Handler < Seahorse::Client::Handler
27
28
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
29
  unless context[:discovered_endpoint]
30
30
  params = parameters_for_operation(context)
31
31
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
32
 
33
33
  context.http_request.endpoint = endpoint.url
34
34
  apply_endpoint_headers(context, endpoint.headers)
35
+
36
+ context[:endpoint_params] = params
37
+ context[:endpoint_properties] = endpoint.properties
35
38
  end
36
39
 
37
- context[:endpoint_params] = params
38
40
  context[:auth_scheme] =
39
41
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
42
 
@@ -72,6 +74,8 @@ module Aws::DynamoDB
72
74
  Aws::DynamoDB::Endpoints::DeleteBackup.build(context)
73
75
  when :delete_item
74
76
  Aws::DynamoDB::Endpoints::DeleteItem.build(context)
77
+ when :delete_resource_policy
78
+ Aws::DynamoDB::Endpoints::DeleteResourcePolicy.build(context)
75
79
  when :delete_table
76
80
  Aws::DynamoDB::Endpoints::DeleteTable.build(context)
77
81
  when :describe_backup
@@ -112,6 +116,8 @@ module Aws::DynamoDB
112
116
  Aws::DynamoDB::Endpoints::ExportTableToPointInTime.build(context)
113
117
  when :get_item
114
118
  Aws::DynamoDB::Endpoints::GetItem.build(context)
119
+ when :get_resource_policy
120
+ Aws::DynamoDB::Endpoints::GetResourcePolicy.build(context)
115
121
  when :import_table
116
122
  Aws::DynamoDB::Endpoints::ImportTable.build(context)
117
123
  when :list_backups
@@ -130,6 +136,8 @@ module Aws::DynamoDB
130
136
  Aws::DynamoDB::Endpoints::ListTagsOfResource.build(context)
131
137
  when :put_item
132
138
  Aws::DynamoDB::Endpoints::PutItem.build(context)
139
+ when :put_resource_policy
140
+ Aws::DynamoDB::Endpoints::PutResourcePolicy.build(context)
133
141
  when :query
134
142
  Aws::DynamoDB::Endpoints::Query.build(context)
135
143
  when :restore_table_from_backup
@@ -156,6 +164,8 @@ module Aws::DynamoDB
156
164
  Aws::DynamoDB::Endpoints::UpdateGlobalTableSettings.build(context)
157
165
  when :update_item
158
166
  Aws::DynamoDB::Endpoints::UpdateItem.build(context)
167
+ when :update_kinesis_streaming_destination
168
+ Aws::DynamoDB::Endpoints::UpdateKinesisStreamingDestination.build(context)
159
169
  when :update_table
160
170
  Aws::DynamoDB::Endpoints::UpdateTable.build(context)
161
171
  when :update_table_replica_auto_scaling
@@ -83,11 +83,11 @@ module Aws
83
83
  # # note that the request `:key` had to be type prefixed
84
84
  # resp = dynamodb.get(table_name: 'aws-sdk', key: { 'id' => { s: 'uuid' }})
85
85
  # resp.item
86
- # # {
87
- # # "id"=> <struct s='uuid', n=nil, b=nil, ss=nil, ns=nil, bs=nil, m=nil, l=nil, null=nil, bool=nil>
88
- # # "age"=> <struct s=nil, n="35", b=nil, ss=nil, ns=nil, bs=nil, m=nil, l=nil, null=nil, bool=nil>
89
- # # ...
90
- # # }
86
+ # {
87
+ # "id"=> <struct s='uuid', n=nil, b=nil, ss=nil, ns=nil, bs=nil, m=nil, l=nil, null=nil, bool=nil>
88
+ # "age"=> <struct s=nil, n="35", b=nil, ss=nil, ns=nil, bs=nil, m=nil, l=nil, null=nil, bool=nil>
89
+ # ...
90
+ # }
91
91
  #
92
92
  class SimpleAttributes < Seahorse::Client::Plugin
93
93
 
@@ -119,12 +119,15 @@ their types specified, e.g. `{ s: 'abc' }` instead of simply
119
119
  @handler.call(context).on(200) do |response|
120
120
  response.data = translate_output(response)
121
121
  end
122
+ rescue Aws::Errors::ServiceError => e
123
+ e.data = translate_error_data(context, e.data)
124
+ raise e
122
125
  end
123
126
 
124
127
  private
125
128
 
126
129
  def translate_input(context)
127
- if shape = context.operation.input
130
+ if (shape = context.operation.input)
128
131
  ValueTranslator.new(shape, :marshal).apply(context.params)
129
132
  else
130
133
  context.params
@@ -132,13 +135,24 @@ their types specified, e.g. `{ s: 'abc' }` instead of simply
132
135
  end
133
136
 
134
137
  def translate_output(response)
135
- if shape = response.context.operation.output
138
+ if (shape = response.context.operation.output)
136
139
  ValueTranslator.new(shape, :unmarshal).apply(response.data)
137
140
  else
138
141
  response.data
139
142
  end
140
143
  end
141
144
 
145
+ def translate_error_data(context, error_data)
146
+ shape = context.operation.errors.find do |e|
147
+ error_data.is_a?(e.shape.struct_class)
148
+ end
149
+ if shape
150
+ ValueTranslator.new(shape, :unmarshal).apply(error_data)
151
+ else
152
+ error_data
153
+ end
154
+ end
155
+
142
156
  end
143
157
 
144
158
  # @api private
@@ -39,7 +39,7 @@ module Aws::DynamoDB
39
39
  #
40
40
  # dynamo_db.batch_get_item({
41
41
  # request_items: { # required
42
- # "TableName" => {
42
+ # "TableArn" => {
43
43
  # keys: [ # required
44
44
  # {
45
45
  # "AttributeName" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
@@ -57,9 +57,9 @@ module Aws::DynamoDB
57
57
  # })
58
58
  # @param [Hash] options ({})
59
59
  # @option options [required, Hash<String,Types::KeysAndAttributes>] :request_items
60
- # A map of one or more table names and, for each table, a map that
61
- # describes one or more items to retrieve from that table. Each table
62
- # name can be used only once per `BatchGetItem` request.
60
+ # A map of one or more table names or table ARNs and, for each table, a
61
+ # map that describes one or more items to retrieve from that table. Each
62
+ # table name or ARN can be used only once per `BatchGetItem` request.
63
63
  #
64
64
  # Each element in the map of items to retrieve consists of the
65
65
  # following:
@@ -170,7 +170,7 @@ module Aws::DynamoDB
170
170
  #
171
171
  # dynamo_db.batch_write_item({
172
172
  # request_items: { # required
173
- # "TableName" => [
173
+ # "TableArn" => [
174
174
  # {
175
175
  # put_request: {
176
176
  # item: { # required
@@ -190,9 +190,9 @@ module Aws::DynamoDB
190
190
  # })
191
191
  # @param [Hash] options ({})
192
192
  # @option options [required, Hash<String,Array>] :request_items
193
- # A map of one or more table names and, for each table, a list of
194
- # operations to be performed (`DeleteRequest` or `PutRequest`). Each
195
- # element in the map consists of the following:
193
+ # A map of one or more table names or table ARNs and, for each table, a
194
+ # list of operations to be performed (`DeleteRequest` or `PutRequest`).
195
+ # Each element in the map consists of the following:
196
196
  #
197
197
  # * `DeleteRequest` - Perform a `DeleteItem` operation on the specified
198
198
  # item. The item to be deleted is identified by a `Key` subelement:
@@ -258,7 +258,7 @@ module Aws::DynamoDB
258
258
  # attribute_type: "S", # required, accepts S, N, B
259
259
  # },
260
260
  # ],
261
- # table_name: "TableName", # required
261
+ # table_name: "TableArn", # required
262
262
  # key_schema: [ # required
263
263
  # {
264
264
  # attribute_name: "KeySchemaAttributeName", # required
@@ -297,6 +297,10 @@ module Aws::DynamoDB
297
297
  # read_capacity_units: 1, # required
298
298
  # write_capacity_units: 1, # required
299
299
  # },
300
+ # on_demand_throughput: {
301
+ # max_read_request_units: 1,
302
+ # max_write_request_units: 1,
303
+ # },
300
304
  # },
301
305
  # ],
302
306
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
@@ -321,13 +325,19 @@ module Aws::DynamoDB
321
325
  # ],
322
326
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
323
327
  # deletion_protection_enabled: false,
328
+ # resource_policy: "ResourcePolicy",
329
+ # on_demand_throughput: {
330
+ # max_read_request_units: 1,
331
+ # max_write_request_units: 1,
332
+ # },
324
333
  # })
325
334
  # @param [Hash] options ({})
326
335
  # @option options [required, Array<Types::AttributeDefinition>] :attribute_definitions
327
336
  # An array of attributes that describe the key schema for the table and
328
337
  # indexes.
329
338
  # @option options [required, String] :table_name
330
- # The name of the table to create.
339
+ # The name of the table to create. You can also provide the Amazon
340
+ # Resource Name (ARN) of the table in this parameter.
331
341
  # @option options [required, Array<Types::KeySchemaElement>] :key_schema
332
342
  # Specifies the attributes that make up the primary key for a table or
333
343
  # an index. The attributes in `KeySchema` must also be defined in the
@@ -457,16 +467,16 @@ module Aws::DynamoDB
457
467
  #
458
468
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
459
469
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
460
- # Mode][1].
470
+ # capacity mode][1].
461
471
  #
462
472
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
463
473
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
464
- # [On-Demand Mode][2].
474
+ # [On-demand capacity mode][2].
465
475
  #
466
476
  #
467
477
  #
468
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
469
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
478
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
479
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
470
480
  # @option options [Types::ProvisionedThroughput] :provisioned_throughput
471
481
  # Represents the provisioned throughput settings for a specified table
472
482
  # or index. The settings can be modified using the `UpdateTable`
@@ -520,6 +530,26 @@ module Aws::DynamoDB
520
530
  # @option options [Boolean] :deletion_protection_enabled
521
531
  # Indicates whether deletion protection is to be enabled (true) or
522
532
  # disabled (false) on the table.
533
+ # @option options [String] :resource_policy
534
+ # An Amazon Web Services resource-based policy document in JSON format
535
+ # that will be attached to the table.
536
+ #
537
+ # When you attach a resource-based policy while creating a table, the
538
+ # policy application is *strongly consistent*.
539
+ #
540
+ # The maximum size supported for a resource-based policy document is 20
541
+ # KB. DynamoDB counts whitespaces when calculating the size of a policy
542
+ # against this limit. For a full list of all considerations that apply
543
+ # for resource-based policies, see [Resource-based policy
544
+ # considerations][1].
545
+ #
546
+ #
547
+ #
548
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
549
+ # @option options [Types::OnDemandThroughput] :on_demand_throughput
550
+ # Sets the maximum number of read and write units for the specified
551
+ # table in on-demand capacity mode. If you use this parameter, you must
552
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
523
553
  # @return [Table]
524
554
  def create_table(options = {})
525
555
  resp = Aws::Plugins::UserAgent.feature('resource') do
@@ -370,6 +370,14 @@ module Aws::DynamoDB
370
370
  data[:deletion_protection_enabled]
371
371
  end
372
372
 
373
+ # The maximum number of read and write units for the specified on-demand
374
+ # table. If you use this parameter, you must specify
375
+ # `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
376
+ # @return [Types::OnDemandThroughput]
377
+ def on_demand_throughput
378
+ data[:on_demand_throughput]
379
+ end
380
+
373
381
  # @!endgroup
374
382
 
375
383
  # @return [Client]
@@ -1298,7 +1306,7 @@ module Aws::DynamoDB
1298
1306
  #
1299
1307
  #
1300
1308
  #
1301
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
1309
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.FilterExpression.html
1302
1310
  # @option options [String] :key_condition_expression
1303
1311
  # The condition that specifies the key values for items to be retrieved
1304
1312
  # by the `Query` action.
@@ -1681,7 +1689,7 @@ module Aws::DynamoDB
1681
1689
  #
1682
1690
  #
1683
1691
  #
1684
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
1692
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.FilterExpression
1685
1693
  # @option options [Hash<String,String>] :expression_attribute_names
1686
1694
  # One or more substitution tokens for attribute names in an expression.
1687
1695
  # The following are some use cases for using `ExpressionAttributeNames`:
@@ -1800,10 +1808,14 @@ module Aws::DynamoDB
1800
1808
  # {
1801
1809
  # update: {
1802
1810
  # index_name: "IndexName", # required
1803
- # provisioned_throughput: { # required
1811
+ # provisioned_throughput: {
1804
1812
  # read_capacity_units: 1, # required
1805
1813
  # write_capacity_units: 1, # required
1806
1814
  # },
1815
+ # on_demand_throughput: {
1816
+ # max_read_request_units: 1,
1817
+ # max_write_request_units: 1,
1818
+ # },
1807
1819
  # },
1808
1820
  # create: {
1809
1821
  # index_name: "IndexName", # required
@@ -1821,6 +1833,10 @@ module Aws::DynamoDB
1821
1833
  # read_capacity_units: 1, # required
1822
1834
  # write_capacity_units: 1, # required
1823
1835
  # },
1836
+ # on_demand_throughput: {
1837
+ # max_read_request_units: 1,
1838
+ # max_write_request_units: 1,
1839
+ # },
1824
1840
  # },
1825
1841
  # delete: {
1826
1842
  # index_name: "IndexName", # required
@@ -1844,12 +1860,18 @@ module Aws::DynamoDB
1844
1860
  # provisioned_throughput_override: {
1845
1861
  # read_capacity_units: 1,
1846
1862
  # },
1863
+ # on_demand_throughput_override: {
1864
+ # max_read_request_units: 1,
1865
+ # },
1847
1866
  # global_secondary_indexes: [
1848
1867
  # {
1849
1868
  # index_name: "IndexName", # required
1850
1869
  # provisioned_throughput_override: {
1851
1870
  # read_capacity_units: 1,
1852
1871
  # },
1872
+ # on_demand_throughput_override: {
1873
+ # max_read_request_units: 1,
1874
+ # },
1853
1875
  # },
1854
1876
  # ],
1855
1877
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -1860,12 +1882,18 @@ module Aws::DynamoDB
1860
1882
  # provisioned_throughput_override: {
1861
1883
  # read_capacity_units: 1,
1862
1884
  # },
1885
+ # on_demand_throughput_override: {
1886
+ # max_read_request_units: 1,
1887
+ # },
1863
1888
  # global_secondary_indexes: [
1864
1889
  # {
1865
1890
  # index_name: "IndexName", # required
1866
1891
  # provisioned_throughput_override: {
1867
1892
  # read_capacity_units: 1,
1868
1893
  # },
1894
+ # on_demand_throughput_override: {
1895
+ # max_read_request_units: 1,
1896
+ # },
1869
1897
  # },
1870
1898
  # ],
1871
1899
  # table_class_override: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
@@ -1877,6 +1905,10 @@ module Aws::DynamoDB
1877
1905
  # ],
1878
1906
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
1879
1907
  # deletion_protection_enabled: false,
1908
+ # on_demand_throughput: {
1909
+ # max_read_request_units: 1,
1910
+ # max_write_request_units: 1,
1911
+ # },
1880
1912
  # })
1881
1913
  # @param [Hash] options ({})
1882
1914
  # @option options [Array<Types::AttributeDefinition>] :attribute_definitions
@@ -1894,16 +1926,16 @@ module Aws::DynamoDB
1894
1926
  #
1895
1927
  # * `PROVISIONED` - We recommend using `PROVISIONED` for predictable
1896
1928
  # workloads. `PROVISIONED` sets the billing mode to [Provisioned
1897
- # Mode][1].
1929
+ # capacity mode][1].
1898
1930
  #
1899
1931
  # * `PAY_PER_REQUEST` - We recommend using `PAY_PER_REQUEST` for
1900
1932
  # unpredictable workloads. `PAY_PER_REQUEST` sets the billing mode to
1901
- # [On-Demand Mode][2].
1933
+ # [On-demand capacity mode][2].
1902
1934
  #
1903
1935
  #
1904
1936
  #
1905
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual
1906
- # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand
1937
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
1938
+ # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html
1907
1939
  # @option options [Types::ProvisionedThroughput] :provisioned_throughput
1908
1940
  # The new provisioned throughput settings for the specified table or
1909
1941
  # index.
@@ -1930,9 +1962,9 @@ module Aws::DynamoDB
1930
1962
  # @option options [Types::StreamSpecification] :stream_specification
1931
1963
  # Represents the DynamoDB Streams configuration for the table.
1932
1964
  #
1933
- # <note markdown="1"> You receive a `ResourceInUseException` if you try to enable a stream
1934
- # on a table that already has a stream, or if you try to disable a
1935
- # stream on a table that doesn't have a stream.
1965
+ # <note markdown="1"> You receive a `ValidationException` if you try to enable a stream on a
1966
+ # table that already has a stream, or if you try to disable a stream on
1967
+ # a table that doesn't have a stream.
1936
1968
  #
1937
1969
  # </note>
1938
1970
  # @option options [Types::SSESpecification] :sse_specification
@@ -1941,20 +1973,20 @@ module Aws::DynamoDB
1941
1973
  # A list of replica update actions (create, delete, or update) for the
1942
1974
  # table.
1943
1975
  #
1944
- # <note markdown="1"> This property only applies to [Version 2019.11.21 (Current)][1] of
1945
- # global tables.
1976
+ # <note markdown="1"> For global tables, this property only applies to global tables using
1977
+ # Version 2019.11.21 (Current version).
1946
1978
  #
1947
1979
  # </note>
1948
- #
1949
- #
1950
- #
1951
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html
1952
1980
  # @option options [String] :table_class
1953
1981
  # The table class of the table to be updated. Valid values are
1954
1982
  # `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
1955
1983
  # @option options [Boolean] :deletion_protection_enabled
1956
1984
  # Indicates whether deletion protection is to be enabled (true) or
1957
1985
  # disabled (false) on the table.
1986
+ # @option options [Types::OnDemandThroughput] :on_demand_throughput
1987
+ # Updates the maximum number of read and write units for the specified
1988
+ # table in on-demand capacity mode. If you use this parameter, you must
1989
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
1958
1990
  # @return [Table]
1959
1991
  def update(options = {})
1960
1992
  options = options.merge(table_name: @name)