aws-sdk 1.9.5 → 1.10.0

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