aws-sdk 1.11.3 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,6 @@
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
14
  require 'thread'
15
- require 'stringio'
16
15
 
17
16
  module AWS
18
17
  module Core
@@ -96,11 +95,6 @@ module AWS
96
95
  # curl.verbose = true
97
96
  request.headers.each {|k, v| curl.headers[k] = v}
98
97
 
99
- if proxy = request.proxy_uri
100
- curl.proxy_url = proxy.to_s
101
- curl.proxy_port = proxy.port
102
- end
103
-
104
98
  curl.on_header {|header_data|
105
99
  if header_data =~ /:\s+/
106
100
  name, value = header_data.strip.split(/:\s+/, 2)
@@ -123,7 +117,7 @@ module AWS
123
117
  curl.delete = true
124
118
  end
125
119
 
126
- buffer = StringIO.new
120
+ buffer = []
127
121
 
128
122
  if read_block
129
123
  curl.on_body do |chunk|
@@ -140,8 +134,7 @@ module AWS
140
134
  curl.on_complete do
141
135
  response.status = curl.response_code
142
136
  unless read_block
143
- buffer.rewind
144
- response.body = buffer.read
137
+ response.body = buffer.join("")
145
138
  end
146
139
  thread.run if thread
147
140
  end
@@ -24,12 +24,10 @@ module AWS
24
24
  class NetHttpHandler
25
25
 
26
26
  # @api private
27
- PASS_THROUGH_ERRORS = [
28
- NoMethodError, FloatDomainError, TypeError, NotImplementedError,
29
- SystemExit, Interrupt, SyntaxError, RangeError, NoMemoryError,
30
- ArgumentError, ZeroDivisionError, LoadError, NameError,
31
- LocalJumpError, SignalException, ScriptError,
32
- SystemStackError, RegexpError, IndexError,
27
+ NETWORK_ERRORS = [
28
+ SocketError, EOFError, IOError, Timeout::Error,
29
+ Errno::ECONNABORTED, Errno::ECONNRESET, Errno::EPIPE,
30
+ Errno::EINVAL, Errno::ETIMEDOUT, OpenSSL::SSL::SSLError,
33
31
  ]
34
32
 
35
33
  # (see ConnectionPool.new)
@@ -47,6 +45,8 @@ module AWS
47
45
  # @param [Response] response
48
46
  # @return [nil]
49
47
  def handle request, response, &read_block
48
+ retry_possible = true
49
+
50
50
  begin
51
51
 
52
52
  @pool.session_for(request.endpoint) do |http|
@@ -59,7 +59,13 @@ module AWS
59
59
  response.status = net_http_resp.code.to_i
60
60
  response.headers = net_http_resp.to_hash
61
61
  if block_given? and response.status < 300
62
- net_http_resp.read_body(&read_block)
62
+ net_http_resp.read_body do |data|
63
+ begin
64
+ yield data
65
+ ensure
66
+ retry_possible = false
67
+ end
68
+ end
63
69
  else
64
70
  response.body = net_http_resp.read_body
65
71
  end
@@ -67,14 +73,8 @@ module AWS
67
73
 
68
74
  end
69
75
 
70
- # The first rescue clause is required because Timeout::Error is
71
- # a SignalException (in Ruby 1.8, not 1.9). Generally, SingalExceptions
72
- # should not be retried, except for timeout errors.
73
- rescue Timeout::Error => error
74
- response.network_error = error
75
- rescue *PASS_THROUGH_ERRORS => error
76
- raise error
77
- rescue Exception => error
76
+ rescue *NETWORK_ERRORS => error
77
+ raise error unless retry_possible
78
78
  response.network_error = error
79
79
  end
80
80
  nil
@@ -22,18 +22,20 @@ module AWS
22
22
  # aws.dynamo_db.tables.map(&:name)
23
23
  # aws.ec2.instances.map(&:id)
24
24
  #
25
+ # Regions provide helper methods for each service.
26
+ #
25
27
  # @attr_reader [AutoScaling] auto_scaling
26
28
  # @attr_reader [CloudFormation] cloud_formation
27
29
  # @attr_reader [CloudFront] cloud_front
28
30
  # @attr_reader [CloudSearch] cloud_search
29
31
  # @attr_reader [CloudWatch] cloud_watch
30
- # @attr_reader [DynamoDB] dynamo_db
31
32
  # @attr_reader [DataPipeline] data_pipeline
32
33
  # @attr_reader [DirectConnect] direct_connect
34
+ # @attr_reader [DynamoDB] dynamo_db
33
35
  # @attr_reader [EC2] ec2
34
- # @attr_reader [ElastiCache] elasticache
35
36
  # @attr_reader [ElasticBeanstalk] elastic_beanstalk
36
37
  # @attr_reader [ElasticTranscoder] elastic_transcoder
38
+ # @attr_reader [ElastiCache] elasticache
37
39
  # @attr_reader [ELB] elb
38
40
  # @attr_reader [EMR] emr
39
41
  # @attr_reader [Glacier] glacier
@@ -44,13 +46,14 @@ module AWS
44
46
  # @attr_reader [Redshift] redshift
45
47
  # @attr_reader [Route53] route_53
46
48
  # @attr_reader [S3] s3
49
+ # @attr_reader [SimpleEmailService] ses
47
50
  # @attr_reader [SimpleDB] simple_db
48
- # @attr_reader [SimpleEmailService] simple_email_service
49
- # @attr_reader [SimpleWorkflow] simple_workflow
50
51
  # @attr_reader [SNS] sns
51
52
  # @attr_reader [SQS] sqs
52
53
  # @attr_reader [StorageGateway] storage_gateway
53
54
  # @attr_reader [STS] sts
55
+ # @attr_reader [Support] support
56
+ # @attr_reader [SimpleWorkflow] swf
54
57
  #
55
58
  class Region
56
59
 
@@ -68,10 +71,11 @@ module AWS
68
71
  # @return [Configuration]
69
72
  attr_reader :config
70
73
 
71
- AWS::SERVICES.each_pair do |name,service|
72
- define_method(service[:ruby_name]) do
73
- AWS.const_get(name).new(:config => config)
74
+ AWS::SERVICES.values.each do |svc|
75
+ define_method(svc.method_name) do
76
+ AWS.const_get(svc.class_name).new(:config => config)
74
77
  end
78
+ alias_method(svc.method_alias, svc.method_name) if svc.method_alias
75
79
  end
76
80
 
77
81
  end
@@ -22,43 +22,50 @@ 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>)
25
+ #
26
+ # * `:request_items` - *required* - (Hash<String,Hash>) A map of one or
27
+ # more table names and, for each table, the corresponding primary
28
+ # keys for the items to retrieve. Each table name can be invoked only
29
+ # once. Each element in the map consists of the following: Keys - An
30
+ # array of primary key attribute values that define specific items in
31
+ # the table. AttributesToGet - One or more attributes to be retrieved
32
+ # from the table or index. By default, all attributes are returned.
33
+ # If a specified attribute is not found, it does not appear in the
34
+ # result. ConsistentRead - If `true` , a strongly consistent read is
35
+ # used; if `false` (the default), an eventually consistent read is
36
+ # used.
37
+ # * `:keys` - *required* - (Array<Hash>) Represents the primary key
38
+ # attribute values that define the items and the attributes
39
+ # associated with the items.
27
40
  # * `:hash_key_element` - *required* - (Hash) A hash key element is
28
41
  # treated as the primary key, and can be a string or a number.
29
42
  # Single attribute primary keys have one index value. The value
30
43
  # can be String, Number, StringSet, NumberSet.
31
- # * `:s` - (String) Strings are Unicode with UTF-8 binary
32
- # encoding. The maximum size is limited by the size of the
33
- # primary key (1024 bytes as a range part of a key or 2048
34
- # bytes as a single part hash key) or the item size (64k).
35
- # * `:n` - (String) Numbers are positive or negative exact-value
36
- # decimals and integers. A number can have up to 38 digits
37
- # precision and can be between 10^-128 to 10^+126.
38
- # * `:b` - (String) Binary attributes are sequences of unsigned
39
- # bytes.
40
- # * `:ss` - (Array<String>) A set of strings.
41
- # * `:ns` - (Array<String>) A set of numbers.
42
- # * `:bs` - (Array<String>) A set of binary attributes.
44
+ # * `:s` - (String) Represents a String data type
45
+ # * `:n` - (String) Represents a Number data type
46
+ # * `:b` - (String) Represents a Binary data type
47
+ # * `:ss` - (Array<String>) Represents a String set data type
48
+ # * `:ns` - (Array<String>) Represents a Number set data type
49
+ # * `:bs` - (Array<String>) Represents a Binary set data type
43
50
  # * `:range_key_element` - (Hash) A range key element is treated as
44
51
  # a secondary key (used in conjunction with the primary key), and
45
52
  # can be a string or a number, and is only used for
46
53
  # hash-and-range primary keys. The value can be String, Number,
47
54
  # StringSet, NumberSet.
48
- # * `:s` - (String) Strings are Unicode with UTF-8 binary
49
- # encoding. The maximum size is limited by the size of the
50
- # primary key (1024 bytes as a range part of a key or 2048
51
- # bytes as a single part hash key) or the item size (64k).
52
- # * `:n` - (String) Numbers are positive or negative exact-value
53
- # decimals and integers. A number can have up to 38 digits
54
- # precision and can be between 10^-128 to 10^+126.
55
- # * `:b` - (String) Binary attributes are sequences of unsigned
56
- # bytes.
57
- # * `:ss` - (Array<String>) A set of strings.
58
- # * `:ns` - (Array<String>) A set of numbers.
59
- # * `:bs` - (Array<String>) A set of binary attributes.
60
- # * `:attributes_to_get` - (Array<String>)
61
- # * `:consistent_read` - (Boolean)
55
+ # * `:s` - (String) Represents a String data type
56
+ # * `:n` - (String) Represents a Number data type
57
+ # * `:b` - (String) Represents a Binary data type
58
+ # * `:ss` - (Array<String>) Represents a String set data type
59
+ # * `:ns` - (Array<String>) Represents a Number set data type
60
+ # * `:bs` - (Array<String>) Represents a Binary set data type
61
+ # * `:attributes_to_get` - (Array<String>) Represents one or more
62
+ # attributes to retrieve from the table or index. If no attribute
63
+ # names are specified then all attributes will be returned. If any
64
+ # of the specified attributes are not found, they will not appear
65
+ # in the result.
66
+ # * `:consistent_read` - (Boolean) Represents the consistency of a
67
+ # read operation. If set to `true` , then a strongly consistent
68
+ # read is used; otherwise, an eventually consistent read is used.
62
69
  # @return [Core::Response]
63
70
  # The #data method of the response object returns
64
71
  # a hash with the following structure:
@@ -94,58 +101,68 @@ module AWS
94
101
  # @!method batch_write_item(options = {})
95
102
  # Calls the BatchWriteItem API operation.
96
103
  # @param [Hash] options
104
+ #
97
105
  # * `:request_items` - *required* - (Hash<String,Array<Hash>>) A map of
98
- # table name to list-of-write-requests. Used as input to the
99
- # BatchWriteItem API call
100
- # * `:put_request` - (Hash)
101
- # * `:item` - *required* - (Hash<String,Hash>) The item to put
102
- # * `:s` - (String) Strings are Unicode with UTF-8 binary
103
- # encoding. The maximum size is limited by the size of the
104
- # primary key (1024 bytes as a range part of a key or 2048
105
- # bytes as a single part hash key) or the item size (64k).
106
- # * `:n` - (String) Numbers are positive or negative exact-value
107
- # decimals and integers. A number can have up to 38 digits
108
- # precision and can be between 10^-128 to 10^+126.
109
- # * `:b` - (String) Binary attributes are sequences of unsigned
110
- # bytes.
111
- # * `:ss` - (Array<String>) A set of strings.
112
- # * `:ns` - (Array<String>) A set of numbers.
113
- # * `:bs` - (Array<String>) A set of binary attributes.
114
- # * `:delete_request` - (Hash)
115
- # * `:key` - *required* - (Hash) The item's key to be delete
106
+ # one or more table names and, for each table, a list of operations
107
+ # to be performed (DeleteRequest or PutRequest). Each element in the
108
+ # map consists of the following: DeleteRequest - Perform a DeleteItem
109
+ # operation on the specified item. The item to be deleted is
110
+ # identified by a Key subelement: Key - A map of primary key
111
+ # attribute values that uniquely identify the item. Each entry in
112
+ # this map consists of an attribute name and an attribute value.
113
+ # PutRequest - Perform a PutItem operation on the specified item. The
114
+ # item to be put is identified by an Item subelement: Item - A map of
115
+ # attributes and their values. Each entry in this map consists of an
116
+ # attribute name and an attribute value. Attribute values must not be
117
+ # null; string and binary type attributes must have lengths greater
118
+ # than zero; and set type attributes must not be empty. Requests that
119
+ # contain empty values will be rejected with a ValidationException.
120
+ # If you specify any attributes that are part of an index key, then
121
+ # the data types for those attributes must match those of the schema
122
+ # in the table's attribute definition.
123
+ # * `:put_request` - (Hash) Represents a request to perform a
124
+ # DeleteItem operation.
125
+ # * `:item` - *required* - (Hash<String,Hash>) A map of attribute
126
+ # name to attribute values, representing the primary key of an
127
+ # item to be processed by PutItem. All of the table's primary key
128
+ # attributes must be specified, and their data types must match
129
+ # those of the table's key schema. If any attributes are present
130
+ # in the item which are part of an index key schema for the
131
+ # table, their types must match the index key schema.
132
+ # * `:s` - (String) Represents a String data type
133
+ # * `:n` - (String) Represents a Number data type
134
+ # * `:b` - (String) Represents a Binary data type
135
+ # * `:ss` - (Array<String>) Represents a String set data type
136
+ # * `:ns` - (Array<String>) Represents a Number set data type
137
+ # * `:bs` - (Array<String>) Represents a Binary set data type
138
+ # * `:delete_request` - (Hash) Represents a request to perform a
139
+ # PutItem operation.
140
+ # * `:key` - *required* - (Hash) A map of attribute name to
141
+ # attribute values, representing the primary key of the item to
142
+ # delete. All of the table's primary key attributes must be
143
+ # specified, and their data types must match those of the table's
144
+ # key schema.
116
145
  # * `:hash_key_element` - *required* - (Hash) A hash key element
117
146
  # is treated as the primary key, and can be a string or a
118
147
  # number. Single attribute primary keys have one index value.
119
148
  # The value can be String, Number, StringSet, NumberSet.
120
- # * `:s` - (String) Strings are Unicode with UTF-8 binary
121
- # encoding. The maximum size is limited by the size of the
122
- # primary key (1024 bytes as a range part of a key or 2048
123
- # bytes as a single part hash key) or the item size (64k).
124
- # * `:n` - (String) Numbers are positive or negative
125
- # exact-value decimals and integers. A number can have up to
126
- # 38 digits precision and can be between 10^-128 to 10^+126.
127
- # * `:b` - (String) Binary attributes are sequences of unsigned
128
- # bytes.
129
- # * `:ss` - (Array<String>) A set of strings.
130
- # * `:ns` - (Array<String>) A set of numbers.
131
- # * `:bs` - (Array<String>) A set of binary attributes.
149
+ # * `:s` - (String) Represents a String data type
150
+ # * `:n` - (String) Represents a Number data type
151
+ # * `:b` - (String) Represents a Binary data type
152
+ # * `:ss` - (Array<String>) Represents a String set data type
153
+ # * `:ns` - (Array<String>) Represents a Number set data type
154
+ # * `:bs` - (Array<String>) Represents a Binary set data type
132
155
  # * `:range_key_element` - (Hash) A range key element is treated
133
156
  # as a secondary key (used in conjunction with the primary
134
157
  # key), and can be a string or a number, and is only used for
135
158
  # hash-and-range primary keys. The value can be String, Number,
136
159
  # StringSet, NumberSet.
137
- # * `:s` - (String) Strings are Unicode with UTF-8 binary
138
- # encoding. The maximum size is limited by the size of the
139
- # primary key (1024 bytes as a range part of a key or 2048
140
- # bytes as a single part hash key) or the item size (64k).
141
- # * `:n` - (String) Numbers are positive or negative
142
- # exact-value decimals and integers. A number can have up to
143
- # 38 digits precision and can be between 10^-128 to 10^+126.
144
- # * `:b` - (String) Binary attributes are sequences of unsigned
145
- # bytes.
146
- # * `:ss` - (Array<String>) A set of strings.
147
- # * `:ns` - (Array<String>) A set of numbers.
148
- # * `:bs` - (Array<String>) A set of binary attributes.
160
+ # * `:s` - (String) Represents a String data type
161
+ # * `:n` - (String) Represents a Number data type
162
+ # * `:b` - (String) Represents a Binary data type
163
+ # * `:ss` - (Array<String>) Represents a String set data type
164
+ # * `:ns` - (Array<String>) Represents a Number set data type
165
+ # * `:bs` - (Array<String>) Represents a Binary set data type
149
166
  # @return [Core::Response]
150
167
  # The #data method of the response object returns
151
168
  # a hash with the following structure:
@@ -182,16 +199,27 @@ module AWS
182
199
  # @!method create_table(options = {})
183
200
  # Calls the CreateTable API operation.
184
201
  # @param [Hash] options
185
- # * `:table_name` - *required* - (String) The name of the table you
186
- # want to create. Allowed characters are a-z, A-Z, 0-9, _
187
- # (underscore), - (hyphen) and . (period).
188
- # * `:key_schema` - *required* - (Hash)
202
+ #
203
+ # * `:table_name` - *required* - (String) The name of the table to
204
+ # create.
205
+ # * `:key_schema` - *required* - (Hash) Specifies the attributes that
206
+ # make up the primary key for the table. The attributes in KeySchema
207
+ # must also be defined in the AttributeDefinitions array. For more
208
+ # information, see Data Model . Each KeySchemaElement in the array is
209
+ # composed of: AttributeName - The name of this key attribute.
210
+ # KeyType - Determines whether the key attribute is HASH or RANGE.
211
+ # For a primary key that consists of a hash attribute, you must
212
+ # specify exactly one element with a KeyType of HASH. For a primary
213
+ # key that consists of hash and range attributes, you must specify
214
+ # exactly two elements, in this order: The first element must have a
215
+ # KeyType of HASH, and the second element must have a KeyType of
216
+ # RANGE. For more information, see Specifying the Primary Key .
189
217
  # * `:hash_key_element` - *required* - (Hash) A hash key element is
190
218
  # treated as the primary key, and can be a string or a number.
191
219
  # Single attribute primary keys have one index value. The value can
192
220
  # be String, Number, StringSet, NumberSet.
193
- # * `:attribute_name` - *required* - (String) The AttributeName of
194
- # the KeySchemaElement.
221
+ # * `:attribute_name` - *required* - (String) Represents the name
222
+ # of a key attribute.
195
223
  # * `:attribute_type` - *required* - (String) The AttributeType of
196
224
  # the KeySchemaElement which can be a String or a Number. Valid
197
225
  # values include:
@@ -203,8 +231,8 @@ module AWS
203
231
  # be a string or a number, and is only used for hash-and-range
204
232
  # primary keys. The value can be String, Number, StringSet,
205
233
  # NumberSet.
206
- # * `:attribute_name` - *required* - (String) The AttributeName of
207
- # the KeySchemaElement.
234
+ # * `:attribute_name` - *required* - (String) Represents the name
235
+ # of a key attribute.
208
236
  # * `:attribute_type` - *required* - (String) The AttributeType of
209
237
  # the KeySchemaElement which can be a String or a Number. Valid
210
238
  # values include:
@@ -212,15 +240,14 @@ module AWS
212
240
  # * `N`
213
241
  # * `B`
214
242
  # * `:provisioned_throughput` - *required* - (Hash)
215
- # * `:read_capacity_units` - *required* - (Integer) ReadCapacityUnits
216
- # are in terms of strictly consistent reads, assuming items of 1k.
217
- # 2k items require twice the ReadCapacityUnits.
218
- # Eventually-consistent reads only require half the
219
- # ReadCapacityUnits of stirctly consistent reads.
220
- # * `:write_capacity_units` - *required* - (Integer)
221
- # WriteCapacityUnits are in terms of strictly consistent reads,
222
- # assuming items of 1k. 2k items require twice the
223
- # WriteCapacityUnits.
243
+ # * `:read_capacity_units` - *required* - (Integer) The maximum
244
+ # number of strongly consistent reads consumed per second before
245
+ # returns a ThrottlingException. For more information, see
246
+ # Specifying Read and Write Requirements .
247
+ # * `:write_capacity_units` - *required* - (Integer) The maximum
248
+ # number of writes consumed per second before returns a
249
+ # ThrottlingException. For more information, see Specifying Read
250
+ # and Write Requirements .
224
251
  # @return [Core::Response]
225
252
  # The #data method of the response object returns
226
253
  # a hash with the following structure:
@@ -248,61 +275,71 @@ module AWS
248
275
  # @!method delete_item(options = {})
249
276
  # Calls the DeleteItem API operation.
250
277
  # @param [Hash] options
251
- # * `:table_name` - *required* - (String) The name of the table in
252
- # which you want to delete an item. Allowed characters are a-z, A-Z,
253
- # 0-9, _ (underscore), - (hyphen) and . (period).
254
- # * `:key` - *required* - (Hash)
278
+ #
279
+ # * `:table_name` - *required* - (String) The name of the table from
280
+ # which to delete the item.
281
+ # * `:key` - *required* - (Hash) A map of attribute names to
282
+ # AttributeValue objects, representing the primary key of the item to
283
+ # delete.
255
284
  # * `:hash_key_element` - *required* - (Hash) A hash key element is
256
285
  # treated as the primary key, and can be a string or a number.
257
286
  # Single attribute primary keys have one index value. The value can
258
287
  # be String, Number, StringSet, NumberSet.
259
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
260
- # The maximum size is limited by the size of the primary key
261
- # (1024 bytes as a range part of a key or 2048 bytes as a single
262
- # part hash key) or the item size (64k).
263
- # * `:n` - (String) Numbers are positive or negative exact-value
264
- # decimals and integers. A number can have up to 38 digits
265
- # precision and can be between 10^-128 to 10^+126.
266
- # * `:b` - (String) Binary attributes are sequences of unsigned
267
- # bytes.
268
- # * `:ss` - (Array<String>) A set of strings.
269
- # * `:ns` - (Array<String>) A set of numbers.
270
- # * `:bs` - (Array<String>) A set of binary attributes.
288
+ # * `:s` - (String) Represents a String data type
289
+ # * `:n` - (String) Represents a Number data type
290
+ # * `:b` - (String) Represents a Binary data type
291
+ # * `:ss` - (Array<String>) Represents a String set data type
292
+ # * `:ns` - (Array<String>) Represents a Number set data type
293
+ # * `:bs` - (Array<String>) Represents a Binary set data type
271
294
  # * `:range_key_element` - (Hash) A range key element is treated as a
272
295
  # secondary key (used in conjunction with the primary key), and can
273
296
  # be a string or a number, and is only used for hash-and-range
274
297
  # primary keys. The value can be String, Number, StringSet,
275
298
  # NumberSet.
276
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
277
- # The maximum size is limited by the size of the primary key
278
- # (1024 bytes as a range part of a key or 2048 bytes as a single
279
- # part hash key) or the item size (64k).
280
- # * `:n` - (String) Numbers are positive or negative exact-value
281
- # decimals and integers. A number can have up to 38 digits
282
- # precision and can be between 10^-128 to 10^+126.
283
- # * `:b` - (String) Binary attributes are sequences of unsigned
284
- # bytes.
285
- # * `:ss` - (Array<String>) A set of strings.
286
- # * `:ns` - (Array<String>) A set of numbers.
287
- # * `:bs` - (Array<String>) A set of binary attributes.
288
- # * `:expected` - (Hash<String,Hash>)
299
+ # * `:s` - (String) Represents a String data type
300
+ # * `:n` - (String) Represents a Number data type
301
+ # * `:b` - (String) Represents a Binary data type
302
+ # * `:ss` - (Array<String>) Represents a String set data type
303
+ # * `:ns` - (Array<String>) Represents a Number set data type
304
+ # * `:bs` - (Array<String>) Represents a Binary set data type
305
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
306
+ # pairs. This is the conditional block for the DeleteItemoperation.
307
+ # All the conditions must be met for the operation to succeed.
289
308
  # * `:value` - (Hash) Specify whether or not a value already exists
290
309
  # and has a specific content for the attribute name-value pair.
291
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
292
- # The maximum size is limited by the size of the primary key
293
- # (1024 bytes as a range part of a key or 2048 bytes as a single
294
- # part hash key) or the item size (64k).
295
- # * `:n` - (String) Numbers are positive or negative exact-value
296
- # decimals and integers. A number can have up to 38 digits
297
- # precision and can be between 10^-128 to 10^+126.
298
- # * `:b` - (String) Binary attributes are sequences of unsigned
299
- # bytes.
300
- # * `:ss` - (Array<String>) A set of strings.
301
- # * `:ns` - (Array<String>) A set of numbers.
302
- # * `:bs` - (Array<String>) A set of binary attributes.
303
- # * `:exists` - (Boolean) Specify whether or not a value already
304
- # exists for the attribute name-value pair.
305
- # * `:return_values` - (String) Valid values include:
310
+ # * `:s` - (String) Represents a String data type
311
+ # * `:n` - (String) Represents a Number data type
312
+ # * `:b` - (String) Represents a Binary data type
313
+ # * `:ss` - (Array<String>) Represents a String set data type
314
+ # * `:ns` - (Array<String>) Represents a Number set data type
315
+ # * `:bs` - (Array<String>) Represents a Binary set data type
316
+ # * `:exists` - (Boolean) Causes to evaluate the value before
317
+ # attempting a conditional operation: If Exists is `true` , will
318
+ # check to see if that attribute value already exists in the table.
319
+ # If it is found, then the operation succeeds. If it is not found,
320
+ # the operation fails with a ConditionalCheckFailedException. If
321
+ # Exists is `false` , assumes that the attribute value does not
322
+ # exist in the table. If in fact the value does not exist, then the
323
+ # assumption is valid and the operation succeeds. If the value is
324
+ # found, despite the assumption that it does not exist, the
325
+ # operation fails with a ConditionalCheckFailedException. The
326
+ # default setting for Exists is `true` . If you supply a Value all
327
+ # by itself, assumes the attribute exists: You don't have to set
328
+ # Exists to `true` , because it is implied. returns a
329
+ # ValidationException if: Exists is `true` but there is no Value to
330
+ # check. (You expect a value to exist, but don't specify what that
331
+ # value is.) Exists is `false` but you also specify a Value. (You
332
+ # cannot expect an attribute to have a value, while also expecting
333
+ # it not to exist.) If you specify more than one condition for
334
+ # Exists, then all of the conditions must evaluate to `true` . (In
335
+ # other words, the conditions are ANDed together.) Otherwise, the
336
+ # conditional operation will fail.
337
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
338
+ # item attributes as they appeared before they were deleted. For
339
+ # DeleteItem, the valid values are: NONE - If ReturnValues is not
340
+ # specified, or if its value is NONE, then nothing is returned. (This
341
+ # is the default for ReturnValues.) ALL_OLD - The content of the old
342
+ # item is returned. Valid values include:
306
343
  # * `NONE`
307
344
  # * `ALL_OLD`
308
345
  # * `UPDATED_OLD`
@@ -324,9 +361,9 @@ module AWS
324
361
  # @!method delete_table(options = {})
325
362
  # Calls the DeleteTable API operation.
326
363
  # @param [Hash] options
327
- # * `:table_name` - *required* - (String) The name of the table you
328
- # want to delete. Allowed characters are a-z, A-Z, 0-9, _
329
- # (underscore), - (hyphen) and . (period).
364
+ #
365
+ # * `:table_name` - *required* - (String) The name of the table to
366
+ # delete.
330
367
  # @return [Core::Response]
331
368
  # The #data method of the response object returns
332
369
  # a hash with the following structure:
@@ -354,9 +391,9 @@ module AWS
354
391
  # @!method describe_table(options = {})
355
392
  # Calls the DescribeTable API operation.
356
393
  # @param [Hash] options
357
- # * `:table_name` - *required* - (String) The name of the table you
358
- # want to describe. Allowed characters are a-z, A-Z, 0-9, _
359
- # (underscore), - (hyphen) and . (period).
394
+ #
395
+ # * `:table_name` - *required* - (String) The name of the table to
396
+ # describe.
360
397
  # @return [Core::Response]
361
398
  # The #data method of the response object returns
362
399
  # a hash with the following structure:
@@ -384,43 +421,33 @@ module AWS
384
421
  # @!method get_item(options = {})
385
422
  # Calls the GetItem API operation.
386
423
  # @param [Hash] options
387
- # * `:table_name` - *required* - (String) The name of the table in
388
- # which you want to get an item. Allowed characters are a-z, A-Z,
389
- # 0-9, _ (underscore), - (hyphen) and . (period).
390
- # * `:key` - *required* - (Hash)
424
+ #
425
+ # * `:table_name` - *required* - (String) The name of the table
426
+ # containing the requested item.
427
+ # * `:key` - *required* - (Hash) A map of attribute names to
428
+ # AttributeValue objects, representing the primary key of the item to
429
+ # retrieve.
391
430
  # * `:hash_key_element` - *required* - (Hash) A hash key element is
392
431
  # treated as the primary key, and can be a string or a number.
393
432
  # Single attribute primary keys have one index value. The value can
394
433
  # be String, Number, StringSet, NumberSet.
395
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
396
- # The maximum size is limited by the size of the primary key
397
- # (1024 bytes as a range part of a key or 2048 bytes as a single
398
- # part hash key) or the item size (64k).
399
- # * `:n` - (String) Numbers are positive or negative exact-value
400
- # decimals and integers. A number can have up to 38 digits
401
- # precision and can be between 10^-128 to 10^+126.
402
- # * `:b` - (String) Binary attributes are sequences of unsigned
403
- # bytes.
404
- # * `:ss` - (Array<String>) A set of strings.
405
- # * `:ns` - (Array<String>) A set of numbers.
406
- # * `:bs` - (Array<String>) A set of binary attributes.
434
+ # * `:s` - (String) Represents a String data type
435
+ # * `:n` - (String) Represents a Number data type
436
+ # * `:b` - (String) Represents a Binary data type
437
+ # * `:ss` - (Array<String>) Represents a String set data type
438
+ # * `:ns` - (Array<String>) Represents a Number set data type
439
+ # * `:bs` - (Array<String>) Represents a Binary set data type
407
440
  # * `:range_key_element` - (Hash) A range key element is treated as a
408
441
  # secondary key (used in conjunction with the primary key), and can
409
442
  # be a string or a number, and is only used for hash-and-range
410
443
  # primary keys. The value can be String, Number, StringSet,
411
444
  # NumberSet.
412
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
413
- # The maximum size is limited by the size of the primary key
414
- # (1024 bytes as a range part of a key or 2048 bytes as a single
415
- # part hash key) or the item size (64k).
416
- # * `:n` - (String) Numbers are positive or negative exact-value
417
- # decimals and integers. A number can have up to 38 digits
418
- # precision and can be between 10^-128 to 10^+126.
419
- # * `:b` - (String) Binary attributes are sequences of unsigned
420
- # bytes.
421
- # * `:ss` - (Array<String>) A set of strings.
422
- # * `:ns` - (Array<String>) A set of numbers.
423
- # * `:bs` - (Array<String>) A set of binary attributes.
445
+ # * `:s` - (String) Represents a String data type
446
+ # * `:n` - (String) Represents a Number data type
447
+ # * `:b` - (String) Represents a Binary data type
448
+ # * `:ss` - (Array<String>) Represents a String set data type
449
+ # * `:ns` - (Array<String>) Represents a Number set data type
450
+ # * `:bs` - (Array<String>) Represents a Binary set data type
424
451
  # * `:attributes_to_get` - (Array<String>)
425
452
  # * `:consistent_read` - (Boolean)
426
453
  # @return [Core::Response]
@@ -439,11 +466,12 @@ module AWS
439
466
  # @!method list_tables(options = {})
440
467
  # Calls the ListTables API operation.
441
468
  # @param [Hash] options
469
+ #
442
470
  # * `:exclusive_start_table_name` - (String) The name of the table that
443
471
  # starts the list. If you already ran a ListTables operation and
444
- # recieved a LastEvaluatedTableName value in the response, use that
472
+ # received a LastEvaluatedTableName value in the response, use that
445
473
  # value here to continue the list.
446
- # * `:limit` - (Integer)
474
+ # * `:limit` - (Integer) A maximum number of table names to return.
447
475
  # @return [Core::Response]
448
476
  # The #data method of the response object returns
449
477
  # a hash with the following structure:
@@ -454,40 +482,62 @@ module AWS
454
482
  # @!method put_item(options = {})
455
483
  # Calls the PutItem API operation.
456
484
  # @param [Hash] options
457
- # * `:table_name` - *required* - (String) The name of the table in
458
- # which you want to put an item. Allowed characters are a-z, A-Z,
459
- # 0-9, _ (underscore), - (hyphen) and . (period).
460
- # * `:item` - *required* - (Hash<String,Hash>)
461
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
462
- # The maximum size is limited by the size of the primary key (1024
463
- # bytes as a range part of a key or 2048 bytes as a single part
464
- # hash key) or the item size (64k).
465
- # * `:n` - (String) Numbers are positive or negative exact-value
466
- # decimals and integers. A number can have up to 38 digits
467
- # precision and can be between 10^-128 to 10^+126.
468
- # * `:b` - (String) Binary attributes are sequences of unsigned
469
- # bytes.
470
- # * `:ss` - (Array<String>) A set of strings.
471
- # * `:ns` - (Array<String>) A set of numbers.
472
- # * `:bs` - (Array<String>) A set of binary attributes.
473
- # * `:expected` - (Hash<String,Hash>)
485
+ #
486
+ # * `:table_name` - *required* - (String) The name of the table to
487
+ # contain the item.
488
+ # * `:item` - *required* - (Hash<String,Hash>) A map of attribute
489
+ # name/value pairs, one for each attribute. Only the primary key
490
+ # attributes are required; you can optionally provide other attribute
491
+ # name-value pairs for the item. If you specify any attributes that
492
+ # are part of an index key, then the data types for those attributes
493
+ # must match those of the schema in the table's attribute definition.
494
+ # For more information about primary keys, see Primary Key . Each
495
+ # element in the Item map is an AttributeValue object.
496
+ # * `:s` - (String) Represents a String data type
497
+ # * `:n` - (String) Represents a Number data type
498
+ # * `:b` - (String) Represents a Binary data type
499
+ # * `:ss` - (Array<String>) Represents a String set data type
500
+ # * `:ns` - (Array<String>) Represents a Number set data type
501
+ # * `:bs` - (Array<String>) Represents a Binary set data type
502
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
503
+ # pairs. This is the conditional block for the PutItem operation. All
504
+ # the conditions must be met for the operation to succeed.
474
505
  # * `:value` - (Hash) Specify whether or not a value already exists
475
506
  # and has a specific content for the attribute name-value pair.
476
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
477
- # The maximum size is limited by the size of the primary key
478
- # (1024 bytes as a range part of a key or 2048 bytes as a single
479
- # part hash key) or the item size (64k).
480
- # * `:n` - (String) Numbers are positive or negative exact-value
481
- # decimals and integers. A number can have up to 38 digits
482
- # precision and can be between 10^-128 to 10^+126.
483
- # * `:b` - (String) Binary attributes are sequences of unsigned
484
- # bytes.
485
- # * `:ss` - (Array<String>) A set of strings.
486
- # * `:ns` - (Array<String>) A set of numbers.
487
- # * `:bs` - (Array<String>) A set of binary attributes.
488
- # * `:exists` - (Boolean) Specify whether or not a value already
489
- # exists for the attribute name-value pair.
490
- # * `:return_values` - (String) Valid values include:
507
+ # * `:s` - (String) Represents a String data type
508
+ # * `:n` - (String) Represents a Number data type
509
+ # * `:b` - (String) Represents a Binary data type
510
+ # * `:ss` - (Array<String>) Represents a String set data type
511
+ # * `:ns` - (Array<String>) Represents a Number set data type
512
+ # * `:bs` - (Array<String>) Represents a Binary set data type
513
+ # * `:exists` - (Boolean) Causes to evaluate the value before
514
+ # attempting a conditional operation: If Exists is `true` , will
515
+ # check to see if that attribute value already exists in the table.
516
+ # If it is found, then the operation succeeds. If it is not found,
517
+ # the operation fails with a ConditionalCheckFailedException. If
518
+ # Exists is `false` , assumes that the attribute value does not
519
+ # exist in the table. If in fact the value does not exist, then the
520
+ # assumption is valid and the operation succeeds. If the value is
521
+ # found, despite the assumption that it does not exist, the
522
+ # operation fails with a ConditionalCheckFailedException. The
523
+ # default setting for Exists is `true` . If you supply a Value all
524
+ # by itself, assumes the attribute exists: You don't have to set
525
+ # Exists to `true` , because it is implied. returns a
526
+ # ValidationException if: Exists is `true` but there is no Value to
527
+ # check. (You expect a value to exist, but don't specify what that
528
+ # value is.) Exists is `false` but you also specify a Value. (You
529
+ # cannot expect an attribute to have a value, while also expecting
530
+ # it not to exist.) If you specify more than one condition for
531
+ # Exists, then all of the conditions must evaluate to `true` . (In
532
+ # other words, the conditions are ANDed together.) Otherwise, the
533
+ # conditional operation will fail.
534
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
535
+ # item attributes as they appeared before they were updated with the
536
+ # PutItem request. For PutItem, the valid values are: NONE - If
537
+ # ReturnValues is not specified, or if its value is NONE, then
538
+ # nothing is returned. (This is the default for ReturnValues.)
539
+ # ALL_OLD - If PutItem overwrote an attribute name-value pair, then
540
+ # the content of the old item is returned. Valid values include:
491
541
  # * `NONE`
492
542
  # * `ALL_OLD`
493
543
  # * `UPDATED_OLD`
@@ -509,18 +559,14 @@ module AWS
509
559
  # @!method query(options = {})
510
560
  # Calls the Query API operation.
511
561
  # @param [Hash] options
512
- # * `:table_name` - *required* - (String) The name of the table in
513
- # which you want to query. Allowed characters are a-z, A-Z, 0-9, _
514
- # (underscore), - (hyphen) and . (period).
515
- # * `:attributes_to_get` - (Array<String>)
516
- # * `:limit` - (Integer) The maximum number of items to return. If
517
- # Amazon DynamoDB hits this limit while querying the table, it stops
518
- # the query and returns the matching values up to the limit, and a
519
- # LastEvaluatedKey to apply in a subsequent operation to continue the
520
- # query. Also, if the result set size exceeds 1MB before Amazon
521
- # DynamoDB hits this limit, it stops the query and returns the
522
- # matching values, and a LastEvaluatedKey to apply in a subsequent
523
- # operation to continue the query.
562
+ #
563
+ # * `:table_name` - *required* - (String) The name of the table
564
+ # containing the requested items.
565
+ # * `:attributes_to_get` - (Array<String>) You cannot use both
566
+ # AttributesToGet and Select together in a Query request, unless the
567
+ # value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent
568
+ # to specifying AttributesToGet without any value for Select.)
569
+ # * `:limit` - (Integer)
524
570
  # * `:consistent_read` - (Boolean)
525
571
  # * `:count` - (Boolean) If set to `true` , Amazon DynamoDB returns a
526
572
  # total number of items that match the query parameters, instead of a
@@ -529,35 +575,108 @@ module AWS
529
575
  # Amazon DynamoDB returns a validation error.
530
576
  # * `:hash_key_value` - *required* - (Hash) Attribute value of the hash
531
577
  # component of the composite primary key.
532
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
533
- # The maximum size is limited by the size of the primary key (1024
534
- # bytes as a range part of a key or 2048 bytes as a single part
535
- # hash key) or the item size (64k).
536
- # * `:n` - (String) Numbers are positive or negative exact-value
537
- # decimals and integers. A number can have up to 38 digits
538
- # precision and can be between 10^-128 to 10^+126.
539
- # * `:b` - (String) Binary attributes are sequences of unsigned
540
- # bytes.
541
- # * `:ss` - (Array<String>) A set of strings.
542
- # * `:ns` - (Array<String>) A set of numbers.
543
- # * `:bs` - (Array<String>) A set of binary attributes.
578
+ # * `:s` - (String) Represents a String data type
579
+ # * `:n` - (String) Represents a Number data type
580
+ # * `:b` - (String) Represents a Binary data type
581
+ # * `:ss` - (Array<String>) Represents a String set data type
582
+ # * `:ns` - (Array<String>) Represents a Number set data type
583
+ # * `:bs` - (Array<String>) Represents a Binary set data type
544
584
  # * `:range_key_condition` - (Hash) A container for the attribute
545
585
  # values and comparison operators to use for the query.
546
- # * `:attribute_value_list` - (Array<Hash>)
547
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
548
- # The maximum size is limited by the size of the primary key
549
- # (1024 bytes as a range part of a key or 2048 bytes as a single
550
- # part hash key) or the item size (64k).
551
- # * `:n` - (String) Numbers are positive or negative exact-value
552
- # decimals and integers. A number can have up to 38 digits
553
- # precision and can be between 10^-128 to 10^+126.
554
- # * `:b` - (String) Binary attributes are sequences of unsigned
555
- # bytes.
556
- # * `:ss` - (Array<String>) A set of strings.
557
- # * `:ns` - (Array<String>) A set of numbers.
558
- # * `:bs` - (Array<String>) A set of binary attributes.
559
- # * `:comparison_operator` - *required* - (String) Valid values
560
- # include:
586
+ # * `:attribute_value_list` - (Array<Hash>) Represents one or more
587
+ # values to evaluate against the supplied attribute. This list
588
+ # contains exactly one value, except for a BETWEEN or IN
589
+ # comparison, in which case the list contains two values. For type
590
+ # Number, value comparisons are numeric. String value comparisons
591
+ # for greater than, equals, or less than are based on ASCII
592
+ # character code values. For example, a is greater than A, and aa
593
+ # is greater than B. For a list of code values, see
594
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
595
+ # For Binary, treats each byte of the binary data as unsigned when
596
+ # it compares binary values, for example when evaluating query
597
+ # expressions.
598
+ # * `:s` - (String) Represents a String data type
599
+ # * `:n` - (String) Represents a Number data type
600
+ # * `:b` - (String) Represents a Binary data type
601
+ # * `:ss` - (Array<String>) Represents a String set data type
602
+ # * `:ns` - (Array<String>) Represents a Number set data type
603
+ # * `:bs` - (Array<String>) Represents a Binary set data type
604
+ # * `:comparison_operator` - *required* - (String) Represents a
605
+ # comparator for evaluating attributes. For example, equals,
606
+ # greater than, less than, etc. For information on specifying data
607
+ # types in JSON, see JSON Data Format . The following are
608
+ # descriptions of each comparison operator. EQ : Equal.
609
+ # AttributeValueList can contain only one AttributeValue of type
610
+ # String, Number, or Binary (not a set). If an item contains an
611
+ # AttributeValue of a different type than the one specified in the
612
+ # request, the value does not match. For example, {"S":"6"} does
613
+ # not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6",
614
+ # "2", "1"]}. NE : Not equal. AttributeValueList can contain only
615
+ # one AttributeValue of type String, Number, or Binary (not a set).
616
+ # If an item contains an AttributeValue of a different type than
617
+ # the one specified in the request, the value does not match. For
618
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
619
+ # not equal {"NS":["6", "2", "1"]}. LE : Less than or equal.
620
+ # AttributeValueList can contain only one AttributeValue of type
621
+ # String, Number, or Binary (not a set). If an item contains an
622
+ # AttributeValue of a different type than the one specified in the
623
+ # request, the value does not match. For example, {"S":"6"} does
624
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
625
+ # {"NS":["6", "2", "1"]}. LT : Less than. AttributeValueList can
626
+ # contain only one AttributeValue of type String, Number, or Binary
627
+ # (not a set). If an item contains an AttributeValue of a different
628
+ # type than the one specified in the request, the value does not
629
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
630
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GE :
631
+ # Greater than or equal. AttributeValueList can contain only one
632
+ # AttributeValue of type String, Number, or Binary (not a set). If
633
+ # an item contains an AttributeValue of a different type than the
634
+ # one specified in the request, the value does not match. For
635
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
636
+ # not compare to {"NS":["6", "2", "1"]}. GT : Greater than.
637
+ # AttributeValueList can contain only one AttributeValue of type
638
+ # String, Number, or Binary (not a set). If an item contains an
639
+ # AttributeValue of a different type than the one specified in the
640
+ # request, the value does not match. For example, {"S":"6"} does
641
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
642
+ # {"NS":["6", "2", "1"]}. NOT_NULL : The attribute exists. NULL :
643
+ # The attribute does not exist. CONTAINS : checks for a
644
+ # subsequence, or value in a set. AttributeValueList can contain
645
+ # only one AttributeValue of type String, Number, or Binary (not a
646
+ # set). If the target attribute of the comparison is a String, then
647
+ # the operation checks for a substring match. If the target
648
+ # attribute of the comparison is Binary, then the operation looks
649
+ # for a subsequence of the target that matches the input. If the
650
+ # target attribute of the comparison is a set ("SS", "NS", or
651
+ # "BS"), then the operation checks for a member of the set (not as
652
+ # a substring). NOT_CONTAINS : checks for absence of a subsequence,
653
+ # or absence of a value in a set. AttributeValueList can contain
654
+ # only one AttributeValue of type String, Number, or Binary (not a
655
+ # set). If the target attribute of the comparison is a String, then
656
+ # the operation checks for the absence of a substring match. If the
657
+ # target attribute of the comparison is Binary, then the operation
658
+ # checks for the absence of a subsequence of the target that
659
+ # matches the input. If the target attribute of the comparison is a
660
+ # set ("SS", "NS", or "BS"), then the operation checks for the
661
+ # absence of a member of the set (not as a substring). BEGINS_WITH
662
+ # : checks for a prefix. AttributeValueList can contain only one
663
+ # AttributeValue of type String or Binary (not a Number or a set).
664
+ # The target attribute of the comparison must be a String or Binary
665
+ # (not a Number or a set). IN : checks for exact matches.
666
+ # AttributeValueList can contain more than one AttributeValue of
667
+ # type String, Number, or Binary (not a set). The target attribute
668
+ # of the comparison must be of the same type and exact value to
669
+ # match. A String never matches a String set. BETWEEN : Greater
670
+ # than or equal to the first value, and less than or equal to the
671
+ # second value. AttributeValueList must contain two AttributeValue
672
+ # elements of the same type, either String, Number, or Binary (not
673
+ # a set). A target attribute matches if the target value is greater
674
+ # than, or equal to, the first element and less than, or equal to,
675
+ # the second element. If an item contains an AttributeValue of a
676
+ # different type than the one specified in the request, the value
677
+ # does not match. For example, {"S":"6"} does not compare to
678
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
679
+ # "1"]} Valid values include:
561
680
  # * `EQ`
562
681
  # * `NE`
563
682
  # * `IN`
@@ -571,50 +690,37 @@ module AWS
571
690
  # * `CONTAINS`
572
691
  # * `NOT_CONTAINS`
573
692
  # * `BEGINS_WITH`
574
- # * `:scan_index_forward` - (Boolean) Specifies forward or backward
575
- # traversal of the index. Amazon DynamoDB returns results reflecting
576
- # the requested order, determined by the range key. Default is `true`
577
- # (forward).
578
- # * `:exclusive_start_key` - (Hash) Primary key of the item from which
579
- # to continue an earlier query. An earlier query might provide this
580
- # value as the LastEvaluatedKey if that query operation was
581
- # interrupted before completing the query; either because of the
582
- # result set size or the Limit parameter. The LastEvaluatedKey can be
583
- # passed back in a new query request to continue the operation from
584
- # that point.
693
+ # * `:scan_index_forward` - (Boolean) Specifies ascending ( `true` ) or
694
+ # descending ( `false` ) traversal of the index. returns results
695
+ # reflecting the requested order determined by the range key. If the
696
+ # data type is Number, the results are returned in numeric order. For
697
+ # String, the results are returned in order of ASCII character code
698
+ # values. For Binary, Amazon DynamoDB treats each byte of the binary
699
+ # data as unsigned when it compares binary values. If
700
+ # ScanIndexForward is not specified, the results are returned in
701
+ # ascending order.
702
+ # * `:exclusive_start_key` - (Hash)
585
703
  # * `:hash_key_element` - *required* - (Hash) A hash key element is
586
704
  # treated as the primary key, and can be a string or a number.
587
705
  # Single attribute primary keys have one index value. The value can
588
706
  # be String, Number, StringSet, NumberSet.
589
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
590
- # The maximum size is limited by the size of the primary key
591
- # (1024 bytes as a range part of a key or 2048 bytes as a single
592
- # part hash key) or the item size (64k).
593
- # * `:n` - (String) Numbers are positive or negative exact-value
594
- # decimals and integers. A number can have up to 38 digits
595
- # precision and can be between 10^-128 to 10^+126.
596
- # * `:b` - (String) Binary attributes are sequences of unsigned
597
- # bytes.
598
- # * `:ss` - (Array<String>) A set of strings.
599
- # * `:ns` - (Array<String>) A set of numbers.
600
- # * `:bs` - (Array<String>) A set of binary attributes.
707
+ # * `:s` - (String) Represents a String data type
708
+ # * `:n` - (String) Represents a Number data type
709
+ # * `:b` - (String) Represents a Binary data type
710
+ # * `:ss` - (Array<String>) Represents a String set data type
711
+ # * `:ns` - (Array<String>) Represents a Number set data type
712
+ # * `:bs` - (Array<String>) Represents a Binary set data type
601
713
  # * `:range_key_element` - (Hash) A range key element is treated as a
602
714
  # secondary key (used in conjunction with the primary key), and can
603
715
  # be a string or a number, and is only used for hash-and-range
604
716
  # primary keys. The value can be String, Number, StringSet,
605
717
  # NumberSet.
606
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
607
- # The maximum size is limited by the size of the primary key
608
- # (1024 bytes as a range part of a key or 2048 bytes as a single
609
- # part hash key) or the item size (64k).
610
- # * `:n` - (String) Numbers are positive or negative exact-value
611
- # decimals and integers. A number can have up to 38 digits
612
- # precision and can be between 10^-128 to 10^+126.
613
- # * `:b` - (String) Binary attributes are sequences of unsigned
614
- # bytes.
615
- # * `:ss` - (Array<String>) A set of strings.
616
- # * `:ns` - (Array<String>) A set of numbers.
617
- # * `:bs` - (Array<String>) A set of binary attributes.
718
+ # * `:s` - (String) Represents a String data type
719
+ # * `:n` - (String) Represents a Number data type
720
+ # * `:b` - (String) Represents a Binary data type
721
+ # * `:ss` - (Array<String>) Represents a String set data type
722
+ # * `:ns` - (Array<String>) Represents a Number set data type
723
+ # * `:bs` - (Array<String>) Represents a Binary set data type
618
724
  # @return [Core::Response]
619
725
  # The #data method of the response object returns
620
726
  # a hash with the following structure:
@@ -647,40 +753,198 @@ module AWS
647
753
  # @!method scan(options = {})
648
754
  # Calls the Scan API operation.
649
755
  # @param [Hash] options
650
- # * `:table_name` - *required* - (String) The name of the table in
651
- # which you want to scan. Allowed characters are a-z, A-Z, 0-9, _
652
- # (underscore), - (hyphen) and . (period).
756
+ #
757
+ # * `:table_name` - *required* - (String) The name of the table
758
+ # containing the requested items.
653
759
  # * `:attributes_to_get` - (Array<String>)
654
- # * `:limit` - (Integer) The maximum number of items to return. If
655
- # Amazon DynamoDB hits this limit while scanning the table, it stops
656
- # the scan and returns the matching values up to the limit, and a
657
- # LastEvaluatedKey to apply in a subsequent operation to continue the
658
- # scan. Also, if the scanned data set size exceeds 1MB before Amazon
659
- # DynamoDB hits this limit, it stops the scan and returns the
660
- # matching values up to the limit, and a LastEvaluatedKey to apply in
661
- # a subsequent operation to continue the scan.
760
+ # * `:limit` - (Integer)
662
761
  # * `:count` - (Boolean) If set to `true` , Amazon DynamoDB returns a
663
762
  # total number of items for the Scan operation, even if the operation
664
763
  # has no matching items for the assigned filter. Do not set Count to
665
764
  # `true` while providing a list of AttributesToGet, otherwise Amazon
666
765
  # DynamoDB returns a validation error.
667
766
  # * `:scan_filter` - (Hash<String,Hash>) Evaluates the scan results and
668
- # returns only the desired values.
669
- # * `:attribute_value_list` - (Array<Hash>)
670
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
671
- # The maximum size is limited by the size of the primary key
672
- # (1024 bytes as a range part of a key or 2048 bytes as a single
673
- # part hash key) or the item size (64k).
674
- # * `:n` - (String) Numbers are positive or negative exact-value
675
- # decimals and integers. A number can have up to 38 digits
676
- # precision and can be between 10^-128 to 10^+126.
677
- # * `:b` - (String) Binary attributes are sequences of unsigned
678
- # bytes.
679
- # * `:ss` - (Array<String>) A set of strings.
680
- # * `:ns` - (Array<String>) A set of numbers.
681
- # * `:bs` - (Array<String>) A set of binary attributes.
682
- # * `:comparison_operator` - *required* - (String) Valid values
683
- # include:
767
+ # returns only the desired values. Multiple conditions are treated as
768
+ # "AND" operations: all conditions must be met to be included in the
769
+ # results. Each ScanConditions element consists of an attribute name
770
+ # to compare, along with the following: AttributeValueList - One or
771
+ # more values to evaluate against the supplied attribute. This list
772
+ # contains exactly one value, except for a BETWEEN or IN comparison,
773
+ # in which case the list contains two values. For type Number, value
774
+ # comparisons are numeric. String value comparisons for greater than,
775
+ # equals, or less than are based on ASCII character code values. For
776
+ # example, a is greater than A, and aa is greater than B. For a list
777
+ # of code values, see
778
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. For
779
+ # Binary, treats each byte of the binary data as unsigned when it
780
+ # compares binary values, for example when evaluating query
781
+ # expressions. ComparisonOperator - A comparator for evaluating
782
+ # attributes. For example, equals, greater than, less than, etc. For
783
+ # information on specifying data types in JSON, see JSON Data Format
784
+ # . The following are descriptions of each comparison operator. EQ :
785
+ # Equal. AttributeValueList can contain only one AttributeValue of
786
+ # type String, Number, or Binary (not a set). If an item contains an
787
+ # AttributeValue of a different type than the one specified in the
788
+ # request, the value does not match. For example, {"S":"6"} does not
789
+ # equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2",
790
+ # "1"]}. NE : Not equal. AttributeValueList can contain only one
791
+ # AttributeValue of type String, Number, or Binary (not a set). If an
792
+ # item contains an AttributeValue of a different type than the one
793
+ # specified in the request, the value does not match. For example,
794
+ # {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does not equal
795
+ # {"NS":["6", "2", "1"]}. LE : Less than or equal. AttributeValueList
796
+ # can contain only one AttributeValue of type String, Number, or
797
+ # Binary (not a set). If an item contains an AttributeValue of a
798
+ # different type than the one specified in the request, the value
799
+ # does not match. For example, {"S":"6"} does not equal {"N":"6"}.
800
+ # Also, {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. LT :
801
+ # Less than. AttributeValueList can contain only one AttributeValue
802
+ # of type String, Number, or Binary (not a set). If an item contains
803
+ # an AttributeValue of a different type than the one specified in the
804
+ # request, the value does not match. For example, {"S":"6"} does not
805
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
806
+ # "2", "1"]}. GE : Greater than or equal. AttributeValueList can
807
+ # contain only one AttributeValue of type String, Number, or Binary
808
+ # (not a set). If an item contains an AttributeValue of a different
809
+ # type than the one specified in the request, the value does not
810
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
811
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GT : Greater
812
+ # than. AttributeValueList can contain only one AttributeValue of
813
+ # type String, Number, or Binary (not a set). If an item contains an
814
+ # AttributeValue of a different type than the one specified in the
815
+ # request, the value does not match. For example, {"S":"6"} does not
816
+ # equal {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6",
817
+ # "2", "1"]}. NOT_NULL : The attribute exists. NULL : The attribute
818
+ # does not exist. CONTAINS : checks for a subsequence, or value in a
819
+ # set. AttributeValueList can contain only one AttributeValue of type
820
+ # String, Number, or Binary (not a set). If the target attribute of
821
+ # the comparison is a String, then the operation checks for a
822
+ # substring match. If the target attribute of the comparison is
823
+ # Binary, then the operation looks for a subsequence of the target
824
+ # that matches the input. If the target attribute of the comparison
825
+ # is a set ("SS", "NS", or "BS"), then the operation checks for a
826
+ # member of the set (not as a substring). NOT_CONTAINS : checks for
827
+ # absence of a subsequence, or absence of a value in a set.
828
+ # AttributeValueList can contain only one AttributeValue of type
829
+ # String, Number, or Binary (not a set). If the target attribute of
830
+ # the comparison is a String, then the operation checks for the
831
+ # absence of a substring match. If the target attribute of the
832
+ # comparison is Binary, then the operation checks for the absence of
833
+ # a subsequence of the target that matches the input. If the target
834
+ # attribute of the comparison is a set ("SS", "NS", or "BS"), then
835
+ # the operation checks for the absence of a member of the set (not as
836
+ # a substring). BEGINS_WITH : checks for a prefix. AttributeValueList
837
+ # can contain only one AttributeValue of type String or Binary (not a
838
+ # Number or a set). The target attribute of the comparison must be a
839
+ # String or Binary (not a Number or a set). IN : checks for exact
840
+ # matches. AttributeValueList can contain more than one
841
+ # AttributeValue of type String, Number, or Binary (not a set). The
842
+ # target attribute of the comparison must be of the same type and
843
+ # exact value to match. A String never matches a String set. BETWEEN
844
+ # : Greater than or equal to the first value, and less than or equal
845
+ # to the second value. AttributeValueList must contain two
846
+ # AttributeValue elements of the same type, either String, Number, or
847
+ # Binary (not a set). A target attribute matches if the target value
848
+ # is greater than, or equal to, the first element and less than, or
849
+ # equal to, the second element. If an item contains an AttributeValue
850
+ # of a different type than the one specified in the request, the
851
+ # value does not match. For example, {"S":"6"} does not compare to
852
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
853
+ # "1"]}
854
+ # * `:attribute_value_list` - (Array<Hash>) Represents one or more
855
+ # values to evaluate against the supplied attribute. This list
856
+ # contains exactly one value, except for a BETWEEN or IN
857
+ # comparison, in which case the list contains two values. For type
858
+ # Number, value comparisons are numeric. String value comparisons
859
+ # for greater than, equals, or less than are based on ASCII
860
+ # character code values. For example, a is greater than A, and aa
861
+ # is greater than B. For a list of code values, see
862
+ # http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
863
+ # For Binary, treats each byte of the binary data as unsigned when
864
+ # it compares binary values, for example when evaluating query
865
+ # expressions.
866
+ # * `:s` - (String) Represents a String data type
867
+ # * `:n` - (String) Represents a Number data type
868
+ # * `:b` - (String) Represents a Binary data type
869
+ # * `:ss` - (Array<String>) Represents a String set data type
870
+ # * `:ns` - (Array<String>) Represents a Number set data type
871
+ # * `:bs` - (Array<String>) Represents a Binary set data type
872
+ # * `:comparison_operator` - *required* - (String) Represents a
873
+ # comparator for evaluating attributes. For example, equals,
874
+ # greater than, less than, etc. For information on specifying data
875
+ # types in JSON, see JSON Data Format . The following are
876
+ # descriptions of each comparison operator. EQ : Equal.
877
+ # AttributeValueList can contain only one AttributeValue of type
878
+ # String, Number, or Binary (not a set). If an item contains an
879
+ # AttributeValue of a different type than the one specified in the
880
+ # request, the value does not match. For example, {"S":"6"} does
881
+ # not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6",
882
+ # "2", "1"]}. NE : Not equal. AttributeValueList can contain only
883
+ # one AttributeValue of type String, Number, or Binary (not a set).
884
+ # If an item contains an AttributeValue of a different type than
885
+ # the one specified in the request, the value does not match. For
886
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
887
+ # not equal {"NS":["6", "2", "1"]}. LE : Less than or equal.
888
+ # AttributeValueList can contain only one AttributeValue of type
889
+ # String, Number, or Binary (not a set). If an item contains an
890
+ # AttributeValue of a different type than the one specified in the
891
+ # request, the value does not match. For example, {"S":"6"} does
892
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
893
+ # {"NS":["6", "2", "1"]}. LT : Less than. AttributeValueList can
894
+ # contain only one AttributeValue of type String, Number, or Binary
895
+ # (not a set). If an item contains an AttributeValue of a different
896
+ # type than the one specified in the request, the value does not
897
+ # match. For example, {"S":"6"} does not equal {"N":"6"}. Also,
898
+ # {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. GE :
899
+ # Greater than or equal. AttributeValueList can contain only one
900
+ # AttributeValue of type String, Number, or Binary (not a set). If
901
+ # an item contains an AttributeValue of a different type than the
902
+ # one specified in the request, the value does not match. For
903
+ # example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} does
904
+ # not compare to {"NS":["6", "2", "1"]}. GT : Greater than.
905
+ # AttributeValueList can contain only one AttributeValue of type
906
+ # String, Number, or Binary (not a set). If an item contains an
907
+ # AttributeValue of a different type than the one specified in the
908
+ # request, the value does not match. For example, {"S":"6"} does
909
+ # not equal {"N":"6"}. Also, {"N":"6"} does not compare to
910
+ # {"NS":["6", "2", "1"]}. NOT_NULL : The attribute exists. NULL :
911
+ # The attribute does not exist. CONTAINS : checks for a
912
+ # subsequence, or value in a set. AttributeValueList can contain
913
+ # only one AttributeValue of type String, Number, or Binary (not a
914
+ # set). If the target attribute of the comparison is a String, then
915
+ # the operation checks for a substring match. If the target
916
+ # attribute of the comparison is Binary, then the operation looks
917
+ # for a subsequence of the target that matches the input. If the
918
+ # target attribute of the comparison is a set ("SS", "NS", or
919
+ # "BS"), then the operation checks for a member of the set (not as
920
+ # a substring). NOT_CONTAINS : checks for absence of a subsequence,
921
+ # or absence of a value in a set. AttributeValueList can contain
922
+ # only one AttributeValue of type String, Number, or Binary (not a
923
+ # set). If the target attribute of the comparison is a String, then
924
+ # the operation checks for the absence of a substring match. If the
925
+ # target attribute of the comparison is Binary, then the operation
926
+ # checks for the absence of a subsequence of the target that
927
+ # matches the input. If the target attribute of the comparison is a
928
+ # set ("SS", "NS", or "BS"), then the operation checks for the
929
+ # absence of a member of the set (not as a substring). BEGINS_WITH
930
+ # : checks for a prefix. AttributeValueList can contain only one
931
+ # AttributeValue of type String or Binary (not a Number or a set).
932
+ # The target attribute of the comparison must be a String or Binary
933
+ # (not a Number or a set). IN : checks for exact matches.
934
+ # AttributeValueList can contain more than one AttributeValue of
935
+ # type String, Number, or Binary (not a set). The target attribute
936
+ # of the comparison must be of the same type and exact value to
937
+ # match. A String never matches a String set. BETWEEN : Greater
938
+ # than or equal to the first value, and less than or equal to the
939
+ # second value. AttributeValueList must contain two AttributeValue
940
+ # elements of the same type, either String, Number, or Binary (not
941
+ # a set). A target attribute matches if the target value is greater
942
+ # than, or equal to, the first element and less than, or equal to,
943
+ # the second element. If an item contains an AttributeValue of a
944
+ # different type than the one specified in the request, the value
945
+ # does not match. For example, {"S":"6"} does not compare to
946
+ # {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", "2",
947
+ # "1"]} Valid values include:
684
948
  # * `EQ`
685
949
  # * `NE`
686
950
  # * `IN`
@@ -694,45 +958,30 @@ module AWS
694
958
  # * `CONTAINS`
695
959
  # * `NOT_CONTAINS`
696
960
  # * `BEGINS_WITH`
697
- # * `:exclusive_start_key` - (Hash) Primary key of the item from which
698
- # to continue an earlier scan. An earlier scan might provide this
699
- # value if that scan operation was interrupted before scanning the
700
- # entire table; either because of the result set size or the Limit
701
- # parameter. The LastEvaluatedKey can be passed back in a new scan
702
- # request to continue the operation from that point.
961
+ # * `:exclusive_start_key` - (Hash) In a parallel scan, a Scan request
962
+ # that includes ExclusiveStartKey must specify the same segment whose
963
+ # previous Scan returned the corresponding value of LastEvaluatedKey.
703
964
  # * `:hash_key_element` - *required* - (Hash) A hash key element is
704
965
  # treated as the primary key, and can be a string or a number.
705
966
  # Single attribute primary keys have one index value. The value can
706
967
  # be String, Number, StringSet, NumberSet.
707
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
708
- # The maximum size is limited by the size of the primary key
709
- # (1024 bytes as a range part of a key or 2048 bytes as a single
710
- # part hash key) or the item size (64k).
711
- # * `:n` - (String) Numbers are positive or negative exact-value
712
- # decimals and integers. A number can have up to 38 digits
713
- # precision and can be between 10^-128 to 10^+126.
714
- # * `:b` - (String) Binary attributes are sequences of unsigned
715
- # bytes.
716
- # * `:ss` - (Array<String>) A set of strings.
717
- # * `:ns` - (Array<String>) A set of numbers.
718
- # * `:bs` - (Array<String>) A set of binary attributes.
968
+ # * `:s` - (String) Represents a String data type
969
+ # * `:n` - (String) Represents a Number data type
970
+ # * `:b` - (String) Represents a Binary data type
971
+ # * `:ss` - (Array<String>) Represents a String set data type
972
+ # * `:ns` - (Array<String>) Represents a Number set data type
973
+ # * `:bs` - (Array<String>) Represents a Binary set data type
719
974
  # * `:range_key_element` - (Hash) A range key element is treated as a
720
975
  # secondary key (used in conjunction with the primary key), and can
721
976
  # be a string or a number, and is only used for hash-and-range
722
977
  # primary keys. The value can be String, Number, StringSet,
723
978
  # NumberSet.
724
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
725
- # The maximum size is limited by the size of the primary key
726
- # (1024 bytes as a range part of a key or 2048 bytes as a single
727
- # part hash key) or the item size (64k).
728
- # * `:n` - (String) Numbers are positive or negative exact-value
729
- # decimals and integers. A number can have up to 38 digits
730
- # precision and can be between 10^-128 to 10^+126.
731
- # * `:b` - (String) Binary attributes are sequences of unsigned
732
- # bytes.
733
- # * `:ss` - (Array<String>) A set of strings.
734
- # * `:ns` - (Array<String>) A set of numbers.
735
- # * `:bs` - (Array<String>) A set of binary attributes.
979
+ # * `:s` - (String) Represents a String data type
980
+ # * `:n` - (String) Represents a Number data type
981
+ # * `:b` - (String) Represents a Binary data type
982
+ # * `:ss` - (Array<String>) Represents a String set data type
983
+ # * `:ns` - (Array<String>) Represents a Number set data type
984
+ # * `:bs` - (Array<String>) Represents a Binary set data type
736
985
  # @return [Core::Response]
737
986
  # The #data method of the response object returns
738
987
  # a hash with the following structure:
@@ -766,79 +1015,197 @@ module AWS
766
1015
  # @!method update_item(options = {})
767
1016
  # Calls the UpdateItem API operation.
768
1017
  # @param [Hash] options
769
- # * `:table_name` - *required* - (String) The name of the table in
770
- # which you want to update an item. Allowed characters are a-z, A-Z,
771
- # 0-9, _ (underscore), - (hyphen) and . (period).
772
- # * `:key` - *required* - (Hash)
1018
+ #
1019
+ # * `:table_name` - *required* - (String) The name of the table
1020
+ # containing the item to update.
1021
+ # * `:key` - *required* - (Hash) The primary key that defines the item.
1022
+ # Each element consists of an attribute name and a value for that
1023
+ # attribute.
773
1024
  # * `:hash_key_element` - *required* - (Hash) A hash key element is
774
1025
  # treated as the primary key, and can be a string or a number.
775
1026
  # Single attribute primary keys have one index value. The value can
776
1027
  # be String, Number, StringSet, NumberSet.
777
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
778
- # The maximum size is limited by the size of the primary key
779
- # (1024 bytes as a range part of a key or 2048 bytes as a single
780
- # part hash key) or the item size (64k).
781
- # * `:n` - (String) Numbers are positive or negative exact-value
782
- # decimals and integers. A number can have up to 38 digits
783
- # precision and can be between 10^-128 to 10^+126.
784
- # * `:b` - (String) Binary attributes are sequences of unsigned
785
- # bytes.
786
- # * `:ss` - (Array<String>) A set of strings.
787
- # * `:ns` - (Array<String>) A set of numbers.
788
- # * `:bs` - (Array<String>) A set of binary attributes.
1028
+ # * `:s` - (String) Represents a String data type
1029
+ # * `:n` - (String) Represents a Number data type
1030
+ # * `:b` - (String) Represents a Binary data type
1031
+ # * `:ss` - (Array<String>) Represents a String set data type
1032
+ # * `:ns` - (Array<String>) Represents a Number set data type
1033
+ # * `:bs` - (Array<String>) Represents a Binary set data type
789
1034
  # * `:range_key_element` - (Hash) A range key element is treated as a
790
1035
  # secondary key (used in conjunction with the primary key), and can
791
1036
  # be a string or a number, and is only used for hash-and-range
792
1037
  # primary keys. The value can be String, Number, StringSet,
793
1038
  # NumberSet.
794
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
795
- # The maximum size is limited by the size of the primary key
796
- # (1024 bytes as a range part of a key or 2048 bytes as a single
797
- # part hash key) or the item size (64k).
798
- # * `:n` - (String) Numbers are positive or negative exact-value
799
- # decimals and integers. A number can have up to 38 digits
800
- # precision and can be between 10^-128 to 10^+126.
801
- # * `:b` - (String) Binary attributes are sequences of unsigned
802
- # bytes.
803
- # * `:ss` - (Array<String>) A set of strings.
804
- # * `:ns` - (Array<String>) A set of numbers.
805
- # * `:bs` - (Array<String>) A set of binary attributes.
806
- # * `:attribute_updates` - *required* - (Hash<String,Hash>)
1039
+ # * `:s` - (String) Represents a String data type
1040
+ # * `:n` - (String) Represents a Number data type
1041
+ # * `:b` - (String) Represents a Binary data type
1042
+ # * `:ss` - (Array<String>) Represents a String set data type
1043
+ # * `:ns` - (Array<String>) Represents a Number set data type
1044
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1045
+ # * `:attribute_updates` - *required* - (Hash<String,Hash>) The names
1046
+ # of attributes to be modified, the action to perform on each, and
1047
+ # the new value for each. If you are updating an attribute that is an
1048
+ # index key attribute for any indexes on that table, the attribute
1049
+ # type must match the index key type defined in the
1050
+ # AttributesDefinition of the table description. You can use
1051
+ # UpdateItem to update any non-key attributes. Attribute values
1052
+ # cannot be null. String and binary type attributes must have lengths
1053
+ # greater than zero. Set type attributes must not be empty. Requests
1054
+ # with empty values will be rejected with a ValidationException. Each
1055
+ # AttributeUpdates element consists of an attribute name to modify,
1056
+ # along with the following: Value - The new value, if applicable, for
1057
+ # this attribute. Action - Specifies how to perform the update. Valid
1058
+ # values for Action are PUT, DELETE, and ADD. The behavior depends on
1059
+ # whether the specified primary key already exists in the table. If
1060
+ # an item with the specified Key is found in the table: PUT - Adds
1061
+ # the specified attribute to the item. If the attribute already
1062
+ # exists, it is replaced by the new value. DELETE - If no value is
1063
+ # specified, the attribute and its value are removed from the item.
1064
+ # The data type of the specified value must match the existing
1065
+ # value's data type. If a set of values is specified, then those
1066
+ # values are subtracted from the old set. For example, if the
1067
+ # attribute value was the set [a,b,c] and the DELETE action specified
1068
+ # [a,c], then the final attribute value would be [b]. Specifying an
1069
+ # empty set is an error. ADD - If the attribute does not already
1070
+ # exist, then the attribute and its values are added to the item. If
1071
+ # the attribute does exist, then the behavior of ADD depends on the
1072
+ # data type of the attribute: If the existing attribute is a number,
1073
+ # and if Value is also a number, then the Value is mathematically
1074
+ # added to the existing attribute. If Value is a negative number,
1075
+ # then it is subtracted from the existing attribute. If you use ADD
1076
+ # to increment or decrement a number value for an item that doesn't
1077
+ # exist before the update, uses 0 as the initial value. In addition,
1078
+ # if you use ADD to update an existing item, and intend to increment
1079
+ # or decrement an attribute value which does not yet exist, uses 0 as
1080
+ # the initial value. For example, suppose that the item you want to
1081
+ # update does not yet have an attribute named itemcount, but you
1082
+ # decide to ADD the number 3 to this attribute anyway, even though it
1083
+ # currently does not exist. will create the itemcount attribute, set
1084
+ # its initial value to 0, and finally add 3 to it. The result will be
1085
+ # a new itemcount attribute in the item, with a value of 3. If the
1086
+ # existing data type is a set, and if the Value is also a set, then
1087
+ # the Value is added to the existing set. (This is a set operation,
1088
+ # not mathematical addition.) For example, if the attribute value was
1089
+ # the set [1,2], and the ADD action specified [3], then the final
1090
+ # attribute value would be [1,2,3]. An error occurs if an Add action
1091
+ # is specified for a set attribute and the attribute type specified
1092
+ # does not match the existing set type. Both sets must have the same
1093
+ # primitive data type. For example, if the existing data type is a
1094
+ # set of strings, the Value must also be a set of strings. The same
1095
+ # holds `true` for number sets and binary sets. This action is only
1096
+ # valid for an existing attribute whose data type is number or is a
1097
+ # set. Do not use ADD for any other data types. If no item with the
1098
+ # specified Key is found: PUT - creates a new item with the specified
1099
+ # primary key, and then adds the attribute. DELETE - Nothing happens;
1100
+ # there is no attribute to delete. ADD - creates an item with the
1101
+ # supplied primary key and number (or set of numbers) for the
1102
+ # attribute value. The only data types allowed are number and number
1103
+ # set; no other data types can be specified. If you specify any
1104
+ # attributes that are part of an index key, then the data types for
1105
+ # those attributes must match those of the schema in the table's
1106
+ # attribute definition.
807
1107
  # * `:value` - (Hash)
808
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
809
- # The maximum size is limited by the size of the primary key
810
- # (1024 bytes as a range part of a key or 2048 bytes as a single
811
- # part hash key) or the item size (64k).
812
- # * `:n` - (String) Numbers are positive or negative exact-value
813
- # decimals and integers. A number can have up to 38 digits
814
- # precision and can be between 10^-128 to 10^+126.
815
- # * `:b` - (String) Binary attributes are sequences of unsigned
816
- # bytes.
817
- # * `:ss` - (Array<String>) A set of strings.
818
- # * `:ns` - (Array<String>) A set of numbers.
819
- # * `:bs` - (Array<String>) A set of binary attributes.
820
- # * `:action` - (String) Valid values include:
1108
+ # * `:s` - (String) Represents a String data type
1109
+ # * `:n` - (String) Represents a Number data type
1110
+ # * `:b` - (String) Represents a Binary data type
1111
+ # * `:ss` - (Array<String>) Represents a String set data type
1112
+ # * `:ns` - (Array<String>) Represents a Number set data type
1113
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1114
+ # * `:action` - (String) Specifies how to perform the update. Valid
1115
+ # values are PUT, DELETE, and ADD. The behavior depends on whether
1116
+ # the specified primary key already exists in the table. If an item
1117
+ # with the specified Key is found in the table: PUT - Adds the
1118
+ # specified attribute to the item. If the attribute already exists,
1119
+ # it is replaced by the new value. DELETE - If no value is
1120
+ # specified, the attribute and its value are removed from the item.
1121
+ # The data type of the specified value must match the existing
1122
+ # value's data type. If a set of values is specified, then those
1123
+ # values are subtracted from the old set. For example, if the
1124
+ # attribute value was the set [a,b,c] and the DELETE action
1125
+ # specified [a,c], then the final attribute value would be [b].
1126
+ # Specifying an empty set is an error. ADD - If the attribute does
1127
+ # not already exist, then the attribute and its values are added to
1128
+ # the item. If the attribute does exist, then the behavior of ADD
1129
+ # depends on the data type of the attribute: If the existing
1130
+ # attribute is a number, and if Value is also a number, then the
1131
+ # Value is mathematically added to the existing attribute. If Value
1132
+ # is a negative number, then it is subtracted from the existing
1133
+ # attribute. If you use ADD to increment or decrement a number
1134
+ # value for an item that doesn't exist before the update, uses 0 as
1135
+ # the initial value. In addition, if you use ADD to update an
1136
+ # existing item, and intend to increment or decrement an attribute
1137
+ # value which does not yet exist, uses 0 as the initial value. For
1138
+ # example, suppose that the item you want to update does not yet
1139
+ # have an attribute named itemcount, but you decide to ADD the
1140
+ # number 3 to this attribute anyway, even though it currently does
1141
+ # not exist. will create the itemcount attribute, set its initial
1142
+ # value to 0, and finally add 3 to it. The result will be a new
1143
+ # itemcount attribute in the item, with a value of 3. If the
1144
+ # existing data type is a set, and if the Value is also a set, then
1145
+ # the Value is added to the existing set. (This is a set operation,
1146
+ # not mathematical addition.) For example, if the attribute value
1147
+ # was the set [1,2], and the ADD action specified [3], then the
1148
+ # final attribute value would be [1,2,3]. An error occurs if an Add
1149
+ # action is specified for a set attribute and the attribute type
1150
+ # specified does not match the existing set type. Both sets must
1151
+ # have the same primitive data type. For example, if the existing
1152
+ # data type is a set of strings, the Value must also be a set of
1153
+ # strings. The same holds `true` for number sets and binary sets.
1154
+ # This action is only valid for an existing attribute whose data
1155
+ # type is number or is a set. Do not use ADD for any other data
1156
+ # types. If no item with the specified Key is found: PUT - creates
1157
+ # a new item with the specified primary key, and then adds the
1158
+ # attribute. DELETE - Nothing happens; there is no attribute to
1159
+ # delete. ADD - creates an item with the supplied primary key and
1160
+ # number (or set of numbers) for the attribute value. The only data
1161
+ # types allowed are number and number set; no other data types can
1162
+ # be specified. Valid values include:
821
1163
  # * `ADD`
822
1164
  # * `PUT`
823
1165
  # * `DELETE`
824
- # * `:expected` - (Hash<String,Hash>)
1166
+ # * `:expected` - (Hash<String,Hash>) A map of attribute/condition
1167
+ # pairs. This is the conditional block for the UpdateItem operation.
1168
+ # All the conditions must be met for the operation to succeed.
825
1169
  # * `:value` - (Hash) Specify whether or not a value already exists
826
1170
  # and has a specific content for the attribute name-value pair.
827
- # * `:s` - (String) Strings are Unicode with UTF-8 binary encoding.
828
- # The maximum size is limited by the size of the primary key
829
- # (1024 bytes as a range part of a key or 2048 bytes as a single
830
- # part hash key) or the item size (64k).
831
- # * `:n` - (String) Numbers are positive or negative exact-value
832
- # decimals and integers. A number can have up to 38 digits
833
- # precision and can be between 10^-128 to 10^+126.
834
- # * `:b` - (String) Binary attributes are sequences of unsigned
835
- # bytes.
836
- # * `:ss` - (Array<String>) A set of strings.
837
- # * `:ns` - (Array<String>) A set of numbers.
838
- # * `:bs` - (Array<String>) A set of binary attributes.
839
- # * `:exists` - (Boolean) Specify whether or not a value already
840
- # exists for the attribute name-value pair.
841
- # * `:return_values` - (String) Valid values include:
1171
+ # * `:s` - (String) Represents a String data type
1172
+ # * `:n` - (String) Represents a Number data type
1173
+ # * `:b` - (String) Represents a Binary data type
1174
+ # * `:ss` - (Array<String>) Represents a String set data type
1175
+ # * `:ns` - (Array<String>) Represents a Number set data type
1176
+ # * `:bs` - (Array<String>) Represents a Binary set data type
1177
+ # * `:exists` - (Boolean) Causes to evaluate the value before
1178
+ # attempting a conditional operation: If Exists is `true` , will
1179
+ # check to see if that attribute value already exists in the table.
1180
+ # If it is found, then the operation succeeds. If it is not found,
1181
+ # the operation fails with a ConditionalCheckFailedException. If
1182
+ # Exists is `false` , assumes that the attribute value does not
1183
+ # exist in the table. If in fact the value does not exist, then the
1184
+ # assumption is valid and the operation succeeds. If the value is
1185
+ # found, despite the assumption that it does not exist, the
1186
+ # operation fails with a ConditionalCheckFailedException. The
1187
+ # default setting for Exists is `true` . If you supply a Value all
1188
+ # by itself, assumes the attribute exists: You don't have to set
1189
+ # Exists to `true` , because it is implied. returns a
1190
+ # ValidationException if: Exists is `true` but there is no Value to
1191
+ # check. (You expect a value to exist, but don't specify what that
1192
+ # value is.) Exists is `false` but you also specify a Value. (You
1193
+ # cannot expect an attribute to have a value, while also expecting
1194
+ # it not to exist.) If you specify more than one condition for
1195
+ # Exists, then all of the conditions must evaluate to `true` . (In
1196
+ # other words, the conditions are ANDed together.) Otherwise, the
1197
+ # conditional operation will fail.
1198
+ # * `:return_values` - (String) Use ReturnValues if you want to get the
1199
+ # item attributes as they appeared either before or after they were
1200
+ # updated. For UpdateItem, the valid values are: NONE - If
1201
+ # ReturnValues is not specified, or if its value is NONE, then
1202
+ # nothing is returned. (This is the default for ReturnValues.)
1203
+ # ALL_OLD - If UpdateItem overwrote an attribute name-value pair,
1204
+ # then the content of the old item is returned. UPDATED_OLD - The old
1205
+ # versions of only the updated attributes are returned. ALL_NEW - All
1206
+ # of the attributes of the new version of the item are returned.
1207
+ # UPDATED_NEW - The new versions of only the updated attributes are
1208
+ # returned. Valid values include:
842
1209
  # * `NONE`
843
1210
  # * `ALL_OLD`
844
1211
  # * `UPDATED_OLD`
@@ -860,19 +1227,18 @@ module AWS
860
1227
  # @!method update_table(options = {})
861
1228
  # Calls the UpdateTable API operation.
862
1229
  # @param [Hash] options
863
- # * `:table_name` - *required* - (String) The name of the table you
864
- # want to update. Allowed characters are a-z, A-Z, 0-9, _
865
- # (underscore), - (hyphen) and . (period).
1230
+ #
1231
+ # * `:table_name` - *required* - (String) The name of the table to be
1232
+ # updated.
866
1233
  # * `:provisioned_throughput` - *required* - (Hash)
867
- # * `:read_capacity_units` - *required* - (Integer) ReadCapacityUnits
868
- # are in terms of strictly consistent reads, assuming items of 1k.
869
- # 2k items require twice the ReadCapacityUnits.
870
- # Eventually-consistent reads only require half the
871
- # ReadCapacityUnits of stirctly consistent reads.
872
- # * `:write_capacity_units` - *required* - (Integer)
873
- # WriteCapacityUnits are in terms of strictly consistent reads,
874
- # assuming items of 1k. 2k items require twice the
875
- # WriteCapacityUnits.
1234
+ # * `:read_capacity_units` - *required* - (Integer) The maximum
1235
+ # number of strongly consistent reads consumed per second before
1236
+ # returns a ThrottlingException. For more information, see
1237
+ # Specifying Read and Write Requirements .
1238
+ # * `:write_capacity_units` - *required* - (Integer) The maximum
1239
+ # number of writes consumed per second before returns a
1240
+ # ThrottlingException. For more information, see Specifying Read
1241
+ # and Write Requirements .
876
1242
  # @return [Core::Response]
877
1243
  # The #data method of the response object returns
878
1244
  # a hash with the following structure: