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.
@@ -46,9 +46,11 @@ module Aws::DynamoDB
46
46
  # * {ItemCollectionSizeLimitExceededException}
47
47
  # * {LimitExceededException}
48
48
  # * {PointInTimeRecoveryUnavailableException}
49
+ # * {PolicyNotFoundException}
49
50
  # * {ProvisionedThroughputExceededException}
50
51
  # * {ReplicaAlreadyExistsException}
51
52
  # * {ReplicaNotFoundException}
53
+ # * {ReplicatedWriteConflictException}
52
54
  # * {RequestLimitExceeded}
53
55
  # * {ResourceInUseException}
54
56
  # * {ResourceNotFoundException}
@@ -355,6 +357,21 @@ module Aws::DynamoDB
355
357
  end
356
358
  end
357
359
 
360
+ class PolicyNotFoundException < ServiceError
361
+
362
+ # @param [Seahorse::Client::RequestContext] context
363
+ # @param [String] message
364
+ # @param [Aws::DynamoDB::Types::PolicyNotFoundException] data
365
+ def initialize(context, message, data = Aws::EmptyStructure.new)
366
+ super(context, message, data)
367
+ end
368
+
369
+ # @return [String]
370
+ def message
371
+ @message || @data[:message]
372
+ end
373
+ end
374
+
358
375
  class ProvisionedThroughputExceededException < ServiceError
359
376
 
360
377
  # @param [Seahorse::Client::RequestContext] context
@@ -400,6 +417,21 @@ module Aws::DynamoDB
400
417
  end
401
418
  end
402
419
 
420
+ class ReplicatedWriteConflictException < ServiceError
421
+
422
+ # @param [Seahorse::Client::RequestContext] context
423
+ # @param [String] message
424
+ # @param [Aws::DynamoDB::Types::ReplicatedWriteConflictException] data
425
+ def initialize(context, message, data = Aws::EmptyStructure.new)
426
+ super(context, message, data)
427
+ end
428
+
429
+ # @return [String]
430
+ def message
431
+ @message || @data[:message]
432
+ end
433
+ end
434
+
403
435
  class RequestLimitExceeded < ServiceError
404
436
 
405
437
  # @param [Seahorse::Client::RequestContext] context
