aws-sdk 1.12.0 → 1.13.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/bin/aws-rb +18 -0
  4. data/lib/aws/api_config/{CloudFront-2012-07-01.yml → CloudFront-2013-05-12.yml} +73 -23
  5. data/lib/aws/api_config/{RDS-2013-02-12.yml → RDS-2013-05-15.yml} +92 -5
  6. data/lib/aws/api_config/Redshift-2012-12-01.yml +188 -12
  7. data/lib/aws/api_config/STS-2011-06-15.yml +10 -0
  8. data/lib/aws/auto_scaling/client.rb +6 -0
  9. data/lib/aws/cloud_formation/client.rb +6 -0
  10. data/lib/aws/cloud_front/client.rb +37 -1
  11. data/lib/aws/cloud_search/client.rb +6 -0
  12. data/lib/aws/cloud_watch/client.rb +6 -0
  13. data/lib/aws/core.rb +15 -20
  14. data/lib/aws/core/client.rb +36 -0
  15. data/lib/aws/core/credential_providers.rb +45 -0
  16. data/lib/aws/core/region_collection.rb +4 -1
  17. data/lib/aws/data_pipeline/client.rb +6 -0
  18. data/lib/aws/direct_connect/client.rb +6 -0
  19. data/lib/aws/dynamo_db/client.rb +35 -1249
  20. data/lib/aws/dynamo_db/client/v20111205.rb +1266 -0
  21. data/lib/aws/dynamo_db/client/v20120810.rb +1409 -0
  22. data/lib/aws/dynamo_db/client_base.rb +1 -0
  23. data/lib/aws/dynamo_db/client_v2.rb +25 -1396
  24. data/lib/aws/ec2/client.rb +6 -0
  25. data/lib/aws/elastic_beanstalk/client.rb +6 -0
  26. data/lib/aws/elastic_transcoder/client.rb +6 -0
  27. data/lib/aws/elasticache/client.rb +6 -0
  28. data/lib/aws/elb/client.rb +6 -0
  29. data/lib/aws/emr/client.rb +6 -0
  30. data/lib/aws/glacier/client.rb +14 -8
  31. data/lib/aws/iam/client.rb +6 -0
  32. data/lib/aws/import_export/client.rb +6 -0
  33. data/lib/aws/ops_works/client.rb +6 -0
  34. data/lib/aws/rds/client.rb +83 -18
  35. data/lib/aws/record/abstract_base.rb +19 -22
  36. data/lib/aws/record/attributes.rb +5 -1
  37. data/lib/aws/record/hash_model.rb +50 -6
  38. data/lib/aws/record/model.rb +26 -0
  39. data/lib/aws/record/validator.rb +1 -1
  40. data/lib/aws/redshift/client.rb +186 -53
  41. data/lib/aws/route_53/client.rb +6 -0
  42. data/lib/aws/route_53/hosted_zone.rb +1 -1
  43. data/lib/aws/route_53/resource_record_set.rb +3 -3
  44. data/lib/aws/s3/client.rb +4 -1
  45. data/lib/aws/s3/presigned_post.rb +18 -21
  46. data/lib/aws/simple_db/client.rb +6 -0
  47. data/lib/aws/simple_email_service/client.rb +6 -0
  48. data/lib/aws/simple_email_service/identity.rb +1 -1
  49. data/lib/aws/simple_workflow/client.rb +24 -18
  50. data/lib/aws/sns/client.rb +6 -0
  51. data/lib/aws/sqs/client.rb +21 -15
  52. data/lib/aws/storage_gateway/client.rb +6 -0
  53. data/lib/aws/sts/client.rb +57 -38
  54. data/lib/aws/support/client.rb +6 -0
  55. data/lib/aws/version.rb +1 -1
  56. metadata +6 -4
