aws-sdk-simpledb 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4f43753abbf035664d9e64611a3f0c530fbe8b04
4
- data.tar.gz: 019285b9887217e093a3a09334259747d1f8a05f
3
+ metadata.gz: 306a9ceca4869a288707163ebb33b33a9ec3eecd
4
+ data.tar.gz: c96484238076e7ab7c6dd5f9ba5364b0d0020f11
5
5
  SHA512:
6
- metadata.gz: ee6acb7b6f05be31db08f9d436eadf167fe6fd9ea6acd90a873dc6b9b4f5654f54259fe8f96770ab41e33c18590013321fdeb7968101e76f915edb6b104c72b4
7
- data.tar.gz: fd8959f06da19463e564a79e04dad38b932961d09af6c19b00bacbb09e45e6376343dc36e0f193ba3607ef8cccbb16617f872bec0d87601d5d881fc5387035ed
6
+ metadata.gz: bd6e195c4ad6a541ba896fef6a3f700ccdca8757855d95380a78e9e1e4aa0746e93e2106111301bf08594bf46396a4d8665bae60118acea104a51477b5fab9ff
7
+ data.tar.gz: 67e8f6a922efc809c99beaad74868384559984072ac7c8df554202d0df39af10e7efe9f0fb3e65931dd7cc54c946f91a7428e796fece3194f6be8d86951cd0b0
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-simpledb/customizations'
42
42
  # @service
43
43
  module Aws::SimpleDB
44
44
 
45
- GEM_VERSION = '1.0.0.rc1'
45
+ GEM_VERSION = '1.0.0.rc2'
46
46
 
47
47
  end
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -18,595 +18,667 @@ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
18
  require 'aws-sdk-core/plugins/response_paging.rb'
19
19
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
20
  require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
21
22
  require 'aws-sdk-core/plugins/signature_v2.rb'
22
23
  require 'aws-sdk-core/plugins/protocols/query.rb'
23
24
 
24
25
  Aws::Plugins::GlobalConfiguration.add_identifier(:simpledb)
25
26
 
26
- module Aws
27
- module SimpleDB
28
- class Client < Seahorse::Client::Base
27
+ module Aws::SimpleDB
28
+ class Client < Seahorse::Client::Base
29
29
 
30
- include Aws::ClientStubs
30
+ include Aws::ClientStubs
31
31
 
32
- @identifier = :simpledb
32
+ @identifier = :simpledb
33
33
 
34
- set_api(ClientApi::API)
34
+ set_api(ClientApi::API)
35
35
 
36
- add_plugin(Seahorse::Client::Plugins::ContentLength)
37
- add_plugin(Aws::Plugins::CredentialsConfiguration)
38
- add_plugin(Aws::Plugins::Logging)
39
- add_plugin(Aws::Plugins::ParamConverter)
40
- add_plugin(Aws::Plugins::ParamValidator)
41
- add_plugin(Aws::Plugins::UserAgent)
42
- add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
- add_plugin(Aws::Plugins::RetryErrors)
44
- add_plugin(Aws::Plugins::GlobalConfiguration)
45
- add_plugin(Aws::Plugins::RegionalEndpoint)
46
- add_plugin(Aws::Plugins::ResponsePaging)
47
- add_plugin(Aws::Plugins::StubResponses)
48
- add_plugin(Aws::Plugins::IdempotencyToken)
49
- add_plugin(Aws::Plugins::SignatureV2)
50
- add_plugin(Aws::Plugins::Protocols::Query)
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV2)
51
+ add_plugin(Aws::Plugins::Protocols::Query)
51
52
 
52
- # @option options [required, Aws::CredentialProvider] :credentials
53
- # Your AWS credentials. This can be an instance of any one of the
54
- # following classes:
55
- #
56
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
- # credentials.
58
- #
59
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
- # from an EC2 IMDS on an EC2 instance.
61
- #
62
- # * `Aws::SharedCredentials` - Used for loading credentials from a
63
- # shared file, such as `~/.aws/config`.
64
- #
65
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
- #
67
- # When `:credentials` are not configured directly, the following
68
- # locations will be searched for credentials:
69
- #
70
- # * `Aws.config[:credentials]`
71
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
- # * `~/.aws/credentials`
74
- # * `~/.aws/config`
75
- # * EC2 IMDS instance profile - When used by default, the timeouts are
76
- # very aggressive. Construct and pass an instance of
77
- # `Aws::InstanceProfileCredentails` to enable retries and extended
78
- # timeouts.
79
- # @option options [required, String] :region
80
- # The AWS region to connect to. The configured `:region` is
81
- # used to determine the service `:endpoint`. When not passed,
82
- # a default `:region` is search for in the following locations:
83
- #
84
- # * `Aws.config[:region]`
85
- # * `ENV['AWS_REGION']`
86
- # * `ENV['AMAZON_REGION']`
87
- # * `ENV['AWS_DEFAULT_REGION']`
88
- # * `~/.aws/credentials`
89
- # * `~/.aws/config`
90
- # @option options [String] :access_key_id
91
- # @option options [Boolean] :convert_params (true)
92
- # When `true`, an attempt is made to coerce request parameters into
93
- # the required types.
94
- # @option options [String] :endpoint
95
- # The client endpoint is normally constructed from the `:region`
96
- # option. You should only configure an `:endpoint` when connecting
97
- # to test endpoints. This should be avalid HTTP(S) URI.
98
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
- # The log formatter.
100
- # @option options [Symbol] :log_level (:info)
101
- # The log level to send messages to the `:logger` at.
102
- # @option options [Logger] :logger
103
- # The Logger instance to send log messages to. If this option
104
- # is not set, logging will be disabled.
105
- # @option options [String] :profile ("default")
106
- # Used when loading credentials from the shared credentials file
107
- # at HOME/.aws/credentials. When not specified, 'default' is used.
108
- # @option options [Integer] :retry_limit (3)
109
- # The maximum number of times to retry failed requests. Only
110
- # ~ 500 level server errors and certain ~ 400 level client errors
111
- # are retried. Generally, these are throttling errors, data
112
- # checksum errors, networking errors, timeout errors and auth
113
- # errors from expired credentials.
114
- # @option options [String] :secret_access_key
115
- # @option options [String] :session_token
116
- # @option options [Boolean] :stub_responses (false)
117
- # Causes the client to return stubbed responses. By default
118
- # fake responses are generated and returned. You can specify
119
- # the response data to return or errors to raise by calling
120
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
121
- #
122
- # ** Please note ** When response stubbing is enabled, no HTTP
123
- # requests are made, and retries are disabled.
124
- # @option options [Boolean] :validate_params (true)
125
- # When `true`, request parameters are validated before
126
- # sending the request.
127
- def initialize(*args)
128
- super
129
- end
130
-
131
- # @!group API Operations
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :stub_responses (false)
130
+ # Causes the client to return stubbed responses. By default
131
+ # fake responses are generated and returned. You can specify
132
+ # the response data to return or errors to raise by calling
133
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
134
+ #
135
+ # ** Please note ** When response stubbing is enabled, no HTTP
136
+ # requests are made, and retries are disabled.
137
+ #
138
+ # @option options [Boolean] :validate_params (true)
139
+ # When `true`, request parameters are validated before
140
+ # sending the request.
141
+ #
142
+ def initialize(*args)
143
+ super
144
+ end
132
145
 