@@ -14,35 +14,74 @@ module Aws::DynamoDB
14
14
  option(
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::DynamoDB::EndpointProvider',
17
- docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
- 'object that responds to `#resolve_endpoint(parameters)` '\
19
- 'where `parameters` is a Struct similar to '\
20
- '`Aws::DynamoDB::EndpointParameters`'
21
- ) do |cfg|
17
+ rbs_type: 'untyped',
18
+ docstring: <<~DOCS) do |_cfg|
19
+ The endpoint provider used to resolve endpoints. Any object that responds to
20
+ `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
21
+ `Aws::DynamoDB::EndpointParameters`.
22
+ DOCS
22
23
  Aws::DynamoDB::EndpointProvider.new
23
24
  end
24
25
 
26
+ option(
27
+ :account_id_endpoint_mode,
28
+ doc_type: 'String',
29
+ docstring: <<~DOCS) do |cfg|
30
+ The account ID endpoint mode to use. This can be one of the following values:
31
+ * `preferred` - The default behavior. Use the account ID endpoint if
32
+ available, otherwise use the standard endpoint.
33
+ * `disabled` - Never use the account ID endpoint. Only use the standard
34
+ endpoint.
35
+ * `required` - Always use the account ID endpoint. If the account ID
36
+ cannot be retrieved from credentials, an error is raised.
37
+ DOCS
38
+ value = ENV['AWS_ACCOUNT_ID_ENDPOINT_MODE']
39
+ value ||= Aws.shared_config.account_id_endpoint_mode(profile: cfg.profile)
40
+ value || 'preferred'
41
+ end
42
+
25
43
  # @api private
26
44
  class Handler < Seahorse::Client::Handler
27
45
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
46
  unless context[:discovered_endpoint]
30
- params = parameters_for_operation(context)
47
+ params = Aws::DynamoDB::Endpoints.parameters_for_operation(context)
31
48
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
49
 
33
50
  context.http_request.endpoint = endpoint.url
34
51
  apply_endpoint_headers(context, endpoint.headers)
52
+
53
+ context[:endpoint_params] = params
54
+ context[:endpoint_properties] = endpoint.properties
35
55
  end
36
56
 
37
- context[:endpoint_params] = params
38
57
  context[:auth_scheme] =
39
58
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
59
 
41
- @handler.call(context)
60
+ with_metrics(context) { @handler.call(context) }
42
61
  end
43
62
 
44
63
  private
45
64
 
65
+ def with_metrics(context, &block)
66
+ metrics = []
67
+ metrics << 'ENDPOINT_OVERRIDE' unless context.config.regional_endpoint
68
+ if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
69
+ metrics << 'SIGV4A_SIGNING'
70
+ end
71
+ case context.config.account_id_endpoint_mode
72
+ when 'preferred'
73
+ metrics << 'ACCOUNT_ID_MODE_PREFERRED'
74
+ when 'disabled'
75
+ metrics << 'ACCOUNT_ID_MODE_DISABLED'
76
+ when 'required'
77
+ metrics << 'ACCOUNT_ID_MODE_REQUIRED'
78
+ end
79
+ if context.config.credentials&.credentials&.account_id
80
+ metrics << 'RESOLVED_ACCOUNT_ID'
81
+ end
82
+ Aws::Plugins::UserAgent.metric(*metrics, &block)
83
+ end
84
+
46
85
  def apply_endpoint_headers(context, headers)
47
86
  headers.each do |key, values|
48
87
  value = values
@@ -53,117 +92,6 @@ module Aws::DynamoDB
53
92
  context.http_request.headers[key] = value
54
93
  end
55
94
  end
56
-
57
- def parameters_for_operation(context)
58
- case context.operation_name
59
- when :batch_execute_statement
60
- Aws::DynamoDB::Endpoints::BatchExecuteStatement.build(context)
61
- when :batch_get_item
62
- Aws::DynamoDB::Endpoints::BatchGetItem.build(context)
63
- when :batch_write_item
64
- Aws::DynamoDB::Endpoints::BatchWriteItem.build(context)
65
- when :create_backup
66
- Aws::DynamoDB::Endpoints::CreateBackup.build(context)
67
- when :create_global_table
68
- Aws::DynamoDB::Endpoints::CreateGlobalTable.build(context)
69
- when :create_table
70
- Aws::DynamoDB::Endpoints::CreateTable.build(context)
71
- when :delete_backup
72
- Aws::DynamoDB::Endpoints::DeleteBackup.build(context)
73
- when :delete_item
74
- Aws::DynamoDB::Endpoints::DeleteItem.build(context)
75
- when :delete_table
76
- Aws::DynamoDB::Endpoints::DeleteTable.build(context)
77
- when :describe_backup
78
- Aws::DynamoDB::Endpoints::DescribeBackup.build(context)
79
- when :describe_continuous_backups
80
- Aws::DynamoDB::Endpoints::DescribeContinuousBackups.build(context)
81
- when :describe_contributor_insights
82
- Aws::DynamoDB::Endpoints::DescribeContributorInsights.build(context)
83
- when :describe_endpoints
84
- Aws::DynamoDB::Endpoints::DescribeEndpoints.build(context)
85
- when :describe_export
86
- Aws::DynamoDB::Endpoints::DescribeExport.build(context)
87
- when :describe_global_table
88
- Aws::DynamoDB::Endpoints::DescribeGlobalTable.build(context)
89
- when :describe_global_table_settings
90
- Aws::DynamoDB::Endpoints::DescribeGlobalTableSettings.build(context)
91
- when :describe_import
92
- Aws::DynamoDB::Endpoints::DescribeImport.build(context)
93
- when :describe_kinesis_streaming_destination
94
- Aws::DynamoDB::Endpoints::DescribeKinesisStreamingDestination.build(context)
95
- when :describe_limits
96
- Aws::DynamoDB::Endpoints::DescribeLimits.build(context)
97
- when :describe_table
98
- Aws::DynamoDB::Endpoints::DescribeTable.build(context)
99
- when :describe_table_replica_auto_scaling
100
- Aws::DynamoDB::Endpoints::DescribeTableReplicaAutoScaling.build(context)
101
- when :describe_time_to_live
102
- Aws::DynamoDB::Endpoints::DescribeTimeToLive.build(context)
103
- when :disable_kinesis_streaming_destination
104
- Aws::DynamoDB::Endpoints::DisableKinesisStreamingDestination.build(context)
105
- when :enable_kinesis_streaming_destination
106
- Aws::DynamoDB::Endpoints::EnableKinesisStreamingDestination.build(context)
107
- when :execute_statement
108
- Aws::DynamoDB::Endpoints::ExecuteStatement.build(context)
109
- when :execute_transaction
110
- Aws::DynamoDB::Endpoints::ExecuteTransaction.build(context)
111
- when :export_table_to_point_in_time
112
- Aws::DynamoDB::Endpoints::ExportTableToPointInTime.build(context)
113
- when :get_item
114
- Aws::DynamoDB::Endpoints::GetItem.build(context)
115
- when :import_table
116
- Aws::DynamoDB::Endpoints::ImportTable.build(context)
117
- when :list_backups
118
- Aws::DynamoDB::Endpoints::ListBackups.build(context)
119
- when :list_contributor_insights
120
- Aws::DynamoDB::Endpoints::ListContributorInsights.build(context)
121
- when :list_exports
122
- Aws::DynamoDB::Endpoints::ListExports.build(context)
123
- when :list_global_tables
124
- Aws::DynamoDB::Endpoints::ListGlobalTables.build(context)
125
- when :list_imports
126
- Aws::DynamoDB::Endpoints::ListImports.build(context)
127
- when :list_tables
128
- Aws::DynamoDB::Endpoints::ListTables.build(context)
129
- when :list_tags_of_resource
130
- Aws::DynamoDB::Endpoints::ListTagsOfResource.build(context)
131
- when :put_item
132
- Aws::DynamoDB::Endpoints::PutItem.build(context)
133
- when :query
134
- Aws::DynamoDB::Endpoints::Query.build(context)
135
- when :restore_table_from_backup
136
- Aws::DynamoDB::Endpoints::RestoreTableFromBackup.build(context)
137
- when :restore_table_to_point_in_time
138
- Aws::DynamoDB::Endpoints::RestoreTableToPointInTime.build(context)
139
- when :scan
140
- Aws::DynamoDB::Endpoints::Scan.build(context)
141
- when :tag_resource
142
- Aws::DynamoDB::Endpoints::TagResource.build(context)
143
- when :transact_get_items
144
- Aws::DynamoDB::Endpoints::TransactGetItems.build(context)
145
- when :transact_write_items
146
- Aws::DynamoDB::Endpoints::TransactWriteItems.build(context)
147
- when :untag_resource
148
- Aws::DynamoDB::Endpoints::UntagResource.build(context)
149
- when :update_continuous_backups
150
- Aws::DynamoDB::Endpoints::UpdateContinuousBackups.build(context)
151
- when :update_contributor_insights
152
- Aws::DynamoDB::Endpoints::UpdateContributorInsights.build(context)
153
- when :update_global_table
154
- Aws::DynamoDB::Endpoints::UpdateGlobalTable.build(context)
155
- when :update_global_table_settings
156
- Aws::DynamoDB::Endpoints::UpdateGlobalTableSettings.build(context)
157
- when :update_item
158
- Aws::DynamoDB::Endpoints::UpdateItem.build(context)
159
- when :update_table
160
- Aws::DynamoDB::Endpoints::UpdateTable.build(context)
161
- when :update_table_replica_auto_scaling
162
- Aws::DynamoDB::Endpoints::UpdateTableReplicaAutoScaling.build(context)
163
- when :update_time_to_live
164
- Aws::DynamoDB::Endpoints::UpdateTimeToLive.build(context)
165
- end
166
- end
167
95
  end
168
96
 
169
97
  def add_handlers(handlers, _config)
@@ -13,6 +13,30 @@ module Aws
13
13
  #
14
14
  # ddb = Aws::DynamoDB::Client.new(simple_attributes: false)
15
15
  #
16
+ # Members are marshalled using the following objects:
17
+ #
18
+ # * `Hash` or `#to_h` => `:m`
19
+ # * `Array` => `:l`
20
+ # * `String` or `Symbol` or `#to_str` => `:s`
21
+ # * `Numeric` => `:n`
22
+ # * `StringIO` or `IO` => `:b`
23
+ # * `Set<Object>` => `:ss` or `:ns` or `:bs`
24
+ # * `true` or `false` => `:bool`
25
+ # * `nil` => `:null`
26
+ #
27
+ # Members are unmarshalled into the following objects:
28
+ #
29
+ # * `:m` => `Hash`
30
+ # * `:l` => `Array`
31
+ # * `:s` => `String`
32
+ # * `:n` => `BigDecimal`
33
+ # * `:b` => `StringIO`
34
+ # * `:null` => `nil`
35
+ # * `:bool` => `true` or `false`
36
+ # * `:ss` => `Set<String>`
37
+ # * `:ns` => `Set<BigDecimal>`
38
+ # * `:bs` => `Set<StringIO>`
39
+ #
16
40
  # ## Input Examples