@@ -0,0 +1,1409 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ class AWS::DynamoDB::Client::V20120810 < AWS::DynamoDB::Client
15
+
16
+ # client methods #
17
+
18
+ # @!method batch_get_item(options = {})
19
+ # Calls the BatchGetItem API operation.
20
+ # @param [Hash] options
21
+ #
22
+ # * `:request_items` - *required* - (Hash<String,Hash>) A map of one or
23
+ # more table names and, for each table, the corresponding primary
24
+ # keys for the items to retrieve. Each table name can be invoked only
25
+ # once. Each element in the map consists of the following: Keys - An
26
+ # array of primary key attribute values that define specific items in
27
+ # the table. AttributesToGet - One or more attributes to be retrieved
28
+ # from the table or index. By default, all attributes are returned.
29
+ # If a specified attribute is not found, it does not appear in the
30
+ # result. ConsistentRead - If `true` , a strongly consistent read is
31
+ # used; if `false` (the default), an eventually consistent read is
32
+ # used.
33
+ # * `:keys` - *required* - (Array<Hash<String,Hash>>) Represents the
34
+ # primary key attribute values that define the items and the
35
+ # attributes associated with the items.
36
+ # * `:s` - (String) Represents a String data type
37
+ # * `:n` - (String) Represents a Number data type
38
+ # * `:b` - (String) Represents a Binary data type
39
+ # * `:ss` - (Array<String>) Represents a String set data type
40
+ # * `:ns` - (Array<String>) Represents a Number set data type
41
+ # * `:bs` - (Array<String>) Represents a Binary set data type
42
+ # * `:attributes_to_get` - (Array<String>) Represents one or more
43
+ # attributes to retrieve from the table or index. If no attribute
44
+ # names are specified then all attributes will be returned. If any
45
+ # of the specified attributes are not found, they will not appear
46
+ # in the result.
47
+ # * `:consistent_read` - (Boolean) Represents the consistency of a
48
+ # read operation. If set to `true` , then a strongly consistent
49
+ # read is used; otherwise, an eventually consistent read is used.
50
+ # * `:return_consumed_capacity` - (String) Valid values include:
51
+ # * `TOTAL`
52
+ # * `NONE`
53
+ # @return [Core::Response]
54
+ # The #data method of the response object returns
55
+ # a hash with the following structure:
56
+ #
57
+ # * `:responses` - (Hash<String,Hash>)
58
+ # * `:member` - (Hash<String,Hash>)
59
+ # * `:s` - (String)
60
+ # * `:n` - (String)
61
+ # * `:b` - (String)
62
+ # * `:ss` - (Array<String>)
63
+ # * `:ns` - (Array<String>)
64
+ # * `:bs` - (Array<Blob>)
65
+ # * `:unprocessed_keys` - (Hash<String,Hash>)
66
+ # * `:member` - (Hash<String,Hash>)
67
+ # * `:s` - (String)
68
+ # * `:n` - (String)
69
+ # * `:b` - (String)
70
+ # * `:ss` - (Array<String>)
71
+ # * `:ns` - (Array<String>)
72
+ # * `:bs` - (Array<Blob>)
73
+ # * `:attributes_to_get` - (Array<String>)
74
+ # * `:consistent_read` - (Boolean)
75
+ # * `:consumed_capacity` - (Array<Hash>)
76
+ # * `:table_name` - (String)
77
+ # * `:capacity_units` - (Numeric)
78
+
79
+ # @!method batch_write_item(options = {})
80
+ # Calls the BatchWriteItem API operation.
81
+ # @param [Hash] options
82
+ #
83
+ # * `:request_items` - *required* - (Hash<String,Array<Hash>>) A map of
84
+ # one or more table names and, for each table, a list of operations
85
+ # to be performed (DeleteRequest or PutRequest). Each element in the
86
+ # map consists of the following: DeleteRequest - Perform a DeleteItem
87
+ # operation on the specified item. The item to be deleted is
88
+ # identified by a Key subelement: Key - A map of primary key
89
+ # attribute values that uniquely identify the item. Each entry in
90
+ # this map consists of an attribute name and an attribute value.
91
+ # PutRequest - Perform a PutItem operation on the specified item. The
92
+ # item to be put is identified by an Item subelement: Item - A map of
93
+ # attributes and their values. Each entry in this map consists of an
94
+ # attribute name and an attribute value. Attribute values must not be
95
+ # null; string and binary type attributes must have lengths greater
96
+ # than zero; and set type attributes must not be empty. Requests that
97
+ # contain empty values will be rejected with a ValidationException.
98
+ # If you specify any attributes that are part of an index key, then
99
+ # the data types for those attributes must match those of the schema
100
+ # in the table's attribute definition.
101
+ # * `:put_request` - (Hash) Represents a request to perform a
102
+ # DeleteItem operation.
103
+ # * `:item` - *required* - (Hash<String,Hash>) A map of attribute
104
+ # name to attribute values, representing the primary key of an
105
+ # item to be processed by PutItem. All of the table's primary key
106
+ # attributes must be specified, and their data types must match
107
+ # those of the table's key schema. If any attributes are present
108
+ # in the item which are part of an index key schema for the
109
+ # table, their types must match the index key schema.
110
+ # * `:s` - (String) Represents a String data type
111
+ # * `:n` - (String) Represents a Number data type
112
+ # * `:b` - (String) Represents a Binary data type
113
+ # * `:ss` - (Array<String>) Represents a String set data type
114
+ # * `:ns` - (Array<String>) Represents a Number set data type
115
+ # * `:bs` - (Array<String>) Represents a Binary set data type
116
+ # * `:delete_request` - (Hash) Represents a request to perform a
117
+ # PutItem operation.
118
+ # * `:key` - *required* - (Hash<String,Hash>) A map of attribute
119
+ # name to attribute values, representing the primary key of the
120
+ # item to delete. All of the table's primary key attributes must
121
+ # be specified, and their data types must match those of the
122
+ # table's key schema.
123
+ # * `:s` - (String) Represents a String data type
124
+ # * `:n` - (String) Represents a Number data type
125
+ # * `:b` - (String) Represents a Binary data type
126
+ # * `:ss` - (Array<String>) Represents a String set data type
127
+ # * `:ns` - (Array<String>) Represents a Number set data type
128
+ # * `:bs` - (Array<String>) Represents a Binary set data type
129
+ # * `:return_consumed_capacity` - (String) Valid values include:
130
+ # * `TOTAL`
131
+ # * `NONE`
132
+ # * `:return_item_collection_metrics` - (String) Valid values include:
133
+ # * `SIZE`
134
+ # * `NONE`
135
+ # @return [Core::Response]
136
+ # The #data method of the response object returns
137
+ # a hash with the following structure:
138
+ #
139
+ # * `:unprocessed_items` - (Hash<String,Hash>)
140
+ # * `:value` - (Array<Hash>)
141
+ # * `:put_request` - (Hash)
142
+ # * `:item` - (Hash<String,Hash>)
143
+ # * `:s` - (String)
144
+ # * `:n` - (String)
145
+ # * `:b` - (String)
146
+ # * `:ss` - (Array<String>)
147
+ # * `:ns` - (Array<String>)
148
+ # * `:bs` - (Array<Blob>)
149
+ # * `:delete_request` - (Hash)
150
+ # * `:key` - (Hash<String,Hash>)
151
+ # * `:s` - (String)
152
+ # * `:n` - (String)
153
+ # * `:b` - (String)
154
+ # * `:ss` - (Array<String>)
155
+ # * `:ns` - (Array<String>)
156
+ # * `:bs` - (Array<Blob>)
157
+ # * `:item_collection_metrics` - (Hash<String,Hash>)
158
+ # * `:value` - (Array<Hash>)
159
+ # * `:item_collection_key` - (Hash<String,Hash>)
160
+ # * `:s` - (String)
161
+ # * `:n` - (String)
162
+ # * `:b` - (String)
163
+ # * `:ss` - (Array<String>)
164
+ # * `:ns` - (Array<String>)
165
+ # * `:bs` - (Array<Blob>)
166
+ # * `:size_estimate_range_gb` - (Array<Float>)
167
+ # * `:consumed_capacity` - (Array<Hash>)
168
+ # * `:table_name` - (String)
169
+ # * `:capacity_units` - (Numeric)
170
+
171
+ # @!method create_table(options = {})
172
+ # Calls the CreateTable API operation.
173
+ # @param [Hash] options
174
+ #
175
+ # * `:attribute_definitions` - *required* - (Array<Hash>) An array of
176
+ # attributes that describe the key schema for the table and indexes.
177
+ # * `:attribute_name` - *required* - (String) A name for the
178
+ # attribute.
179
+ # * `:attribute_type` - *required* - (String) The data type for the
180
+ # attribute. Valid values include:
181
+ # * `S`
182
+ # * `N`
183
+ # * `B`
184
+ # * `:table_name` - *required* - (String) The name of the table to
185
+ # create.
186
+ # * `:key_schema` - *required* - (Array<Hash>) Specifies the attributes
187
+ # that make up the primary key for the table. The attributes in
188
+ # KeySchema must also be defined in the AttributeDefinitions array.
189
+ # For more information, see Data Model . Each KeySchemaElement in the
190
+ # array is composed of: AttributeName - The name of this key
191
+ # attribute. KeyType - Determines whether the key attribute is HASH
192
+ # or RANGE. For a primary key that consists of a hash attribute, you
193
+ # must specify exactly one element with a KeyType of HASH. For a
194
+ # primary key that consists of hash and range attributes, you must
195
+ # specify exactly two elements, in this order: The first element must
196
+ # have a KeyType of HASH, and the second element must have a KeyType
197
+ # of RANGE. For more information, see Specifying the Primary Key .
198
+ # * `:attribute_name` - *required* - (String) Represents the name of
199
+ # a key attribute.
200
+ # * `:key_type` - *required* - (String) Represents the attribute
201
+ # data, consisting of the data type and the attribute value itself.
202
+ # Valid values include:
203
+ # * `HASH`
204
+ # * `RANGE`
205
+ # * `:local_secondary_indexes` - (Array<Hash>) One or more secondary
206
+ # indexes (the maximum is five) to be created on the table. Each
207
+ # index is scoped to a given hash key value. There is a 10 gigabyte
208
+ # size limit per hash key; otherwise, the size of a local secondary
209
+ # index is unconstrained. Each secondary index in the array includes
210
+ # the following: IndexName - The name of the secondary index. Must be
211
+ # unique only for this table. KeySchema - Specifies the key schema
212
+ # for the index. The key schema must begin with the same hash key
213
+ # attribute as the table.
214
+ # * `:index_name` - *required* - (String) Represents the name of the
215
+ # secondary index. The name must be unique among all other indexes
216
+ # on this table.
217
+ # * `:key_schema` - *required* - (Array<Hash>) Represents the
218
+ # complete index key schema, which consists of one or more pairs of
219
+ # attribute names and key types (HASH or RANGE).
220
+ # * `:attribute_name` - *required* - (String) Represents the name
221
+ # of a key attribute.
222
+ # * `:key_type` - *required* - (String) Represents the attribute
223
+ # data, consisting of the data type and the attribute value
224
+ # itself. Valid values include:
225
+ # * `HASH`
226
+ # * `RANGE`
227
+ # * `:projection` - *required* - (Hash)
228
+ # * `:projection_type` - (String) Represents the set of attributes
229
+ # that are projected into the index: KEYS_ONLY - Only the index
230
+ # and primary keys are projected into the index. INCLUDE - Only
231
+ # the specified table attributes are projected into the index.
232
+ # The list of projected attributes are in NonKeyAttributes. ALL -
233
+ # All of the table attributes are projected into the index. Valid
234
+ # values include:
235
+ # * `ALL`
236
+ # * `KEYS_ONLY`
237
+ # * `INCLUDE`
238
+ # * `:non_key_attributes` - (Array<String>) Represents the non-key
239
+ # attribute names which will be projected into the index. The
240
+ # total count of attributes specified in NonKeyAttributes, summed
241
+ # across all of the local secondary indexes, must not exceed 20.
242
+ # If you project the same attribute into two different indexes,
243
+ # this counts as two distinct attributes when determining the
244
+ # total.
245
+ # * `:provisioned_throughput` - *required* - (Hash)
246
+ # * `:read_capacity_units` - *required* - (Integer) The maximum
247
+ # number of strongly consistent reads consumed per second before
248
+ # returns a ThrottlingException. For more information, see
249
+ # Specifying Read and Write Requirements .
250
+ # * `:write_capacity_units` - *required* - (Integer) The maximum
251
+ # number of writes consumed per second before returns a
252
+ # ThrottlingException. For more information, see Specifying Read
253
+ # and Write Requirements .
254
+ # @return [Core::Response]
255
+ # The #data method of the response object returns
256
+ # a hash with the following structure:
257
+ #
258
+ # * `:table_description` - (Hash)
259
+ # * `:attribute_definitions` - (Array<Hash>)
260
+ # * `:attribute_name` - (String)
261
+ # * `:attribute_type` - (String)
262
+ # * `:table_name` - (String)
263
+ # * `:key_schema` - (Array<Hash>)
264
+ # * `:attribute_name` - (String)
265
+ # * `:key_type` - (String)
266
+ # * `:table_status` - (String)
267
+ # * `:creation_date_time` - (Time)
268
+ # * `:provisioned_throughput` - (Hash)
269
+ # * `:last_increase_date_time` - (Time)
270
+ # * `:last_decrease_date_time` - (Time)
271
+ # * `:number_of_decreases_today` - (Integer)
272
+ # * `:read_capacity_units` - (Integer)
273
+ # * `:write_capacity_units` - (Integer)
274
+ # * `:table_size_bytes` - (Integer)
275
+ # * `:item_count` - (Integer)
276
+ # * `:local_secondary_indexes` - (Array<Hash>)
277
+ # * `:index_name` - (String)
278
+ # * `:key_schema` - (Array<Hash>)
279
+ # * `:attribute_name` - (String)
280
+ # * `:key_type` - (String)
281
+ # * `:projection` - (Hash)
282
+ # * `:projection_type` - (String)
283
+ # * `:non_key_attributes` - (Array<String>)
284
+ # * `:index_size_bytes` - (Integer)
285
+ # * `:item_count` - (Integer)
286
+
287
+ # @!method delete_item(options = {})
288
+ # Calls the DeleteItem API operation.
289
+ # @param [Hash] options
290
+ #
291
+ # * `:table_name` - *required* - (String) The name of the table from
292
+ # which to delete the item.
293
+ # * `:key` - *required* - (Hash<String,Hash>) A map of attribute names
294
+ # to AttributeValue objects, representing the primary key of the item
295
+ # to delete.
296
+ # * `:s` - (String) Represents a String data type
297
+ # * `:n` - (String) Represents a Number data type
298
+ # * `:b` - (String) Represents a Binary data type
299
+ # * `:ss` - (Array<String>) Represents a String set data type
300
+ # * `:ns` - (Array<String>) Represents a Number set data type
301
+ # * `:bs` - (Array<String>) Represents a Binary set data type
302
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
303
+ # pairs. This is the conditional block for the DeleteItemoperation.
304
+ # All the conditions must be met for the operation to succeed.
305
+ # * `:value` - (Hash) Specify whether or not a value already exists
306
+ # and has a specific content for the attribute name-value pair.
307
+ # * `:s` - (String) Represents a String data type
308
+ # * `:n` - (String) Represents a Number data type
309
+ # * `:b` - (String) Represents a Binary data type
310
+ # * `:ss` - (Array<String>) Represents a String set data type
311
+ # * `:ns` - (Array<String>) Represents a Number set data type
312
+ # * `:bs` - (Array<String>) Represents a Binary set data type
313
+ # * `:exists` - (Boolean) Causes to evaluate the value before
314
+ # attempting a conditional operation: If Exists is `true` , will
315
+ # check to see if that attribute value already exists in the table.
316
+ # If it is found, then the operation succeeds. If it is not found,
317
+ # the operation fails with a ConditionalCheckFailedException. If
318
+ # Exists is `false` , assumes that the attribute value does not
319
+ # exist in the table. If in fact the value does not exist, then the
320
+ # assumption is valid and the operation succeeds. If the value is
321
+ # found, despite the assumption that it does not exist, the
322
+ # operation fails with a ConditionalCheckFailedException. The
323
+ # default setting for Exists is `true` . If you supply a Value all
324
+ # by itself, assumes the attribute exists: You don't have to set
325
+ # Exists to `true` , because it is implied. returns a
326
+ # ValidationException if: Exists is `true` but there is no Value to
327
+ # check. (You expect a value to exist, but don't specify what that
328
+ # value is.) Exists is `false` but you also specify a Value. (You
329
+ # cannot expect an attribute to have a value, while also expecting
330
+ # it not to exist.) If you specify more than one condition for
331
+ # Exists, then all of the conditions must evaluate to `true` . (In
332
+ # other words, the conditions are ANDed together.) Otherwise, the
333
+ # conditional operation will fail.
334
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
335
+ # item attributes as they appeared before they were deleted. For
336
+ # DeleteItem, the valid values are: NONE - If ReturnValues is not
337
+ # specified, or if its value is NONE, then nothing is returned. (This
338
+ # is the default for ReturnValues.) ALL_OLD - The content of the old
339
+ # item is returned. Valid values include:
340
+ # * `NONE`
341
+ # * `ALL_OLD`
342
+ # * `UPDATED_OLD`
343
+ # * `ALL_NEW`
344
+ # * `UPDATED_NEW`
345
+ # * `:return_consumed_capacity` - (String) Valid values include:
346
+ # * `TOTAL`
347
+ # * `NONE`
348
+ # * `:return_item_collection_metrics` - (String) Valid values include:
349
+ # * `SIZE`
350
+ # * `NONE`
351
+ # @return [Core::Response]
352
+ # The #data method of the response object returns
353
+ # a hash with the following structure:
354
+ #
355
+ # * `:attributes` - (Hash<String,Hash>)
356
+ # * `:s` - (String)
357
+ # * `:n` - (String)
358
+ # * `:b` - (String)
359
+ # * `:ss` - (Array<String>)
360
+ # * `:ns` - (Array<String>)
361
+ # * `:bs` - (Array<Blob>)
362
+ # * `:consumed_capacity` - (Hash)
363
+ # * `:table_name` - (String)
364
+ # * `:capacity_units` - (Numeric)
365
+ # * `:item_collection_metrics` - (Hash)
366
+ # * `:item_collection_key` - (Hash<String,Hash>)
367
+ # * `:s` - (String)
368
+ # * `:n` - (String)
369
+ # * `:b` - (String)
370
+ # * `:ss` - (Array<String>)
371
+ # * `:ns` - (Array<String>)
372
+ # * `:bs` - (Array<Blob>)
373
+ # * `:size_estimate_range_gb` - (Array<Float>)
374
+
375
+ # @!method delete_table(options = {})
376
+ # Calls the DeleteTable API operation.
377
+ # @param [Hash] options
378
+ #
379
+ # * `:table_name` - *required* - (String) The name of the table to
380
+ # delete.
381
+ # @return [Core::Response]
382
+ # The #data method of the response object returns
383
+ # a hash with the following structure:
384
+ #
385
+ # * `:table_description` - (Hash)
386
+ # * `:attribute_definitions` - (Array<Hash>)
387
+ # * `:attribute_name` - (String)
388
+ # * `:attribute_type` - (String)
389
+ # * `:table_name` - (String)
390
+ # * `:key_schema` - (Array<Hash>)
391
+ # * `:attribute_name` - (String)
392
+ # * `:key_type` - (String)
393
+ # * `:table_status` - (String)
394
+ # * `:creation_date_time` - (Time)
395
+ # * `:provisioned_throughput` - (Hash)
396
+ # * `:last_increase_date_time` - (Time)
397
+ # * `:last_decrease_date_time` - (Time)
398
+ # * `:number_of_decreases_today` - (Integer)
399
+ # * `:read_capacity_units` - (Integer)
400
+ # * `:write_capacity_units` - (Integer)
401
+ # * `:table_size_bytes` - (Integer)
402
+ # * `:item_count` - (Integer)
403
+ # * `:local_secondary_indexes` - (Array<Hash>)
404
+ # * `:index_name` - (String)
405
+ # * `:key_schema` - (Array<Hash>)
406
+ # * `:attribute_name` - (String)
407
+ # * `:key_type` - (String)
408
+ # * `:projection` - (Hash)
409
+ # * `:projection_type` - (String)
410
+ # * `:non_key_attributes` - (Array<String>)
411
+ # * `:index_size_bytes` - (Integer)
412
+ # * `:item_count` - (Integer)
413
+
414
+ # @!method describe_table(options = {})
415
+ # Calls the DescribeTable API operation.
416
+ # @param [Hash] options
417
+ #
418
+ # * `:table_name` - *required* - (String) The name of the table to
419
+ # describe.
420
+ # @return [Core::Response]
421
+ # The #data method of the response object returns
422
+ # a hash with the following structure:
423
+ #
424
+ # * `:table` - (Hash)
425
+ # * `:attribute_definitions` - (Array<Hash>)
426
+ # * `:attribute_name` - (String)
427
+ # * `:attribute_type` - (String)
428
+ # * `:table_name` - (String)
429
+ # * `:key_schema` - (Array<Hash>)
430
+ # * `:attribute_name` - (String)
431
+ # * `:key_type` - (String)
432
+ # * `:table_status` - (String)
433
+ # * `:creation_date_time` - (Time)
434
+ # * `:provisioned_throughput` - (Hash)
435
+ # * `:last_increase_date_time` - (Time)
436
+ # * `:last_decrease_date_time` - (Time)
437
+ # * `:number_of_decreases_today` - (Integer)
438
+ # * `:read_capacity_units` - (Integer)
439
+ # * `:write_capacity_units` - (Integer)
440
+ # * `:table_size_bytes` - (Integer)
441
+ # * `:item_count` - (Integer)
442
+ # * `:local_secondary_indexes` - (Array<Hash>)
443
+ # * `:index_name` - (String)
444
+ # * `:key_schema` - (Array<Hash>)
445
+ # * `:attribute_name` - (String)
446
+ # * `:key_type` - (String)
447
+ # * `:projection` - (Hash)
448
+ # * `:projection_type` - (String)
449
+ # * `:non_key_attributes` - (Array<String>)
450
+ # * `:index_size_bytes` - (Integer)
451
+ # * `:item_count` - (Integer)
452
+
453
+ # @!method get_item(options = {})
454
+ # Calls the GetItem API operation.
455
+ # @param [Hash] options
456
+ #
457
+ # * `:table_name` - *required* - (String) The name of the table
458
+ # containing the requested item.
459
+ # * `:key` - *required* - (Hash<String,Hash>) A map of attribute names
460
+ # to AttributeValue objects, representing the primary key of the item
461
+ # to retrieve.
462
+ # * `:s` - (String) Represents a String data type
463
+ # * `:n` - (String) Represents a Number data type
464
+ # * `:b` - (String) Represents a Binary data type
465
+ # * `:ss` - (Array<String>) Represents a String set data type
466
+ # * `:ns` - (Array<String>) Represents a Number set data type
467
+ # * `:bs` - (Array<String>) Represents a Binary set data type
468
+ # * `:attributes_to_get` - (Array<String>)
469
+ # * `:consistent_read` - (Boolean)
470
+ # * `:return_consumed_capacity` - (String) Valid values include:
471
+ # * `TOTAL`
472
+ # * `NONE`
473
+ # @return [Core::Response]
474
+ # The #data method of the response object returns
475
+ # a hash with the following structure:
476
+ #
477
+ # * `:item` - (Hash<String,Hash>)
478
+ # * `:s` - (String)
479
+ # * `:n` - (String)
480
+ # * `:b` - (String)
481
+ # * `:ss` - (Array<String>)
482
+ # * `:ns` - (Array<String>)
483
+ # * `:bs` - (Array<Blob>)
484
+ # * `:consumed_capacity` - (Hash)
485
+ # * `:table_name` - (String)
486
+ # * `:capacity_units` - (Numeric)
487
+
488
+ # @!method list_tables(options = {})
489
+ # Calls the ListTables API operation.
490
+ # @param [Hash] options
491
+ #
492
+ # * `:exclusive_start_table_name` - (String) The name of the table that
493
+ # starts the list. If you already ran a ListTables operation and
494
+ # received a LastEvaluatedTableName value in the response, use that
495
+ # value here to continue the list.
496
+ # * `:limit` - (Integer) A maximum number of table names to return.
497
+ # @return [Core::Response]
498
+ # The #data method of the response object returns
499
+ # a hash with the following structure:
500
+ #
501
+ # * `:table_names` - (Array<String>)
502
+ # * `:last_evaluated_table_name` - (String)
503
+
504
+ # @!method put_item(options = {})
505
+ # Calls the PutItem API operation.
506
+ # @param [Hash] options
507
+ #
508
+ # * `:table_name` - *required* - (String) The name of the table to
509
+ # contain the item.
510
+ # * `:item` - *required* - (Hash<String,Hash>) A map of attribute
511
+ # name/value pairs, one for each attribute. Only the primary key
512
+ # attributes are required; you can optionally provide other attribute
513
+ # name-value pairs for the item. If you specify any attributes that
514
+ # are part of an index key, then the data types for those attributes
515
+ # must match those of the schema in the table's attribute definition.
516
+ # For more information about primary keys, see Primary Key . Each
517
+ # element in the Item map is an AttributeValue object.
518
+ # * `:s` - (String) Represents a String data type
519
+ # * `:n` - (String) Represents a Number data type
520
+ # * `:b` - (String) Represents a Binary data type
521
+ # * `:ss` - (Array<String>) Represents a String set data type
522
+ # * `:ns` - (Array<String>) Represents a Number set data type
523
+ # * `:bs` - (Array<String>) Represents a Binary set data type
524
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
525
+ # pairs. This is the conditional block for the PutItem operation. All
526
+ # the conditions must be met for the operation to succeed.
527
+ # * `:value` - (Hash) Specify whether or not a value already exists
528
+ # and has a specific content for the attribute name-value pair.
529
+ # * `:s` - (String) Represents a String data type
530
+ # * `:n` - (String) Represents a Number data type
531
+ # * `:b` - (String) Represents a Binary data type
532
+ # * `:ss` - (Array<String>) Represents a String set data type
533
+ # * `:ns` - (Array<String>) Represents a Number set data type
534
+ # * `:bs` - (Array<String>) Represents a Binary set data type
535
+ # * `:exists` - (Boolean) Causes to evaluate the value before
536
+ # attempting a conditional operation: If Exists is `true` , will
537
+ # check to see if that attribute value already exists in the table.
538
+ # If it is found, then the operation succeeds. If it is not found,
539
+ # the operation fails with a ConditionalCheckFailedException. If
540
+ # Exists is `false` , assumes that the attribute value does not
541
+ # exist in the table. If in fact the value does not exist, then the
542
+ # assumption is valid and the operation succeeds. If the value is
543
+ # found, despite the assumption that it does not exist, the
544
+ # operation fails with a ConditionalCheckFailedException. The
545
+ # default setting for Exists is `true` . If you supply a Value all
546
+ # by itself, assumes the attribute exists: You don't have to set
547
+ # Exists to `true` , because it is implied. returns a
548
+ # ValidationException if: Exists is `true` but there is no Value to
549
+ # check. (You expect a value to exist, but don't specify what that
550
+ # value is.) Exists is `false` but you also specify a Value. (You
551
+ # cannot expect an attribute to have a value, while also expecting
552
+ # it not to exist.) If you specify more than one condition for
553
+ # Exists, then all of the conditions must evaluate to `true` . (In
554
+ # other words, the conditions are ANDed together.) Otherwise, the
555
+ # conditional operation will fail.
556
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
557
+ # item attributes as they appeared before they were updated with the
558
+ # PutItem request. For PutItem, the valid values are: NONE - If
559
+ # ReturnValues is not specified, or if its value is NONE, then
560
+ # nothing is returned. (This is the default for ReturnValues.)
561
+ # ALL_OLD - If PutItem overwrote an attribute name-value pair, then
562
+ # the content of the old item is returned. Valid values include:
563
+ # * `NONE`
564
+ # * `ALL_OLD`
565
+ # * `UPDATED_OLD`
566
+ # * `ALL_NEW`
567
+ # * `UPDATED_NEW`
568
+ # * `:return_consumed_capacity` - (String) Valid values include:
569
+ # * `TOTAL`
570
+ # * `NONE`
571
+ # * `:return_item_collection_metrics` - (String) Valid values include:
572
+ # * `SIZE`
573
+ # * `NONE`
574
+ # @return [Core::Response]
575
+ # The #data method of the response object returns
576
+ # a hash with the following structure:
577
+ #
578
+ # * `:attributes` - (Hash<String,Hash>)
579
+ # * `:s` - (String)
580
+ # * `:n` - (String)
581
+ # * `:b` - (String)
582
+ # * `:ss` - (Array<String>)
583
+ # * `:ns` - (Array<String>)
584
+ # * `:bs` - (Array<Blob>)
585
+ # * `:consumed_capacity` - (Hash)
586
+ # * `:table_name` - (String)
587
+ # * `:capacity_units` - (Numeric)
588
+ # * `:item_collection_metrics` - (Hash)
589
+ # * `:item_collection_key` - (Hash<String,Hash>)
590
+ # * `:s` - (String)
591
+ # * `:n` - (String)
592
+ # * `:b` - (String)
593
+ # * `:ss` - (Array<String>)
594
+ # * `:ns` - (Array<String>)
595
+ # * `:bs` - (Array<Blob>)
596
+ # * `:size_estimate_range_gb` - (Array<Float>)
597
+
598
+ # @!method query(options = {})
599
+ # Calls the Query API operation.
600
+ # @param [Hash] options
601
+ #
602
+ # * `:table_name` - *required* - (String) The name of the table
603
+ # containing the requested items.
604
+ # * `:index_name` - (String) The name of an index on the table to
605
+ # query.
606
+ # * `:select` - (String) The attributes to be returned in the result.
607
+ # You can retrieve all item attributes, specific item attributes, the
608
+ # count of matching items, or in the case of an index, some or all of
609
+ # the attributes projected into the index. ALL_ATTRIBUTES: Returns
610
+ # all of the item attributes. For a table, this is the default. For
611
+ # an index, this mode causes to fetch the full item from the table
612
+ # for each matching item in the index. If the index is configured to
613
+ # project all item attributes, the matching items will not be fetched
614
+ # from the table. Fetching items from the table incurs additional
615
+ # throughput cost and latency. ALL_PROJECTED_ATTRIBUTES: Allowed only
616
+ # when querying an index. Retrieves all attributes which have been
617
+ # projected into the index. If the index is configured to project all
618
+ # attributes, this is equivalent to specifying ALL_ATTRIBUTES. COUNT:
619
+ # Returns the number of matching items, rather than the matching
620
+ # items themselves. SPECIFIC_ATTRIBUTES : Returns only the attributes
621
+ # listed in AttributesToGet. This is equivalent to specifying
622
+ # AttributesToGet without specifying any value for Select. When
623
+ # neither Select nor AttributesToGet are specified, defaults to
624
+ # ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES
625
+ # when accessing an index. You cannot use both Select and
626
+ # AttributesToGet together in a single request, unless the value for
627
+ # Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to
628
+ # specifying AttributesToGet without any value for Select.) Valid
629
+ # values include:
630
+ # * `ALL_ATTRIBUTES`
631
+ # * `ALL_PROJECTED_ATTRIBUTES`
632
+ # * `SPECIFIC_ATTRIBUTES`
633
+ # * `COUNT`
634
+ # * `:attributes_to_get` - (Array<String>) You cannot use both
635
+ # AttributesToGet and Select together in a Query request, unless the
636
+ # value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent
637
+ # to specifying AttributesToGet without any value for Select.)
638
+ # * `:limit` - (Integer)
639
+ # * `:consistent_read` - (Boolean)
640
+ # * `:key_conditions` - (Hash<String,Hash>) The selection criteria for
641
+ # the query. For a query on a table, you can only have conditions on
642
+ # the table primary key attributes. you must specify the hash key
643
+ # attribute name and value as an EQ condition. You can optionally
644
+ # specify a second condition, referring to the range key attribute.
645
+ # For a query on a secondary index, you can only have conditions on
646
+ # the index key attributes. You must specify the index hash attribute
647
+ # name and value as an EQ condition. You can optionally specify a
648
+ # second condition, referring to the index key range attribute.
649
+ # Multiple conditions are evaluated using "AND"; in other words, all
650
+ # of the conditions must be met in order for an item to appear in the
651
+ # results results. Each KeyConditions element consists of an
652
+ # attribute name to compare, along with the following:
653
+ # AttributeValueList - One or more values to evaluate against the
654
+ # supplied attribute. This list contains exactly one value, except
655
+ # for a BETWEEN or IN comparison, in which case the list contains two
656
+ # values. For type Number, value comparisons are numeric. String
657
+ # value comparisons for greater than, equals, or less than are based
658
+ # on ASCII character code values. For example, a is greater than A,
659
+ # and aa is greater than B. For a list of code values, see
660
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. For
661
+ # Binary, treats each byte of the binary data as unsigned when it
662
+ # compares binary values, for example when evaluating query
663
+ # expressions. ComparisonOperator - A comparator for evaluating
664
+ # attributes. For example, equals, greater than, less than, etc. For
665
+ # information on specifying data types in JSON, see JSON Data Format
666
+ # . The following are descriptions of each comparison operator. EQ :
667
+ # Equal. AttributeValueList can contain only one AttributeValue of
668
+ # type String, Number, or Binary (not a set). If an item contains an
669
+ # AttributeValue of a different type than the one specified in the
670
+ # request, the value does not match. For example, {"S":"6"} does not
671
+ # equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2",
672
+ # "1"]}. LE : Less than or equal. AttributeValueList can contain only
673
+ # one AttributeValue of type String, Number, or Binary (not a set).
674
+ # If an item contains an AttributeValue of a different type than the
675
+ # one specified in the request, the value does not match. For
676
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
677
+ # not compare to {"NS":["6", "2", "1"]}. LT : Less than.
678
+ # AttributeValueList can contain only one AttributeValue of type
679
+ # String, Number, or Binary (not a set). If an item contains an
680
+ # AttributeValue of a different type than the one specified in the
681
+ # request, the value does not match. For example, {"S":"6"} does not
682
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
683
+ # "2", "1"]}. GE : Greater than or equal. AttributeValueList can
684
+ # contain only one AttributeValue of type String, Number, or Binary
685
+ # (not a set). If an item contains an AttributeValue of a different
686
+ # type than the one specified in the request, the value does not
687
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
688
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GT : Greater
689
+ # than. AttributeValueList can contain only one AttributeValue of
690
+ # type String, Number, or Binary (not a set). If an item contains an
691
+ # AttributeValue of a different type than the one specified in the
692
+ # request, the value does not match. For example, {"S":"6"} does not
693
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
694
+ # "2", "1"]}. BEGINS_WITH : checks for a prefix. AttributeValueList
695
+ # can contain only one AttributeValue of type String or Binary (not a
696
+ # Number or a set). The target attribute of the comparison must be a
697
+ # String or Binary (not a Number or a set). BETWEEN : Greater than or
698
+ # equal to the first value, and less than or equal to the second
699
+ # value. AttributeValueList must contain two AttributeValue elements
700
+ # of the same type, either String, Number, or Binary (not a set). A
701
+ # target attribute matches if the target value is greater than, or
702
+ # equal to, the first element and less than, or equal to, the second
703
+ # element. If an item contains an AttributeValue of a different type
704
+ # than the one specified in the request, the value does not match.
705
+ # For example, {"S":"6"} does not compare to {"N":"6"}. Also,
706
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}
707
+ # * `:attribute_value_list` - (Array<Hash>) Represents one or more
708
+ # values to evaluate against the supplied attribute. This list
709
+ # contains exactly one value, except for a BETWEEN or IN
710
+ # comparison, in which case the list contains two values. For type
711
+ # Number, value comparisons are numeric. String value comparisons
712
+ # for greater than, equals, or less than are based on ASCII
713
+ # character code values. For example, a is greater than A, and aa
714
+ # is greater than B. For a list of code values, see
715
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
716
+ # For Binary, treats each byte of the binary data as unsigned when
717
+ # it compares binary values, for example when evaluating query
718
+ # expressions.
719
+ # * `:s` - (String) Represents a String data type
720
+ # * `:n` - (String) Represents a Number data type
721
+ # * `:b` - (String) Represents a Binary data type
722
+ # * `:ss` - (Array<String>) Represents a String set data type
723
+ # * `:ns` - (Array<String>) Represents a Number set data type
724
+ # * `:bs` - (Array<String>) Represents a Binary set data type
725
+ # * `:comparison_operator` - *required* - (String) Represents a
726
+ # comparator for evaluating attributes. For example, equals,
727
+ # greater than, less than, etc. For information on specifying data
728
+ # types in JSON, see JSON Data Format . The following are
729
+ # descriptions of each comparison operator. EQ : Equal.
730
+ # AttributeValueList can contain only one AttributeValue of type
731
+ # String, Number, or Binary (not a set). If an item contains an
732
+ # AttributeValue of a different type than the one specified in the
733
+ # request, the value does not match. For example, {"S":"6"} does
734
+ # not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6",
735
+ # "2", "1"]}. NE : Not equal. AttributeValueList can contain only
736
+ # one AttributeValue of type String, Number, or Binary (not a set).
737
+ # If an item contains an AttributeValue of a different type than
738
+ # the one specified in the request, the value does not match. For
739
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
740
+ # not equal {"NS":["6", "2", "1"]}. LE : Less than or equal.
741
+ # AttributeValueList can contain only one AttributeValue of type
742
+ # String, Number, or Binary (not a set). If an item contains an
743
+ # AttributeValue of a different type than the one specified in the
744
+ # request, the value does not match. For example, {"S":"6"} does
745
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
746
+ # {"NS":["6", "2", "1"]}. LT : Less than. AttributeValueList can
747
+ # contain only one AttributeValue of type String, Number, or Binary
748
+ # (not a set). If an item contains an AttributeValue of a different
749
+ # type than the one specified in the request, the value does not
750
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
751
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GE :
752
+ # Greater than or equal. AttributeValueList can contain only one
753
+ # AttributeValue of type String, Number, or Binary (not a set). If
754
+ # an item contains an AttributeValue of a different type than the
755
+ # one specified in the request, the value does not match. For
756
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
757
+ # not compare to {"NS":["6", "2", "1"]}. GT : Greater than.
758
+ # AttributeValueList can contain only one AttributeValue of type
759
+ # String, Number, or Binary (not a set). If an item contains an
760
+ # AttributeValue of a different type than the one specified in the
761
+ # request, the value does not match. For example, {"S":"6"} does
762
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
763
+ # {"NS":["6", "2", "1"]}. NOT_NULL : The attribute exists. NULL :
764
+ # The attribute does not exist. CONTAINS : checks for a
765
+ # subsequence, or value in a set. AttributeValueList can contain
766
+ # only one AttributeValue of type String, Number, or Binary (not a
767
+ # set). If the target attribute of the comparison is a String, then
768
+ # the operation checks for a substring match. If the target
769
+ # attribute of the comparison is Binary, then the operation looks
770
+ # for a subsequence of the target that matches the input. If the
771
+ # target attribute of the comparison is a set ("SS", "NS", or
772
+ # "BS"), then the operation checks for a member of the set (not as
773
+ # a substring). NOT_CONTAINS : checks for absence of a subsequence,
774
+ # or absence of a value in a set. AttributeValueList can contain
775
+ # only one AttributeValue of type String, Number, or Binary (not a
776
+ # set). If the target attribute of the comparison is a String, then
777
+ # the operation checks for the absence of a substring match. If the
778
+ # target attribute of the comparison is Binary, then the operation
779
+ # checks for the absence of a subsequence of the target that
780
+ # matches the input. If the target attribute of the comparison is a
781
+ # set ("SS", "NS", or "BS"), then the operation checks for the
782
+ # absence of a member of the set (not as a substring). BEGINS_WITH
783
+ # : checks for a prefix. AttributeValueList can contain only one
784
+ # AttributeValue of type String or Binary (not a Number or a set).
785
+ # The target attribute of the comparison must be a String or Binary
786
+ # (not a Number or a set). IN : checks for exact matches.
787
+ # AttributeValueList can contain more than one AttributeValue of
788
+ # type String, Number, or Binary (not a set). The target attribute
789
+ # of the comparison must be of the same type and exact value to
790
+ # match. A String never matches a String set. BETWEEN : Greater
791
+ # than or equal to the first value, and less than or equal to the
792
+ # second value. AttributeValueList must contain two AttributeValue
793
+ # elements of the same type, either String, Number, or Binary (not
794
+ # a set). A target attribute matches if the target value is greater
795
+ # than, or equal to, the first element and less than, or equal to,
796
+ # the second element. If an item contains an AttributeValue of a
797
+ # different type than the one specified in the request, the value
798
+ # does not match. For example, {"S":"6"} does not compare to
799
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
800
+ # "1"]} Valid values include:
801
+ # * `EQ`
802
+ # * `NE`
803
+ # * `IN`
804
+ # * `LE`
805
+ # * `LT`
806
+ # * `GE`
807
+ # * `GT`
808
+ # * `BETWEEN`
809
+ # * `NOT_NULL`
810
+ # * `NULL`
811
+ # * `CONTAINS`
812
+ # * `NOT_CONTAINS`
813
+ # * `BEGINS_WITH`
814
+ # * `:scan_index_forward` - (Boolean) Specifies ascending ( `true` ) or
815
+ # descending ( `false` ) traversal of the index. returns results
816
+ # reflecting the requested order determined by the range key. If the
817
+ # data type is Number, the results are returned in numeric order. For
818
+ # String, the results are returned in order of ASCII character code
819
+ # values. For Binary, Amazon DynamoDB treats each byte of the binary
820
+ # data as unsigned when it compares binary values. If
821
+ # ScanIndexForward is not specified, the results are returned in
822
+ # ascending order.
823
+ # * `:exclusive_start_key` - (Hash<String,Hash>)
824
+ # * `:s` - (String) Represents a String data type
825
+ # * `:n` - (String) Represents a Number data type
826
+ # * `:b` - (String) Represents a Binary data type
827
+ # * `:ss` - (Array<String>) Represents a String set data type
828
+ # * `:ns` - (Array<String>) Represents a Number set data type
829
+ # * `:bs` - (Array<String>) Represents a Binary set data type
830
+ # * `:return_consumed_capacity` - (String) Valid values include:
831
+ # * `TOTAL`
832
+ # * `NONE`
833
+ # @return [Core::Response]
834
+ # The #data method of the response object returns
835
+ # a hash with the following structure:
836
+ #
837
+ # * `:member` - (Hash<String,Hash>)
838
+ # * `:s` - (String)
839
+ # * `:n` - (String)
840
+ # * `:b` - (String)
841
+ # * `:ss` - (Array<String>)
842
+ # * `:ns` - (Array<String>)
843
+ # * `:bs` - (Array<Blob>)
844
+ # * `:count` - (Integer)
845
+ # * `:last_evaluated_key` - (Hash<String,Hash>)
846
+ # * `:s` - (String)
847
+ # * `:n` - (String)
848
+ # * `:b` - (String)
849
+ # * `:ss` - (Array<String>)
850
+ # * `:ns` - (Array<String>)
851
+ # * `:bs` - (Array<Blob>)
852
+ # * `:consumed_capacity` - (Hash)
853
+ # * `:table_name` - (String)
854
+ # * `:capacity_units` - (Numeric)
855
+
856
+ # @!method scan(options = {})
857
+ # Calls the Scan API operation.
858
+ # @param [Hash] options
859
+ #
860
+ # * `:table_name` - *required* - (String) The name of the table
861
+ # containing the requested items.
862
+ # * `:attributes_to_get` - (Array<String>)
863
+ # * `:limit` - (Integer)
864
+ # * `:select` - (String) The attributes to be returned in the result.
865
+ # You can retrieve all item attributes, specific item attributes, the
866
+ # count of matching items, or in the case of an index, some or all of
867
+ # the attributes projected into the index. ALL_ATTRIBUTES: Returns
868
+ # all of the item attributes. For a table, this is the default. For
869
+ # an index, this mode causes to fetch the full item from the table
870
+ # for each matching item in the index. If the index is configured to
871
+ # project all item attributes, the matching items will not be fetched
872
+ # from the table. Fetching items from the table incurs additional
873
+ # throughput cost and latency. ALL_PROJECTED_ATTRIBUTES: Retrieves
874
+ # all attributes which have been projected into the index. If the
875
+ # index is configured to project all attributes, this is equivalent
876
+ # to specifying ALL_ATTRIBUTES. COUNT: Returns the number of matching
877
+ # items, rather than the matching items themselves.
878
+ # SPECIFIC_ATTRIBUTES : Returns only the attributes listed in
879
+ # AttributesToGet. This is equivalent to specifying AttributesToGet
880
+ # without specifying any value for Select. When neither Select nor
881
+ # AttributesToGet are specified, defaults to ALL_ATTRIBUTES when
882
+ # accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an
883
+ # index. You cannot use both Select and AttributesToGet together in a
884
+ # single request, unless the value for Select is SPECIFIC_ATTRIBUTES.
885
+ # (This usage is equivalent to specifying AttributesToGet without any
886
+ # value for Select.) Valid values include:
887
+ # * `ALL_ATTRIBUTES`
888
+ # * `ALL_PROJECTED_ATTRIBUTES`
889
+ # * `SPECIFIC_ATTRIBUTES`
890
+ # * `COUNT`
891
+ # * `:scan_filter` - (Hash<String,Hash>) Evaluates the scan results and
892
+ # returns only the desired values. Multiple conditions are treated as
893
+ # "AND" operations: all conditions must be met to be included in the
894
+ # results. Each ScanConditions element consists of an attribute name
895
+ # to compare, along with the following: AttributeValueList - One or
896
+ # more values to evaluate against the supplied attribute. This list
897
+ # contains exactly one value, except for a BETWEEN or IN comparison,
898
+ # in which case the list contains two values. For type Number, value
899
+ # comparisons are numeric. String value comparisons for greater than,
900
+ # equals, or less than are based on ASCII character code values. For
901
+ # example, a is greater than A, and aa is greater than B. For a list
902
+ # of code values, see
903
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. For
904
+ # Binary, treats each byte of the binary data as unsigned when it
905
+ # compares binary values, for example when evaluating query
906
+ # expressions. ComparisonOperator - A comparator for evaluating
907
+ # attributes. For example, equals, greater than, less than, etc. For
908
+ # information on specifying data types in JSON, see JSON Data Format
909
+ # . The following are descriptions of each comparison operator. EQ :
910
+ # Equal. AttributeValueList can contain only one AttributeValue of
911
+ # type String, Number, or Binary (not a set). If an item contains an
912
+ # AttributeValue of a different type than the one specified in the
913
+ # request, the value does not match. For example, {"S":"6"} does not
914
+ # equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2",
915
+ # "1"]}. NE : Not equal. AttributeValueList can contain only one
916
+ # AttributeValue of type String, Number, or Binary (not a set). If an
917
+ # item contains an AttributeValue of a different type than the one
918
+ # specified in the request, the value does not match. For example,
919
+ # {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not equal
920
+ # {"NS":["6", "2", "1"]}. LE : Less than or equal. AttributeValueList
921
+ # can contain only one AttributeValue of type String, Number, or
922
+ # Binary (not a set). If an item contains an AttributeValue of a
923
+ # different type than the one specified in the request, the value
924
+ # does not match. For example, {"S":"6"} does not equal {"N":"6"}.
925
+ # Also, {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. LT :
926
+ # Less than. AttributeValueList can contain only one AttributeValue
927
+ # of type String, Number, or Binary (not a set). If an item contains
928
+ # an AttributeValue of a different type than the one specified in the
929
+ # request, the value does not match. For example, {"S":"6"} does not
930
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
931
+ # "2", "1"]}. GE : Greater than or equal. AttributeValueList can
932
+ # contain only one AttributeValue of type String, Number, or Binary
933
+ # (not a set). If an item contains an AttributeValue of a different
934
+ # type than the one specified in the request, the value does not
935
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
936
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GT : Greater
937
+ # than. AttributeValueList can contain only one AttributeValue of
938
+ # type String, Number, or Binary (not a set). If an item contains an
939
+ # AttributeValue of a different type than the one specified in the
940
+ # request, the value does not match. For example, {"S":"6"} does not
941
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
942
+ # "2", "1"]}. NOT_NULL : The attribute exists. NULL : The attribute
943
+ # does not exist. CONTAINS : checks for a subsequence, or value in a
944
+ # set. AttributeValueList can contain only one AttributeValue of type
945
+ # String, Number, or Binary (not a set). If the target attribute of
946
+ # the comparison is a String, then the operation checks for a
947
+ # substring match. If the target attribute of the comparison is
948
+ # Binary, then the operation looks for a subsequence of the target
949
+ # that matches the input. If the target attribute of the comparison
950
+ # is a set ("SS", "NS", or "BS"), then the operation checks for a
951
+ # member of the set (not as a substring). NOT_CONTAINS : checks for
952
+ # absence of a subsequence, or absence of a value in a set.
953
+ # AttributeValueList can contain only one AttributeValue of type
954
+ # String, Number, or Binary (not a set). If the target attribute of
955
+ # the comparison is a String, then the operation checks for the
956
+ # absence of a substring match. If the target attribute of the
957
+ # comparison is Binary, then the operation checks for the absence of
958
+ # a subsequence of the target that matches the input. If the target
959
+ # attribute of the comparison is a set ("SS", "NS", or "BS"), then
960
+ # the operation checks for the absence of a member of the set (not as
961
+ # a substring). BEGINS_WITH : checks for a prefix. AttributeValueList
962
+ # can contain only one AttributeValue of type String or Binary (not a
963
+ # Number or a set). The target attribute of the comparison must be a
964
+ # String or Binary (not a Number or a set). IN : checks for exact
965
+ # matches. AttributeValueList can contain more than one
966
+ # AttributeValue of type String, Number, or Binary (not a set). The
967
+ # target attribute of the comparison must be of the same type and
968
+ # exact value to match. A String never matches a String set. BETWEEN
969
+ # : Greater than or equal to the first value, and less than or equal
970
+ # to the second value. AttributeValueList must contain two
971
+ # AttributeValue elements of the same type, either String, Number, or
972
+ # Binary (not a set). A target attribute matches if the target value
973
+ # is greater than, or equal to, the first element and less than, or
974
+ # equal to, the second element. If an item contains an AttributeValue
975
+ # of a different type than the one specified in the request, the
976
+ # value does not match. For example, {"S":"6"} does not compare to
977
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
978
+ # "1"]}
979
+ # * `:attribute_value_list` - (Array<Hash>) Represents one or more
980
+ # values to evaluate against the supplied attribute. This list
981
+ # contains exactly one value, except for a BETWEEN or IN
982
+ # comparison, in which case the list contains two values. For type
983
+ # Number, value comparisons are numeric. String value comparisons
984
+ # for greater than, equals, or less than are based on ASCII
985
+ # character code values. For example, a is greater than A, and aa
986
+ # is greater than B. For a list of code values, see
987
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
988
+ # For Binary, treats each byte of the binary data as unsigned when
989
+ # it compares binary values, for example when evaluating query
990
+ # expressions.
991
+ # * `:s` - (String) Represents a String data type
992
+ # * `:n` - (String) Represents a Number data type
993
+ # * `:b` - (String) Represents a Binary data type
994
+ # * `:ss` - (Array<String>) Represents a String set data type
995
+ # * `:ns` - (Array<String>) Represents a Number set data type
996
+ # * `:bs` - (Array<String>) Represents a Binary set data type
997
+ # * `:comparison_operator` - *required* - (String) Represents a
998
+ # comparator for evaluating attributes. For example, equals,
999
+ # greater than, less than, etc. For information on specifying data
1000
+ # types in JSON, see JSON Data Format . The following are
1001
+ # descriptions of each comparison operator. EQ : Equal.
1002
+ # AttributeValueList can contain only one AttributeValue of type
1003
+ # String, Number, or Binary (not a set). If an item contains an
1004
+ # AttributeValue of a different type than the one specified in the
1005
+ # request, the value does not match. For example, {"S":"6"} does
1006
+ # not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6",
1007
+ # "2", "1"]}. NE : Not equal. AttributeValueList can contain only
1008
+ # one AttributeValue of type String, Number, or Binary (not a set).
1009
+ # If an item contains an AttributeValue of a different type than
1010
+ # the one specified in the request, the value does not match. For
1011
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
1012
+ # not equal {"NS":["6", "2", "1"]}. LE : Less than or equal.
1013
+ # AttributeValueList can contain only one AttributeValue of type
1014
+ # String, Number, or Binary (not a set). If an item contains an
1015
+ # AttributeValue of a different type than the one specified in the
1016
+ # request, the value does not match. For example, {"S":"6"} does
1017
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
1018
+ # {"NS":["6", "2", "1"]}. LT : Less than. AttributeValueList can
1019
+ # contain only one AttributeValue of type String, Number, or Binary
1020
+ # (not a set). If an item contains an AttributeValue of a different
1021
+ # type than the one specified in the request, the value does not
1022
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
1023
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GE :
1024
+ # Greater than or equal. AttributeValueList can contain only one
1025
+ # AttributeValue of type String, Number, or Binary (not a set). If
1026
+ # an item contains an AttributeValue of a different type than the
1027
+ # one specified in the request, the value does not match. For
1028
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
1029
+ # not compare to {"NS":["6", "2", "1"]}. GT : Greater than.
1030
+ # AttributeValueList can contain only one AttributeValue of type
1031
+ # String, Number, or Binary (not a set). If an item contains an
1032
+ # AttributeValue of a different type than the one specified in the
1033
+ # request, the value does not match. For example, {"S":"6"} does
1034
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
1035
+ # {"NS":["6", "2", "1"]}. NOT_NULL : The attribute exists. NULL :
1036
+ # The attribute does not exist. CONTAINS : checks for a
1037
+ # subsequence, or value in a set. AttributeValueList can contain
1038
+ # only one AttributeValue of type String, Number, or Binary (not a
1039
+ # set). If the target attribute of the comparison is a String, then
1040
+ # the operation checks for a substring match. If the target
1041
+ # attribute of the comparison is Binary, then the operation looks
1042
+ # for a subsequence of the target that matches the input. If the
1043
+ # target attribute of the comparison is a set ("SS", "NS", or
1044
+ # "BS"), then the operation checks for a member of the set (not as
1045
+ # a substring). NOT_CONTAINS : checks for absence of a subsequence,
1046
+ # or absence of a value in a set. AttributeValueList can contain
1047
+ # only one AttributeValue of type String, Number, or Binary (not a
1048
+ # set). If the target attribute of the comparison is a String, then
1049
+ # the operation checks for the absence of a substring match. If the
1050
+ # target attribute of the comparison is Binary, then the operation
1051
+ # checks for the absence of a subsequence of the target that
1052
+ # matches the input. If the target attribute of the comparison is a
1053
+ # set ("SS", "NS", or "BS"), then the operation checks for the
1054
+ # absence of a member of the set (not as a substring). BEGINS_WITH
1055
+ # : checks for a prefix. AttributeValueList can contain only one
1056
+ # AttributeValue of type String or Binary (not a Number or a set).
1057
+ # The target attribute of the comparison must be a String or Binary
1058
+ # (not a Number or a set). IN : checks for exact matches.
1059
+ # AttributeValueList can contain more than one AttributeValue of
1060
+ # type String, Number, or Binary (not a set). The target attribute
1061
+ # of the comparison must be of the same type and exact value to
1062
+ # match. A String never matches a String set. BETWEEN : Greater
1063
+ # than or equal to the first value, and less than or equal to the
1064
+ # second value. AttributeValueList must contain two AttributeValue
1065
+ # elements of the same type, either String, Number, or Binary (not
1066
+ # a set). A target attribute matches if the target value is greater
1067
+ # than, or equal to, the first element and less than, or equal to,
1068
+ # the second element. If an item contains an AttributeValue of a
1069
+ # different type than the one specified in the request, the value
1070
+ # does not match. For example, {"S":"6"} does not compare to
1071
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
1072
+ # "1"]} Valid values include:
1073
+ # * `EQ`
1074
+ # * `NE`
1075
+ # * `IN`
1076
+ # * `LE`
1077
+ # * `LT`
1078
+ # * `GE`
1079
+ # * `GT`
1080
+ # * `BETWEEN`
1081
+ # * `NOT_NULL`
1082
+ # * `NULL`
1083
+ # * `CONTAINS`
1084
+ # * `NOT_CONTAINS`
1085
+ # * `BEGINS_WITH`
1086
+ # * `:exclusive_start_key` - (Hash<String,Hash>) In a parallel scan, a
1087
+ # Scan request that includes ExclusiveStartKey must specify the same
1088
+ # segment whose previous Scan returned the corresponding value of
1089
+ # LastEvaluatedKey.
1090
+ # * `:s` - (String) Represents a String data type
1091
+ # * `:n` - (String) Represents a Number data type
1092
+ # * `:b` - (String) Represents a Binary data type
1093
+ # * `:ss` - (Array<String>) Represents a String set data type
1094
+ # * `:ns` - (Array<String>) Represents a Number set data type
1095
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1096
+ # * `:return_consumed_capacity` - (String) Valid values include:
1097
+ # * `TOTAL`
1098
+ # * `NONE`
1099
+ # * `:total_segments` - (Integer) For a parallel Scan request,
1100
+ # TotalSegments represents the total number of segments into which
1101
+ # the Scan operation will be divided. The value of TotalSegments
1102
+ # corresponds to the number of application workers that will perform
1103
+ # the parallel scan. For example, if you want to scan a table using
1104
+ # four application threads, you would specify a TotalSegments value
1105
+ # of 4. The value for TotalSegments must be greater than or equal to
1106
+ # 1, and less than or equal to 4096. If you specify a TotalSegments
1107
+ # value of 1, the Scan will be sequential rather than parallel. If
1108
+ # you specify TotalSegments, you must also specify Segment.
1109
+ # * `:segment` - (Integer) For a parallel Scan request, Segment
1110
+ # identifies an individual segment to be scanned by an application
1111
+ # worker. Segment IDs are zero-based, so the first segment is always
1112
+ # 0. For example, if you want to scan a table using four application
1113
+ # threads, the first thread would specify a Segment value of 0, the
1114
+ # second thread would specify 1, and so on. The value of
1115
+ # LastEvaluatedKey returned from a parallel Scan request must be used
1116
+ # as ExclusiveStartKey with the same Segment ID in a subsequent Scan
1117
+ # operation. The value for Segment must be greater than or equal to
1118
+ # 0, and less than the value provided for TotalSegments. If you
1119
+ # specify Segment, you must also specify TotalSegments.
1120
+ # @return [Core::Response]
1121
+ # The #data method of the response object returns
1122
+ # a hash with the following structure:
1123
+ #
1124
+ # * `:member` - (Hash<String,Hash>)
1125
+ # * `:s` - (String)
1126
+ # * `:n` - (String)
1127
+ # * `:b` - (String)
1128
+ # * `:ss` - (Array<String>)
1129
+ # * `:ns` - (Array<String>)
1130
+ # * `:bs` - (Array<Blob>)
1131
+ # * `:count` - (Integer)
1132
+ # * `:scanned_count` - (Integer)
1133
+ # * `:last_evaluated_key` - (Hash<String,Hash>)
1134
+ # * `:s` - (String)
1135
+ # * `:n` - (String)
1136
+ # * `:b` - (String)
1137
+ # * `:ss` - (Array<String>)
1138
+ # * `:ns` - (Array<String>)
1139
+ # * `:bs` - (Array<Blob>)
1140
+ # * `:consumed_capacity` - (Hash)
1141
+ # * `:table_name` - (String)
1142
+ # * `:capacity_units` - (Numeric)
1143
+
1144
+ # @!method update_item(options = {})
1145
+ # Calls the UpdateItem API operation.
1146
+ # @param [Hash] options
1147
+ #
1148
+ # * `:table_name` - *required* - (String) The name of the table
1149
+ # containing the item to update.
1150
+ # * `:key` - *required* - (Hash<String,Hash>) The primary key that
1151
+ # defines the item. Each element consists of an attribute name and a
1152
+ # value for that attribute.
1153
+ # * `:s` - (String) Represents a String data type
1154
+ # * `:n` - (String) Represents a Number data type
1155
+ # * `:b` - (String) Represents a Binary data type
1156
+ # * `:ss` - (Array<String>) Represents a String set data type
1157
+ # * `:ns` - (Array<String>) Represents a Number set data type
1158
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1159
+ # * `:attribute_updates` - (Hash<String,Hash>) The names of attributes
1160
+ # to be modified, the action to perform on each, and the new value
1161
+ # for each. If you are updating an attribute that is an index key
1162
+ # attribute for any indexes on that table, the attribute type must
1163
+ # match the index key type defined in the AttributesDefinition of the
1164
+ # table description. You can use UpdateItem to update any non-key
1165
+ # attributes. Attribute values cannot be null. String and binary type
1166
+ # attributes must have lengths greater than zero. Set type attributes
1167
+ # must not be empty. Requests with empty values will be rejected with
1168
+ # a ValidationException. Each AttributeUpdates element consists of an
1169
+ # attribute name to modify, along with the following: Value - The new
1170
+ # value, if applicable, for this attribute. Action - Specifies how to
1171
+ # perform the update. Valid values for Action are PUT, DELETE, and
1172
+ # ADD. The behavior depends on whether the specified primary key
1173
+ # already exists in the table. If an item with the specified Key is
1174
+ # found in the table: PUT - Adds the specified attribute to the item.
1175
+ # If the attribute already exists, it is replaced by the new value.
1176
+ # DELETE - If no value is specified, the attribute and its value are
1177
+ # removed from the item. The data type of the specified value must
1178
+ # match the existing value's data type. If a set of values is
1179
+ # specified, then those values are subtracted from the old set. For
1180
+ # example, if the attribute value was the set [a,b,c] and the DELETE
1181
+ # action specified [a,c], then the final attribute value would be
1182
+ # [b]. Specifying an empty set is an error. ADD - If the attribute
1183
+ # does not already exist, then the attribute and its values are added
1184
+ # to the item. If the attribute does exist, then the behavior of ADD
1185
+ # depends on the data type of the attribute: If the existing
1186
+ # attribute is a number, and if Value is also a number, then the
1187
+ # Value is mathematically added to the existing attribute. If Value
1188
+ # is a negative number, then it is subtracted from the existing
1189
+ # attribute. If you use ADD to increment or decrement a number value
1190
+ # for an item that doesn't exist before the update, uses 0 as the
1191
+ # initial value. In addition, if you use ADD to update an existing
1192
+ # item, and intend to increment or decrement an attribute value which
1193
+ # does not yet exist, uses 0 as the initial value. For example,
1194
+ # suppose that the item you want to update does not yet have an
1195
+ # attribute named itemcount, but you decide to ADD the number 3 to
1196
+ # this attribute anyway, even though it currently does not exist.
1197
+ # will create the itemcount attribute, set its initial value to 0,
1198
+ # and finally add 3 to it. The result will be a new itemcount
1199
+ # attribute in the item, with a value of 3. If the existing data type
1200
+ # is a set, and if the Value is also a set, then the Value is added
1201
+ # to the existing set. (This is a set operation, not mathematical
1202
+ # addition.) For example, if the attribute value was the set [1,2],
1203
+ # and the ADD action specified [3], then the final attribute value
1204
+ # would be [1,2,3]. An error occurs if an Add action is specified for
1205
+ # a set attribute and the attribute type specified does not match the
1206
+ # existing set type. Both sets must have the same primitive data
1207
+ # type. For example, if the existing data type is a set of strings,
1208
+ # the Value must also be a set of strings. The same holds `true` for
1209
+ # number sets and binary sets. This action is only valid for an
1210
+ # existing attribute whose data type is number or is a set. Do not
1211
+ # use ADD for any other data types. If no item with the specified Key
1212
+ # is found: PUT - creates a new item with the specified primary key,
1213
+ # and then adds the attribute. DELETE - Nothing happens; there is no
1214
+ # attribute to delete. ADD - creates an item with the supplied
1215
+ # primary key and number (or set of numbers) for the attribute value.
1216
+ # The only data types allowed are number and number set; no other
1217
+ # data types can be specified. If you specify any attributes that are
1218
+ # part of an index key, then the data types for those attributes must
1219
+ # match those of the schema in the table's attribute definition.
1220
+ # * `:value` - (Hash)
1221
+ # * `:s` - (String) Represents a String data type
1222
+ # * `:n` - (String) Represents a Number data type
1223
+ # * `:b` - (String) Represents a Binary data type
1224
+ # * `:ss` - (Array<String>) Represents a String set data type
1225
+ # * `:ns` - (Array<String>) Represents a Number set data type
1226
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1227
+ # * `:action` - (String) Specifies how to perform the update. Valid
1228
+ # values are PUT, DELETE, and ADD. The behavior depends on whether
1229
+ # the specified primary key already exists in the table. If an item
1230
+ # with the specified Key is found in the table: PUT - Adds the
1231
+ # specified attribute to the item. If the attribute already exists,
1232
+ # it is replaced by the new value. DELETE - If no value is
1233
+ # specified, the attribute and its value are removed from the item.
1234
+ # The data type of the specified value must match the existing
1235
+ # value's data type. If a set of values is specified, then those
1236
+ # values are subtracted from the old set. For example, if the
1237
+ # attribute value was the set [a,b,c] and the DELETE action
1238
+ # specified [a,c], then the final attribute value would be [b].
1239
+ # Specifying an empty set is an error. ADD - If the attribute does
1240
+ # not already exist, then the attribute and its values are added to
1241
+ # the item. If the attribute does exist, then the behavior of ADD
1242
+ # depends on the data type of the attribute: If the existing
1243
+ # attribute is a number, and if Value is also a number, then the
1244
+ # Value is mathematically added to the existing attribute. If Value
1245
+ # is a negative number, then it is subtracted from the existing
1246
+ # attribute. If you use ADD to increment or decrement a number
1247
+ # value for an item that doesn't exist before the update, uses 0 as
1248
+ # the initial value. In addition, if you use ADD to update an
1249
+ # existing item, and intend to increment or decrement an attribute
1250
+ # value which does not yet exist, uses 0 as the initial value. For
1251
+ # example, suppose that the item you want to update does not yet
1252
+ # have an attribute named itemcount, but you decide to ADD the
1253
+ # number 3 to this attribute anyway, even though it currently does
1254
+ # not exist. will create the itemcount attribute, set its initial
1255
+ # value to 0, and finally add 3 to it. The result will be a new
1256
+ # itemcount attribute in the item, with a value of 3. If the
1257
+ # existing data type is a set, and if the Value is also a set, then
1258
+ # the Value is added to the existing set. (This is a set operation,
1259
+ # not mathematical addition.) For example, if the attribute value
1260
+ # was the set [1,2], and the ADD action specified [3], then the
1261
+ # final attribute value would be [1,2,3]. An error occurs if an Add
1262
+ # action is specified for a set attribute and the attribute type
1263
+ # specified does not match the existing set type. Both sets must
1264
+ # have the same primitive data type. For example, if the existing
1265
+ # data type is a set of strings, the Value must also be a set of
1266
+ # strings. The same holds `true` for number sets and binary sets.
1267
+ # This action is only valid for an existing attribute whose data
1268
+ # type is number or is a set. Do not use ADD for any other data
1269
+ # types. If no item with the specified Key is found: PUT - creates
1270
+ # a new item with the specified primary key, and then adds the
1271
+ # attribute. DELETE - Nothing happens; there is no attribute to
1272
+ # delete. ADD - creates an item with the supplied primary key and
1273
+ # number (or set of numbers) for the attribute value. The only data
1274
+ # types allowed are number and number set; no other data types can
1275
+ # be specified. Valid values include:
1276
+ # * `ADD`
1277
+ # * `PUT`
1278
+ # * `DELETE`
1279
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
1280
+ # pairs. This is the conditional block for the UpdateItem operation.
1281
+ # All the conditions must be met for the operation to succeed.
1282
+ # * `:value` - (Hash) Specify whether or not a value already exists
1283
+ # and has a specific content for the attribute name-value pair.
1284
+ # * `:s` - (String) Represents a String data type
1285
+ # * `:n` - (String) Represents a Number data type
1286
+ # * `:b` - (String) Represents a Binary data type
1287
+ # * `:ss` - (Array<String>) Represents a String set data type
1288
+ # * `:ns` - (Array<String>) Represents a Number set data type
1289
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1290
+ # * `:exists` - (Boolean) Causes to evaluate the value before
1291
+ # attempting a conditional operation: If Exists is `true` , will
1292
+ # check to see if that attribute value already exists in the table.
1293
+ # If it is found, then the operation succeeds. If it is not found,
1294
+ # the operation fails with a ConditionalCheckFailedException. If
1295
+ # Exists is `false` , assumes that the attribute value does not
1296
+ # exist in the table. If in fact the value does not exist, then the
1297
+ # assumption is valid and the operation succeeds. If the value is
1298
+ # found, despite the assumption that it does not exist, the
1299
+ # operation fails with a ConditionalCheckFailedException. The
1300
+ # default setting for Exists is `true` . If you supply a Value all
1301
+ # by itself, assumes the attribute exists: You don't have to set
1302
+ # Exists to `true` , because it is implied. returns a
1303
+ # ValidationException if: Exists is `true` but there is no Value to
1304
+ # check. (You expect a value to exist, but don't specify what that
1305
+ # value is.) Exists is `false` but you also specify a Value. (You
1306
+ # cannot expect an attribute to have a value, while also expecting
1307
+ # it not to exist.) If you specify more than one condition for
1308
+ # Exists, then all of the conditions must evaluate to `true` . (In
1309
+ # other words, the conditions are ANDed together.) Otherwise, the
1310
+ # conditional operation will fail.
1311
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
1312
+ # item attributes as they appeared either before or after they were
1313
+ # updated. For UpdateItem, the valid values are: NONE - If
1314
+ # ReturnValues is not specified, or if its value is NONE, then
1315
+ # nothing is returned. (This is the default for ReturnValues.)
1316
+ # ALL_OLD - If UpdateItem overwrote an attribute name-value pair,
1317
+ # then the content of the old item is returned. UPDATED_OLD - The old
1318
+ # versions of only the updated attributes are returned. ALL_NEW - All
1319
+ # of the attributes of the new version of the item are returned.
1320
+ # UPDATED_NEW - The new versions of only the updated attributes are
1321
+ # returned. Valid values include:
1322
+ # * `NONE`
1323
+ # * `ALL_OLD`
1324
+ # * `UPDATED_OLD`
1325
+ # * `ALL_NEW`
1326
+ # * `UPDATED_NEW`
1327
+ # * `:return_consumed_capacity` - (String) Valid values include:
1328
+ # * `TOTAL`
1329
+ # * `NONE`
1330
+ # * `:return_item_collection_metrics` - (String) Valid values include:
1331
+ # * `SIZE`
1332
+ # * `NONE`
1333
+ # @return [Core::Response]
1334
+ # The #data method of the response object returns
1335
+ # a hash with the following structure:
1336
+ #
1337
+ # * `:attributes` - (Hash<String,Hash>)
1338
+ # * `:s` - (String)
1339
+ # * `:n` - (String)
1340
+ # * `:b` - (String)
1341
+ # * `:ss` - (Array<String>)
1342
+ # * `:ns` - (Array<String>)
1343
+ # * `:bs` - (Array<Blob>)
1344
+ # * `:consumed_capacity` - (Hash)
1345
+ # * `:table_name` - (String)
1346
+ # * `:capacity_units` - (Numeric)
1347
+ # * `:item_collection_metrics` - (Hash)
1348
+ # * `:item_collection_key` - (Hash<String,Hash>)
1349
+ # * `:s` - (String)
1350
+ # * `:n` - (String)
1351
+ # * `:b` - (String)
1352
+ # * `:ss` - (Array<String>)
1353
+ # * `:ns` - (Array<String>)
1354
+ # * `:bs` - (Array<Blob>)
1355
+ # * `:size_estimate_range_gb` - (Array<Float>)
1356
+
1357
+ # @!method update_table(options = {})
1358
+ # Calls the UpdateTable API operation.
1359
+ # @param [Hash] options
1360
+ #
1361
+ # * `:table_name` - *required* - (String) The name of the table to be
1362
+ # updated.
1363
+ # * `:provisioned_throughput` - *required* - (Hash)
1364
+ # * `:read_capacity_units` - *required* - (Integer) The maximum
1365
+ # number of strongly consistent reads consumed per second before
1366
+ # returns a ThrottlingException. For more information, see
1367
+ # Specifying Read and Write Requirements .
1368
+ # * `:write_capacity_units` - *required* - (Integer) The maximum
1369
+ # number of writes consumed per second before returns a
1370
+ # ThrottlingException. For more information, see Specifying Read
1371
+ # and Write Requirements .
1372
+ # @return [Core::Response]
1373
+ # The #data method of the response object returns
1374
+ # a hash with the following structure:
1375
+ #
1376
+ # * `:table_description` - (Hash)
1377
+ # * `:attribute_definitions` - (Array<Hash>)
1378
+ # * `:attribute_name` - (String)
1379
+ # * `:attribute_type` - (String)
1380
+ # * `:table_name` - (String)
1381
+ # * `:key_schema` - (Array<Hash>)
1382
+ # * `:attribute_name` - (String)
1383
+ # * `:key_type` - (String)
1384
+ # * `:table_status` - (String)
1385
+ # * `:creation_date_time` - (Time)
1386
+ # * `:provisioned_throughput` - (Hash)
1387
+ # * `:last_increase_date_time` - (Time)
1388
+ # * `:last_decrease_date_time` - (Time)
1389
+ # * `:number_of_decreases_today` - (Integer)
1390
+ # * `:read_capacity_units` - (Integer)
1391
+ # * `:write_capacity_units` - (Integer)
1392
+ # * `:table_size_bytes` - (Integer)
1393
+ # * `:item_count` - (Integer)
1394
+ # * `:local_secondary_indexes` - (Array<Hash>)
1395
+ # * `:index_name` - (String)
1396
+ # * `:key_schema` - (Array<Hash>)
1397
+ # * `:attribute_name` - (String)
1398
+ # * `:key_type` - (String)
1399
+ # * `:projection` - (Hash)
1400
+ # * `:projection_type` - (String)
1401
+ # * `:non_key_attributes` - (Array<String>)
1402
+ # * `:index_size_bytes` - (Integer)
1403
+ # * `:item_count` - (Integer)
1404
+
1405
+ # end client methods #
1406
+
1407
+ define_client_methods('2012-08-10')
1408
+
1409
+ end