133
- # Performs multiple DeleteAttributes operations in a single call, which
134
- # reduces round trips and latencies. This enables Amazon SimpleDB to
135
- # optimize requests, which generally yields better throughput.
136
- #
137
- # The following limitations are enforced for this operation: * 1 MB
138
- # request size
139
- # * 25 item limit per BatchDeleteAttributes operation
140
- # @option params [required, String] :domain_name
141
- # The name of the domain in which the attributes are being deleted.
142
- # @option params [required, Array<Types::DeletableItem>] :items
143
- # A list of items on which to perform the operation.
144
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
145
- #
146
- # @example Request syntax with placeholder values
147
- # resp = client.batch_delete_attributes({
148
- # domain_name: "String", # required
149
- # items: [ # required
150
- # {
151
- # name: "String", # required
152
- # attributes: [
153
- # {
154
- # name: "String", # required
155
- # alternate_name_encoding: "String",
156
- # value: "String", # required
157
- # alternate_value_encoding: "String",
158
- # },
159
- # ],
160
- # },
161
- # ],
162
- # })
163
- # @overload batch_delete_attributes(params = {})
164
- # @param [Hash] params ({})
165
- def batch_delete_attributes(params = {}, options = {})
166
- req = build_request(:batch_delete_attributes, params)
167
- req.send_request(options)
168
- end
146
+ # @!group API Operations
169
147
 
170
- # The `BatchPutAttributes` operation creates or replaces attributes
171
- # within one or more items. By using this operation, the client can
172
- # perform multiple PutAttribute operation with a single call. This helps
173
- # yield savings in round trips and latencies, enabling Amazon SimpleDB
174
- # to optimize requests and generally produce better throughput.
175
- #
176
- # The client may specify the item name with the `Item.X.ItemName`
177
- # parameter. The client may specify new attributes using a combination
178
- # of the `Item.X.Attribute.Y.Name` and `Item.X.Attribute.Y.Value`
179
- # parameters. The client may specify the first attribute for the first
180
- # item using the parameters `Item.0.Attribute.0.Name` and
181
- # `Item.0.Attribute.0.Value`, and for the second attribute for the first
182
- # item by the parameters `Item.0.Attribute.1.Name` and
183
- # `Item.0.Attribute.1.Value`, and so on.
184
- #
185
- # Attributes are uniquely identified within an item by their name/value
186
- # combination. For example, a single item can have the attributes `\{
187
- # "first_name", "first_value" \}` and `\{ "first_name", "second_value"
188
- # \}`. However, it cannot have two attribute instances where both the
189
- # `Item.X.Attribute.Y.Name` and `Item.X.Attribute.Y.Value` are the same.
190
- #
191
- # Optionally, the requester can supply the `Replace` parameter for each
192
- # individual value. Setting this value to `true` will cause the new
193
- # attribute values to replace the existing attribute values. For
194
- # example, if an item `I` has the attributes `\{ 'a', '1' \}, \{ 'b',
195
- # '2'\}` and `\{ 'b', '3' \}` and the requester does a
196
- # BatchPutAttributes of `\{'I', 'b', '4' \}` with the Replace parameter
197
- # set to true, the final attributes of the item will be `\{ 'a', '1' \}`
198
- # and `\{ 'b', '4' \}`, replacing the previous values of the 'b'
199
- # attribute with the new value.
200
- #
201
- # This operation is vulnerable to exceeding the maximum URL size when
202
- # making a REST request using the HTTP GET method. This operation does
203
- # not support conditions using `Expected.X.Name`, `Expected.X.Value`, or
204
- # `Expected.X.Exists`.
205
- #
206
- # You can execute multiple `BatchPutAttributes` operations and other
207
- # operations in parallel. However, large numbers of concurrent
208
- # `BatchPutAttributes` calls can result in Service Unavailable (503)
209
- # responses.
210
- #
211
- # The following limitations are enforced for this operation: * 256
212
- # attribute name-value pairs per item
213
- # * 1 MB request size
214
- # * 1 billion attributes per domain
215
- # * 10 GB of total user data storage per domain
216
- # * 25 item limit per `BatchPutAttributes` operation
217
- # @option params [required, String] :domain_name
218
- # The name of the domain in which the attributes are being stored.
219
- # @option params [required, Array<Types::ReplaceableItem>] :items
220
- # A list of items on which to perform the operation.
221
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
222
- #
223
- # @example Request syntax with placeholder values
224
- # resp = client.batch_put_attributes({
225
- # domain_name: "String", # required
226
- # items: [ # required
227
- # {
228
- # name: "String", # required
229
- # attributes: [ # required
230
- # {
231
- # name: "String", # required
232
- # value: "String", # required
233
- # replace: false,
234
- # },
235
- # ],
236
- # },
237
- # ],
238
- # })
239
- # @overload batch_put_attributes(params = {})
240
- # @param [Hash] params ({})
241
- def batch_put_attributes(params = {}, options = {})
242
- req = build_request(:batch_put_attributes, params)
243
- req.send_request(options)
244
- end
148
+ # Performs multiple DeleteAttributes operations in a single call, which
149
+ # reduces round trips and latencies. This enables Amazon SimpleDB to
150
+ # optimize requests, which generally yields better throughput.
151
+ #
152
+ # The following limitations are enforced for this operation: * 1 MB
153
+ # request size
154
+ # * 25 item limit per BatchDeleteAttributes operation
155
+ #
156
+ # @option params [required, String] :domain_name
157
+ # The name of the domain in which the attributes are being deleted.
158
+ #
159
+ # @option params [required, Array<Types::DeletableItem>] :items
160
+ # A list of items on which to perform the operation.
161
+ #
162
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
163
+ #
164
+ # @example Request syntax with placeholder values
165
+ #
166
+ # resp = client.batch_delete_attributes({
167
+ # domain_name: "String", # required
168
+ # items: [ # required
169
+ # {
170
+ # name: "String", # required
171
+ # attributes: [
172
+ # {
173
+ # name: "String", # required
174
+ # alternate_name_encoding: "String",
175
+ # value: "String", # required
176
+ # alternate_value_encoding: "String",
177
+ # },
178
+ # ],
179
+ # },
180
+ # ],
181
+ # })
182
+ #
183
+ # @overload batch_delete_attributes(params = {})
184
+ # @param [Hash] params ({})
185
+ def batch_delete_attributes(params = {}, options = {})
186
+ req = build_request(:batch_delete_attributes, params)
187
+ req.send_request(options)
188
+ end
245
189
 