17
41
  #
18
42
  # With this plugin **enabled**, `simple_attributes: true`:
@@ -101,6 +125,8 @@ hashes, arrays, sets, integers, floats, booleans, and nil.
101
125
  Disabling this option requires that all attribute values have
102
126
  their types specified, e.g. `{ s: 'abc' }` instead of simply
103
127
  `'abc'`.
128
+
129
+ See {Aws::DynamoDB::Plugins::SimpleAttributes} for more information.
104
130
  DOCS
105
131
  ) do |config|
106
132
  !config.simple_json
@@ -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:
@@ -79,31 +79,27 @@ module Aws::DynamoDB
79
79
  #
80
80
  # * To prevent special characters in an attribute name from being
81
81
  # misinterpreted in an expression.
82
- #
83
82
  # Use the **#** character in an expression to dereference an attribute
84
83
  # name. For example, consider the following attribute name:
85
84
  #
86
85
  # * `Percentile`
87
86
  #
88
87
  # ^
89
- #
90
88
  # The name of this attribute conflicts with a reserved word, so it
91
89
  # cannot be used directly in an expression. (For the complete list of
92
90
  # reserved words, see [Reserved Words][1] in the *Amazon DynamoDB
93
91
  # Developer Guide*). To work around this, you could specify the
94
92
  # following for `ExpressionAttributeNames`:
