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,1266 @@
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::V20111205 < 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>) Represents the primary key
34
+ # attribute values that define the items and the attributes
35
+ # associated with the items.
36
+ # * `:hash_key_element` - *required* - (Hash) A hash key element is
37
+ # treated as the primary key, and can be a string or a number.
38
+ # Single attribute primary keys have one index value. The value
39
+ # can be String, Number, StringSet, NumberSet.
40
+ # * `:s` - (String) Represents a String data type
41
+ # * `:n` - (String) Represents a Number data type
42
+ # * `:b` - (String) Represents a Binary data type
43
+ # * `:ss` - (Array<String>) Represents a String set data type
44
+ # * `:ns` - (Array<String>) Represents a Number set data type
45
+ # * `:bs` - (Array<String>) Represents a Binary set data type
46
+ # * `:range_key_element` - (Hash) A range key element is treated as
47
+ # a secondary key (used in conjunction with the primary key), and
48
+ # can be a string or a number, and is only used for
49
+ # hash-and-range primary keys. The value can be String, Number,
50
+ # StringSet, NumberSet.
51
+ # * `:s` - (String) Represents a String data type
52
+ # * `:n` - (String) Represents a Number data type
53
+ # * `:b` - (String) Represents a Binary data type
54
+ # * `:ss` - (Array<String>) Represents a String set data type
55
+ # * `:ns` - (Array<String>) Represents a Number set data type
56
+ # * `:bs` - (Array<String>) Represents a Binary set data type
57
+ # * `:attributes_to_get` - (Array<String>) Represents one or more
58
+ # attributes to retrieve from the table or index. If no attribute
59
+ # names are specified then all attributes will be returned. If any
60
+ # of the specified attributes are not found, they will not appear
61
+ # in the result.
62
+ # * `:consistent_read` - (Boolean) Represents the consistency of a
63
+ # read operation. If set to `true` , then a strongly consistent
64
+ # read is used; otherwise, an eventually consistent read is used.
65
+ # @return [Core::Response]
66
+ # The #data method of the response object returns
67
+ # a hash with the following structure:
68
+ #
69
+ # * `Responses` - (Hash<String,Hash>)
70
+ # * `member` - (Hash<String,Hash>)
71
+ # * `S` - (String)
72
+ # * `N` - (String)
73
+ # * `B` - (String)
74
+ # * `SS` - (Array<String>)
75
+ # * `NS` - (Array<String>)
76
+ # * `BS` - (Array<Blob>)
77
+ # * `ConsumedCapacityUnits` - (Numeric)
78
+ # * `UnprocessedKeys` - (Hash<String,Hash>)
79
+ # * `Keys` - (Array<Hash>)
80
+ # * `HashKeyElement` - (Hash)
81
+ # * `S` - (String)
82
+ # * `N` - (String)
83
+ # * `B` - (String)
84
+ # * `SS` - (Array<String>)
85
+ # * `NS` - (Array<String>)
86
+ # * `BS` - (Array<Blob>)
87
+ # * `RangeKeyElement` - (Hash)
88
+ # * `S` - (String)
89
+ # * `N` - (String)
90
+ # * `B` - (String)
91
+ # * `SS` - (Array<String>)
92
+ # * `NS` - (Array<String>)
93
+ # * `BS` - (Array<Blob>)
94
+ # * `AttributesToGet` - (Array<String>)
95
+ # * `ConsistentRead` - (Boolean)
96
+
97
+ # @!method batch_write_item(options = {})
98
+ # Calls the BatchWriteItem API operation.
99
+ # @param [Hash] options
100
+ #
101
+ # * `:request_items` - *required* - (Hash<String,Array<Hash>>) A map of
102
+ # one or more table names and, for each table, a list of operations
103
+ # to be performed (DeleteRequest or PutRequest). Each element in the
104
+ # map consists of the following: DeleteRequest - Perform a DeleteItem
105
+ # operation on the specified item. The item to be deleted is
106
+ # identified by a Key subelement: Key - A map of primary key
107
+ # attribute values that uniquely identify the item. Each entry in
108
+ # this map consists of an attribute name and an attribute value.
109
+ # PutRequest - Perform a PutItem operation on the specified item. The
110
+ # item to be put is identified by an Item subelement: Item - A map of
111
+ # attributes and their values. Each entry in this map consists of an
112
+ # attribute name and an attribute value. Attribute values must not be
113
+ # null; string and binary type attributes must have lengths greater
114
+ # than zero; and set type attributes must not be empty. Requests that
115
+ # contain empty values will be rejected with a ValidationException.
116
+ # If you specify any attributes that are part of an index key, then
117
+ # the data types for those attributes must match those of the schema
118
+ # in the table's attribute definition.
119
+ # * `:put_request` - (Hash) Represents a request to perform a
120
+ # DeleteItem operation.
121
+ # * `:item` - *required* - (Hash<String,Hash>) A map of attribute
122
+ # name to attribute values, representing the primary key of an
123
+ # item to be processed by PutItem. All of the table's primary key
124
+ # attributes must be specified, and their data types must match
125
+ # those of the table's key schema. If any attributes are present
126
+ # in the item which are part of an index key schema for the
127
+ # table, their types must match the index key schema.
128
+ # * `:s` - (String) Represents a String data type
129
+ # * `:n` - (String) Represents a Number data type
130
+ # * `:b` - (String) Represents a Binary data type
131
+ # * `:ss` - (Array<String>) Represents a String set data type
132
+ # * `:ns` - (Array<String>) Represents a Number set data type
133
+ # * `:bs` - (Array<String>) Represents a Binary set data type
134
+ # * `:delete_request` - (Hash) Represents a request to perform a
135
+ # PutItem operation.
136
+ # * `:key` - *required* - (Hash) A map of attribute name to
137
+ # attribute values, representing the primary key of the item to
138
+ # delete. All of the table's primary key attributes must be
139
+ # specified, and their data types must match those of the table's
140
+ # key schema.
141
+ # * `:hash_key_element` - *required* - (Hash) A hash key element
142
+ # is treated as the primary key, and can be a string or a
143
+ # number. Single attribute primary keys have one index value.
144
+ # The value can be String, Number, StringSet, NumberSet.
145
+ # * `:s` - (String) Represents a String data type
146
+ # * `:n` - (String) Represents a Number data type
147
+ # * `:b` - (String) Represents a Binary data type
148
+ # * `:ss` - (Array<String>) Represents a String set data type
149
+ # * `:ns` - (Array<String>) Represents a Number set data type
150
+ # * `:bs` - (Array<String>) Represents a Binary set data type
151
+ # * `:range_key_element` - (Hash) A range key element is treated
152
+ # as a secondary key (used in conjunction with the primary
153
+ # key), and can be a string or a number, and is only used for
154
+ # hash-and-range primary keys. The value can be String, Number,
155
+ # StringSet, NumberSet.
156
+ # * `:s` - (String) Represents a String data type
157
+ # * `:n` - (String) Represents a Number data type
158
+ # * `:b` - (String) Represents a Binary data type
159
+ # * `:ss` - (Array<String>) Represents a String set data type
160
+ # * `:ns` - (Array<String>) Represents a Number set data type
161
+ # * `:bs` - (Array<String>) Represents a Binary set data type
162
+ # @return [Core::Response]
163
+ # The #data method of the response object returns
164
+ # a hash with the following structure:
165
+ #
166
+ # * `Responses` - (Hash<String,Hash>)
167
+ # * `ConsumedCapacityUnits` - (Numeric)
168
+ # * `UnprocessedItems` - (Hash<String,Hash>)
169
+ # * `value` - (Array<Hash>)
170
+ # * `PutRequest` - (Hash)
171
+ # * `Item` - (Hash<String,Hash>)
172
+ # * `S` - (String)
173
+ # * `N` - (String)
174
+ # * `B` - (String)
175
+ # * `SS` - (Array<String>)
176
+ # * `NS` - (Array<String>)
177
+ # * `BS` - (Array<Blob>)
178
+ # * `DeleteRequest` - (Hash)
179
+ # * `Key` - (Hash)
180
+ # * `HashKeyElement` - (Hash)
181
+ # * `S` - (String)
182
+ # * `N` - (String)
183
+ # * `B` - (String)
184
+ # * `SS` - (Array<String>)
185
+ # * `NS` - (Array<String>)
186
+ # * `BS` - (Array<Blob>)
187
+ # * `RangeKeyElement` - (Hash)
188
+ # * `S` - (String)
189
+ # * `N` - (String)
190
+ # * `B` - (String)
191
+ # * `SS` - (Array<String>)
192
+ # * `NS` - (Array<String>)
193
+ # * `BS` - (Array<Blob>)
194
+
195
+ # @!method create_table(options = {})
196
+ # Calls the CreateTable API operation.
197
+ # @param [Hash] options
198
+ #
199
+ # * `:table_name` - *required* - (String) The name of the table to
200
+ # create.
201
+ # * `:key_schema` - *required* - (Hash) Specifies the attributes that
202
+ # make up the primary key for the table. The attributes in KeySchema
203
+ # must also be defined in the AttributeDefinitions array. For more
204
+ # information, see Data Model . Each KeySchemaElement in the array is
205
+ # composed of: AttributeName - The name of this key attribute.
206
+ # KeyType - Determines whether the key attribute is HASH or RANGE.
207
+ # For a primary key that consists of a hash attribute, you must
208
+ # specify exactly one element with a KeyType of HASH. For a primary
209
+ # key that consists of hash and range attributes, you must specify
210
+ # exactly two elements, in this order: The first element must have a
211
+ # KeyType of HASH, and the second element must have a KeyType of
212
+ # RANGE. For more information, see Specifying the Primary Key .
213
+ # * `:hash_key_element` - *required* - (Hash) A hash key element is
214
+ # treated as the primary key, and can be a string or a number.
215
+ # Single attribute primary keys have one index value. The value can
216
+ # be String, Number, StringSet, NumberSet.
217
+ # * `:attribute_name` - *required* - (String) Represents the name
218
+ # of a key attribute.
219
+ # * `:attribute_type` - *required* - (String) The AttributeType of
220
+ # the KeySchemaElement which can be a String or a Number. Valid
221
+ # values include:
222
+ # * `S`
223
+ # * `N`
224
+ # * `B`
225
+ # * `:range_key_element` - (Hash) A range key element is treated as a
226
+ # secondary key (used in conjunction with the primary key), and can
227
+ # be a string or a number, and is only used for hash-and-range
228
+ # primary keys. The value can be String, Number, StringSet,
229
+ # NumberSet.
230
+ # * `:attribute_name` - *required* - (String) Represents the name
231
+ # of a key attribute.
232
+ # * `:attribute_type` - *required* - (String) The AttributeType of
233
+ # the KeySchemaElement which can be a String or a Number. Valid
234
+ # values include:
235
+ # * `S`
236
+ # * `N`
237
+ # * `B`
238
+ # * `:provisioned_throughput` - *required* - (Hash)
239
+ # * `:read_capacity_units` - *required* - (Integer) The maximum
240
+ # number of strongly consistent reads consumed per second before
241
+ # returns a ThrottlingException. For more information, see
242
+ # Specifying Read and Write Requirements .
243
+ # * `:write_capacity_units` - *required* - (Integer) The maximum
244
+ # number of writes consumed per second before returns a
245
+ # ThrottlingException. For more information, see Specifying Read
246
+ # and Write Requirements .
247
+ # @return [Core::Response]
248
+ # The #data method of the response object returns
249
+ # a hash with the following structure:
250
+ #
251
+ # * `TableDescription` - (Hash)
252
+ # * `TableName` - (String)
253
+ # * `KeySchema` - (Hash)
254
+ # * `HashKeyElement` - (Hash)
255
+ # * `AttributeName` - (String)
256
+ # * `AttributeType` - (String)
257
+ # * `RangeKeyElement` - (Hash)
258
+ # * `AttributeName` - (String)
259
+ # * `AttributeType` - (String)
260
+ # * `TableStatus` - (String)
261
+ # * `CreationDateTime` - (Time)
262
+ # * `ProvisionedThroughput` - (Hash)
263
+ # * `LastIncreaseDateTime` - (Time)
264
+ # * `LastDecreaseDateTime` - (Time)
265
+ # * `NumberOfDecreasesToday` - (Integer)
266
+ # * `ReadCapacityUnits` - (Integer)
267
+ # * `WriteCapacityUnits` - (Integer)
268
+ # * `TableSizeBytes` - (Integer)
269
+ # * `ItemCount` - (Integer)
270
+
271
+ # @!method delete_item(options = {})
272
+ # Calls the DeleteItem API operation.
273
+ # @param [Hash] options
274
+ #
275
+ # * `:table_name` - *required* - (String) The name of the table from
276
+ # which to delete the item.
277
+ # * `:key` - *required* - (Hash) A map of attribute names to
278
+ # AttributeValue objects, representing the primary key of the item to
279
+ # delete.
280
+ # * `:hash_key_element` - *required* - (Hash) A hash key element is
281
+ # treated as the primary key, and can be a string or a number.
282
+ # Single attribute primary keys have one index value. The value can
283
+ # be String, Number, StringSet, NumberSet.
284
+ # * `:s` - (String) Represents a String data type
285
+ # * `:n` - (String) Represents a Number data type
286
+ # * `:b` - (String) Represents a Binary data type
287
+ # * `:ss` - (Array<String>) Represents a String set data type
288
+ # * `:ns` - (Array<String>) Represents a Number set data type
289
+ # * `:bs` - (Array<String>) Represents a Binary set data type
290
+ # * `:range_key_element` - (Hash) A range key element is treated as a
291
+ # secondary key (used in conjunction with the primary key), and can
292
+ # be a string or a number, and is only used for hash-and-range
293
+ # primary keys. The value can be String, Number, StringSet,
294
+ # NumberSet.
295
+ # * `:s` - (String) Represents a String data type
296
+ # * `:n` - (String) Represents a Number data type
297
+ # * `:b` - (String) Represents a Binary data type
298
+ # * `:ss` - (Array<String>) Represents a String set data type
299
+ # * `:ns` - (Array<String>) Represents a Number set data type
300
+ # * `:bs` - (Array<String>) Represents a Binary set data type
301
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
302
+ # pairs. This is the conditional block for the DeleteItemoperation.
303
+ # All the conditions must be met for the operation to succeed.
304
+ # * `:value` - (Hash) Specify whether or not a value already exists
305
+ # and has a specific content for the attribute name-value pair.
306
+ # * `:s` - (String) Represents a String data type
307
+ # * `:n` - (String) Represents a Number data type
308
+ # * `:b` - (String) Represents a Binary data type
309
+ # * `:ss` - (Array<String>) Represents a String set data type
310
+ # * `:ns` - (Array<String>) Represents a Number set data type
311
+ # * `:bs` - (Array<String>) Represents a Binary set data type
312
+ # * `:exists` - (Boolean) Causes to evaluate the value before
313
+ # attempting a conditional operation: If Exists is `true` , will
314
+ # check to see if that attribute value already exists in the table.
315
+ # If it is found, then the operation succeeds. If it is not found,
316
+ # the operation fails with a ConditionalCheckFailedException. If
317
+ # Exists is `false` , assumes that the attribute value does not
318
+ # exist in the table. If in fact the value does not exist, then the
319
+ # assumption is valid and the operation succeeds. If the value is
320
+ # found, despite the assumption that it does not exist, the
321
+ # operation fails with a ConditionalCheckFailedException. The
322
+ # default setting for Exists is `true` . If you supply a Value all
323
+ # by itself, assumes the attribute exists: You don't have to set
324
+ # Exists to `true` , because it is implied. returns a
325
+ # ValidationException if: Exists is `true` but there is no Value to
326
+ # check. (You expect a value to exist, but don't specify what that
327
+ # value is.) Exists is `false` but you also specify a Value. (You
328
+ # cannot expect an attribute to have a value, while also expecting
329
+ # it not to exist.) If you specify more than one condition for
330
+ # Exists, then all of the conditions must evaluate to `true` . (In
331
+ # other words, the conditions are ANDed together.) Otherwise, the
332
+ # conditional operation will fail.
333
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
334
+ # item attributes as they appeared before they were deleted. For
335
+ # DeleteItem, the valid values are: NONE - If ReturnValues is not
336
+ # specified, or if its value is NONE, then nothing is returned. (This
337
+ # is the default for ReturnValues.) ALL_OLD - The content of the old
338
+ # item is returned. Valid values include:
339
+ # * `NONE`
340
+ # * `ALL_OLD`
341
+ # * `UPDATED_OLD`
342
+ # * `ALL_NEW`
343
+ # * `UPDATED_NEW`
344
+ # @return [Core::Response]
345
+ # The #data method of the response object returns
346
+ # a hash with the following structure:
347
+ #
348
+ # * `Attributes` - (Hash<String,Hash>)
349
+ # * `S` - (String)
350
+ # * `N` - (String)
351
+ # * `B` - (String)
352
+ # * `SS` - (Array<String>)
353
+ # * `NS` - (Array<String>)
354
+ # * `BS` - (Array<Blob>)
355
+ # * `ConsumedCapacityUnits` - (Numeric)
356
+
357
+ # @!method delete_table(options = {})
358
+ # Calls the DeleteTable API operation.
359
+ # @param [Hash] options
360
+ #
361
+ # * `:table_name` - *required* - (String) The name of the table to
362
+ # delete.
363
+ # @return [Core::Response]
364
+ # The #data method of the response object returns
365
+ # a hash with the following structure:
366
+ #
367
+ # * `TableDescription` - (Hash)
368
+ # * `TableName` - (String)
369
+ # * `KeySchema` - (Hash)
370
+ # * `HashKeyElement` - (Hash)
371
+ # * `AttributeName` - (String)
372
+ # * `AttributeType` - (String)
373
+ # * `RangeKeyElement` - (Hash)
374
+ # * `AttributeName` - (String)
375
+ # * `AttributeType` - (String)
376
+ # * `TableStatus` - (String)
377
+ # * `CreationDateTime` - (Time)
378
+ # * `ProvisionedThroughput` - (Hash)
379
+ # * `LastIncreaseDateTime` - (Time)
380
+ # * `LastDecreaseDateTime` - (Time)
381
+ # * `NumberOfDecreasesToday` - (Integer)
382
+ # * `ReadCapacityUnits` - (Integer)
383
+ # * `WriteCapacityUnits` - (Integer)
384
+ # * `TableSizeBytes` - (Integer)
385
+ # * `ItemCount` - (Integer)
386
+
387
+ # @!method describe_table(options = {})
388
+ # Calls the DescribeTable API operation.
389
+ # @param [Hash] options
390
+ #
391
+ # * `:table_name` - *required* - (String) The name of the table to
392
+ # describe.
393
+ # @return [Core::Response]
394
+ # The #data method of the response object returns
395
+ # a hash with the following structure:
396
+ #
397
+ # * `Table` - (Hash)
398
+ # * `TableName` - (String)
399
+ # * `KeySchema` - (Hash)
400
+ # * `HashKeyElement` - (Hash)
401
+ # * `AttributeName` - (String)
402
+ # * `AttributeType` - (String)
403
+ # * `RangeKeyElement` - (Hash)
404
+ # * `AttributeName` - (String)
405
+ # * `AttributeType` - (String)
406
+ # * `TableStatus` - (String)
407
+ # * `CreationDateTime` - (Time)
408
+ # * `ProvisionedThroughput` - (Hash)
409
+ # * `LastIncreaseDateTime` - (Time)
410
+ # * `LastDecreaseDateTime` - (Time)
411
+ # * `NumberOfDecreasesToday` - (Integer)
412
+ # * `ReadCapacityUnits` - (Integer)
413
+ # * `WriteCapacityUnits` - (Integer)
414
+ # * `TableSizeBytes` - (Integer)
415
+ # * `ItemCount` - (Integer)
416
+
417
+ # @!method get_item(options = {})
418
+ # Calls the GetItem API operation.
419
+ # @param [Hash] options
420
+ #
421
+ # * `:table_name` - *required* - (String) The name of the table
422
+ # containing the requested item.
423
+ # * `:key` - *required* - (Hash) A map of attribute names to
424
+ # AttributeValue objects, representing the primary key of the item to
425
+ # retrieve.
426
+ # * `:hash_key_element` - *required* - (Hash) A hash key element is
427
+ # treated as the primary key, and can be a string or a number.
428
+ # Single attribute primary keys have one index value. The value can
429
+ # be String, Number, StringSet, NumberSet.
430
+ # * `:s` - (String) Represents a String data type
431
+ # * `:n` - (String) Represents a Number data type
432
+ # * `:b` - (String) Represents a Binary data type
433
+ # * `:ss` - (Array<String>) Represents a String set data type
434
+ # * `:ns` - (Array<String>) Represents a Number set data type
435
+ # * `:bs` - (Array<String>) Represents a Binary set data type
436
+ # * `:range_key_element` - (Hash) A range key element is treated as a
437
+ # secondary key (used in conjunction with the primary key), and can
438
+ # be a string or a number, and is only used for hash-and-range
439
+ # primary keys. The value can be String, Number, StringSet,
440
+ # NumberSet.
441
+ # * `:s` - (String) Represents a String data type
442
+ # * `:n` - (String) Represents a Number data type
443
+ # * `:b` - (String) Represents a Binary data type
444
+ # * `:ss` - (Array<String>) Represents a String set data type
445
+ # * `:ns` - (Array<String>) Represents a Number set data type
446
+ # * `:bs` - (Array<String>) Represents a Binary set data type
447
+ # * `:attributes_to_get` - (Array<String>)
448
+ # * `:consistent_read` - (Boolean)
449
+ # @return [Core::Response]
450
+ # The #data method of the response object returns
451
+ # a hash with the following structure:
452
+ #
453
+ # * `Item` - (Hash<String,Hash>)
454
+ # * `S` - (String)
455
+ # * `N` - (String)
456
+ # * `B` - (String)
457
+ # * `SS` - (Array<String>)
458
+ # * `NS` - (Array<String>)
459
+ # * `BS` - (Array<Blob>)
460
+ # * `ConsumedCapacityUnits` - (Numeric)
461
+
462
+ # @!method list_tables(options = {})
463
+ # Calls the ListTables API operation.
464
+ # @param [Hash] options
465
+ #
466
+ # * `:exclusive_start_table_name` - (String) The name of the table that
467
+ # starts the list. If you already ran a ListTables operation and
468
+ # received a LastEvaluatedTableName value in the response, use that
469
+ # value here to continue the list.
470
+ # * `:limit` - (Integer) A maximum number of table names to return.
471
+ # @return [Core::Response]
472
+ # The #data method of the response object returns
473
+ # a hash with the following structure:
474
+ #
475
+ # * `TableNames` - (Array<String>)
476
+ # * `LastEvaluatedTableName` - (String)
477
+
478
+ # @!method put_item(options = {})
479
+ # Calls the PutItem API operation.
480
+ # @param [Hash] options
481
+ #
482
+ # * `:table_name` - *required* - (String) The name of the table to
483
+ # contain the item.
484
+ # * `:item` - *required* - (Hash<String,Hash>) A map of attribute
485
+ # name/value pairs, one for each attribute. Only the primary key
486
+ # attributes are required; you can optionally provide other attribute
487
+ # name-value pairs for the item. If you specify any attributes that
488
+ # are part of an index key, then the data types for those attributes
489
+ # must match those of the schema in the table's attribute definition.
490
+ # For more information about primary keys, see Primary Key . Each
491
+ # element in the Item map is an AttributeValue object.
492
+ # * `:s` - (String) Represents a String data type
493
+ # * `:n` - (String) Represents a Number data type
494
+ # * `:b` - (String) Represents a Binary data type
495
+ # * `:ss` - (Array<String>) Represents a String set data type
496
+ # * `:ns` - (Array<String>) Represents a Number set data type
497
+ # * `:bs` - (Array<String>) Represents a Binary set data type
498
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
499
+ # pairs. This is the conditional block for the PutItem operation. All
500
+ # the conditions must be met for the operation to succeed.
501
+ # * `:value` - (Hash) Specify whether or not a value already exists
502
+ # and has a specific content for the attribute name-value pair.
503
+ # * `:s` - (String) Represents a String data type
504
+ # * `:n` - (String) Represents a Number data type
505
+ # * `:b` - (String) Represents a Binary data type
506
+ # * `:ss` - (Array<String>) Represents a String set data type
507
+ # * `:ns` - (Array<String>) Represents a Number set data type
508
+ # * `:bs` - (Array<String>) Represents a Binary set data type
509
+ # * `:exists` - (Boolean) Causes to evaluate the value before
510
+ # attempting a conditional operation: If Exists is `true` , will
511
+ # check to see if that attribute value already exists in the table.
512
+ # If it is found, then the operation succeeds. If it is not found,
513
+ # the operation fails with a ConditionalCheckFailedException. If
514
+ # Exists is `false` , assumes that the attribute value does not
515
+ # exist in the table. If in fact the value does not exist, then the
516
+ # assumption is valid and the operation succeeds. If the value is
517
+ # found, despite the assumption that it does not exist, the
518
+ # operation fails with a ConditionalCheckFailedException. The
519
+ # default setting for Exists is `true` . If you supply a Value all
520
+ # by itself, assumes the attribute exists: You don't have to set
521
+ # Exists to `true` , because it is implied. returns a
522
+ # ValidationException if: Exists is `true` but there is no Value to
523
+ # check. (You expect a value to exist, but don't specify what that
524
+ # value is.) Exists is `false` but you also specify a Value. (You
525
+ # cannot expect an attribute to have a value, while also expecting
526
+ # it not to exist.) If you specify more than one condition for
527
+ # Exists, then all of the conditions must evaluate to `true` . (In
528
+ # other words, the conditions are ANDed together.) Otherwise, the
529
+ # conditional operation will fail.
530
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
531
+ # item attributes as they appeared before they were updated with the
532
+ # PutItem request. For PutItem, the valid values are: NONE - If
533
+ # ReturnValues is not specified, or if its value is NONE, then
534
+ # nothing is returned. (This is the default for ReturnValues.)
535
+ # ALL_OLD - If PutItem overwrote an attribute name-value pair, then
536
+ # the content of the old item is returned. Valid values include:
537
+ # * `NONE`
538
+ # * `ALL_OLD`
539
+ # * `UPDATED_OLD`
540
+ # * `ALL_NEW`
541
+ # * `UPDATED_NEW`
542
+ # @return [Core::Response]
543
+ # The #data method of the response object returns
544
+ # a hash with the following structure:
545
+ #
546
+ # * `Attributes` - (Hash<String,Hash>)
547
+ # * `S` - (String)
548
+ # * `N` - (String)
549
+ # * `B` - (String)
550
+ # * `SS` - (Array<String>)
551
+ # * `NS` - (Array<String>)
552
+ # * `BS` - (Array<Blob>)
553
+ # * `ConsumedCapacityUnits` - (Numeric)
554
+
555
+ # @!method query(options = {})
556
+ # Calls the Query API operation.
557
+ # @param [Hash] options
558
+ #
559
+ # * `:table_name` - *required* - (String) The name of the table
560
+ # containing the requested items.
561
+ # * `:attributes_to_get` - (Array<String>) You cannot use both
562
+ # AttributesToGet and Select together in a Query request, unless the
563
+ # value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent
564
+ # to specifying AttributesToGet without any value for Select.)
565
+ # * `:limit` - (Integer)
566
+ # * `:consistent_read` - (Boolean)
567
+ # * `:count` - (Boolean) If set to `true` , Amazon DynamoDB returns a
568
+ # total number of items that match the query parameters, instead of a
569
+ # list of the matching items and their attributes. Do not set Count
570
+ # to `true` while providing a list of AttributesToGet, otherwise
571
+ # Amazon DynamoDB returns a validation error.
572
+ # * `:hash_key_value` - *required* - (Hash) Attribute value of the hash
573
+ # component of the composite primary key.
574
+ # * `:s` - (String) Represents a String data type
575
+ # * `:n` - (String) Represents a Number data type
576
+ # * `:b` - (String) Represents a Binary data type
577
+ # * `:ss` - (Array<String>) Represents a String set data type
578
+ # * `:ns` - (Array<String>) Represents a Number set data type
579
+ # * `:bs` - (Array<String>) Represents a Binary set data type
580
+ # * `:range_key_condition` - (Hash) A container for the attribute
581
+ # values and comparison operators to use for the query.
582
+ # * `:attribute_value_list` - (Array<Hash>) Represents one or more
583
+ # values to evaluate against the supplied attribute. This list
584
+ # contains exactly one value, except for a BETWEEN or IN
585
+ # comparison, in which case the list contains two values. For type
586
+ # Number, value comparisons are numeric. String value comparisons
587
+ # for greater than, equals, or less than are based on ASCII
588
+ # character code values. For example, a is greater than A, and aa
589
+ # is greater than B. For a list of code values, see
590
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
591
+ # For Binary, treats each byte of the binary data as unsigned when
592
+ # it compares binary values, for example when evaluating query
593
+ # expressions.
594
+ # * `:s` - (String) Represents a String data type
595
+ # * `:n` - (String) Represents a Number data type
596
+ # * `:b` - (String) Represents a Binary data type
597
+ # * `:ss` - (Array<String>) Represents a String set data type
598
+ # * `:ns` - (Array<String>) Represents a Number set data type
599
+ # * `:bs` - (Array<String>) Represents a Binary set data type
600
+ # * `:comparison_operator` - *required* - (String) Represents a
601
+ # comparator for evaluating attributes. For example, equals,
602
+ # greater than, less than, etc. For information on specifying data
603
+ # types in JSON, see JSON Data Format . The following are
604
+ # descriptions of each comparison operator. EQ : Equal.
605
+ # AttributeValueList can contain only one AttributeValue of type
606
+ # String, Number, or Binary (not a set). If an item contains an
607
+ # AttributeValue of a different type than the one specified in the
608
+ # request, the value does not match. For example, {"S":"6"} does
609
+ # not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6",
610
+ # "2", "1"]}. NE : Not equal. AttributeValueList can contain only
611
+ # one AttributeValue of type String, Number, or Binary (not a set).
612
+ # If an item contains an AttributeValue of a different type than
613
+ # the one specified in the request, the value does not match. For
614
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
615
+ # not equal {"NS":["6", "2", "1"]}. LE : Less than or equal.
616
+ # AttributeValueList can contain only one AttributeValue of type
617
+ # String, Number, or Binary (not a set). If an item contains an
618
+ # AttributeValue of a different type than the one specified in the
619
+ # request, the value does not match. For example, {"S":"6"} does
620
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
621
+ # {"NS":["6", "2", "1"]}. LT : Less than. AttributeValueList can
622
+ # contain only one AttributeValue of type String, Number, or Binary
623
+ # (not a set). If an item contains an AttributeValue of a different
624
+ # type than the one specified in the request, the value does not
625
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
626
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GE :
627
+ # Greater than or equal. AttributeValueList can contain only one
628
+ # AttributeValue of type String, Number, or Binary (not a set). If
629
+ # an item contains an AttributeValue of a different type than the
630
+ # one specified in the request, the value does not match. For
631
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
632
+ # not compare to {"NS":["6", "2", "1"]}. GT : Greater than.
633
+ # AttributeValueList can contain only one AttributeValue of type
634
+ # String, Number, or Binary (not a set). If an item contains an
635
+ # AttributeValue of a different type than the one specified in the
636
+ # request, the value does not match. For example, {"S":"6"} does
637
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
638
+ # {"NS":["6", "2", "1"]}. NOT_NULL : The attribute exists. NULL :
639
+ # The attribute does not exist. CONTAINS : checks for a
640
+ # subsequence, or value in a set. AttributeValueList can contain
641
+ # only one AttributeValue of type String, Number, or Binary (not a
642
+ # set). If the target attribute of the comparison is a String, then
643
+ # the operation checks for a substring match. If the target
644
+ # attribute of the comparison is Binary, then the operation looks
645
+ # for a subsequence of the target that matches the input. If the
646
+ # target attribute of the comparison is a set ("SS", "NS", or
647
+ # "BS"), then the operation checks for a member of the set (not as
648
+ # a substring). NOT_CONTAINS : checks for absence of a subsequence,
649
+ # or absence of a value in a set. AttributeValueList can contain
650
+ # only one AttributeValue of type String, Number, or Binary (not a
651
+ # set). If the target attribute of the comparison is a String, then
652
+ # the operation checks for the absence of a substring match. If the
653
+ # target attribute of the comparison is Binary, then the operation
654
+ # checks for the absence of a subsequence of the target that
655
+ # matches the input. If the target attribute of the comparison is a
656
+ # set ("SS", "NS", or "BS"), then the operation checks for the
657
+ # absence of a member of the set (not as a substring). BEGINS_WITH
658
+ # : checks for a prefix. AttributeValueList can contain only one
659
+ # AttributeValue of type String or Binary (not a Number or a set).
660
+ # The target attribute of the comparison must be a String or Binary
661
+ # (not a Number or a set). IN : checks for exact matches.
662
+ # AttributeValueList can contain more than one AttributeValue of
663
+ # type String, Number, or Binary (not a set). The target attribute
664
+ # of the comparison must be of the same type and exact value to
665
+ # match. A String never matches a String set. BETWEEN : Greater
666
+ # than or equal to the first value, and less than or equal to the
667
+ # second value. AttributeValueList must contain two AttributeValue
668
+ # elements of the same type, either String, Number, or Binary (not
669
+ # a set). A target attribute matches if the target value is greater
670
+ # than, or equal to, the first element and less than, or equal to,
671
+ # the second element. If an item contains an AttributeValue of a
672
+ # different type than the one specified in the request, the value
673
+ # does not match. For example, {"S":"6"} does not compare to
674
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
675
+ # "1"]} Valid values include:
676
+ # * `EQ`
677
+ # * `NE`
678
+ # * `IN`
679
+ # * `LE`
680
+ # * `LT`
681
+ # * `GE`
682
+ # * `GT`
683
+ # * `BETWEEN`
684
+ # * `NOT_NULL`
685
+ # * `NULL`
686
+ # * `CONTAINS`
687
+ # * `NOT_CONTAINS`
688
+ # * `BEGINS_WITH`
689
+ # * `:scan_index_forward` - (Boolean) Specifies ascending ( `true` ) or
690
+ # descending ( `false` ) traversal of the index. returns results
691
+ # reflecting the requested order determined by the range key. If the
692
+ # data type is Number, the results are returned in numeric order. For
693
+ # String, the results are returned in order of ASCII character code
694
+ # values. For Binary, Amazon DynamoDB treats each byte of the binary
695
+ # data as unsigned when it compares binary values. If
696
+ # ScanIndexForward is not specified, the results are returned in
697
+ # ascending order.
698
+ # * `:exclusive_start_key` - (Hash)
699
+ # * `:hash_key_element` - *required* - (Hash) A hash key element is
700
+ # treated as the primary key, and can be a string or a number.
701
+ # Single attribute primary keys have one index value. The value can
702
+ # be String, Number, StringSet, NumberSet.
703
+ # * `:s` - (String) Represents a String data type
704
+ # * `:n` - (String) Represents a Number data type
705
+ # * `:b` - (String) Represents a Binary data type
706
+ # * `:ss` - (Array<String>) Represents a String set data type
707
+ # * `:ns` - (Array<String>) Represents a Number set data type
708
+ # * `:bs` - (Array<String>) Represents a Binary set data type
709
+ # * `:range_key_element` - (Hash) A range key element is treated as a
710
+ # secondary key (used in conjunction with the primary key), and can
711
+ # be a string or a number, and is only used for hash-and-range
712
+ # primary keys. The value can be String, Number, StringSet,
713
+ # NumberSet.
714
+ # * `:s` - (String) Represents a String data type
715
+ # * `:n` - (String) Represents a Number data type
716
+ # * `:b` - (String) Represents a Binary data type
717
+ # * `:ss` - (Array<String>) Represents a String set data type
718
+ # * `:ns` - (Array<String>) Represents a Number set data type
719
+ # * `:bs` - (Array<String>) Represents a Binary set data type
720
+ # @return [Core::Response]
721
+ # The #data method of the response object returns
722
+ # a hash with the following structure:
723
+ #
724
+ # * `member` - (Hash<String,Hash>)
725
+ # * `S` - (String)
726
+ # * `N` - (String)
727
+ # * `B` - (String)
728
+ # * `SS` - (Array<String>)
729
+ # * `NS` - (Array<String>)
730
+ # * `BS` - (Array<Blob>)
731
+ # * `Count` - (Integer)
732
+ # * `LastEvaluatedKey` - (Hash)
733
+ # * `HashKeyElement` - (Hash)
734
+ # * `S` - (String)
735
+ # * `N` - (String)
736
+ # * `B` - (String)
737
+ # * `SS` - (Array<String>)
738
+ # * `NS` - (Array<String>)
739
+ # * `BS` - (Array<Blob>)
740
+ # * `RangeKeyElement` - (Hash)
741
+ # * `S` - (String)
742
+ # * `N` - (String)
743
+ # * `B` - (String)
744
+ # * `SS` - (Array<String>)
745
+ # * `NS` - (Array<String>)
746
+ # * `BS` - (Array<Blob>)
747
+ # * `ConsumedCapacityUnits` - (Numeric)
748
+
749
+ # @!method scan(options = {})
750
+ # Calls the Scan API operation.
751
+ # @param [Hash] options
752
+ #
753
+ # * `:table_name` - *required* - (String) The name of the table
754
+ # containing the requested items.
755
+ # * `:attributes_to_get` - (Array<String>)
756
+ # * `:limit` - (Integer)
757
+ # * `:count` - (Boolean) If set to `true` , Amazon DynamoDB returns a
758
+ # total number of items for the Scan operation, even if the operation
759
+ # has no matching items for the assigned filter. Do not set Count to
760
+ # `true` while providing a list of AttributesToGet, otherwise Amazon
761
+ # DynamoDB returns a validation error.
762
+ # * `:scan_filter` - (Hash<String,Hash>) Evaluates the scan results and
763
+ # returns only the desired values. Multiple conditions are treated as
764
+ # "AND" operations: all conditions must be met to be included in the
765
+ # results. Each ScanConditions element consists of an attribute name
766
+ # to compare, along with the following: AttributeValueList - One or
767
+ # more values to evaluate against the supplied attribute. This list
768
+ # contains exactly one value, except for a BETWEEN or IN comparison,
769
+ # in which case the list contains two values. For type Number, value
770
+ # comparisons are numeric. String value comparisons for greater than,
771
+ # equals, or less than are based on ASCII character code values. For
772
+ # example, a is greater than A, and aa is greater than B. For a list
773
+ # of code values, see
774
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. For
775
+ # Binary, treats each byte of the binary data as unsigned when it
776
+ # compares binary values, for example when evaluating query
777
+ # expressions. ComparisonOperator - A comparator for evaluating
778
+ # attributes. For example, equals, greater than, less than, etc. For
779
+ # information on specifying data types in JSON, see JSON Data Format
780
+ # . The following are descriptions of each comparison operator. EQ :
781
+ # Equal. AttributeValueList can contain only one AttributeValue of
782
+ # type String, Number, or Binary (not a set). If an item contains an
783
+ # AttributeValue of a different type than the one specified in the
784
+ # request, the value does not match. For example, {"S":"6"} does not
785
+ # equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2",
786
+ # "1"]}. NE : Not equal. AttributeValueList can contain only one
787
+ # AttributeValue of type String, Number, or Binary (not a set). If an
788
+ # item contains an AttributeValue of a different type than the one
789
+ # specified in the request, the value does not match. For example,
790
+ # {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not equal
791
+ # {"NS":["6", "2", "1"]}. LE : Less than or equal. AttributeValueList
792
+ # can contain only one AttributeValue of type String, Number, or
793
+ # Binary (not a set). If an item contains an AttributeValue of a
794
+ # different type than the one specified in the request, the value
795
+ # does not match. For example, {"S":"6"} does not equal {"N":"6"}.
796
+ # Also, {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. LT :
797
+ # Less than. AttributeValueList can contain only one AttributeValue
798
+ # of type String, Number, or Binary (not a set). If an item contains
799
+ # an AttributeValue of a different type than the one specified in the
800
+ # request, the value does not match. For example, {"S":"6"} does not
801
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
802
+ # "2", "1"]}. GE : Greater than or equal. AttributeValueList can
803
+ # contain only one AttributeValue of type String, Number, or Binary
804
+ # (not a set). If an item contains an AttributeValue of a different
805
+ # type than the one specified in the request, the value does not
806
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
807
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GT : Greater
808
+ # than. AttributeValueList can contain only one AttributeValue of
809
+ # type String, Number, or Binary (not a set). If an item contains an
810
+ # AttributeValue of a different type than the one specified in the
811
+ # request, the value does not match. For example, {"S":"6"} does not
812
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
813
+ # "2", "1"]}. NOT_NULL : The attribute exists. NULL : The attribute
814
+ # does not exist. CONTAINS : checks for a subsequence, or value in a
815
+ # set. AttributeValueList can contain only one AttributeValue of type
816
+ # String, Number, or Binary (not a set). If the target attribute of
817
+ # the comparison is a String, then the operation checks for a
818
+ # substring match. If the target attribute of the comparison is
819
+ # Binary, then the operation looks for a subsequence of the target
820
+ # that matches the input. If the target attribute of the comparison
821
+ # is a set ("SS", "NS", or "BS"), then the operation checks for a
822
+ # member of the set (not as a substring). NOT_CONTAINS : checks for
823
+ # absence of a subsequence, or absence of a value in a set.
824
+ # AttributeValueList can contain only one AttributeValue of type
825
+ # String, Number, or Binary (not a set). If the target attribute of
826
+ # the comparison is a String, then the operation checks for the
827
+ # absence of a substring match. If the target attribute of the
828
+ # comparison is Binary, then the operation checks for the absence of
829
+ # a subsequence of the target that matches the input. If the target
830
+ # attribute of the comparison is a set ("SS", "NS", or "BS"), then
831
+ # the operation checks for the absence of a member of the set (not as
832
+ # a substring). BEGINS_WITH : checks for a prefix. AttributeValueList
833
+ # can contain only one AttributeValue of type String or Binary (not a
834
+ # Number or a set). The target attribute of the comparison must be a
835
+ # String or Binary (not a Number or a set). IN : checks for exact
836
+ # matches. AttributeValueList can contain more than one
837
+ # AttributeValue of type String, Number, or Binary (not a set). The
838
+ # target attribute of the comparison must be of the same type and
839
+ # exact value to match. A String never matches a String set. BETWEEN
840
+ # : Greater than or equal to the first value, and less than or equal
841
+ # to the second value. AttributeValueList must contain two
842
+ # AttributeValue elements of the same type, either String, Number, or
843
+ # Binary (not a set). A target attribute matches if the target value
844
+ # is greater than, or equal to, the first element and less than, or
845
+ # equal to, the second element. If an item contains an AttributeValue
846
+ # of a different type than the one specified in the request, the
847
+ # value does not match. For example, {"S":"6"} does not compare to
848
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
849
+ # "1"]}
850
+ # * `:attribute_value_list` - (Array<Hash>) Represents one or more
851
+ # values to evaluate against the supplied attribute. This list
852
+ # contains exactly one value, except for a BETWEEN or IN
853
+ # comparison, in which case the list contains two values. For type
854
+ # Number, value comparisons are numeric. String value comparisons
855
+ # for greater than, equals, or less than are based on ASCII
856
+ # character code values. For example, a is greater than A, and aa
857
+ # is greater than B. For a list of code values, see
858
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
859
+ # For Binary, treats each byte of the binary data as unsigned when
860
+ # it compares binary values, for example when evaluating query
861
+ # expressions.
862
+ # * `:s` - (String) Represents a String data type
863
+ # * `:n` - (String) Represents a Number data type
864
+ # * `:b` - (String) Represents a Binary data type
865
+ # * `:ss` - (Array<String>) Represents a String set data type
866
+ # * `:ns` - (Array<String>) Represents a Number set data type
867
+ # * `:bs` - (Array<String>) Represents a Binary set data type
868
+ # * `:comparison_operator` - *required* - (String) Represents a
869
+ # comparator for evaluating attributes. For example, equals,
870
+ # greater than, less than, etc. For information on specifying data
871
+ # types in JSON, see JSON Data Format . The following are
872
+ # descriptions of each comparison operator. EQ : Equal.
873
+ # AttributeValueList can contain only one AttributeValue of type
874
+ # String, Number, or Binary (not a set). If an item contains an
875
+ # AttributeValue of a different type than the one specified in the
876
+ # request, the value does not match. For example, {"S":"6"} does
877
+ # not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6",
878
+ # "2", "1"]}. NE : Not equal. AttributeValueList can contain only
879
+ # one AttributeValue of type String, Number, or Binary (not a set).
880
+ # If an item contains an AttributeValue of a different type than
881
+ # the one specified in the request, the value does not match. For
882
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
883
+ # not equal {"NS":["6", "2", "1"]}. LE : Less than or equal.
884
+ # AttributeValueList can contain only one AttributeValue of type
885
+ # String, Number, or Binary (not a set). If an item contains an
886
+ # AttributeValue of a different type than the one specified in the
887
+ # request, the value does not match. For example, {"S":"6"} does
888
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
889
+ # {"NS":["6", "2", "1"]}. LT : Less than. AttributeValueList can
890
+ # contain only one AttributeValue of type String, Number, or Binary
891
+ # (not a set). If an item contains an AttributeValue of a different
892
+ # type than the one specified in the request, the value does not
893
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
894
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GE :
895
+ # Greater than or equal. AttributeValueList can contain only one
896
+ # AttributeValue of type String, Number, or Binary (not a set). If
897
+ # an item contains an AttributeValue of a different type than the
898
+ # one specified in the request, the value does not match. For
899
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
900
+ # not compare to {"NS":["6", "2", "1"]}. GT : Greater than.
901
+ # AttributeValueList can contain only one AttributeValue of type
902
+ # String, Number, or Binary (not a set). If an item contains an
903
+ # AttributeValue of a different type than the one specified in the
904
+ # request, the value does not match. For example, {"S":"6"} does
905
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
906
+ # {"NS":["6", "2", "1"]}. NOT_NULL : The attribute exists. NULL :
907
+ # The attribute does not exist. CONTAINS : checks for a
908
+ # subsequence, or value in a set. AttributeValueList can contain
909
+ # only one AttributeValue of type String, Number, or Binary (not a
910
+ # set). If the target attribute of the comparison is a String, then
911
+ # the operation checks for a substring match. If the target
912
+ # attribute of the comparison is Binary, then the operation looks
913
+ # for a subsequence of the target that matches the input. If the
914
+ # target attribute of the comparison is a set ("SS", "NS", or
915
+ # "BS"), then the operation checks for a member of the set (not as
916
+ # a substring). NOT_CONTAINS : checks for absence of a subsequence,
917
+ # or absence of a value in a set. AttributeValueList can contain
918
+ # only one AttributeValue of type String, Number, or Binary (not a
919
+ # set). If the target attribute of the comparison is a String, then
920
+ # the operation checks for the absence of a substring match. If the
921
+ # target attribute of the comparison is Binary, then the operation
922
+ # checks for the absence of a subsequence of the target that
923
+ # matches the input. If the target attribute of the comparison is a
924
+ # set ("SS", "NS", or "BS"), then the operation checks for the
925
+ # absence of a member of the set (not as a substring). BEGINS_WITH
926
+ # : checks for a prefix. AttributeValueList can contain only one
927
+ # AttributeValue of type String or Binary (not a Number or a set).
928
+ # The target attribute of the comparison must be a String or Binary
929
+ # (not a Number or a set). IN : checks for exact matches.
930
+ # AttributeValueList can contain more than one AttributeValue of
931
+ # type String, Number, or Binary (not a set). The target attribute
932
+ # of the comparison must be of the same type and exact value to
933
+ # match. A String never matches a String set. BETWEEN : Greater
934
+ # than or equal to the first value, and less than or equal to the
935
+ # second value. AttributeValueList must contain two AttributeValue
936
+ # elements of the same type, either String, Number, or Binary (not
937
+ # a set). A target attribute matches if the target value is greater
938
+ # than, or equal to, the first element and less than, or equal to,
939
+ # the second element. If an item contains an AttributeValue of a
940
+ # different type than the one specified in the request, the value
941
+ # does not match. For example, {"S":"6"} does not compare to
942
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
943
+ # "1"]} Valid values include:
944
+ # * `EQ`
945
+ # * `NE`
946
+ # * `IN`
947
+ # * `LE`
948
+ # * `LT`
949
+ # * `GE`
950
+ # * `GT`
951
+ # * `BETWEEN`
952
+ # * `NOT_NULL`
953
+ # * `NULL`
954
+ # * `CONTAINS`
955
+ # * `NOT_CONTAINS`
956
+ # * `BEGINS_WITH`
957
+ # * `:exclusive_start_key` - (Hash) In a parallel scan, a Scan request
958
+ # that includes ExclusiveStartKey must specify the same segment whose
959
+ # previous Scan returned the corresponding value of LastEvaluatedKey.
960
+ # * `:hash_key_element` - *required* - (Hash) A hash key element is
961
+ # treated as the primary key, and can be a string or a number.
962
+ # Single attribute primary keys have one index value. The value can
963
+ # be String, Number, StringSet, NumberSet.
964
+ # * `:s` - (String) Represents a String data type
965
+ # * `:n` - (String) Represents a Number data type
966
+ # * `:b` - (String) Represents a Binary data type
967
+ # * `:ss` - (Array<String>) Represents a String set data type
968
+ # * `:ns` - (Array<String>) Represents a Number set data type
969
+ # * `:bs` - (Array<String>) Represents a Binary set data type
970
+ # * `:range_key_element` - (Hash) A range key element is treated as a
971
+ # secondary key (used in conjunction with the primary key), and can
972
+ # be a string or a number, and is only used for hash-and-range
973
+ # primary keys. The value can be String, Number, StringSet,
974
+ # NumberSet.
975
+ # * `:s` - (String) Represents a String data type
976
+ # * `:n` - (String) Represents a Number data type
977
+ # * `:b` - (String) Represents a Binary data type
978
+ # * `:ss` - (Array<String>) Represents a String set data type
979
+ # * `:ns` - (Array<String>) Represents a Number set data type
980
+ # * `:bs` - (Array<String>) Represents a Binary set data type
981
+ # @return [Core::Response]
982
+ # The #data method of the response object returns
983
+ # a hash with the following structure:
984
+ #
985
+ # * `member` - (Hash<String,Hash>)
986
+ # * `S` - (String)
987
+ # * `N` - (String)
988
+ # * `B` - (String)
989
+ # * `SS` - (Array<String>)
990
+ # * `NS` - (Array<String>)
991
+ # * `BS` - (Array<Blob>)
992
+ # * `Count` - (Integer)
993
+ # * `ScannedCount` - (Integer)
994
+ # * `LastEvaluatedKey` - (Hash)
995
+ # * `HashKeyElement` - (Hash)
996
+ # * `S` - (String)
997
+ # * `N` - (String)
998
+ # * `B` - (String)
999
+ # * `SS` - (Array<String>)
1000
+ # * `NS` - (Array<String>)
1001
+ # * `BS` - (Array<Blob>)
1002
+ # * `RangeKeyElement` - (Hash)
1003
+ # * `S` - (String)
1004
+ # * `N` - (String)
1005
+ # * `B` - (String)
1006
+ # * `SS` - (Array<String>)
1007
+ # * `NS` - (Array<String>)
1008
+ # * `BS` - (Array<Blob>)
1009
+ # * `ConsumedCapacityUnits` - (Numeric)
1010
+
1011
+ # @!method update_item(options = {})
1012
+ # Calls the UpdateItem API operation.
1013
+ # @param [Hash] options
1014
+ #
1015
+ # * `:table_name` - *required* - (String) The name of the table
1016
+ # containing the item to update.
1017
+ # * `:key` - *required* - (Hash) The primary key that defines the item.
1018
+ # Each element consists of an attribute name and a value for that
1019
+ # attribute.
1020
+ # * `:hash_key_element` - *required* - (Hash) A hash key element is
1021
+ # treated as the primary key, and can be a string or a number.
1022
+ # Single attribute primary keys have one index value. The value can
1023
+ # be String, Number, StringSet, NumberSet.
1024
+ # * `:s` - (String) Represents a String data type
1025
+ # * `:n` - (String) Represents a Number data type
1026
+ # * `:b` - (String) Represents a Binary data type
1027
+ # * `:ss` - (Array<String>) Represents a String set data type
1028
+ # * `:ns` - (Array<String>) Represents a Number set data type
1029
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1030
+ # * `:range_key_element` - (Hash) A range key element is treated as a
1031
+ # secondary key (used in conjunction with the primary key), and can
1032
+ # be a string or a number, and is only used for hash-and-range
1033
+ # primary keys. The value can be String, Number, StringSet,
1034
+ # NumberSet.
1035
+ # * `:s` - (String) Represents a String data type
1036
+ # * `:n` - (String) Represents a Number data type
1037
+ # * `:b` - (String) Represents a Binary data type
1038
+ # * `:ss` - (Array<String>) Represents a String set data type
1039
+ # * `:ns` - (Array<String>) Represents a Number set data type
1040
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1041
+ # * `:attribute_updates` - *required* - (Hash<String,Hash>) The names
1042
+ # of attributes to be modified, the action to perform on each, and
1043
+ # the new value for each. If you are updating an attribute that is an
1044
+ # index key attribute for any indexes on that table, the attribute
1045
+ # type must match the index key type defined in the
1046
+ # AttributesDefinition of the table description. You can use
1047
+ # UpdateItem to update any non-key attributes. Attribute values
1048
+ # cannot be null. String and binary type attributes must have lengths
1049
+ # greater than zero. Set type attributes must not be empty. Requests
1050
+ # with empty values will be rejected with a ValidationException. Each
1051
+ # AttributeUpdates element consists of an attribute name to modify,
1052
+ # along with the following: Value - The new value, if applicable, for
1053
+ # this attribute. Action - Specifies how to perform the update. Valid
1054
+ # values for Action are PUT, DELETE, and ADD. The behavior depends on
1055
+ # whether the specified primary key already exists in the table. If
1056
+ # an item with the specified Key is found in the table: PUT - Adds
1057
+ # the specified attribute to the item. If the attribute already
1058
+ # exists, it is replaced by the new value. DELETE - If no value is
1059
+ # specified, the attribute and its value are removed from the item.
1060
+ # The data type of the specified value must match the existing
1061
+ # value's data type. If a set of values is specified, then those
1062
+ # values are subtracted from the old set. For example, if the
1063
+ # attribute value was the set [a,b,c] and the DELETE action specified
1064
+ # [a,c], then the final attribute value would be [b]. Specifying an
1065
+ # empty set is an error. ADD - If the attribute does not already
1066
+ # exist, then the attribute and its values are added to the item. If
1067
+ # the attribute does exist, then the behavior of ADD depends on the
1068
+ # data type of the attribute: If the existing attribute is a number,
1069
+ # and if Value is also a number, then the Value is mathematically
1070
+ # added to the existing attribute. If Value is a negative number,
1071
+ # then it is subtracted from the existing attribute. If you use ADD
1072
+ # to increment or decrement a number value for an item that doesn't
1073
+ # exist before the update, uses 0 as the initial value. In addition,
1074
+ # if you use ADD to update an existing item, and intend to increment
1075
+ # or decrement an attribute value which does not yet exist, uses 0 as
1076
+ # the initial value. For example, suppose that the item you want to
1077
+ # update does not yet have an attribute named itemcount, but you
1078
+ # decide to ADD the number 3 to this attribute anyway, even though it
1079
+ # currently does not exist. will create the itemcount attribute, set
1080
+ # its initial value to 0, and finally add 3 to it. The result will be
1081
+ # a new itemcount attribute in the item, with a value of 3. If the
1082
+ # existing data type is a set, and if the Value is also a set, then
1083
+ # the Value is added to the existing set. (This is a set operation,
1084
+ # not mathematical addition.) For example, if the attribute value was
1085
+ # the set [1,2], and the ADD action specified [3], then the final
1086
+ # attribute value would be [1,2,3]. An error occurs if an Add action
1087
+ # is specified for a set attribute and the attribute type specified
1088
+ # does not match the existing set type. Both sets must have the same
1089
+ # primitive data type. For example, if the existing data type is a
1090
+ # set of strings, the Value must also be a set of strings. The same
1091
+ # holds `true` for number sets and binary sets. This action is only
1092
+ # valid for an existing attribute whose data type is number or is a
1093
+ # set. Do not use ADD for any other data types. If no item with the
1094
+ # specified Key is found: PUT - creates a new item with the specified
1095
+ # primary key, and then adds the attribute. DELETE - Nothing happens;
1096
+ # there is no attribute to delete. ADD - creates an item with the
1097
+ # supplied primary key and number (or set of numbers) for the
1098
+ # attribute value. The only data types allowed are number and number
1099
+ # set; no other data types can be specified. If you specify any
1100
+ # attributes that are part of an index key, then the data types for
1101
+ # those attributes must match those of the schema in the table's
1102
+ # attribute definition.
1103
+ # * `:value` - (Hash)
1104
+ # * `:s` - (String) Represents a String data type
1105
+ # * `:n` - (String) Represents a Number data type
1106
+ # * `:b` - (String) Represents a Binary data type
1107
+ # * `:ss` - (Array<String>) Represents a String set data type
1108
+ # * `:ns` - (Array<String>) Represents a Number set data type
1109
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1110
+ # * `:action` - (String) Specifies how to perform the update. Valid
1111
+ # values are PUT, DELETE, and ADD. The behavior depends on whether
1112
+ # the specified primary key already exists in the table. If an item
1113
+ # with the specified Key is found in the table: PUT - Adds the
1114
+ # specified attribute to the item. If the attribute already exists,
1115
+ # it is replaced by the new value. DELETE - If no value is
1116
+ # specified, the attribute and its value are removed from the item.
1117
+ # The data type of the specified value must match the existing
1118
+ # value's data type. If a set of values is specified, then those
1119
+ # values are subtracted from the old set. For example, if the
1120
+ # attribute value was the set [a,b,c] and the DELETE action
1121
+ # specified [a,c], then the final attribute value would be [b].
1122
+ # Specifying an empty set is an error. ADD - If the attribute does
1123
+ # not already exist, then the attribute and its values are added to
1124
+ # the item. If the attribute does exist, then the behavior of ADD
1125
+ # depends on the data type of the attribute: If the existing
1126
+ # attribute is a number, and if Value is also a number, then the
1127
+ # Value is mathematically added to the existing attribute. If Value
1128
+ # is a negative number, then it is subtracted from the existing
1129
+ # attribute. If you use ADD to increment or decrement a number
1130
+ # value for an item that doesn't exist before the update, uses 0 as
1131
+ # the initial value. In addition, if you use ADD to update an
1132
+ # existing item, and intend to increment or decrement an attribute
1133
+ # value which does not yet exist, uses 0 as the initial value. For
1134
+ # example, suppose that the item you want to update does not yet
1135
+ # have an attribute named itemcount, but you decide to ADD the
1136
+ # number 3 to this attribute anyway, even though it currently does
1137
+ # not exist. will create the itemcount attribute, set its initial
1138
+ # value to 0, and finally add 3 to it. The result will be a new
1139
+ # itemcount attribute in the item, with a value of 3. If the
1140
+ # existing data type is a set, and if the Value is also a set, then
1141
+ # the Value is added to the existing set. (This is a set operation,
1142
+ # not mathematical addition.) For example, if the attribute value
1143
+ # was the set [1,2], and the ADD action specified [3], then the
1144
+ # final attribute value would be [1,2,3]. An error occurs if an Add
1145
+ # action is specified for a set attribute and the attribute type
1146
+ # specified does not match the existing set type. Both sets must
1147
+ # have the same primitive data type. For example, if the existing
1148
+ # data type is a set of strings, the Value must also be a set of
1149
+ # strings. The same holds `true` for number sets and binary sets.
1150
+ # This action is only valid for an existing attribute whose data
1151
+ # type is number or is a set. Do not use ADD for any other data
1152
+ # types. If no item with the specified Key is found: PUT - creates
1153
+ # a new item with the specified primary key, and then adds the
1154
+ # attribute. DELETE - Nothing happens; there is no attribute to
1155
+ # delete. ADD - creates an item with the supplied primary key and
1156
+ # number (or set of numbers) for the attribute value. The only data
1157
+ # types allowed are number and number set; no other data types can
1158
+ # be specified. Valid values include:
1159
+ # * `ADD`
1160
+ # * `PUT`
1161
+ # * `DELETE`
1162
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
1163
+ # pairs. This is the conditional block for the UpdateItem operation.
1164
+ # All the conditions must be met for the operation to succeed.
1165
+ # * `:value` - (Hash) Specify whether or not a value already exists
1166
+ # and has a specific content for the attribute name-value pair.
1167
+ # * `:s` - (String) Represents a String data type
1168
+ # * `:n` - (String) Represents a Number data type
1169
+ # * `:b` - (String) Represents a Binary data type
1170
+ # * `:ss` - (Array<String>) Represents a String set data type
1171
+ # * `:ns` - (Array<String>) Represents a Number set data type
1172
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1173
+ # * `:exists` - (Boolean) Causes to evaluate the value before
1174
+ # attempting a conditional operation: If Exists is `true` , will
1175
+ # check to see if that attribute value already exists in the table.
1176
+ # If it is found, then the operation succeeds. If it is not found,
1177
+ # the operation fails with a ConditionalCheckFailedException. If
1178
+ # Exists is `false` , assumes that the attribute value does not
1179
+ # exist in the table. If in fact the value does not exist, then the
1180
+ # assumption is valid and the operation succeeds. If the value is
1181
+ # found, despite the assumption that it does not exist, the
1182
+ # operation fails with a ConditionalCheckFailedException. The
1183
+ # default setting for Exists is `true` . If you supply a Value all
1184
+ # by itself, assumes the attribute exists: You don't have to set
1185
+ # Exists to `true` , because it is implied. returns a
1186
+ # ValidationException if: Exists is `true` but there is no Value to
1187
+ # check. (You expect a value to exist, but don't specify what that
1188
+ # value is.) Exists is `false` but you also specify a Value. (You
1189
+ # cannot expect an attribute to have a value, while also expecting
1190
+ # it not to exist.) If you specify more than one condition for
1191
+ # Exists, then all of the conditions must evaluate to `true` . (In
1192
+ # other words, the conditions are ANDed together.) Otherwise, the
1193
+ # conditional operation will fail.
1194
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
1195
+ # item attributes as they appeared either before or after they were
1196
+ # updated. For UpdateItem, the valid values are: NONE - If
1197
+ # ReturnValues is not specified, or if its value is NONE, then
1198
+ # nothing is returned. (This is the default for ReturnValues.)
1199
+ # ALL_OLD - If UpdateItem overwrote an attribute name-value pair,
1200
+ # then the content of the old item is returned. UPDATED_OLD - The old
1201
+ # versions of only the updated attributes are returned. ALL_NEW - All
1202
+ # of the attributes of the new version of the item are returned.
1203
+ # UPDATED_NEW - The new versions of only the updated attributes are
1204
+ # returned. Valid values include:
1205
+ # * `NONE`
1206
+ # * `ALL_OLD`
1207
+ # * `UPDATED_OLD`
1208
+ # * `ALL_NEW`
1209
+ # * `UPDATED_NEW`
1210
+ # @return [Core::Response]
1211
+ # The #data method of the response object returns
1212
+ # a hash with the following structure:
1213
+ #
1214
+ # * `Attributes` - (Hash<String,Hash>)
1215
+ # * `S` - (String)
1216
+ # * `N` - (String)
1217
+ # * `B` - (String)
1218
+ # * `SS` - (Array<String>)
1219
+ # * `NS` - (Array<String>)
1220
+ # * `BS` - (Array<Blob>)
1221
+ # * `ConsumedCapacityUnits` - (Numeric)
1222
+
1223
+ # @!method update_table(options = {})
1224
+ # Calls the UpdateTable API operation.
1225
+ # @param [Hash] options
1226
+ #
1227
+ # * `:table_name` - *required* - (String) The name of the table to be
1228
+ # updated.
1229
+ # * `:provisioned_throughput` - *required* - (Hash)
1230
+ # * `:read_capacity_units` - *required* - (Integer) The maximum
1231
+ # number of strongly consistent reads consumed per second before
1232
+ # returns a ThrottlingException. For more information, see
1233
+ # Specifying Read and Write Requirements .
1234
+ # * `:write_capacity_units` - *required* - (Integer) The maximum
1235
+ # number of writes consumed per second before returns a
1236
+ # ThrottlingException. For more information, see Specifying Read
1237
+ # and Write Requirements .
1238
+ # @return [Core::Response]
1239
+ # The #data method of the response object returns
1240
+ # a hash with the following structure:
1241
+ #
1242
+ # * `TableDescription` - (Hash)
1243
+ # * `TableName` - (String)
1244
+ # * `KeySchema` - (Hash)
1245
+ # * `HashKeyElement` - (Hash)
1246
+ # * `AttributeName` - (String)
1247
+ # * `AttributeType` - (String)
1248
+ # * `RangeKeyElement` - (Hash)
1249
+ # * `AttributeName` - (String)
1250
+ # * `AttributeType` - (String)
1251
+ # * `TableStatus` - (String)
1252
+ # * `CreationDateTime` - (Time)
1253
+ # * `ProvisionedThroughput` - (Hash)
1254
+ # * `LastIncreaseDateTime` - (Time)
1255
+ # * `LastDecreaseDateTime` - (Time)
1256
+ # * `NumberOfDecreasesToday` - (Integer)
1257
+ # * `ReadCapacityUnits` - (Integer)
1258
+ # * `WriteCapacityUnits` - (Integer)
1259
+ # * `TableSizeBytes` - (Integer)
1260
+ # * `ItemCount` - (Integer)
1261
+
1262
+ # end client methods #
1263
+
1264
+ define_client_methods('2011-12-05')
1265
+
1266
+ end