aws-sdk 1.12.0 → 1.13.0

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