95
93
  #
96
- # * `\{"#P":"Percentile"\}`
94
+ # * `{"#P":"Percentile"}`
97
95
  #
98
96
  # ^
99
- #
100
97
  # You could then use this substitution in an expression, as in this
101
98
  # example:
102
99
  #
103
100
  # * `#P = :val`
104
101
  #
105
102
  # ^
106
- #
107
103
  # <note markdown="1"> Tokens that begin with the **\:** character are *expression
108
104
  # attribute values*, which are placeholders for the actual value at
109
105
  # runtime.
@@ -160,7 +156,7 @@ module Aws::DynamoDB
160
156
  # * `NONE` - No `ConsumedCapacity` details are included in the response.
161
157
  # @return [Types::BatchGetItemOutput]
162
158
  def batch_get_item(options = {})
163
- resp = Aws::Plugins::UserAgent.feature('resource') do
159
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
164
160
  @client.batch_get_item(options)
165
161
  end
166
162
  resp.data
@@ -170,7 +166,7 @@ module Aws::DynamoDB
170
166
  #
171
167
  # dynamo_db.batch_write_item({
172
168
  # request_items: { # required
173
- # "TableName" => [
169
+ # "TableArn" => [
174
170
  # {
175
171
  # put_request: {
176
172
  # item: { # required
@@ -190,9 +186,9 @@ module Aws::DynamoDB
190
186
  # })
191
187
  # @param [Hash] options ({})
192
188
  # @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:
189
+ # A map of one or more table names or table ARNs and, for each table, a
190
+ # list of operations to be performed (`DeleteRequest` or `PutRequest`).
191
+ # Each element in the map consists of the following:
196
192
  #
197
193
  # * `DeleteRequest` - Perform a `DeleteItem` operation on the specified
198
194
  # item. The item to be deleted is identified by a `Key` subelement:
@@ -206,7 +202,6 @@ module Aws::DynamoDB
206
202
  # *both* the partition key and the sort key.
207
203
  #
208
204
  # ^
209
- #
210
205
  # * `PutRequest` - Perform a `PutItem` operation on the specified item.
211
206
  # The item to be put is identified by an `Item` subelement:
212
207
  #
@@ -243,7 +238,7 @@ module Aws::DynamoDB
243
238
  # response. If set to `NONE` (the default), no statistics are returned.
244
239
  # @return [Types::BatchWriteItemOutput]
245
240
  def batch_write_item(options = {})
246
- resp = Aws::Plugins::UserAgent.feature('resource') do
241
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
247
242
  @client.batch_write_item(options)
248
243
  end
249
244
  resp.data
@@ -258,7 +253,7 @@ module Aws::DynamoDB
258
253
  # attribute_type: "S", # required, accepts S, N, B
259
254
  # },
260
255
  # ],
261
- # table_name: "TableName", # required
256
+ # table_name: "TableArn", # required
262
257
  # key_schema: [ # required
263
258
  # {
264
259
  # attribute_name: "KeySchemaAttributeName", # required
@@ -297,6 +292,14 @@ module Aws::DynamoDB
297
292
  # read_capacity_units: 1, # required
298
293
  # write_capacity_units: 1, # required
299
294
  # },