246
- # The `CreateDomain` operation creates a new domain. The domain name
247
- # should be unique among the domains associated with the Access Key ID
248
- # provided in the request. The `CreateDomain` operation may take 10 or
249
- # more seconds to complete.
250
- #
251
- # The client can create up to 100 domains per account.
252
- #
253
- # If the client requires additional domains, go to [
254
- # http://aws.amazon.com/contact-us/simpledb-limit-request/][1].
255
- #
256
- #
257
- #
258
- # [1]: http://aws.amazon.com/contact-us/simpledb-limit-request/
259
- # @option params [required, String] :domain_name
260
- # The name of the domain to create. The name can range between 3 and 255
261
- # characters and can contain the following characters: a-z, A-Z, 0-9,
262
- # '\_', '-', and '.'.
263
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
264
- #
265
- # @example Request syntax with placeholder values
266
- # resp = client.create_domain({
267
- # domain_name: "String", # required
268
- # })
269
- # @overload create_domain(params = {})
270
- # @param [Hash] params ({})
271
- def create_domain(params = {}, options = {})
272
- req = build_request(:create_domain, params)
273
- req.send_request(options)
274
- end
190
+ # The `BatchPutAttributes` operation creates or replaces attributes
191
+ # within one or more items. By using this operation, the client can
192
+ # perform multiple PutAttribute operation with a single call. This helps
193
+ # yield savings in round trips and latencies, enabling Amazon SimpleDB
194
+ # to optimize requests and generally produce better throughput.
195
+ #
196
+ # The client may specify the item name with the `Item.X.ItemName`
197
+ # parameter. The client may specify new attributes using a combination
198
+ # of the `Item.X.Attribute.Y.Name` and `Item.X.Attribute.Y.Value`
199
+ # parameters. The client may specify the first attribute for the first
200
+ # item using the parameters `Item.0.Attribute.0.Name` and
201
+ # `Item.0.Attribute.0.Value`, and for the second attribute for the first
202
+ # item by the parameters `Item.0.Attribute.1.Name` and
203
+ # `Item.0.Attribute.1.Value`, and so on.
204
+ #
205
+ # Attributes are uniquely identified within an item by their name/value
206
+ # combination. For example, a single item can have the attributes `\{
207
+ # "first_name", "first_value" \}` and `\{ "first_name", "second_value"
208
+ # \}`. However, it cannot have two attribute instances where both the
209
+ # `Item.X.Attribute.Y.Name` and `Item.X.Attribute.Y.Value` are the same.
210
+ #
211
+ # Optionally, the requester can supply the `Replace` parameter for each
212
+ # individual value. Setting this value to `true` will cause the new
213
+ # attribute values to replace the existing attribute values. For
214
+ # example, if an item `I` has the attributes `\{ 'a', '1' \}, \{ 'b',
215
+ # '2'\}` and `\{ 'b', '3' \}` and the requester does a
216
+ # BatchPutAttributes of `\{'I', 'b', '4' \}` with the Replace parameter
217
+ # set to true, the final attributes of the item will be `\{ 'a', '1' \}`
218
+ # and `\{ 'b', '4' \}`, replacing the previous values of the 'b'
219
+ # attribute with the new value.
220
+ #
221
+ # This operation is vulnerable to exceeding the maximum URL size when
222
+ # making a REST request using the HTTP GET method. This operation does
223
+ # not support conditions using `Expected.X.Name`, `Expected.X.Value`, or
224
+ # `Expected.X.Exists`.
225
+ #
226
+ # You can execute multiple `BatchPutAttributes` operations and other
227
+ # operations in parallel. However, large numbers of concurrent
228
+ # `BatchPutAttributes` calls can result in Service Unavailable (503)
229
+ # responses.
230
+ #
231
+ # The following limitations are enforced for this operation: * 256
232
+ # attribute name-value pairs per item
233
+ # * 1 MB request size
234
+ # * 1 billion attributes per domain
235
+ # * 10 GB of total user data storage per domain
236
+ # * 25 item limit per `BatchPutAttributes` operation
237
+ #
238
+ # @option params [required, String] :domain_name
239
+ # The name of the domain in which the attributes are being stored.
240
+ #
241
+ # @option params [required, Array<Types::ReplaceableItem>] :items
242
+ # A list of items on which to perform the operation.
243
+ #
244
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
245
+ #
246
+ # @example Request syntax with placeholder values
247
+ #
248
+ # resp = client.batch_put_attributes({
249
+ # domain_name: "String", # required
250
+ # items: [ # required
251
+ # {
252
+ # name: "String", # required
253
+ # attributes: [ # required
254
+ # {
255
+ # name: "String", # required
256
+ # value: "String", # required
257
+ # replace: false,
258
+ # },
259
+ # ],
260
+ # },
261
+ # ],
262
+ # })
263
+ #
264
+ # @overload batch_put_attributes(params = {})
265
+ # @param [Hash] params ({})
266
+ def batch_put_attributes(params = {}, options = {})
267
+ req = build_request(:batch_put_attributes, params)
268
+ req.send_request(options)
269
+ end
275
270
 
276
- # Deletes one or more attributes associated with an item. If all
277
- # attributes of the item are deleted, the item is deleted.
278
- #
279
- # `DeleteAttributes` is an idempotent operation; running it multiple
280
- # times on the same item or attribute does not result in an error
281
- # response.
282
- #
283
- # Because Amazon SimpleDB makes multiple copies of item data and uses an
284
- # eventual consistency update model, performing a GetAttributes or
285
- # Select operation (read) immediately after a `DeleteAttributes` or
286
- # PutAttributes operation (write) might not return updated item data.
287
- # @option params [required, String] :domain_name
288
- # The name of the domain in which to perform the operation.
289
- # @option params [required, String] :item_name
290
- # The name of the item. Similar to rows on a spreadsheet, items
291
- # represent individual objects that contain one or more value-attribute
292
- # pairs.
293
- # @option params [Array<Types::Attribute>] :attributes
294
- # A list of Attributes. Similar to columns on a spreadsheet, attributes
295
- # represent categories of data that can be assigned to items.
296
- # @option params [Types::UpdateCondition] :expected
297
- # The update condition which, if specified, determines whether the
298
- # specified attributes will be deleted or not. The update condition must
299
- # be satisfied in order for this request to be processed and the
300
- # attributes to be deleted.
301
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
302
- #
303
- # @example Request syntax with placeholder values
304
- # resp = client.delete_attributes({
305
- # domain_name: "String", # required
306
- # item_name: "String", # required
307
- # attributes: [
308
- # {
309
- # name: "String", # required
310
- # alternate_name_encoding: "String",
311
- # value: "String", # required
312
- # alternate_value_encoding: "String",
313
- # },
314
- # ],
315
- # expected: {
316
- # name: "String",
317
- # value: "String",
318
- # exists: false,
319
- # },
320
- # })
321
- # @overload delete_attributes(params = {})
322
- # @param [Hash] params ({})
323
- def delete_attributes(params = {}, options = {})
324
- req = build_request(:delete_attributes, params)
325
- req.send_request(options)
326
- end
271
+ # The `CreateDomain` operation creates a new domain. The domain name
272
+ # should be unique among the domains associated with the Access Key ID
273
+ # provided in the request. The `CreateDomain` operation may take 10 or
274
+ # more seconds to complete.
275
+ #
276
+ # The client can create up to 100 domains per account.
277
+ #
278
+ # If the client requires additional domains, go to [
279
+ # http://aws.amazon.com/contact-us/simpledb-limit-request/][1].
280
+ #
281
+ #
282
+ #
283
+ # [1]: http://aws.amazon.com/contact-us/simpledb-limit-request/
284
+ #
285
+ # @option params [required, String] :domain_name
286
+ # The name of the domain to create. The name can range between 3 and 255
287
+ # characters and can contain the following characters: a-z, A-Z, 0-9,
288
+ # '\_', '-', and '.'.
289
+ #
290
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
291
+ #
292
+ # @example Request syntax with placeholder values
293
+ #
294
+ # resp = client.create_domain({
295
+ # domain_name: "String", # required
296
+ # })
297
+ #
298
+ # @overload create_domain(params = {})
299
+ # @param [Hash] params ({})
300
+ def create_domain(params = {}, options = {})
301
+ req = build_request(:create_domain, params)
302
+ req.send_request(options)
303
+ end
327
304
 
328
- # The `DeleteDomain` operation deletes a domain. Any items (and their
329
- # attributes) in the domain are deleted as well. The `DeleteDomain`
330
- # operation might take 10 or more seconds to complete.
331
- # @option params [required, String] :domain_name
332
- # The name of the domain to delete.
333
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
334
- #
335
- # @example Request syntax with placeholder values
336
- # resp = client.delete_domain({
337
- # domain_name: "String", # required
338
- # })
339
- # @overload delete_domain(params = {})
340
- # @param [Hash] params ({})
341
- def delete_domain(params = {}, options = {})
342
- req = build_request(:delete_domain, params)
343
- req.send_request(options)
344
- end
305
+ # Deletes one or more attributes associated with an item. If all
306
+ # attributes of the item are deleted, the item is deleted.
307
+ #
308
+ # `DeleteAttributes` is an idempotent operation; running it multiple
309
+ # times on the same item or attribute does not result in an error
310
+ # response.
311
+ #
312
+ # Because Amazon SimpleDB makes multiple copies of item data and uses an
313
+ # eventual consistency update model, performing a GetAttributes or
314
+ # Select operation (read) immediately after a `DeleteAttributes` or
315
+ # PutAttributes operation (write) might not return updated item data.
316
+ #
317
+ # @option params [required, String] :domain_name
318
+ # The name of the domain in which to perform the operation.
319
+ #
320
+ # @option params [required, String] :item_name
321
+ # The name of the item. Similar to rows on a spreadsheet, items
322
+ # represent individual objects that contain one or more value-attribute
323
+ # pairs.
324
+ #
325
+ # @option params [Array<Types::Attribute>] :attributes
326
+ # A list of Attributes. Similar to columns on a spreadsheet, attributes
327
+ # represent categories of data that can be assigned to items.
328
+ #
329
+ # @option params [Types::UpdateCondition] :expected
330
+ # The update condition which, if specified, determines whether the
331
+ # specified attributes will be deleted or not. The update condition must
332
+ # be satisfied in order for this request to be processed and the
333
+ # attributes to be deleted.
334
+ #
335
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
336
+ #
337
+ # @example Request syntax with placeholder values
338
+ #
339
+ # resp = client.delete_attributes({
340
+ # domain_name: "String", # required
341
+ # item_name: "String", # required
342
+ # attributes: [
343
+ # {
344
+ # name: "String", # required
345
+ # alternate_name_encoding: "String",
346
+ # value: "String", # required
347
+ # alternate_value_encoding: "String",
348
+ # },
349
+ # ],
350
+ # expected: {
351
+ # name: "String",
352
+ # value: "String",
353
+ # exists: false,
354
+ # },
355
+ # })
356
+ #
357
+ # @overload delete_attributes(params = {})
358
+ # @param [Hash] params ({})
359
+ def delete_attributes(params = {}, options = {})
360
+ req = build_request(:delete_attributes, params)
361
+ req.send_request(options)
362
+ end
345
363
 
346
- # Returns information about the domain, including when the domain was
347
- # created, the number of items and attributes in the domain, and the
348
- # size of the attribute names and values.
349
- # @option params [required, String] :domain_name
350
- # The name of the domain for which to display the metadata of.
351
- # @return [Types::DomainMetadataResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
352
- #
353
- # * {Types::DomainMetadataResult#item_count #ItemCount} => Integer
354
- # * {Types::DomainMetadataResult#item_names_size_bytes #ItemNamesSizeBytes} => Integer
355
- # * {Types::DomainMetadataResult#attribute_name_count #AttributeNameCount} => Integer
356
- # * {Types::DomainMetadataResult#attribute_names_size_bytes #AttributeNamesSizeBytes} => Integer
357
- # * {Types::DomainMetadataResult#attribute_value_count #AttributeValueCount} => Integer
358
- # * {Types::DomainMetadataResult#attribute_values_size_bytes #AttributeValuesSizeBytes} => Integer
359
- # * {Types::DomainMetadataResult#timestamp #Timestamp} => Integer
360
- #
361
- # @example Request syntax with placeholder values
362
- # resp = client.domain_metadata({
363
- # domain_name: "String", # required
364
- # })
365
- #
366
- # @example Response structure
367
- # resp.item_count #=> Integer
368
- # resp.item_names_size_bytes #=> Integer
369
- # resp.attribute_name_count #=> Integer
370
- # resp.attribute_names_size_bytes #=> Integer
371
- # resp.attribute_value_count #=> Integer
372
- # resp.attribute_values_size_bytes #=> Integer
373
- # resp.timestamp #=> Integer
374
- # @overload domain_metadata(params = {})
375
- # @param [Hash] params ({})
376
- def domain_metadata(params = {}, options = {})
377
- req = build_request(:domain_metadata, params)
378
- req.send_request(options)
379
- end
364
+ # The `DeleteDomain` operation deletes a domain. Any items (and their
365
+ # attributes) in the domain are deleted as well. The `DeleteDomain`
366
+ # operation might take 10 or more seconds to complete.
367
+ #
368
+ # @option params [required, String] :domain_name
369
+ # The name of the domain to delete.
370
+ #
371
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
372
+ #
373
+ # @example Request syntax with placeholder values
374
+ #
375
+ # resp = client.delete_domain({
376
+ # domain_name: "String", # required
377
+ # })
378
+ #
379
+ # @overload delete_domain(params = {})
380
+ # @param [Hash] params ({})
381
+ def delete_domain(params = {}, options = {})
382
+ req = build_request(:delete_domain, params)
383
+ req.send_request(options)
384
+ end
380
385
 
381
- # Returns all of the attributes associated with the specified item.
382
- # Optionally, the attributes returned can be limited to one or more
383
- # attributes by specifying an attribute name parameter.
384
- #
385
- # If the item does not exist on the replica that was accessed for this
386
- # operation, an empty set is returned. The system does not return an
387
- # error as it cannot guarantee the item does not exist on other
388
- # replicas.
389
- # @option params [required, String] :domain_name
390
- # The name of the domain in which to perform the operation.
391
- # @option params [required, String] :item_name
392
- # The name of the item.
393
- # @option params [Array<String>] :attribute_names
394
- # The names of the attributes.
395
- # @option params [Boolean] :consistent_read
396
- # Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If `true`, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read.
397
- # @return [Types::GetAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
398
- #
399
- # * {Types::GetAttributesResult#attributes #Attributes} => Array&lt;Types::Attribute&gt;
400
- #
401
- # @example Request syntax with placeholder values
402
- # resp = client.get_attributes({
403
- # domain_name: "String", # required
404
- # item_name: "String", # required
405
- # attribute_names: ["String"],
406
- # consistent_read: false,
407
- # })
408
- #
409
- # @example Response structure
410
- # resp.attributes #=> Array
411
- # resp.attributes[0].name #=> String
412
- # resp.attributes[0].alternate_name_encoding #=> String
413
- # resp.attributes[0].value #=> String
414
- # resp.attributes[0].alternate_value_encoding #=> String
415
- # @overload get_attributes(params = {})
416
- # @param [Hash] params ({})
417
- def get_attributes(params = {}, options = {})
418
- req = build_request(:get_attributes, params)
419
- req.send_request(options)
420
- end
386
+ # Returns information about the domain, including when the domain was
387
+ # created, the number of items and attributes in the domain, and the
388
+ # size of the attribute names and values.
389
+ #
390
+ # @option params [required, String] :domain_name
391
+ # The name of the domain for which to display the metadata of.
392
+ #
393
+ # @return [Types::DomainMetadataResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
394
+ #
395
+ # * {Types::DomainMetadataResult#item_count #item_count} => Integer
396
+ # * {Types::DomainMetadataResult#item_names_size_bytes #item_names_size_bytes} => Integer
397
+ # * {Types::DomainMetadataResult#attribute_name_count #attribute_name_count} => Integer
398
+ # * {Types::DomainMetadataResult#attribute_names_size_bytes #attribute_names_size_bytes} => Integer
399
+ # * {Types::DomainMetadataResult#attribute_value_count #attribute_value_count} => Integer
400
+ # * {Types::DomainMetadataResult#attribute_values_size_bytes #attribute_values_size_bytes} => Integer
401
+ # * {Types::DomainMetadataResult#timestamp #timestamp} => Integer
402
+ #
403
+ # @example Request syntax with placeholder values
404
+ #
405
+ # resp = client.domain_metadata({
406
+ # domain_name: "String", # required
407
+ # })
408
+ #
409
+ # @example Response structure
410
+ #
411
+ # resp.item_count #=> Integer
412
+ # resp.item_names_size_bytes #=> Integer
413
+ # resp.attribute_name_count #=> Integer
414
+ # resp.attribute_names_size_bytes #=> Integer
415
+ # resp.attribute_value_count #=> Integer
416
+ # resp.attribute_values_size_bytes #=> Integer
417
+ # resp.timestamp #=> Integer
418
+ #
419
+ # @overload domain_metadata(params = {})
420
+ # @param [Hash] params ({})
421
+ def domain_metadata(params = {}, options = {})
422
+ req = build_request(:domain_metadata, params)
423
+ req.send_request(options)
424
+ end
421
425
 
