aws-sdk-dynamodb 1.93.0 → 1.110.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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)