295
+ # on_demand_throughput: {
296
+ # max_read_request_units: 1,
297
+ # max_write_request_units: 1,
298
+ # },
299
+ # warm_throughput: {
300
+ # read_units_per_second: 1,
301
+ # write_units_per_second: 1,
302
+ # },
300
303
  # },
301
304
  # ],
302
305
  # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
@@ -321,13 +324,23 @@ module Aws::DynamoDB
321
324
  # ],
322
325
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
323
326
  # deletion_protection_enabled: false,
327
+ # warm_throughput: {
328
+ # read_units_per_second: 1,
329
+ # write_units_per_second: 1,
330
+ # },
331
+ # resource_policy: "ResourcePolicy",
332
+ # on_demand_throughput: {
333
+ # max_read_request_units: 1,
334
+ # max_write_request_units: 1,
335
+ # },
324
336
  # })
325
337
  # @param [Hash] options ({})
326
338
  # @option options [required, Array<Types::AttributeDefinition>] :attribute_definitions
327
339
  # An array of attributes that describe the key schema for the table and
328
340
  # indexes.
329
341
  # @option options [required, String] :table_name
330
- # The name of the table to create.
342
+ # The name of the table to create. You can also provide the Amazon
343
+ # Resource Name (ARN) of the table in this parameter.
331
344
  # @option options [required, Array<Types::KeySchemaElement>] :key_schema
332
345
  # Specifies the attributes that make up the primary key for a table or
333
346
  # an index. The attributes in `KeySchema` must also be defined in the
@@ -404,7 +417,6 @@ module Aws::DynamoDB
404
417
  #
405
418
  # * `ALL` - All of the table attributes are projected into the
406
419
  # index.
407
- #
408
420
  # * `NonKeyAttributes` - A list of one or more non-key attribute names
409
421
  # that are projected into the secondary index. The total count of
410
422
  # attributes provided in `NonKeyAttributes`, summed across all of
@@ -440,14 +452,12 @@ module Aws::DynamoDB
440
452
  #
441
453
  # * `ALL` - All of the table attributes are projected into the
442
454
  # index.
443
- #
444
455
  # * `NonKeyAttributes` - A list of one or more non-key attribute names
445
456
  # that are projected into the secondary index. The total count of
446
457
  # attributes provided in `NonKeyAttributes`, summed across all of
447
458
  # the secondary indexes, must not exceed 100. If you project the
448
459
  # same attribute into two different indexes, this counts as two
449
460
  # distinct attributes when determining the total.
450
- #
451
461
  # * `ProvisionedThroughput` - The provisioned throughput settings for
452
462
  # the global secondary index, consisting of read and write capacity
453
463
  # units.
@@ -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,9 +530,38 @@ 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 [Types::WarmThroughput] :warm_throughput
534
+ # Represents the warm throughput (in read units per second and write
535
+ # units per second) for creating a table.
536
+ # @option options [String] :resource_policy
537
+ # An Amazon Web Services resource-based policy document in JSON format
538
+ # that will be attached to the table.
539
+ #
540
+ # When you attach a resource-based policy while creating a table, the
541
+ # policy application is *strongly consistent*.
542
+ #
543
+ # The maximum size supported for a resource-based policy document is 20
544
+ # KB. DynamoDB counts whitespaces when calculating the size of a policy
545
+ # against this limit. For a full list of all considerations that apply
546
+ # for resource-based policies, see [Resource-based policy
547
+ # considerations][1].
548
+ #
549
+ # <note markdown="1"> You need to specify the `CreateTable` and `PutResourcePolicy` IAM
550
+ # actions for authorizing a user to create a table with a resource-based
551
+ # policy.
552
+ #
553
+ # </note>
554
+ #
555
+ #
556
+ #
557
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html
558
+ # @option options [Types::OnDemandThroughput] :on_demand_throughput
559
+ # Sets the maximum number of read and write units for the specified
560
+ # table in on-demand capacity mode. If you use this parameter, you must
561
+ # specify `MaxReadRequestUnits`, `MaxWriteRequestUnits`, or both.
523
562
  # @return [Table]
524
563
  def create_table(options = {})
525
- resp = Aws::Plugins::UserAgent.feature('resource') do
564
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
526
565
  @client.create_table(options)
527
566
  end
528
567
  Table.new(
@@ -550,7 +589,7 @@ module Aws::DynamoDB
550
589
  # @return [Table::Collection]
551
590
  def tables(options = {})
552
591
  batches = Enumerator.new do |y|
553
- resp = Aws::Plugins::UserAgent.feature('resource') do
592
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
554
593
  @client.list_tables(options)
555
594
  end
556
595
  resp.each_page do |page|