422
- # The `ListDomains` operation lists all domains associated with the
423
- # Access Key ID. It returns domain names up to the limit set by
424
- # [MaxNumberOfDomains](#MaxNumberOfDomains). A [NextToken](#NextToken)
425
- # is returned if there are more than `MaxNumberOfDomains` domains.
426
- # Calling `ListDomains` successive times with the `NextToken` provided
427
- # by the operation returns up to `MaxNumberOfDomains` more domain names
428
- # with each successive operation call.
429
- # @option params [Integer] :max_number_of_domains
430
- # The maximum number of domain names you want returned. The range is 1
431
- # to 100. The default setting is 100.
432
- # @option params [String] :next_token
433
- # A string informing Amazon SimpleDB where to start the next list of
434
- # domain names.
435
- # @return [Types::ListDomainsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
436
- #
437
- # * {Types::ListDomainsResult#domain_names #DomainNames} => Array&lt;String&gt;
438
- # * {Types::ListDomainsResult#next_token #NextToken} => String
439
- #
440
- # @example Request syntax with placeholder values
441
- # resp = client.list_domains({
442
- # max_number_of_domains: 1,
443
- # next_token: "String",
444
- # })
445
- #
446
- # @example Response structure
447
- # resp.domain_names #=> Array
448
- # resp.domain_names[0] #=> String
449
- # resp.next_token #=> String
450
- # @overload list_domains(params = {})
451
- # @param [Hash] params ({})
452
- def list_domains(params = {}, options = {})
453
- req = build_request(:list_domains, params)
454
- req.send_request(options)
455
- end
426
+ # Returns all of the attributes associated with the specified item.
427
+ # Optionally, the attributes returned can be limited to one or more
428
+ # attributes by specifying an attribute name parameter.
429
+ #
430
+ # If the item does not exist on the replica that was accessed for this
431
+ # operation, an empty set is returned. The system does not return an
432
+ # error as it cannot guarantee the item does not exist on other
433
+ # replicas.
434
+ #
435
+ # @option params [required, String] :domain_name
436
+ # The name of the domain in which to perform the operation.
437
+ #
438
+ # @option params [required, String] :item_name
439
+ # The name of the item.
440
+ #
441
+ # @option params [Array<String>] :attribute_names
442
+ # The names of the attributes.
443
+ #
444
+ # @option params [Boolean] :consistent_read
445
+ # Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If `true`, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read.
446
+ #
447
+ # @return [Types::GetAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
+ #
449
+ # * {Types::GetAttributesResult#attributes #attributes} => Array&lt;Types::Attribute&gt;
450
+ #
451
+ # @example Request syntax with placeholder values
452
+ #
453
+ # resp = client.get_attributes({
454
+ # domain_name: "String", # required
455
+ # item_name: "String", # required
456
+ # attribute_names: ["String"],
457
+ # consistent_read: false,
458
+ # })
459
+ #
460
+ # @example Response structure
461
+ #
462
+ # resp.attributes #=> Array
463
+ # resp.attributes[0].name #=> String
464
+ # resp.attributes[0].alternate_name_encoding #=> String
465
+ # resp.attributes[0].value #=> String
466
+ # resp.attributes[0].alternate_value_encoding #=> String
467
+ #
468
+ # @overload get_attributes(params = {})
469
+ # @param [Hash] params ({})
470
+ def get_attributes(params = {}, options = {})
471
+ req = build_request(:get_attributes, params)
472
+ req.send_request(options)
473
+ end
456
474
 
