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

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.
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