457
- # The PutAttributes operation creates or replaces attributes in an item.
458
- # The client may specify new attributes using a combination of the
459
- # `Attribute.X.Name` and `Attribute.X.Value` parameters. The client
460
- # specifies the first attribute by the parameters `Attribute.0.Name` and
461
- # `Attribute.0.Value`, the second attribute by the parameters
462
- # `Attribute.1.Name` and `Attribute.1.Value`, and so on.
463
- #
464
- # Attributes are uniquely identified in an item by their name/value
465
- # combination. For example, a single item can have the attributes `\{
466
- # "first_name", "first_value" \}` and `\{ "first_name", second_value"
467
- # \}`. However, it cannot have two attribute instances where both the
468
- # `Attribute.X.Name` and `Attribute.X.Value` are the same.
469
- #
470
- # Optionally, the requestor can supply the `Replace` parameter for each
471
- # individual attribute. Setting this value to `true` causes the new
472
- # attribute value to replace the existing attribute value(s). For
473
- # example, if an item has the attributes `\{ 'a', '1' \}`, `\{ 'b',
474
- # '2'\}` and `\{ 'b', '3' \}` and the requestor calls `PutAttributes`
475
- # using the attributes `\{ 'b', '4' \}` with the `Replace` parameter set
476
- # to true, the final attributes of the item are changed to `\{ 'a', '1'
477
- # \}` and `\{ 'b', '4' \}`, which replaces the previous values of the
478
- # 'b' attribute with the new value.
479
- #
480
- # You cannot specify an empty string as an attribute name.
481
- #
482
- # Because Amazon SimpleDB makes multiple copies of client data and uses
483
- # an eventual consistency update model, an immediate GetAttributes or
484
- # Select operation (read) immediately after a PutAttributes or
485
- # DeleteAttributes operation (write) might not return the updated data.
486
- #
487
- # The following limitations are enforced for this operation: * 256 total
488
- # attribute name-value pairs per item
489
- # * One billion attributes per domain
490
- # * 10 GB of total user data storage per domain
491
- # @option params [required, String] :domain_name
492
- # The name of the domain in which to perform the operation.
493
- # @option params [required, String] :item_name
494
- # The name of the item.
495
- # @option params [required, Array<Types::ReplaceableAttribute>] :attributes
496
- # The list of attributes.
497
- # @option params [Types::UpdateCondition] :expected
498
- # The update condition which, if specified, determines whether the
499
- # specified attributes will be updated or not. The update condition must
500
- # be satisfied in order for this request to be processed and the
501
- # attributes to be updated.
502
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
503
- #
504
- # @example Request syntax with placeholder values
505
- # resp = client.put_attributes({
506
- # domain_name: "String", # required
507
- # item_name: "String", # required
508
- # attributes: [ # required
509
- # {
510
- # name: "String", # required
511
- # value: "String", # required
512
- # replace: false,
513
- # },
514
- # ],
515
- # expected: {
516
- # name: "String",
517
- # value: "String",
518
- # exists: false,
519
- # },
520
- # })
521
- # @overload put_attributes(params = {})
522
- # @param [Hash] params ({})
523
- def put_attributes(params = {}, options = {})
524
- req = build_request(:put_attributes, params)
525
- req.send_request(options)
526
- end
475
+ # The `ListDomains` operation lists all domains associated with the
476
+ # Access Key ID. It returns domain names up to the limit set by
477
+ # [MaxNumberOfDomains](#MaxNumberOfDomains). A [NextToken](#NextToken)
478
+ # is returned if there are more than `MaxNumberOfDomains` domains.
479
+ # Calling `ListDomains` successive times with the `NextToken` provided
480
+ # by the operation returns up to `MaxNumberOfDomains` more domain names
481
+ # with each successive operation call.
482
+ #
483
+ # @option params [Integer] :max_number_of_domains
484
+ # The maximum number of domain names you want returned. The range is 1
485
+ # to 100. The default setting is 100.
486
+ #
487
+ # @option params [String] :next_token
488
+ # A string informing Amazon SimpleDB where to start the next list of
489
+ # domain names.
490
+ #
491
+ # @return [Types::ListDomainsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
492
+ #
493
+ # * {Types::ListDomainsResult#domain_names #domain_names} => Array&lt;String&gt;
494
+ # * {Types::ListDomainsResult#next_token #next_token} => String
495
+ #
496
+ # @example Request syntax with placeholder values
497
+ #
498
+ # resp = client.list_domains({
499
+ # max_number_of_domains: 1,
500
+ # next_token: "String",
501
+ # })
502
+ #
503
+ # @example Response structure
504
+ #
505
+ # resp.domain_names #=> Array
506
+ # resp.domain_names[0] #=> String
507
+ # resp.next_token #=> String
508
+ #
509
+ # @overload list_domains(params = {})
510
+ # @param [Hash] params ({})
511
+ def list_domains(params = {}, options = {})
512
+ req = build_request(:list_domains, params)
513
+ req.send_request(options)
514
+ end
527
515
 
528
- # The `Select` operation returns a set of attributes for `ItemNames`
529
- # that match the select expression. `Select` is similar to the standard
530
- # SQL SELECT statement.
531
- #
532
- # The total size of the response cannot exceed 1 MB in total size.
533
- # Amazon SimpleDB automatically adjusts the number of items returned per
534
- # page to enforce this limit. For example, if the client asks to
535
- # retrieve 2500 items, but each individual item is 10 kB in size, the
536
- # system returns 100 items and an appropriate `NextToken` so the client
537
- # can access the next page of results.
538
- #
539
- # For information on how to construct select expressions, see Using
540
- # Select to Create Amazon SimpleDB Queries in the Developer Guide.
541
- # @option params [required, String] :select_expression
542
- # The expression used to query the domain.
543
- # @option params [String] :next_token
544
- # A string informing Amazon SimpleDB where to start the next list of `ItemNames`.
545
- # @option params [Boolean] :consistent_read
546
- # Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If `true`, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read.
547
- # @return [Types::SelectResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
548
- #
549
- # * {Types::SelectResult#items #Items} => Array&lt;Types::Item&gt;
550
- # * {Types::SelectResult#next_token #NextToken} => String
551
- #
552
- # @example Request syntax with placeholder values
553
- # resp = client.select({
554
- # select_expression: "String", # required
555
- # next_token: "String",
556
- # consistent_read: false,
557
- # })
558
- #
559
- # @example Response structure
560
- # resp.items #=> Array
561
- # resp.items[0].name #=> String
562
- # resp.items[0].alternate_name_encoding #=> String
563
- # resp.items[0].attributes #=> Array
564
- # resp.items[0].attributes[0].name #=> String
565
- # resp.items[0].attributes[0].alternate_name_encoding #=> String
566
- # resp.items[0].attributes[0].value #=> String
567
- # resp.items[0].attributes[0].alternate_value_encoding #=> String
568
- # resp.next_token #=> String
569
- # @overload select(params = {})
570
- # @param [Hash] params ({})
571
- def select(params = {}, options = {})
572
- req = build_request(:select, params)
573
- req.send_request(options)
574
- end
516
+ # The PutAttributes operation creates or replaces attributes in an item.
517
+ # The client may specify new attributes using a combination of the
518
+ # `Attribute.X.Name` and `Attribute.X.Value` parameters. The client
519
+ # specifies the first attribute by the parameters `Attribute.0.Name` and
520
+ # `Attribute.0.Value`, the second attribute by the parameters
521
+ # `Attribute.1.Name` and `Attribute.1.Value`, and so on.
522
+ #
523
+ # Attributes are uniquely identified in an item by their name/value
524
+ # combination. For example, a single item can have the attributes `\{
525
+ # "first_name", "first_value" \}` and `\{ "first_name", second_value"
526
+ # \}`. However, it cannot have two attribute instances where both the
527
+ # `Attribute.X.Name` and `Attribute.X.Value` are the same.
528
+ #
529
+ # Optionally, the requestor can supply the `Replace` parameter for each
530
+ # individual attribute. Setting this value to `true` causes the new
531
+ # attribute value to replace the existing attribute value(s). For
532
+ # example, if an item has the attributes `\{ 'a', '1' \}`, `\{ 'b',
533
+ # '2'\}` and `\{ 'b', '3' \}` and the requestor calls `PutAttributes`
534
+ # using the attributes `\{ 'b', '4' \}` with the `Replace` parameter set
535
+ # to true, the final attributes of the item are changed to `\{ 'a', '1'
536
+ # \}` and `\{ 'b', '4' \}`, which replaces the previous values of the
537
+ # 'b' attribute with the new value.
538
+ #
539
+ # You cannot specify an empty string as an attribute name.
540
+ #
541
+ # Because Amazon SimpleDB makes multiple copies of client data and uses
542
+ # an eventual consistency update model, an immediate GetAttributes or
543
+ # Select operation (read) immediately after a PutAttributes or
544
+ # DeleteAttributes operation (write) might not return the updated data.
545
+ #
546
+ # The following limitations are enforced for this operation: * 256 total
547
+ # attribute name-value pairs per item
548
+ # * One billion attributes per domain
549
+ # * 10 GB of total user data storage per domain
550
+ #
551
+ # @option params [required, String] :domain_name
552
+ # The name of the domain in which to perform the operation.
553
+ #
554
+ # @option params [required, String] :item_name
555
+ # The name of the item.
556
+ #
557
+ # @option params [required, Array<Types::ReplaceableAttribute>] :attributes
558
+ # The list of attributes.
559
+ #
560
+ # @option params [Types::UpdateCondition] :expected
561
+ # The update condition which, if specified, determines whether the
562
+ # specified attributes will be updated or not. The update condition must
563
+ # be satisfied in order for this request to be processed and the
564
+ # attributes to be updated.
565
+ #
566
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
567
+ #
568
+ # @example Request syntax with placeholder values
569
+ #
570
+ # resp = client.put_attributes({
571
+ # domain_name: "String", # required
572
+ # item_name: "String", # required
573
+ # attributes: [ # required
574
+ # {
575
+ # name: "String", # required
576
+ # value: "String", # required
577
+ # replace: false,
578
+ # },
579
+ # ],
580
+ # expected: {
581
+ # name: "String",
582
+ # value: "String",
583
+ # exists: false,
584
+ # },
585
+ # })
586
+ #
587
+ # @overload put_attributes(params = {})
588
+ # @param [Hash] params ({})
589
+ def put_attributes(params = {}, options = {})
590
+ req = build_request(:put_attributes, params)
591
+ req.send_request(options)
592
+ end
575
593
 
576
- # @!endgroup
594
+ # The `Select` operation returns a set of attributes for `ItemNames`
595
+ # that match the select expression. `Select` is similar to the standard
596
+ # SQL SELECT statement.
597
+ #
598
+ # The total size of the response cannot exceed 1 MB in total size.
599
+ # Amazon SimpleDB automatically adjusts the number of items returned per
600
+ # page to enforce this limit. For example, if the client asks to
601
+ # retrieve 2500 items, but each individual item is 10 kB in size, the
602
+ # system returns 100 items and an appropriate `NextToken` so the client
603
+ # can access the next page of results.
604
+ #
605
+ # For information on how to construct select expressions, see Using
606
+ # Select to Create Amazon SimpleDB Queries in the Developer Guide.
607
+ #
608
+ # @option params [required, String] :select_expression
609
+ # The expression used to query the domain.
610
+ #
611
+ # @option params [String] :next_token
612
+ # A string informing Amazon SimpleDB where to start the next list of `ItemNames`.
613
+ #
614
+ # @option params [Boolean] :consistent_read
615
+ # Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If `true`, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read.
616
+ #
617
+ # @return [Types::SelectResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
618
+ #
619
+ # * {Types::SelectResult#items #items} => Array&lt;Types::Item&gt;
620
+ # * {Types::SelectResult#next_token #next_token} => String
621
+ #
622
+ # @example Request syntax with placeholder values
623
+ #
624
+ # resp = client.select({
625
+ # select_expression: "String", # required
626
+ # next_token: "String",
627
+ # consistent_read: false,
628
+ # })
629
+ #
630
+ # @example Response structure
631
+ #
632
+ # resp.items #=> Array
633
+ # resp.items[0].name #=> String
634
+ # resp.items[0].alternate_name_encoding #=> String
635
+ # resp.items[0].attributes #=> Array
636
+ # resp.items[0].attributes[0].name #=> String
637
+ # resp.items[0].attributes[0].alternate_name_encoding #=> String
638
+ # resp.items[0].attributes[0].value #=> String
639
+ # resp.items[0].attributes[0].alternate_value_encoding #=> String
640
+ # resp.next_token #=> String
641
+ #
642
+ # @overload select(params = {})
643
+ # @param [Hash] params ({})
644
+ def select(params = {}, options = {})
645
+ req = build_request(:select, params)
646
+ req.send_request(options)
647
+ end
577
648
 
578
- # @param params ({})
579
- # @api private
580
- def build_request(operation_name, params = {})
581
- handlers = @handlers.for(operation_name)
582
- context = Seahorse::Client::RequestContext.new(
583
- operation_name: operation_name,
584
- operation: config.api.operation(operation_name),
585
- client: self,
586
- params: params,
587
- config: config)
588
- context[:gem_name] = 'aws-sdk-simpledb'
589
- context[:gem_version] = '1.0.0.rc1'
590
- Seahorse::Client::Request.new(handlers, context)
591
- end
649
+ # @!endgroup
592
650
 
593
- # @api private
594
- # @deprecated
595
- def waiter_names
596
- []
597
- end
651
+ # @param params ({})
652
+ # @api private
653
+ def build_request(operation_name, params = {})
654
+ handlers = @handlers.for(operation_name)
655
+ context = Seahorse::Client::RequestContext.new(
656
+ operation_name: operation_name,
657
+ operation: config.api.operation(operation_name),
658
+ client: self,
659
+ params: params,
660
+ config: config)
661
+ context[:gem_name] = 'aws-sdk-simpledb'
662
+ context[:gem_version] = '1.0.0.rc2'
663
+ Seahorse::Client::Request.new(handlers, context)
664
+ end
598
665
 
599
- class << self
666
+ # @api private
667
+ # @deprecated
668
+ def waiter_names
669
+ []
670
+ end
600
671
 
601
- # @api private
602
- attr_reader :identifier
672
+ class << self
603
673
 
604
- # @api private
605
- def errors_module
606
- Errors
607
- end
674
+ # @api private
675
+ attr_reader :identifier
608
676
 
677
+ # @api private
678
+ def errors_module
679
+ Errors
609
680
  end
681
+
610
682
  end
611
683
  end
612
684
  end