aws-sdk-sqs 1.0.0.rc2 → 1.0.0.rc3

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: 9d232f50e69e2d60d06b6c1f3d6f3cf23caa5532
4
- data.tar.gz: 920800fa031f95339ab16ce4d8f2d23c4373f0b4
3
+ metadata.gz: bace4eb7c364857de074caf3308d3e0927e479b1
4
+ data.tar.gz: 3887799f7fe844ef92a80cde78a5ab9c71a38c95
5
5
  SHA512:
6
- metadata.gz: f86b40ff14e296f74fb63f74257aaab03d022c6f3f927fd69ce5e187aee52cd07dd64e25dd88365f053f78c12bca9a4c5e3a2c64a7c6bdaac15135a7dc84e359
7
- data.tar.gz: 64cf18afe90fc4610e73f9a300b425e643b8ff6df9184c2888544b753dc1a215811033dd62ae30e3fe971399185e3ac74a13d14cf9a8cd4e2988a3c3c85d9d52
6
+ metadata.gz: 99161519210f855b6a5dff2513787bfcbe4a9797a289796f88312053f0baa0fdc962e8de95db67ef8573ad663b4fdac9a6c1730cb7690a758d66980b29c9f260
7
+ data.tar.gz: 0d3592978081380b21235d84dc183e2e36f8c62f392f9a264bf6e961e439d831e342e1f5ea07c478e987fd0ebf1ec73c80733d9dc171bc4d3a9882bbdf4987ed
@@ -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
@@ -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
@@ -25,1582 +25,1783 @@ require 'aws-sdk-sqs/plugins/md5s.rb'
25
25
 
26
26
  Aws::Plugins::GlobalConfiguration.add_identifier(:sqs)
27
27
 
28
- module Aws
29
- module SQS
30
- class Client < Seahorse::Client::Base
28
+ module Aws::SQS
29
+ class Client < Seahorse::Client::Base
31
30
 
32
- include Aws::ClientStubs
31
+ include Aws::ClientStubs
33
32
 
34
- @identifier = :sqs
33
+ @identifier = :sqs
35
34
 
36
- set_api(ClientApi::API)
35
+ set_api(ClientApi::API)
37
36
 
38
- add_plugin(Seahorse::Client::Plugins::ContentLength)
39
- add_plugin(Aws::Plugins::CredentialsConfiguration)
40
- add_plugin(Aws::Plugins::Logging)
41
- add_plugin(Aws::Plugins::ParamConverter)
42
- add_plugin(Aws::Plugins::ParamValidator)
43
- add_plugin(Aws::Plugins::UserAgent)
44
- add_plugin(Aws::Plugins::HelpfulSocketErrors)
45
- add_plugin(Aws::Plugins::RetryErrors)
46
- add_plugin(Aws::Plugins::GlobalConfiguration)
47
- add_plugin(Aws::Plugins::RegionalEndpoint)
48
- add_plugin(Aws::Plugins::ResponsePaging)
49
- add_plugin(Aws::Plugins::StubResponses)
50
- add_plugin(Aws::Plugins::IdempotencyToken)
51
- add_plugin(Aws::Plugins::SignatureV4)
52
- add_plugin(Aws::Plugins::Protocols::Query)
53
- add_plugin(Aws::SQS::Plugins::QueueUrls)
54
- add_plugin(Aws::SQS::Plugins::Md5s)
37
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
38
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
39
+ add_plugin(Aws::Plugins::Logging)
40
+ add_plugin(Aws::Plugins::ParamConverter)
41
+ add_plugin(Aws::Plugins::ParamValidator)
42
+ add_plugin(Aws::Plugins::UserAgent)
43
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
44
+ add_plugin(Aws::Plugins::RetryErrors)
45
+ add_plugin(Aws::Plugins::GlobalConfiguration)
46
+ add_plugin(Aws::Plugins::RegionalEndpoint)
47
+ add_plugin(Aws::Plugins::ResponsePaging)
48
+ add_plugin(Aws::Plugins::StubResponses)
49
+ add_plugin(Aws::Plugins::IdempotencyToken)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::Query)
52
+ add_plugin(Aws::SQS::Plugins::QueueUrls)
53
+ add_plugin(Aws::SQS::Plugins::Md5s)
55
54
 
56
- # @option options [required, Aws::CredentialProvider] :credentials
57
- # Your AWS credentials. This can be an instance of any one of the
58
- # following classes:
59
- #
60
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
61
- # credentials.
62
- #
63
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
64
- # from an EC2 IMDS on an EC2 instance.
65
- #
66
- # * `Aws::SharedCredentials` - Used for loading credentials from a
67
- # shared file, such as `~/.aws/config`.
68
- #
69
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
70
- #
71
- # When `:credentials` are not configured directly, the following
72
- # locations will be searched for credentials:
73
- #
74
- # * `Aws.config[:credentials]`
75
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
76
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
77
- # * `~/.aws/credentials`
78
- # * `~/.aws/config`
79
- # * EC2 IMDS instance profile - When used by default, the timeouts are
80
- # very aggressive. Construct and pass an instance of
81
- # `Aws::InstanceProfileCredentails` to enable retries and extended
82
- # timeouts.
83
- # @option options [required, String] :region
84
- # The AWS region to connect to. The configured `:region` is
85
- # used to determine the service `:endpoint`. When not passed,
86
- # a default `:region` is search for in the following locations:
87
- #
88
- # * `Aws.config[:region]`
89
- # * `ENV['AWS_REGION']`
90
- # * `ENV['AMAZON_REGION']`
91
- # * `ENV['AWS_DEFAULT_REGION']`
92
- # * `~/.aws/credentials`
93
- # * `~/.aws/config`
94
- # @option options [String] :access_key_id
95
- # @option options [Boolean] :convert_params (true)
96
- # When `true`, an attempt is made to coerce request parameters into
97
- # the required types.
98
- # @option options [String] :endpoint
99
- # The client endpoint is normally constructed from the `:region`
100
- # option. You should only configure an `:endpoint` when connecting
101
- # to test endpoints. This should be avalid HTTP(S) URI.
102
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
103
- # The log formatter.
104
- # @option options [Symbol] :log_level (:info)
105
- # The log level to send messages to the `:logger` at.
106
- # @option options [Logger] :logger
107
- # The Logger instance to send log messages to. If this option
108
- # is not set, logging will be disabled.
109
- # @option options [String] :profile ("default")
110
- # Used when loading credentials from the shared credentials file
111
- # at HOME/.aws/credentials. When not specified, 'default' is used.
112
- # @option options [Integer] :retry_limit (3)
113
- # The maximum number of times to retry failed requests. Only
114
- # ~ 500 level server errors and certain ~ 400 level client errors
115
- # are retried. Generally, these are throttling errors, data
116
- # checksum errors, networking errors, timeout errors and auth
117
- # errors from expired credentials.
118
- # @option options [String] :secret_access_key
119
- # @option options [String] :session_token
120
- # @option options [Boolean] :stub_responses (false)
121
- # Causes the client to return stubbed responses. By default
122
- # fake responses are generated and returned. You can specify
123
- # the response data to return or errors to raise by calling
124
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
125
- #
126
- # ** Please note ** When response stubbing is enabled, no HTTP
127
- # requests are made, and retries are disabled.
128
- # @option options [Boolean] :validate_params (true)
129
- # When `true`, request parameters are validated before
130
- # sending the request.
131
- # @option options [Boolean] :verify_checksums (true)
132
- # When `true` MD5 checksums will be computed for messages sent to
133
- # an SQS queue and matched against MD5 checksums returned by Amazon SQS.
134
- # `Aws::Errors::Checksum` errors are raised for cases where checksums do
135
- # not match.
136
- def initialize(*args)
137
- super
138
- end
139
-
140
- # @!group API Operations
55
+ # @option options [required, Aws::CredentialProvider] :credentials
56
+ # Your AWS credentials. This can be an instance of any one of the
57
+ # following classes:
58
+ #
59
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
60
+ # credentials.
61
+ #
62
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
63
+ # from an EC2 IMDS on an EC2 instance.
64
+ #
65
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
66
+ # shared file, such as `~/.aws/config`.
67
+ #
68
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
69
+ #
70
+ # When `:credentials` are not configured directly, the following
71
+ # locations will be searched for credentials:
72
+ #
73
+ # * `Aws.config[:credentials]`
74
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
75
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
76
+ # * `~/.aws/credentials`
77
+ # * `~/.aws/config`
78
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
79
+ # very aggressive. Construct and pass an instance of
80
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
81
+ # timeouts.
82
+ #
83
+ # @option options [required, String] :region
84
+ # The AWS region to connect to. The configured `:region` is
85
+ # used to determine the service `:endpoint`. When not passed,
86
+ # a default `:region` is search for in the following locations:
87
+ #
88
+ # * `Aws.config[:region]`
89
+ # * `ENV['AWS_REGION']`
90
+ # * `ENV['AMAZON_REGION']`
91
+ # * `ENV['AWS_DEFAULT_REGION']`
92
+ # * `~/.aws/credentials`
93
+ # * `~/.aws/config`
94
+ #
95
+ # @option options [String] :access_key_id
96
+ #
97
+ # @option options [Boolean] :convert_params (true)
98
+ # When `true`, an attempt is made to coerce request parameters into
99
+ # the required types.
100
+ #
101
+ # @option options [String] :endpoint
102
+ # The client endpoint is normally constructed from the `:region`
103
+ # option. You should only configure an `:endpoint` when connecting
104
+ # to test endpoints. This should be avalid HTTP(S) URI.
105
+ #
106
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
107
+ # The log formatter.
108
+ #
109
+ # @option options [Symbol] :log_level (:info)
110
+ # The log level to send messages to the `:logger` at.
111
+ #
112
+ # @option options [Logger] :logger
113
+ # The Logger instance to send log messages to. If this option
114
+ # is not set, logging will be disabled.
115
+ #
116
+ # @option options [String] :profile ("default")
117
+ # Used when loading credentials from the shared credentials file
118
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
119
+ #
120
+ # @option options [Integer] :retry_limit (3)
121
+ # The maximum number of times to retry failed requests. Only
122
+ # ~ 500 level server errors and certain ~ 400 level client errors
123
+ # are retried. Generally, these are throttling errors, data
124
+ # checksum errors, networking errors, timeout errors and auth
125
+ # errors from expired credentials.
126
+ #
127
+ # @option options [String] :secret_access_key
128
+ #
129
+ # @option options [String] :session_token
130
+ #
131
+ # @option options [Boolean] :stub_responses (false)
132
+ # Causes the client to return stubbed responses. By default
133
+ # fake responses are generated and returned. You can specify
134
+ # the response data to return or errors to raise by calling
135
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
136
+ #
137
+ # ** Please note ** When response stubbing is enabled, no HTTP
138
+ # requests are made, and retries are disabled.
139
+ #
140
+ # @option options [Boolean] :validate_params (true)
141
+ # When `true`, request parameters are validated before
142
+ # sending the request.
143
+ #
144
+ # @option options [Boolean] :verify_checksums (true)
145
+ # When `true` MD5 checksums will be computed for messages sent to
146
+ # an SQS queue and matched against MD5 checksums returned by Amazon SQS.
147
+ # `Aws::Errors::Checksum` errors are raised for cases where checksums do
148
+ # not match.
149
+ #
150
+ def initialize(*args)
151
+ super
152
+ end
141
153
 
142
- # Adds a permission to a queue for a specific [principal][1]. This
143
- # allows for sharing access to the queue.
144
- #
145
- # When you create a queue, you have full control access rights for the
146
- # queue. Only you (as owner of the queue) can grant or deny permissions
147
- # to the queue. For more information about these permissions, see
148
- # [Shared Queues][2] in the *Amazon SQS Developer Guide*.
149
- #
150
- # <note markdown="1"> `AddPermission` writes an Amazon SQS-generated policy. If you want to
151
- # write your own policy, use SetQueueAttributes to upload your policy.
152
- # For more information about writing your own policy, see [Using The
153
- # Access Policy Language][3] in the *Amazon SQS Developer Guide*.
154
- #
155
- # </note>
156
- #
157
- # <note markdown="1"> Some API actions take lists of parameters. These lists are specified
158
- # using the `param.n` notation. Values of `n` are integers starting from
159
- # 1. For example, a parameter list with two elements looks like this:
160
- #
161
- # </note>
162
- #
163
- # `&amp;Attribute.1=this`
164
- #
165
- # `&amp;Attribute.2=that`
166
- #
167
- #
168
- #
169
- # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
170
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html
171
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AccessPolicyLanguage.html
172
- # @option params [required, String] :queue_url
173
- # The URL of the Amazon SQS queue to take action on.
174
- #
175
- # Queue URLs are case-sensitive.
176
- # @option params [required, String] :label
177
- # The unique identification of the permission you're setting (e.g.,
178
- # `AliceSendMessage`). Constraints: Maximum 80 characters; alphanumeric
179
- # characters, hyphens (-), and underscores (\_) are allowed.
180
- # @option params [required, Array<String>] :aws_account_ids
181
- # The AWS account number of the [principal][1] who will be given
182
- # permission. The principal must have an AWS account, but does not need
183
- # to be signed up for Amazon SQS. For information about locating the AWS
184
- # account identification, see [Your AWS Identifiers][2] in the *Amazon
185
- # SQS Developer Guide*.
186
- #
187
- #
188
- #
189
- # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
190
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AWSCredentials.html
191
- # @option params [required, Array<String>] :actions
192
- # The action the client wants to allow for the specified principal. The
193
- # following are valid values: `* | SendMessage | ReceiveMessage |
194
- # DeleteMessage | ChangeMessageVisibility | GetQueueAttributes |
195
- # GetQueueUrl`. For more information about these actions, see
196
- # [Understanding Permissions][1] in the *Amazon SQS Developer Guide*.
197
- #
198
- # Specifying `SendMessage`, `DeleteMessage`, or
199
- # `ChangeMessageVisibility` for the `ActionName.n` also grants
200
- # permissions for the corresponding batch versions of those actions:
201
- # `SendMessageBatch`, `DeleteMessageBatch`, and
202
- # `ChangeMessageVisibilityBatch`.
203
- #
204
- #
205
- #
206
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html#PermissionTypes
207
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
208
- #
209
- # @example Request syntax with placeholder values
210
- # resp = client.add_permission({
211
- # queue_url: "String", # required
212
- # label: "String", # required
213
- # aws_account_ids: ["String"], # required
214
- # actions: ["String"], # required
215
- # })
216
- # @overload add_permission(params = {})
217
- # @param [Hash] params ({})
218
- def add_permission(params = {}, options = {})
219
- req = build_request(:add_permission, params)
220
- req.send_request(options)
221
- end
154
+ # @!group API Operations
222
155
 
223
- # Changes the visibility timeout of a specified message in a queue to a
224
- # new value. The maximum allowed timeout value you can set the value to
225
- # is 12 hours. This means you can't extend the timeout of a message in
226
- # an existing queue to more than a total visibility timeout of 12 hours.
227
- # (For more information visibility timeout, see [Visibility Timeout][1]
228
- # in the *Amazon SQS Developer Guide*.)
229
- #
230
- # For example, let's say you have a message and its default message
231
- # visibility timeout is 5 minutes. After 3 minutes, you call
232
- # `ChangeMessageVisiblity` with a timeout of 10 minutes. At that time,
233
- # the timeout for the message would be extended by 10 minutes beyond the
234
- # time of the ChangeMessageVisibility call. This results in a total
235
- # visibility timeout of 13 minutes. You can continue to call
236
- # ChangeMessageVisibility to extend the visibility timeout to a maximum
237
- # of 12 hours. If you try to extend beyond 12 hours, the request will be
238
- # rejected.
239
- #
240
- # A message is considered to be *in flight* after it's received from a
241
- # queue by a consumer, but not yet deleted from the queue.
242
- #
243
- # For standard queues, there can be a maximum of 120,000 inflight
244
- # messages per queue. If you reach this limit, Amazon SQS returns the
245
- # `OverLimit` error message. To avoid reaching the limit, you should
246
- # delete messages from the queue after they're processed. You can also
247
- # increase the number of queues you use to process your messages.
248
- #
249
- # For FIFO queues, there can be a maximum of 20,000 inflight messages
250
- # per queue. If you reach this limit, Amazon SQS returns no error
251
- # messages.
252
- #
253
- # If you attempt to set the `VisibilityTimeout` to an amount more than
254
- # the maximum time left, Amazon SQS returns an error. It will not
255
- # automatically recalculate and increase the timeout to the maximum time
256
- # remaining.
257
- #
258
- # Unlike with a queue, when you change the visibility timeout for a
259
- # specific message, that timeout value is applied immediately but is not
260
- # saved in memory for that message. If you don't delete a message after
261
- # it is received, the visibility timeout for the message the next time
262
- # it is received reverts to the original timeout value, not the value
263
- # you set with the `ChangeMessageVisibility` action.
264
- #
265
- #
266
- #
267
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
268
- # @option params [required, String] :queue_url
269
- # The URL of the Amazon SQS queue to take action on.
270
- #
271
- # Queue URLs are case-sensitive.
272
- # @option params [required, String] :receipt_handle
273
- # The receipt handle associated with the message whose visibility
274
- # timeout should be changed. This parameter is returned by the
275
- # ReceiveMessage action.
276
- # @option params [required, Integer] :visibility_timeout
277
- # The new value (in seconds - from 0 to 43200 - maximum 12 hours) for
278
- # the message's visibility timeout.
279
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
280
- #
281
- # @example Request syntax with placeholder values
282
- # resp = client.change_message_visibility({
283
- # queue_url: "String", # required
284
- # receipt_handle: "String", # required
285
- # visibility_timeout: 1, # required
286
- # })
287
- # @overload change_message_visibility(params = {})
288
- # @param [Hash] params ({})
289
- def change_message_visibility(params = {}, options = {})
290
- req = build_request(:change_message_visibility, params)
291
- req.send_request(options)
292
- end
156
+ # Adds a permission to a queue for a specific [principal][1]. This
157
+ # allows sharing access to the queue.
158
+ #
159
+ # When you create a queue, you have full control access rights for the
160
+ # queue. Only you, the owner of the queue, can grant or deny permissions
161
+ # to the queue. For more information about these permissions, see
162
+ # [Shared Queues][2] in the *Amazon SQS Developer Guide*.
163
+ #
164
+ # <note markdown="1"> `AddPermission` writes an Amazon-SQS-generated policy. If you want to
165
+ # write your own policy, use ` SetQueueAttributes ` to upload your
166
+ # policy. For more information about writing your own policy, see [Using
167
+ # The Access Policy Language][3] in the *Amazon SQS Developer Guide*.
168
+ #
169
+ # Some actions take lists of parameters. These lists are specified using
170
+ # the `param.n` notation. Values of `n` are integers starting from 1.
171
+ # For example, a parameter list with two elements looks like this:
172
+ #
173
+ # `&Attribute.1=this`
174
+ #
175
+ # `&Attribute.2=that`
176
+ #
177
+ # </note>
178
+ #
179
+ #
180
+ #
181
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
182
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html
183
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AccessPolicyLanguage.html
184
+ #
185
+ # @option params [required, String] :queue_url
186
+ # The URL of the Amazon SQS queue to which permissions are added.
187
+ #
188
+ # Queue URLs are case-sensitive.
189
+ #
190
+ # @option params [required, String] :label
191
+ # The unique identification of the permission you're setting (for
192
+ # example, `AliceSendMessage`). Maximum 80 characters. Allowed
193
+ # characters include alphanumeric characters, hyphens (`-`), and
194
+ # underscores (`_`).
195
+ #
196
+ # @option params [required, Array<String>] :aws_account_ids
197
+ # The AWS account number of the [principal][1] who is given permission.
198
+ # The principal must have an AWS account, but does not need to be signed
199
+ # up for Amazon SQS. For information about locating the AWS account
200
+ # identification, see [Your AWS Identifiers][2] in the *Amazon SQS
201
+ # Developer Guide*.
202
+ #
203
+ #
204
+ #
205
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
206
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AWSCredentials.html
207
+ #
208
+ # @option params [required, Array<String>] :actions
209
+ # The action the client wants to allow for the specified principal. The
210
+ # following values are valid:
211
+ #
212
+ # * `*`
213
+ #
214
+ # * `ChangeMessageVisibility`
215
+ #
216
+ # * `DeleteMessage`
217
+ #
218
+ # * `GetQueueAttributes`
219
+ #
220
+ # * `GetQueueUrl`
221
+ #
222
+ # * `ReceiveMessage`
223
+ #
224
+ # * `SendMessage`
225
+ #
226
+ # For more information about these actions, see [Understanding
227
+ # Permissions][1] in the *Amazon SQS Developer Guide*.
228
+ #
229
+ # Specifying `SendMessage`, `DeleteMessage`, or
230
+ # `ChangeMessageVisibility` for `ActionName.n` also grants permissions
231
+ # for the corresponding batch versions of those actions:
232
+ # `SendMessageBatch`, `DeleteMessageBatch`, and
233
+ # `ChangeMessageVisibilityBatch`.
234
+ #
235
+ #
236
+ #
237
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html#PermissionTypes
238
+ #
239
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
240
+ #
241
+ # @example Request syntax with placeholder values
242
+ #
243
+ # resp = client.add_permission({
244
+ # queue_url: "String", # required
245
+ # label: "String", # required
246
+ # aws_account_ids: ["String"], # required
247
+ # actions: ["String"], # required
248
+ # })
249
+ #
250
+ # @overload add_permission(params = {})
251
+ # @param [Hash] params ({})
252
+ def add_permission(params = {}, options = {})
253
+ req = build_request(:add_permission, params)
254
+ req.send_request(options)
255
+ end
293
256
 
294
- # Changes the visibility timeout of multiple messages. This is a batch
295
- # version of ChangeMessageVisibility. The result of the action on each
296
- # message is reported individually in the response. You can send up to
297
- # 10 ChangeMessageVisibility requests with each
298
- # `ChangeMessageVisibilityBatch` action.
299
- #
300
- # Because the batch request can result in a combination of successful
301
- # and unsuccessful actions, you should check for batch errors even when
302
- # the call returns an HTTP status code of 200.
303
- #
304
- # <note markdown="1"> Some API actions take lists of parameters. These lists are specified
305
- # using the `param.n` notation. Values of `n` are integers starting from
306
- # 1. For example, a parameter list with two elements looks like this:
307
- #
308
- # </note>
309
- #
310
- # `&amp;Attribute.1=this`
311
- #
312
- # `&amp;Attribute.2=that`
313
- # @option params [required, String] :queue_url
314
- # The URL of the Amazon SQS queue to take action on.
315
- #
316
- # Queue URLs are case-sensitive.
317
- # @option params [required, Array<Types::ChangeMessageVisibilityBatchRequestEntry>] :entries
318
- # A list of receipt handles of the messages for which the visibility
319
- # timeout must be changed.
320
- # @return [Types::ChangeMessageVisibilityBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
321
- #
322
- # * {Types::ChangeMessageVisibilityBatchResult#successful #Successful} => Array&lt;Types::ChangeMessageVisibilityBatchResultEntry&gt;
323
- # * {Types::ChangeMessageVisibilityBatchResult#failed #Failed} => Array&lt;Types::BatchResultErrorEntry&gt;
324
- #
325
- # @example Request syntax with placeholder values
326
- # resp = client.change_message_visibility_batch({
327
- # queue_url: "String", # required
328
- # entries: [ # required
329
- # {
330
- # id: "String", # required
331
- # receipt_handle: "String", # required
332
- # visibility_timeout: 1,
333
- # },
334
- # ],
335
- # })
336
- #
337
- # @example Response structure
338
- # resp.successful #=> Array
339
- # resp.successful[0].id #=> String
340
- # resp.failed #=> Array
341
- # resp.failed[0].id #=> String
342
- # resp.failed[0].sender_fault #=> Boolean
343
- # resp.failed[0].code #=> String
344
- # resp.failed[0].message #=> String
345
- # @overload change_message_visibility_batch(params = {})
346
- # @param [Hash] params ({})
347
- def change_message_visibility_batch(params = {}, options = {})
348
- req = build_request(:change_message_visibility_batch, params)
349
- req.send_request(options)
350
- end
257
+ # Changes the visibility timeout of a specified message in a queue to a
258
+ # new value. The maximum allowed timeout value is 12 hours. Thus, you
259
+ # can't extend the timeout of a message in an existing queue to more
260
+ # than a total visibility timeout of 12 hours. For more information, see
261
+ # [Visibility Timeout][1] in the *Amazon SQS Developer Guide*.
262
+ #
263
+ # For example, you have a message and with the default visibility
264
+ # timeout of 5 minutes. After 3 minutes, you call
265
+ # `ChangeMessageVisiblity` with a timeout of 10 minutes. At that time,
266
+ # the timeout for the message is extended by 10 minutes beyond the time
267
+ # of the `ChangeMessageVisibility` action. This results in a total
268
+ # visibility timeout of 13 minutes. You can continue to call the
269
+ # `ChangeMessageVisibility` to extend the visibility timeout to a
270
+ # maximum of 12 hours. If you try to extend the visibility timeout
271
+ # beyond 12 hours, your request is rejected.
272
+ #
273
+ # A message is considered to be *in flight* after it's received from a
274
+ # queue by a consumer, but not yet deleted from the queue.
275
+ #
276
+ # For standard queues, there can be a maximum of 120,000 inflight
277
+ # messages per queue. If you reach this limit, Amazon SQS returns the
278
+ # `OverLimit` error message. To avoid reaching the limit, you should
279
+ # delete messages from the queue after they're processed. You can also
280
+ # increase the number of queues you use to process your messages.
281
+ #
282
+ # For FIFO queues, there can be a maximum of 20,000 inflight messages
283
+ # per queue. If you reach this limit, Amazon SQS returns no error
284
+ # messages.
285
+ #
286
+ # If you attempt to set the `VisibilityTimeout` to a value greater than
287
+ # the maximum time left, Amazon SQS returns an error. Amazon SQS
288
+ # doesn't automatically recalculate and increase the timeout to the
289
+ # maximum remaining time.
290
+ #
291
+ # Unlike with a queue, when you change the visibility timeout for a
292
+ # specific message the timeout value is applied immediately but isn't
293
+ # saved in memory for that message. If you don't delete a message after
294
+ # it is received, the visibility timeout for the message reverts to the
295
+ # original timeout value (not to the value you set using the
296
+ # `ChangeMessageVisibility` action) the next time the message is
297
+ # received.
298
+ #
299
+ #
300
+ #
301
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
302
+ #
303
+ # @option params [required, String] :queue_url
304
+ # The URL of the Amazon SQS queue whose message's visibility is
305
+ # changed.
306
+ #
307
+ # Queue URLs are case-sensitive.
308
+ #
309
+ # @option params [required, String] :receipt_handle
310
+ # The receipt handle associated with the message whose visibility
311
+ # timeout is changed. This parameter is returned by the ` ReceiveMessage
312
+ # ` action.
313
+ #
314
+ # @option params [required, Integer] :visibility_timeout
315
+ # The new value for the message's visibility timeout (in seconds).
316
+ # Values values: `0` to `43200`. Maximum: 12 hours.
317
+ #
318
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
319
+ #
320
+ # @example Request syntax with placeholder values
321
+ #
322
+ # resp = client.change_message_visibility({
323
+ # queue_url: "String", # required
324
+ # receipt_handle: "String", # required
325
+ # visibility_timeout: 1, # required
326
+ # })
327
+ #
328
+ # @overload change_message_visibility(params = {})
329
+ # @param [Hash] params ({})
330
+ def change_message_visibility(params = {}, options = {})
331
+ req = build_request(:change_message_visibility, params)
332
+ req.send_request(options)
333
+ end
351
334
 
352
- # Creates a new standard or FIFO queue or returns the URL of an existing
353
- # queue. You can pass one or more attributes in the request.
354
- #
355
- # * If you don't specify the `FifoQueue` attribute, Amazon SQS creates
356
- # a standard queue.
357
- #
358
- # <note markdown="1"> You can't change the queue type after you create it and you can't
359
- # convert an existing standard queue into a FIFO queue. You must
360
- # either create a new FIFO queue for your application or delete your
361
- # existing standard queue and recreate it as a FIFO queue. For more
362
- # information, see [ Moving From a Standard Queue to a FIFO Queue][1]
363
- # in the *Amazon SQS Developer Guide*.
364
- #
365
- # </note>
366
- #
367
- # * If you don't provide a value for an attribute, the queue is created
368
- # with the default value for the attribute.
369
- #
370
- # * If you delete a queue, you must wait at least 60 seconds before
371
- # creating a queue with the same name.
372
- #
373
- # To successfully create a new queue, you must provide a queue name that
374
- # adheres to the [limits related to queues][2] and is unique within the
375
- # scope of your queues.
376
- #
377
- # To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires
378
- # only the `QueueName` parameter.
379
- #
380
- # * If you provide the name of an existing queue along with the exact
381
- # names and values of all the queue's attributes, `CreateQueue`
382
- # returns the queue URL for the existing queue.
383
- #
384
- # * If the queue name, attribute names, or attribute values don't match
385
- # an existing queue, `CreateQueue` returns an error.
386
- #
387
- # Some API actions take lists of parameters. Specify these lists using
388
- # the `param.n` notation. Values of `n` are integers starting from 1.
389
- # The following is an example of a parameter list with two elements:
390
- #
391
- # `&amp;Attribute.1=this`
392
- #
393
- # `&amp;Attribute.2=that`
394
- #
395
- #
396
- #
397
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-moving
398
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
399
- # @option params [required, String] :queue_name
400
- # The name of the new queue. The following limits apply to this name:
401
- #
402
- # * A queue name can have up to 80 characters.
403
- #
404
- # * The following are accepted: alphanumeric chatacters, hyphens (`-`),
405
- # and underscores (`_`).
406
- #
407
- # * A FIFO queue name must end with the `.fifo` suffix.
408
- #
409
- # Queue names are case-sensitive.
410
- # @option params [Hash<String,String>] :attributes
411
- # A map of attributes with their corresponding values.
412
- #
413
- # The following lists the names, descriptions, and values of the special
414
- # request parameters that the `CreateQueue` action uses:
415
- #
416
- # * `DelaySeconds` - The number of seconds for which the delivery of all
417
- # messages in the queue is delayed. An integer from 0 to 900 (15
418
- # minutes). The default is 0 (zero).
419
- #
420
- # * `MaximumMessageSize` - The limit of how many bytes a message can
421
- # contain before Amazon SQS rejects it. An integer from 1,024 bytes (1
422
- # KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256
423
- # KiB).
424
- #
425
- # * `MessageRetentionPeriod` - The number of seconds for which Amazon
426
- # SQS retains a message. An integer representing seconds, from 60 (1
427
- # minute) to 120,9600 (14 days). The default is 345,600 (4 days).
428
- #
429
- # * `Policy` - The queue's policy. A valid AWS policy. For more
430
- # information about policy structure, see [Overview of AWS IAM
431
- # Policies][1] in the *Amazon IAM User Guide*.
432
- #
433
- # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which a
434
- # ReceiveMessage action will wait for a message to arrive. An integer
435
- # from 0 to 20 (seconds). The default is 0.
436
- #
437
- # * `RedrivePolicy` - The parameters for the dead letter queue
438
- # functionality of the source queue. For more information about the
439
- # redrive policy and dead letter queues, see [Using Amazon SQS Dead
440
- # Letter Queues][2] in the *Amazon SQS Developer Guide*.
441
- #
442
- # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
443
- # Similarly, the dead letter queue of a standard queue must also be a
444
- # standard queue.
445
- #
446
- # </note>
447
- #
448
- # * `VisibilityTimeout` - The visibility timeout for the queue. An
449
- # integer from 0 to 43200 (12 hours). The default is 30. For more
450
- # information about the visibility timeout, see [Visibility
451
- # Timeout][3] in the *Amazon SQS Developer Guide*.
452
- #
453
- # The following attributes apply only to [FIFO (first-in-first-out)
454
- # queues][4]\:
455
- #
456
- # * `FifoQueue` - Designates a queue as FIFO. You can provide this
457
- # attribute only during queue creation; you can't change it for an
458
- # existing queue. When you set this attribute, you must provide a
459
- # `MessageGroupId` explicitly.
460
- #
461
- # For more information, see [FIFO Queue Logic][5] in the *Amazon SQS
462
- # Developer Guide*.
463
- #
464
- # * `ContentBasedDeduplication` - Enables content-based deduplication.
465
- # For more information, see [Exactly-Once Processing][6] in the
466
- # *Amazon SQS Developer Guide*.
467
- #
468
- # * Every message must have a unique `MessageDeduplicationId`,
469
- #
470
- # * You may provide a `MessageDeduplicationId` explicitly.
471
- #
472
- # * If you aren't able to provide a `MessageDeduplicationId` and
473
- # you enable `ContentBasedDeduplication` for your queue, Amazon
474
- # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
475
- # using the body of the message (but not the attributes of the
476
- # message).
477
- #
478
- # * If you don't provide a `MessageDeduplicationId` and the queue
479
- # doesn't have `ContentBasedDeduplication` set, the action fails
480
- # with an error.
481
- #
482
- # * If the queue has `ContentBasedDeduplication` set, your
483
- # `MessageDeduplicationId` overrides the generated one.
484
- #
485
- # * When `ContentBasedDeduplication` is in effect, messages with
486
- # identical content sent within the deduplication interval are
487
- # treated as duplicates and only one copy of the message is
488
- # delivered.
489
- #
490
- # * You can also use `ContentBasedDeduplication` for messages with
491
- # identical content to be treated as duplicates.
492
- #
493
- # * If you send one message with `ContentBasedDeduplication` enabled
494
- # and then another message with a `MessageDeduplicationId` that is
495
- # the same as the one generated for the first
496
- # `MessageDeduplicationId`, the two messages are treated as
497
- # duplicates and only one copy of the message is delivered.
498
- #
499
- # Any other valid special request parameters that are specified (such as
500
- # `ApproximateNumberOfMessages`, `ApproximateNumberOfMessagesDelayed`,
501
- # `ApproximateNumberOfMessagesNotVisible`, `CreatedTimestamp`,
502
- # `LastModifiedTimestamp`, and `QueueArn`) will be ignored.
503
- #
504
- #
505
- #
506
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
507
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
508
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
509
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
510
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
511
- # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
512
- # @return [Types::CreateQueueResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
513
- #
514
- # * {Types::CreateQueueResult#queue_url #QueueUrl} => String
515
- #
516
- # @example Request syntax with placeholder values
517
- # resp = client.create_queue({
518
- # queue_name: "String", # required
519
- # attributes: {
520
- # "All" => "String",
521
- # },
522
- # })
523
- #
524
- # @example Response structure
525
- # resp.queue_url #=> String
526
- # @overload create_queue(params = {})
527
- # @param [Hash] params ({})
528
- def create_queue(params = {}, options = {})
529
- req = build_request(:create_queue, params)
530
- req.send_request(options)
531
- end
335
+ # Changes the visibility timeout of multiple messages. This is a batch
336
+ # version of ` ChangeMessageVisibility `. The result of the action on
337
+ # each message is reported individually in the response. You can send up
338
+ # to 10 ` ChangeMessageVisibility ` requests with each
339
+ # `ChangeMessageVisibilityBatch` action.
340
+ #
341
+ # Because the batch request can result in a combination of successful
342
+ # and unsuccessful actions, you should check for batch errors even when
343
+ # the call returns an HTTP status code of `200`.
344
+ #
345
+ # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
346
+ # the `param.n` notation. Values of `n` are integers starting from 1.
347
+ # For example, a parameter list with two elements looks like this:
348
+ #
349
+ # `&Attribute.1=this`
350
+ #
351
+ # `&Attribute.2=that`
352
+ #
353
+ # </note>
354
+ #
355
+ # @option params [required, String] :queue_url
356
+ # The URL of the Amazon SQS queue whose messages' visibility is
357
+ # changed.
358
+ #
359
+ # Queue URLs are case-sensitive.
360
+ #
361
+ # @option params [required, Array<Types::ChangeMessageVisibilityBatchRequestEntry>] :entries
362
+ # A list of receipt handles of the messages for which the visibility
363
+ # timeout must be changed.
364
+ #
365
+ # @return [Types::ChangeMessageVisibilityBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
366
+ #
367
+ # * {Types::ChangeMessageVisibilityBatchResult#successful #successful} => Array&lt;Types::ChangeMessageVisibilityBatchResultEntry&gt;
368
+ # * {Types::ChangeMessageVisibilityBatchResult#failed #failed} => Array&lt;Types::BatchResultErrorEntry&gt;
369
+ #
370
+ # @example Request syntax with placeholder values
371
+ #
372
+ # resp = client.change_message_visibility_batch({
373
+ # queue_url: "String", # required
374
+ # entries: [ # required
375
+ # {
376
+ # id: "String", # required
377
+ # receipt_handle: "String", # required
378
+ # visibility_timeout: 1,
379
+ # },
380
+ # ],
381
+ # })
382
+ #
383
+ # @example Response structure
384
+ #
385
+ # resp.successful #=> Array
386
+ # resp.successful[0].id #=> String
387
+ # resp.failed #=> Array
388
+ # resp.failed[0].id #=> String
389
+ # resp.failed[0].sender_fault #=> Boolean
390
+ # resp.failed[0].code #=> String
391
+ # resp.failed[0].message #=> String
392
+ #
393
+ # @overload change_message_visibility_batch(params = {})
394
+ # @param [Hash] params ({})
395
+ def change_message_visibility_batch(params = {}, options = {})
396
+ req = build_request(:change_message_visibility_batch, params)
397
+ req.send_request(options)
398
+ end
532
399
 
533
- # Deletes the specified message from the specified queue. You specify
534
- # the message by using the message's `receipt handle` and not the
535
- # `message ID` you received when you sent the message. Even if the
536
- # message is locked by another reader due to the visibility timeout
537
- # setting, it is still deleted from the queue. If you leave a message in
538
- # the queue for longer than the queue's configured retention period,
539
- # Amazon SQS automatically deletes it.
540
- #
541
- # <note markdown="1"> The receipt handle is associated with a specific instance of receiving
542
- # the message. If you receive a message more than once, the receipt
543
- # handle you get each time you receive the message is different. When
544
- # you request `DeleteMessage`, if you don't provide the most recently
545
- # received receipt handle for the message, the request will still
546
- # succeed, but the message might not be deleted.
547
- #
548
- # </note>
549
- #
550
- # It is possible you will receive a message even after you have deleted
551
- # it. This might happen on rare occasions if one of the servers storing
552
- # a copy of the message is unavailable when you request to delete the
553
- # message. The copy remains on the server and might be returned to you
554
- # again on a subsequent receive request. You should create your system
555
- # to be idempotent so that receiving a particular message more than once
556
- # is not a problem.
557
- # @option params [required, String] :queue_url
558
- # The URL of the Amazon SQS queue to take action on.
559
- #
560
- # Queue URLs are case-sensitive.
561
- # @option params [required, String] :receipt_handle
562
- # The receipt handle associated with the message to delete.
563
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
564
- #
565
- # @example Request syntax with placeholder values
566
- # resp = client.delete_message({
567
- # queue_url: "String", # required
568
- # receipt_handle: "String", # required
569
- # })
570
- # @overload delete_message(params = {})
571
- # @param [Hash] params ({})
572
- def delete_message(params = {}, options = {})
573
- req = build_request(:delete_message, params)
574
- req.send_request(options)
575
- end
400
+ # Creates a new standard or FIFO queue or returns the URL of an existing
401
+ # queue. You can pass one or more attributes in the request. Keep the
402
+ # following caveats in mind:
403
+ #
404
+ # * If you don't specify the `FifoQueue` attribute, Amazon SQS creates
405
+ # a standard queue.
406
+ #
407
+ # <note markdown="1"> You can't change the queue type after you create it and you can't
408
+ # convert an existing standard queue into a FIFO queue. You must
409
+ # either create a new FIFO queue for your application or delete your
410
+ # existing standard queue and recreate it as a FIFO queue. For more
411
+ # information, see [ Moving From a Standard Queue to a FIFO Queue][1]
412
+ # in the *Amazon SQS Developer Guide*.
413
+ #
414
+ # </note>
415
+ #
416
+ # * If you don't provide a value for an attribute, the queue is created
417
+ # with the default value for the attribute.
418
+ #
419
+ # * If you delete a queue, you must wait at least 60 seconds before
420
+ # creating a queue with the same name.
421
+ #
422
+ # To successfully create a new queue, you must provide a queue name that
423
+ # adheres to the [limits related to queues][2] and is unique within the
424
+ # scope of your queues.
425
+ #
426
+ # To get the queue URL, use the ` GetQueueUrl ` action. ` GetQueueUrl `
427
+ # requires only the `QueueName` parameter. be aware of existing queue
428
+ # names:
429
+ #
430
+ # * If you provide the name of an existing queue along with the exact
431
+ # names and values of all the queue's attributes, `CreateQueue`
432
+ # returns the queue URL for the existing queue.
433
+ #
434
+ # * If the queue name, attribute names, or attribute values don't match
435
+ # an existing queue, `CreateQueue` returns an error.
436
+ #
437
+ # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
438
+ # the `param.n` notation. Values of `n` are integers starting from 1.
439
+ # For example, a parameter list with two elements looks like this:
440
+ #
441
+ # `&Attribute.1=this`
442
+ #
443
+ # `&Attribute.2=that`
444
+ #
445
+ # </note>
446
+ #
447
+ #
448
+ #
449
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-moving
450
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
451
+ #
452
+ # @option params [required, String] :queue_name
453
+ # The name of the new queue. The following limits apply to this name:
454
+ #
455
+ # * A queue name can have up to 80 characters.
456
+ #
457
+ # * Valid values: alphanumeric characters, hyphens (`-`), and
458
+ # underscores (`_`).
459
+ #
460
+ # * A FIFO queue name must end with the `.fifo` suffix.
461
+ #
462
+ # Queue names are case-sensitive.
463
+ #
464
+ # @option params [Hash<String,String>] :attributes
465
+ # A map of attributes with their corresponding values.
466
+ #
467
+ # The following lists the names, descriptions, and values of the special
468
+ # request parameters that the `CreateQueue` action uses:
469
+ #
470
+ # * `DelaySeconds` - The number of seconds for which the delivery of all
471
+ # messages in the queue is delayed. Valid values: An integer from 0 to
472
+ # 900 seconds (15 minutes). The default is 0 (zero).
473
+ #
474
+ # * `MaximumMessageSize` - The limit of how many bytes a message can
475
+ # contain before Amazon SQS rejects it. Valid values: An integer from
476
+ # 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). The default is
477
+ # 262,144 (256 KiB).
478
+ #
479
+ # * `MessageRetentionPeriod` - The number of seconds for which Amazon
480
+ # SQS retains a message. Valid values: An integer from 60 seconds (1
481
+ # minute) to 1,209,600 seconds (14 days). The default is 345,600 (4
482
+ # days).
483
+ #
484
+ # * `Policy` - The queue's policy. A valid AWS policy. For more
485
+ # information about policy structure, see [Overview of AWS IAM
486
+ # Policies][1] in the *Amazon IAM User Guide*.
487
+ #
488
+ # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which a
489
+ # ` ReceiveMessage ` action waits for a message to arrive. Valid
490
+ # values: An integer from 0 to 20 (seconds). The default is 0 (zero).
491
+ #
492
+ # * `RedrivePolicy` - The parameters for the dead letter queue
493
+ # functionality of the source queue. For more information about the
494
+ # redrive policy and dead letter queues, see [Using Amazon SQS Dead
495
+ # Letter Queues][2] in the *Amazon SQS Developer Guide*.
496
+ #
497
+ # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
498
+ # Similarly, the dead letter queue of a standard queue must also be a
499
+ # standard queue.
500
+ #
501
+ # </note>
502
+ #
503
+ # * `VisibilityTimeout` - The visibility timeout for the queue. Valid
504
+ # values: An integer from 0 to 43,200 (12 hours). The default is 30.
505
+ # For more information about the visibility timeout, see [Visibility
506
+ # Timeout][3] in the *Amazon SQS Developer Guide*.
507
+ #
508
+ # The following attributes apply only to [FIFO (first-in-first-out)
509
+ # queues][4]\:
510
+ #
511
+ # * `FifoQueue` - Designates a queue as FIFO. You can provide this
512
+ # attribute only during queue creation. You can't change it for an
513
+ # existing queue. When you set this attribute, you must provide a
514
+ # `MessageGroupId` explicitly.
515
+ #
516
+ # For more information, see [FIFO Queue Logic][5] in the *Amazon SQS
517
+ # Developer Guide*.
518
+ #
519
+ # * `ContentBasedDeduplication` - Enables content-based deduplication.
520
+ # For more information, see [Exactly-Once Processing][6] in the
521
+ # *Amazon SQS Developer Guide*.
522
+ #
523
+ # * Every message must have a unique `MessageDeduplicationId`,
524
+ #
525
+ # * You may provide a `MessageDeduplicationId` explicitly.
526
+ #
527
+ # * If you aren't able to provide a `MessageDeduplicationId` and
528
+ # you enable `ContentBasedDeduplication` for your queue, Amazon
529
+ # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
530
+ # using the body of the message (but not the attributes of the
531
+ # message).
532
+ #
533
+ # * If you don't provide a `MessageDeduplicationId` and the queue
534
+ # doesn't have `ContentBasedDeduplication` set, the action fails
535
+ # with an error.
536
+ #
537
+ # * If the queue has `ContentBasedDeduplication` set, your
538
+ # `MessageDeduplicationId` overrides the generated one.
539
+ #
540
+ # * When `ContentBasedDeduplication` is in effect, messages with
541
+ # identical content sent within the deduplication interval are
542
+ # treated as duplicates and only one copy of the message is
543
+ # delivered.
544
+ #
545
+ # * You can also use `ContentBasedDeduplication` for messages with
546
+ # identical content to be treated as duplicates.
547
+ #
548
+ # * If you send one message with `ContentBasedDeduplication` enabled
549
+ # and then another message with a `MessageDeduplicationId` that is
550
+ # the same as the one generated for the first
551
+ # `MessageDeduplicationId`, the two messages are treated as
552
+ # duplicates and only one copy of the message is delivered.
553
+ #
554
+ # Any other valid special request parameters (such as the following) are
555
+ # ignored:
556
+ #
557
+ # * `ApproximateNumberOfMessages`
558
+ #
559
+ # * `ApproximateNumberOfMessagesDelayed`
560
+ #
561
+ # * `ApproximateNumberOfMessagesNotVisible`
562
+ #
563
+ # * `CreatedTimestamp`
564
+ #
565
+ # * `LastModifiedTimestamp`
566
+ #
567
+ # * `QueueArn`
568
+ #
569
+ #
570
+ #
571
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
572
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
573
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
574
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
575
+ # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
576
+ # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
577
+ #
578
+ # @return [Types::CreateQueueResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
579
+ #
580
+ # * {Types::CreateQueueResult#queue_url #queue_url} => String
581
+ #
582
+ # @example Request syntax with placeholder values
583
+ #
584
+ # resp = client.create_queue({
585
+ # queue_name: "String", # required
586
+ # attributes: {
587
+ # "All" => "String",
588
+ # },
589
+ # })
590
+ #
591
+ # @example Response structure
592
+ #
593
+ # resp.queue_url #=> String
594
+ #
595
+ # @overload create_queue(params = {})
596
+ # @param [Hash] params ({})
597
+ def create_queue(params = {}, options = {})
598
+ req = build_request(:create_queue, params)
599
+ req.send_request(options)
600
+ end
576
601
 
577
- # Deletes up to ten messages from the specified queue. This is a batch
578
- # version of DeleteMessage. The result of the delete action on each
579
- # message is reported individually in the response.
580
- #
581
- # Because the batch request can result in a combination of successful
582
- # and unsuccessful actions, you should check for batch errors even when
583
- # the call returns an HTTP status code of 200.
584
- #
585
- # <note markdown="1"> Some API actions take lists of parameters. These lists are specified
586
- # using the `param.n` notation. Values of `n` are integers starting from
587
- # 1. For example, a parameter list with two elements looks like this:
588
- #
589
- # </note>
590
- #
591
- # `&amp;Attribute.1=this`
592
- #
593
- # `&amp;Attribute.2=that`
594
- # @option params [required, String] :queue_url
595
- # The URL of the Amazon SQS queue to take action on.
596
- #
597
- # Queue URLs are case-sensitive.
598
- # @option params [required, Array<Types::DeleteMessageBatchRequestEntry>] :entries
599
- # A list of receipt handles for the messages to be deleted.
600
- # @return [Types::DeleteMessageBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
601
- #
602
- # * {Types::DeleteMessageBatchResult#successful #Successful} => Array&lt;Types::DeleteMessageBatchResultEntry&gt;
603
- # * {Types::DeleteMessageBatchResult#failed #Failed} => Array&lt;Types::BatchResultErrorEntry&gt;
604
- #
605
- # @example Request syntax with placeholder values
606
- # resp = client.delete_message_batch({
607
- # queue_url: "String", # required
608
- # entries: [ # required
609
- # {
610
- # id: "String", # required
611
- # receipt_handle: "String", # required
612
- # },
613
- # ],
614
- # })
615
- #
616
- # @example Response structure
617
- # resp.successful #=> Array
618
- # resp.successful[0].id #=> String
619
- # resp.failed #=> Array
620
- # resp.failed[0].id #=> String
621
- # resp.failed[0].sender_fault #=> Boolean
622
- # resp.failed[0].code #=> String
623
- # resp.failed[0].message #=> String
624
- # @overload delete_message_batch(params = {})
625
- # @param [Hash] params ({})
626
- def delete_message_batch(params = {}, options = {})
627
- req = build_request(:delete_message_batch, params)
628
- req.send_request(options)
629
- end
602
+ # Deletes the specified message from the specified queue. You specify
603
+ # the message by using the message's *receipt handle* and not the
604
+ # *MessageId* you receive when you send the message. Even if the message
605
+ # is locked by another reader due to the visibility timeout setting, it
606
+ # is still deleted from the queue. If you leave a message in the queue
607
+ # for longer than the queue's configured retention period, Amazon SQS
608
+ # automatically deletes the message.
609
+ #
610
+ # <note markdown="1"> The receipt handle is associated with a specific instance of receiving
611
+ # the message. If you receive a message more than once, the receipt
612
+ # handle you get each time you receive the message is different. If you
613
+ # don't provide the most recently received receipt handle for the
614
+ # message when you use the `DeleteMessage` action, the request succeeds,
615
+ # but the message might not be deleted.
616
+ #
617
+ # For standard queues, it is possible to receive a message even after
618
+ # you deleting it. This might happen on rare occasions if one of the
619
+ # servers storing a copy of the message is unavailable when you send the
620
+ # request to delete the message. The copy remains on the server and
621
+ # might be returned to you on a subsequent receive request. You should
622
+ # ensure that your application is idempotent, so that receiving a
623
+ # message more than once does not cause issues.
624
+ #
625
+ # </note>
626
+ #
627
+ # @option params [required, String] :queue_url
628
+ # The URL of the Amazon SQS queue from which messages are deleted.
629
+ #
630
+ # Queue URLs are case-sensitive.
631
+ #
632
+ # @option params [required, String] :receipt_handle
633
+ # The receipt handle associated with the message to delete.
634
+ #
635
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
636
+ #
637
+ # @example Request syntax with placeholder values
638
+ #
639
+ # resp = client.delete_message({
640
+ # queue_url: "String", # required
641
+ # receipt_handle: "String", # required
642
+ # })
643
+ #
644
+ # @overload delete_message(params = {})
645
+ # @param [Hash] params ({})
646
+ def delete_message(params = {}, options = {})
647
+ req = build_request(:delete_message, params)
648
+ req.send_request(options)
649
+ end
630
650
 
631
- # Deletes the queue specified by the **queue URL**, regardless of
632
- # whether the queue is empty. If the specified queue doesn't exist,
633
- # Amazon SQS returns a successful response.
634
- #
635
- # Use `DeleteQueue` with care; once you delete your queue, any messages
636
- # in the queue are no longer available.
637
- #
638
- # When you delete a queue, the deletion process takes up to 60 seconds.
639
- # Requests you send involving that queue during the 60 seconds might
640
- # succeed. For example, a SendMessage request might succeed, but after
641
- # the 60 seconds, the queue and that message you sent no longer exist.
642
- # Also, when you delete a queue, you must wait at least 60 seconds
643
- # before creating a queue with the same name.
644
- #
645
- # We reserve the right to delete queues that have had no activity for
646
- # more than 30 days. For more information, see [How Amazon SQS Queues
647
- # Work][1] in the *Amazon SQS Developer Guide*.
648
- #
649
- #
650
- #
651
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-how-it-works.html
652
- # @option params [required, String] :queue_url
653
- # The URL of the Amazon SQS queue to take action on.
654
- #
655
- # Queue URLs are case-sensitive.
656
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
657
- #
658
- # @example Request syntax with placeholder values
659
- # resp = client.delete_queue({
660
- # queue_url: "String", # required
661
- # })
662
- # @overload delete_queue(params = {})
663
- # @param [Hash] params ({})
664
- def delete_queue(params = {}, options = {})
665
- req = build_request(:delete_queue, params)
666
- req.send_request(options)
667
- end
651
+ # Deletes up to ten messages from the specified queue. This is a batch
652
+ # version of ` DeleteMessage `. The result of the action on each message
653
+ # is reported individually in the response.
654
+ #
655
+ # Because the batch request can result in a combination of successful
656
+ # and unsuccessful actions, you should check for batch errors even when
657
+ # the call returns an HTTP status code of `200`.
658
+ #
659
+ # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
660
+ # the `param.n` notation. Values of `n` are integers starting from 1.
661
+ # For example, a parameter list with two elements looks like this:
662
+ #
663
+ # `&Attribute.1=this`
664
+ #
665
+ # `&Attribute.2=that`
666
+ #
667
+ # </note>
668
+ #
669
+ # @option params [required, String] :queue_url
670
+ # The URL of the Amazon SQS queue from which messages are deleted.
671
+ #
672
+ # Queue URLs are case-sensitive.
673
+ #
674
+ # @option params [required, Array<Types::DeleteMessageBatchRequestEntry>] :entries
675
+ # A list of receipt handles for the messages to be deleted.
676
+ #
677
+ # @return [Types::DeleteMessageBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
678
+ #
679
+ # * {Types::DeleteMessageBatchResult#successful #successful} => Array&lt;Types::DeleteMessageBatchResultEntry&gt;
680
+ # * {Types::DeleteMessageBatchResult#failed #failed} => Array&lt;Types::BatchResultErrorEntry&gt;
681
+ #
682
+ # @example Request syntax with placeholder values
683
+ #
684
+ # resp = client.delete_message_batch({
685
+ # queue_url: "String", # required
686
+ # entries: [ # required
687
+ # {
688
+ # id: "String", # required
689
+ # receipt_handle: "String", # required
690
+ # },
691
+ # ],
692
+ # })
693
+ #
694
+ # @example Response structure
695
+ #
696
+ # resp.successful #=> Array
697
+ # resp.successful[0].id #=> String
698
+ # resp.failed #=> Array
699
+ # resp.failed[0].id #=> String
700
+ # resp.failed[0].sender_fault #=> Boolean
701
+ # resp.failed[0].code #=> String
702
+ # resp.failed[0].message #=> String
703
+ #
704
+ # @overload delete_message_batch(params = {})
705
+ # @param [Hash] params ({})
706
+ def delete_message_batch(params = {}, options = {})
707
+ req = build_request(:delete_message_batch, params)
708
+ req.send_request(options)
709
+ end
668
710
 
669
- # Gets attributes for the specified queue.
670
- #
671
- # <note markdown="1"> Some API actions take lists of parameters. These lists are specified
672
- # using the `param.n` notation. Values of `n` are integers starting from
673
- # 1. For example, a parameter list with two elements looks like this:
674
- #
675
- # </note>
676
- #
677
- # `&amp;Attribute.1=this`
678
- #
679
- # `&amp;Attribute.2=that`
680
- # @option params [required, String] :queue_url
681
- # The URL of the Amazon SQS queue to take action on.
682
- #
683
- # Queue URLs are case-sensitive.
684
- # @option params [Array<String>] :attribute_names
685
- # A list of attributes for which to retrieve information.
686
- #
687
- # <note markdown="1"> Going forward, new attributes might be added. If you are writing code
688
- # that calls this action, we recommend that you structure your code so
689
- # that it can handle new attributes gracefully.
690
- #
691
- # </note>
692
- #
693
- # The following attributes are supported:
694
- #
695
- # * `All` - Returns all values.
696
- #
697
- # * `ApproximateNumberOfMessages` - Returns the approximate number of
698
- # visible messages in a queue. For more information, see [Resources
699
- # Required to Process Messages][1] in the *Amazon SQS Developer
700
- # Guide*.
701
- #
702
- # * `ApproximateNumberOfMessagesDelayed` - Returns the approximate
703
- # number of messages that are waiting to be added to the queue.
704
- #
705
- # * `ApproximateNumberOfMessagesNotVisible` - Returns the approximate
706
- # number of messages that have not timed-out and are not deleted. For
707
- # more information, see [Resources Required to Process Messages][1] in
708
- # the *Amazon SQS Developer Guide*.
709
- #
710
- # * `CreatedTimestamp` - Returns the time when the queue was created in
711
- # seconds (epoch time).
712
- #
713
- # * `DelaySeconds` - Returns the default delay on the queue in seconds.
714
- #
715
- # * `LastModifiedTimestamp` - Returns the time when the queue was last
716
- # changed in seconds (epoch time).
717
- #
718
- # * `MaximumMessageSize` - Returns the limit of how many bytes a message
719
- # can contain before Amazon SQS rejects it.
720
- #
721
- # * `MessageRetentionPeriod` - Returns the number of seconds for which
722
- # Amazon SQS retains a message.
723
- #
724
- # * `Policy` - Returns the policy of the queue.
725
- #
726
- # * `QueueArn` - Returns the Amazon resource name (ARN) of the queue.
727
- #
728
- # * `ReceiveMessageWaitTimeSeconds` - Returns the number of seconds for
729
- # which ReceiveMessage call will wait for a message to arrive.
730
- #
731
- # * `RedrivePolicy` - Returns the parameters for dead letter queue
732
- # functionality of the source queue. For more information about the
733
- # redrive policy and dead letter queues, see [Using Amazon SQS Dead
734
- # Letter Queues][2] in the *Amazon SQS Developer Guide*.
735
- #
736
- # * `VisibilityTimeout` - Returns the visibility timeout for the queue.
737
- # For more information about the visibility timeout, see [Visibility
738
- # Timeout][3] in the *Amazon SQS Developer Guide*.
739
- #
740
- # The following attributes apply only to [FIFO (first-in-first-out)
741
- # queues][4]\:
742
- #
743
- # * `FifoQueue` - Returns whether the queue is FIFO. For more
744
- # information, see [FIFO Queue Logic][5] in the *Amazon SQS Developer
745
- # Guide*.
746
- #
747
- # * `ContentBasedDeduplication` - Returns whether content-based
748
- # deduplication is enabled for the queue. For more information, see
749
- # [Exactly-Once Processing][6] in the *Amazon SQS Developer Guide*.
750
- #
751
- #
752
- #
753
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-resources-required-process-messages.html
754
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
755
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
756
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
757
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
758
- # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
759
- # @return [Types::GetQueueAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
760
- #
761
- # * {Types::GetQueueAttributesResult#attributes #Attributes} => Hash&lt;String,String&gt;
762
- #
763
- # @example Request syntax with placeholder values
764
- # resp = client.get_queue_attributes({
765
- # queue_url: "String", # required
766
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
767
- # })
768
- #
769
- # @example Response structure
770
- # resp.attributes #=> Hash
771
- # resp.attributes["QueueAttributeName"] #=> String
772
- # @overload get_queue_attributes(params = {})
773
- # @param [Hash] params ({})
774
- def get_queue_attributes(params = {}, options = {})
775
- req = build_request(:get_queue_attributes, params)
776
- req.send_request(options)
777
- end
711
+ # Deletes the queue specified by the `QueueUrl`, even if the queue is
712
+ # empty. If the specified queue doesn't exist, Amazon SQS returns a
713
+ # successful response.
714
+ #
715
+ # Be careful with the `DeleteQueue` action: When you delete a queue, any
716
+ # messages in the queue are no longer available.
717
+ #
718
+ # When you delete a queue, the deletion process takes up to 60 seconds.
719
+ # Requests you send involving that queue during the 60 seconds might
720
+ # succeed. For example, a ` SendMessage ` request might succeed, but
721
+ # after 60 seconds the queue and the message you sent no longer exist.
722
+ #
723
+ # When you delete a queue, you must wait at least 60 seconds before
724
+ # creating a queue with the same name.
725
+ #
726
+ # @option params [required, String] :queue_url
727
+ # The URL of the Amazon SQS queue to delete.
728
+ #
729
+ # Queue URLs are case-sensitive.
730
+ #
731
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
732
+ #
733
+ # @example Request syntax with placeholder values
734
+ #
735
+ # resp = client.delete_queue({
736
+ # queue_url: "String", # required
737
+ # })
738
+ #
739
+ # @overload delete_queue(params = {})
740
+ # @param [Hash] params ({})
741
+ def delete_queue(params = {}, options = {})
742
+ req = build_request(:delete_queue, params)
743
+ req.send_request(options)
744
+ end
778
745
 
779
- # Returns the URL of an existing queue. This action provides a simple
780
- # way to retrieve the URL of an Amazon SQS queue.
781
- #
782
- # To access a queue that belongs to another AWS account, use the
783
- # `QueueOwnerAWSAccountId` parameter to specify the account ID of the
784
- # queue's owner. The queue's owner must grant you permission to access
785
- # the queue. For more information about shared queue access, see
786
- # AddPermission or see [Shared Queues][1] in the *Amazon SQS Developer
787
- # Guide*.
788
- #
789
- #
790
- #
791
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html
792
- # @option params [required, String] :queue_name
793
- # The name of the queue whose URL must be fetched. Maximum 80
794
- # characters; alphanumeric characters, hyphens (-), and underscores (\_)
795
- # are allowed.
796
- #
797
- # Queue names are case-sensitive.
798
- # @option params [String] :queue_owner_aws_account_id
799
- # The AWS account ID of the account that created the queue.
800
- # @return [Types::GetQueueUrlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
801
- #
802
- # * {Types::GetQueueUrlResult#queue_url #QueueUrl} => String
803
- #
804
- # @example Request syntax with placeholder values
805
- # resp = client.get_queue_url({
806
- # queue_name: "String", # required
807
- # queue_owner_aws_account_id: "String",
808
- # })
809
- #
810
- # @example Response structure
811
- # resp.queue_url #=> String
812
- # @overload get_queue_url(params = {})
813
- # @param [Hash] params ({})
814
- def get_queue_url(params = {}, options = {})
815
- req = build_request(:get_queue_url, params)
816
- req.send_request(options)
817
- end
746
+ # Gets attributes for the specified queue.
747
+ #
748
+ # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
749
+ # the `param.n` notation. Values of `n` are integers starting from 1.
750
+ # For example, a parameter list with two elements looks like this:
751
+ #
752
+ # `&Attribute.1=this`
753
+ #
754
+ # `&Attribute.2=that`
755
+ #
756
+ # </note>
757
+ #
758
+ # @option params [required, String] :queue_url
759
+ # The URL of the Amazon SQS queue whose attribute information is
760
+ # retrieved.
761
+ #
762
+ # Queue URLs are case-sensitive.
763
+ #
764
+ # @option params [Array<String>] :attribute_names
765
+ # A list of attributes for which to retrieve information.
766
+ #
767
+ # <note markdown="1"> In the future, new attributes might be added. If you write code that
768
+ # calls this action, we recommend that you structure your code so that
769
+ # it can handle new attributes gracefully.
770
+ #
771
+ # </note>
772
+ #
773
+ # The following attributes are supported:
774
+ #
775
+ # * `All` - Returns all values.
776
+ #
777
+ # * `ApproximateNumberOfMessages` - Returns the approximate number of
778
+ # visible messages in a queue. For more information, see [Resources
779
+ # Required to Process Messages][1] in the *Amazon SQS Developer
780
+ # Guide*.
781
+ #
782
+ # * `ApproximateNumberOfMessagesDelayed` - Returns the approximate
783
+ # number of messages that are waiting to be added to the queue.
784
+ #
785
+ # * `ApproximateNumberOfMessagesNotVisible` - Returns the approximate
786
+ # number of messages that have not timed-out and aren't deleted. For
787
+ # more information, see [Resources Required to Process Messages][1] in
788
+ # the *Amazon SQS Developer Guide*.
789
+ #
790
+ # * `CreatedTimestamp` - Returns the time when the queue was created in
791
+ # seconds ([epoch time][2]).
792
+ #
793
+ # * `DelaySeconds` - Returns the default delay on the queue in seconds.
794
+ #
795
+ # * `LastModifiedTimestamp` - Returns the time when the queue was last
796
+ # changed in seconds ([epoch time][2]).
797
+ #
798
+ # * `MaximumMessageSize` - Returns the limit of how many bytes a message
799
+ # can contain before Amazon SQS rejects it.
800
+ #
801
+ # * `MessageRetentionPeriod` - Returns the number of seconds for which
802
+ # Amazon SQS retains a message.
803
+ #
804
+ # * `Policy` - Returns the policy of the queue.
805
+ #
806
+ # * `QueueArn` - Returns the Amazon resource name (ARN) of the queue.
807
+ #
808
+ # * `ReceiveMessageWaitTimeSeconds` - Returns the number of seconds for
809
+ # which the `ReceiveMessage` action waits for a message to arrive.
810
+ #
811
+ # * `RedrivePolicy` - Returns the parameters for dead letter queue
812
+ # functionality of the source queue. For more information about the
813
+ # redrive policy and dead letter queues, see [Using Amazon SQS Dead
814
+ # Letter Queues][3] in the *Amazon SQS Developer Guide*.
815
+ #
816
+ # * `VisibilityTimeout` - Returns the visibility timeout for the queue.
817
+ # For more information about the visibility timeout, see [Visibility
818
+ # Timeout][4] in the *Amazon SQS Developer Guide*.
819
+ #
820
+ # The following attributes apply only to [FIFO (first-in-first-out)
821
+ # queues][5]\:
822
+ #
823
+ # * `FifoQueue` - Returns whether the queue is FIFO. For more
824
+ # information, see [FIFO Queue Logic][6] in the *Amazon SQS Developer
825
+ # Guide*.
826
+ #
827
+ # * `ContentBasedDeduplication` - Returns whether content-based
828
+ # deduplication is enabled for the queue. For more information, see
829
+ # [Exactly-Once Processing][7] in the *Amazon SQS Developer Guide*.
830
+ #
831
+ #
832
+ #
833
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-resources-required-process-messages.html
834
+ # [2]: http://en.wikipedia.org/wiki/Unix_time
835
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
836
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
837
+ # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
838
+ # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
839
+ # [7]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
840
+ #
841
+ # @return [Types::GetQueueAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
842
+ #
843
+ # * {Types::GetQueueAttributesResult#attributes #attributes} => Hash&lt;String,String&gt;
844
+ #
845
+ # @example Request syntax with placeholder values
846
+ #
847
+ # resp = client.get_queue_attributes({
848
+ # queue_url: "String", # required
849
+ # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
850
+ # })
851
+ #
852
+ # @example Response structure
853
+ #
854
+ # resp.attributes #=> Hash
855
+ # resp.attributes["QueueAttributeName"] #=> String
856
+ #
857
+ # @overload get_queue_attributes(params = {})
858
+ # @param [Hash] params ({})
859
+ def get_queue_attributes(params = {}, options = {})
860
+ req = build_request(:get_queue_attributes, params)
861
+ req.send_request(options)
862
+ end
818
863
 
819
- # Returns a list of your queues that have the RedrivePolicy queue
820
- # attribute configured with a dead letter queue.
821
- #
822
- # For more information about using dead letter queues, see [Using Amazon
823
- # SQS Dead Letter Queues][1] in the *Amazon SQS Developer Guide*.
824
- #
825
- #
826
- #
827
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
828
- # @option params [required, String] :queue_url
829
- # The queue URL of a dead letter queue.
830
- #
831
- # Queue URLs are case-sensitive.
832
- # @return [Types::ListDeadLetterSourceQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
833
- #
834
- # * {Types::ListDeadLetterSourceQueuesResult#queue_urls #queueUrls} => Array&lt;String&gt;
835
- #
836
- # @example Request syntax with placeholder values
837
- # resp = client.list_dead_letter_source_queues({
838
- # queue_url: "String", # required
839
- # })
840
- #
841
- # @example Response structure
842
- # resp.queue_urls #=> Array
843
- # resp.queue_urls[0] #=> String
844
- # @overload list_dead_letter_source_queues(params = {})
845
- # @param [Hash] params ({})
846
- def list_dead_letter_source_queues(params = {}, options = {})
847
- req = build_request(:list_dead_letter_source_queues, params)
848
- req.send_request(options)
849
- end
864
+ # Returns the URL of an existing queue. This action provides a simple
865
+ # way to retrieve the URL of an Amazon SQS queue.
866
+ #
867
+ # To access a queue that belongs to another AWS account, use the
868
+ # `QueueOwnerAWSAccountId` parameter to specify the account ID of the
869
+ # queue's owner. The queue's owner must grant you permission to access
870
+ # the queue. For more information about shared queue access, see `
871
+ # AddPermission ` or see [Shared Queues][1] in the *Amazon SQS Developer
872
+ # Guide*.
873
+ #
874
+ #
875
+ #
876
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html
877
+ #
878
+ # @option params [required, String] :queue_name
879
+ # The name of the queue whose URL must be fetched. Maximum 80
880
+ # characters. Valid values: alphanumeric characters, hyphens (`-`), and
881
+ # underscores (`_`).
882
+ #
883
+ # Queue names are case-sensitive.
884
+ #
885
+ # @option params [String] :queue_owner_aws_account_id
886
+ # The AWS account ID of the account that created the queue.
887
+ #
888
+ # @return [Types::GetQueueUrlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
889
+ #
890
+ # * {Types::GetQueueUrlResult#queue_url #queue_url} => String
891
+ #
892
+ # @example Request syntax with placeholder values
893
+ #
894
+ # resp = client.get_queue_url({
895
+ # queue_name: "String", # required
896
+ # queue_owner_aws_account_id: "String",
897
+ # })
898
+ #
899
+ # @example Response structure
900
+ #
901
+ # resp.queue_url #=> String
902
+ #
903
+ # @overload get_queue_url(params = {})
904
+ # @param [Hash] params ({})
905
+ def get_queue_url(params = {}, options = {})
906
+ req = build_request(:get_queue_url, params)
907
+ req.send_request(options)
908
+ end
850
909
 
851
- # Returns a list of your queues. The maximum number of queues that can
852
- # be returned is 1000. If you specify a value for the optional
853
- # `QueueNamePrefix` parameter, only queues with a name beginning with
854
- # the specified value are returned.
855
- # @option params [String] :queue_name_prefix
856
- # A string to use for filtering the list results. Only those queues
857
- # whose name begins with the specified string are returned.
858
- #
859
- # Queue names are case-sensitive.
860
- # @return [Types::ListQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
861
- #
862
- # * {Types::ListQueuesResult#queue_urls #QueueUrls} => Array&lt;String&gt;
863
- #
864
- # @example Request syntax with placeholder values
865
- # resp = client.list_queues({
866
- # queue_name_prefix: "String",
867
- # })
868
- #
869
- # @example Response structure
870
- # resp.queue_urls #=> Array
871
- # resp.queue_urls[0] #=> String
872
- # @overload list_queues(params = {})
873
- # @param [Hash] params ({})
874
- def list_queues(params = {}, options = {})
875
- req = build_request(:list_queues, params)
876
- req.send_request(options)
877
- end
910
+ # Returns a list of your queues that have the `RedrivePolicy` queue
911
+ # attribute configured with a dead letter queue.
912
+ #
913
+ # For more information about using dead letter queues, see [Using Amazon
914
+ # SQS Dead Letter Queues][1] in the *Amazon SQS Developer Guide*.
915
+ #
916
+ #
917
+ #
918
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
919
+ #
920
+ # @option params [required, String] :queue_url
921
+ # The URL of a dead letter queue.
922
+ #
923
+ # Queue URLs are case-sensitive.
924
+ #
925
+ # @return [Types::ListDeadLetterSourceQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
926
+ #
927
+ # * {Types::ListDeadLetterSourceQueuesResult#queue_urls #queue_urls} => Array&lt;String&gt;
928
+ #
929
+ # @example Request syntax with placeholder values
930
+ #
931
+ # resp = client.list_dead_letter_source_queues({
932
+ # queue_url: "String", # required
933
+ # })
934
+ #
935
+ # @example Response structure
936
+ #
937
+ # resp.queue_urls #=> Array
938
+ # resp.queue_urls[0] #=> String
939
+ #
940
+ # @overload list_dead_letter_source_queues(params = {})
941
+ # @param [Hash] params ({})
942
+ def list_dead_letter_source_queues(params = {}, options = {})
943
+ req = build_request(:list_dead_letter_source_queues, params)
944
+ req.send_request(options)
945
+ end
878
946
 
879
- # Deletes the messages in a queue specified by the **queue URL**.
880
- #
881
- # When you use the `PurgeQueue` API, the deleted messages in the queue
882
- # can't be retrieved.
883
- #
884
- # When you purge a queue, the message deletion process takes up to 60
885
- # seconds. All messages sent to the queue before calling `PurgeQueue`
886
- # will be deleted; messages sent to the queue while it is being purged
887
- # might be deleted. While the queue is being purged, messages sent to
888
- # the queue before `PurgeQueue` was called might be received, but will
889
- # be deleted within the next minute.
890
- # @option params [required, String] :queue_url
891
- # The queue URL of the queue to delete the messages from when using the
892
- # `PurgeQueue` API.
893
- #
894
- # Queue URLs are case-sensitive.
895
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
896
- #
897
- # @example Request syntax with placeholder values
898
- # resp = client.purge_queue({
899
- # queue_url: "String", # required
900
- # })
901
- # @overload purge_queue(params = {})
902
- # @param [Hash] params ({})
903
- def purge_queue(params = {}, options = {})
904
- req = build_request(:purge_queue, params)
905
- req.send_request(options)
906
- end
947
+ # Returns a list of your queues. The maximum number of queues that can
948
+ # be returned is 1,000. If you specify a value for the optional
949
+ # `QueueNamePrefix` parameter, only queues with a name that begins with
950
+ # the specified value are returned.
951
+ #
952
+ # @option params [String] :queue_name_prefix
953
+ # A string to use for filtering the list results. Only those queues
954
+ # whose name begins with the specified string are returned.
955
+ #
956
+ # Queue names are case-sensitive.
957
+ #
958
+ # @return [Types::ListQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
959
+ #
960
+ # * {Types::ListQueuesResult#queue_urls #queue_urls} => Array&lt;String&gt;
961
+ #
962
+ # @example Request syntax with placeholder values
963
+ #
964
+ # resp = client.list_queues({
965
+ # queue_name_prefix: "String",
966
+ # })
967
+ #
968
+ # @example Response structure
969
+ #
970
+ # resp.queue_urls #=> Array
971
+ # resp.queue_urls[0] #=> String
972
+ #
973
+ # @overload list_queues(params = {})
974
+ # @param [Hash] params ({})
975
+ def list_queues(params = {}, options = {})
976
+ req = build_request(:list_queues, params)
977
+ req.send_request(options)
978
+ end
907
979
 
908
- # Retrieves one or more messages, with a maximum limit of 10 messages,
909
- # from the specified queue. Long poll support is enabled by using the
910
- # `WaitTimeSeconds` parameter. For more information, see [Amazon SQS
911
- # Long Polling][1] in the *Amazon SQS Developer Guide*.
912
- #
913
- # Short poll is the default behavior where a weighted random set of
914
- # machines is sampled on a `ReceiveMessage` call. This means only the
915
- # messages on the sampled machines are returned. If the number of
916
- # messages in the queue is small (less than 1000), it is likely you will
917
- # get fewer messages than you requested per `ReceiveMessage` call. If
918
- # the number of messages in the queue is extremely small, you might not
919
- # receive any messages in a particular `ReceiveMessage` response; in
920
- # which case you should repeat the request.
921
- #
922
- # For each message returned, the response includes the following:
923
- #
924
- # * Message body
925
- #
926
- # * MD5 digest of the message body. For information about MD5, see
927
- # [RFC1321][2].
928
- #
929
- # * Message ID you received when you sent the message to the queue.
930
- #
931
- # * Receipt handle.
932
- #
933
- # * Message attributes.
934
- #
935
- # * MD5 digest of the message attributes.
936
- #
937
- # The receipt handle is the identifier you must provide when deleting
938
- # the message. For more information, see [Queue and Message
939
- # Identifiers][3] in the *Amazon SQS Developer Guide*.
940
- #
941
- # You can provide the `VisibilityTimeout` parameter in your request,
942
- # which will be applied to the messages that Amazon SQS returns in the
943
- # response. If you don't include the parameter, the overall visibility
944
- # timeout for the queue is used for the returned messages. For more
945
- # information, see [Visibility Timeout][4] in the *Amazon SQS Developer
946
- # Guide*.
947
- #
948
- # A message that is not deleted or a message whose visibility is not
949
- # extended before the visibility timeout expires counts as a failed
950
- # receive. Depending on the configuration of the queue, the message
951
- # might be sent to the dead letter queue.
952
- #
953
- # <note markdown="1"> Going forward, new attributes might be added. If you are writing code
954
- # that calls this action, we recommend that you structure your code so
955
- # that it can handle new attributes gracefully.
956
- #
957
- # </note>
958
- #
959
- #
960
- #
961
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html
962
- # [2]: https://www.ietf.org/rfc/rfc1321.txt
963
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
964
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
965
- # @option params [required, String] :queue_url
966
- # The URL of the Amazon SQS queue to take action on.
967
- #
968
- # Queue URLs are case-sensitive.
969
- # @option params [Array<String>] :attribute_names
970
- # A list of attributes that need to be returned along with each message.
971
- # These attributes include:
972
- #
973
- # * `All` - Returns all values.
974
- #
975
- # * `ApproximateFirstReceiveTimestamp` - Returns the time the message
976
- # was first received from the queue (epoch time in milliseconds).
977
- #
978
- # * `ApproximateReceiveCount` - Returns the number of times a message
979
- # has been received from the queue but not deleted.
980
- #
981
- # * `SenderId`
982
- #
983
- # * For an IAM user, returns the IAM user ID, for example
984
- # `ABCDEFGHI1JKLMNOPQ23R`.
985
- #
986
- # * For an IAM role, returns the IAM role ID, for example
987
- # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
988
- #
989
- # * `SentTimestamp` - Returns the time the message was sent to the queue
990
- # (epoch time in milliseconds).
991
- #
992
- # * `MessageDeduplicationId` - Returns the value provided by the sender
993
- # that calls the ` SendMessage ` action.
994
- #
995
- # * `MessageGroupId` - Returns the value provided by the sender that
996
- # calls the ` SendMessage ` action. Messages with the same
997
- # `MessageGroupId` are returned in sequence.
998
- #
999
- # * `SequenceNumber` - Returns the value provided by Amazon SQS.
1000
- #
1001
- # Any other valid special request parameters (such as the following)
1002
- # that are specified are ignored:
1003
- #
1004
- # * `ApproximateNumberOfMessages`
1005
- #
1006
- # * `ApproximateNumberOfMessagesDelayed`
1007
- #
1008
- # * `ApproximateNumberOfMessagesNotVisible`
1009
- #
1010
- # * `CreatedTimestamp`
1011
- #
1012
- # * `ContentBasedDeduplication`
1013
- #
1014
- # * `DelaySeconds`
1015
- #
1016
- # * `LastModifiedTimestamp`
1017
- #
1018
- # * `MaximumMessageSize`
1019
- #
1020
- # * `MessageRetentionPeriod`
1021
- #
1022
- # * `Policy`
1023
- #
1024
- # * `QueueArn`,
1025
- #
1026
- # * `ReceiveMessageWaitTimeSeconds`
1027
- #
1028
- # * `RedrivePolicy`
1029
- #
1030
- # * `FifoQueue`
1031
- #
1032
- # * `VisibilityTimeout`
1033
- # @option params [Array<String>] :message_attribute_names
1034
- # The name of the message attribute, where *N* is the index. The message
1035
- # attribute name can contain the following characters: A-Z, a-z, 0-9,
1036
- # underscore (\_), hyphen (-), and period (.). The name must not start
1037
- # or end with a period, and it should not have successive periods. The
1038
- # name is case sensitive and must be unique among all attribute names
1039
- # for the message. The name can be up to 256 characters long. The name
1040
- # can't start with "AWS." or "Amazon." (or any variations in
1041
- # casing), because these prefixes are reserved for use by Amazon Web
1042
- # Services.
1043
- #
1044
- # When using `ReceiveMessage`, you can send a list of attribute names to
1045
- # receive, or you can return all of the attributes by specifying "All"
1046
- # or ".*" in your request. You can also use "bar.*" to return all
1047
- # message attributes starting with the "bar" prefix.
1048
- # @option params [Integer] :max_number_of_messages
1049
- # The maximum number of messages to return. Amazon SQS never returns
1050
- # more messages than this value but might return fewer. Values can be
1051
- # from 1 to 10. Default is 1.
1052
- #
1053
- # All of the messages are not necessarily returned.
1054
- # @option params [Integer] :visibility_timeout
1055
- # The duration (in seconds) that the received messages are hidden from
1056
- # subsequent retrieve requests after being retrieved by a
1057
- # `ReceiveMessage` request.
1058
- # @option params [Integer] :wait_time_seconds
1059
- # The duration (in seconds) for which the call will wait for a message
1060
- # to arrive in the queue before returning. If a message is available,
1061
- # the call will return sooner than WaitTimeSeconds.
1062
- # @option params [String] :receive_request_attempt_id
1063
- # This parameter applies only to FIFO (first-in-first-out) queues.
1064
- #
1065
- # The token used for deduplication of `ReceiveMessage` calls. If a
1066
- # networking issue occurs after a `ReceiveMessage` action, and instead
1067
- # of a response you receive a generic error, you can retry the same
1068
- # action with an identical `ReceiveRequestAttemptId` to retrieve the
1069
- # same set of messages, even if their visibility timeout has not yet
1070
- # expired.
1071
- #
1072
- # * You can use `ReceiveRequestAttemptId` only for 5 minutes after a
1073
- # `ReceiveMessage` action.
1074
- #
1075
- # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1076
- # can provide a `ReceiveRequestAttemptId` explicitly.
1077
- #
1078
- # * If a caller of the `ReceiveMessage` action doesn't provide a
1079
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
1080
- # `ReceiveRequestAttemptId`.
1081
- #
1082
- # * You can retry the `ReceiveMessage` action with the same
1083
- # `ReceiveRequestAttemptId` if none of the messages have been modified
1084
- # (deleted or had their visibility changes).
1085
- #
1086
- # * During a visibility timeout, subsequent calls with the same
1087
- # `ReceiveRequestAttemptId` return the same messages and receipt
1088
- # handles. If a retry occurs within the deduplication interval, it
1089
- # resets the visibility timeout. For more information, see [Visibility
1090
- # Timeout][1] in the *Amazon Simple Queue Service Developer Guide*.
1091
- #
1092
- # If a caller of the `ReceiveMessage` action is still processing
1093
- # messages when the visibility timeout expires and messages become
1094
- # visible, another worker reading from the same queue can receive the
1095
- # same messages and therefore process duplicates. Also, if a reader
1096
- # whose message processing time is longer than the visibility timeout
1097
- # tries to delete the processed messages, the action fails with an
1098
- # error.
1099
- #
1100
- # To mitigate this effect, ensure that your application observes a
1101
- # safe threshold before the visibility timeout expires and extend the
1102
- # visibility timeout as necessary.
1103
- #
1104
- # * While messages with a particular `MessageGroupId` are invisible, no
1105
- # more messages belonging to the same `MessageGroupId` are returned
1106
- # until the visibility timeout expires. You can still receive messages
1107
- # with another `MessageGroupId` as long as it is also visible.
1108
- #
1109
- # * If a caller of `ReceiveMessage` can't track the
1110
- # `ReceiveRequestAttemptId`, no retries will work until the original
1111
- # visibility timeout expires. As a result, delays might occur but the
1112
- # messages in the queue will remain in a strict order.
1113
- #
1114
- # The length of `ReceiveRequestAttemptId` is 128 characters.
1115
- # `ReceiveRequestAttemptId` can contain alphanumeric characters (`a-z`,
1116
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1117
- # ``).
1118
- #
1119
- # For best practices of using `ReceiveRequestAttemptId`, see [Using the
1120
- # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon Simple
1121
- # Queue Service Developer Guide*.
1122
- #
1123
- #
1124
- #
1125
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1126
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-receiverequestattemptid-request-parameter
1127
- # @return [Types::ReceiveMessageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1128
- #
1129
- # * {Types::ReceiveMessageResult#messages #Messages} => Array&lt;Types::Message&gt;
1130
- #
1131
- # @example Request syntax with placeholder values
1132
- # resp = client.receive_message({
1133
- # queue_url: "String", # required
1134
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
1135
- # message_attribute_names: ["MessageAttributeName"],
1136
- # max_number_of_messages: 1,
1137
- # visibility_timeout: 1,
1138
- # wait_time_seconds: 1,
1139
- # receive_request_attempt_id: "String",
1140
- # })
1141
- #
1142
- # @example Response structure
1143
- # resp.messages #=> Array
1144
- # resp.messages[0].message_id #=> String
1145
- # resp.messages[0].receipt_handle #=> String
1146
- # resp.messages[0].md5_of_body #=> String
1147
- # resp.messages[0].body #=> String
1148
- # resp.messages[0].attributes #=> Hash
1149
- # resp.messages[0].attributes["MessageSystemAttributeName"] #=> String
1150
- # resp.messages[0].md5_of_message_attributes #=> String
1151
- # resp.messages[0].message_attributes #=> Hash
1152
- # resp.messages[0].message_attributes["String"].string_value #=> String
1153
- # resp.messages[0].message_attributes["String"].binary_value #=> String
1154
- # resp.messages[0].message_attributes["String"].string_list_values #=> Array
1155
- # resp.messages[0].message_attributes["String"].string_list_values[0] #=> String
1156
- # resp.messages[0].message_attributes["String"].binary_list_values #=> Array
1157
- # resp.messages[0].message_attributes["String"].binary_list_values[0] #=> String
1158
- # resp.messages[0].message_attributes["String"].data_type #=> String
1159
- # @overload receive_message(params = {})
1160
- # @param [Hash] params ({})
1161
- def receive_message(params = {}, options = {})
1162
- req = build_request(:receive_message, params)
1163
- req.send_request(options)
1164
- end
980
+ # Deletes the messages in a queue specified by the `QueueURL` parameter.
981
+ #
982
+ # When you use the `PurgeQueue` action, you can't retrieve a message
983
+ # deleted from a queue.
984
+ #
985
+ # When you purge a queue, the message deletion process takes up to 60
986
+ # seconds. All messages sent to the queue before calling the
987
+ # `PurgeQueue` action are deleted. Messages sent to the queue while it
988
+ # is being purged might be deleted. While the queue is being purged,
989
+ # messages sent to the queue before `PurgeQueue` is called might be
990
+ # received, but are deleted within the next minute.
991
+ #
992
+ # @option params [required, String] :queue_url
993
+ # The URL of the queue from which the `PurgeQueue` action deletes
994
+ # messages.
995
+ #
996
+ # Queue URLs are case-sensitive.
997
+ #
998
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
999
+ #
1000
+ # @example Request syntax with placeholder values
1001
+ #
1002
+ # resp = client.purge_queue({
1003
+ # queue_url: "String", # required
1004
+ # })
1005
+ #
1006
+ # @overload purge_queue(params = {})
1007
+ # @param [Hash] params ({})
1008
+ def purge_queue(params = {}, options = {})
1009
+ req = build_request(:purge_queue, params)
1010
+ req.send_request(options)
1011
+ end
1165
1012
 
1166
- # Revokes any permissions in the queue policy that matches the specified
1167
- # `Label` parameter. Only the owner of the queue can remove permissions.
1168
- # @option params [required, String] :queue_url
1169
- # The URL of the Amazon SQS queue to take action on.
1170
- #
1171
- # Queue URLs are case-sensitive.
1172
- # @option params [required, String] :label
1173
- # The identification of the permission to remove. This is the label
1174
- # added with the AddPermission action.
1175
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1176
- #
1177
- # @example Request syntax with placeholder values
1178
- # resp = client.remove_permission({
1179
- # queue_url: "String", # required
1180
- # label: "String", # required
1181
- # })
1182
- # @overload remove_permission(params = {})
1183
- # @param [Hash] params ({})
1184
- def remove_permission(params = {}, options = {})
1185
- req = build_request(:remove_permission, params)
1186
- req.send_request(options)
1187
- end
1013
+ # Retrieves one or more messages (up to 10), from the specified queue.
1014
+ # Using the `WaitTimeSeconds` parameter enables long-poll support. For
1015
+ # more information, see [Amazon SQS Long Polling][1] in the *Amazon SQS
1016
+ # Developer Guide*.
1017
+ #
1018
+ # Short poll is the default behavior where a weighted random set of
1019
+ # machines is sampled on a `ReceiveMessage` call. Thus, only the
1020
+ # messages on the sampled machines are returned. If the number of
1021
+ # messages in the queue is small (fewer than 1,000), you most likely get
1022
+ # fewer messages than you requested per `ReceiveMessage` call. If the
1023
+ # number of messages in the queue is extremely small, you might not
1024
+ # receive any messages in a particular `ReceiveMessage` response. If
1025
+ # this happens, repeat the request.
1026
+ #
1027
+ # For each message returned, the response includes the following:
1028
+ #
1029
+ # * The message body.
1030
+ #
1031
+ # * An MD5 digest of the message body. For information on MD5, see
1032
+ # [RFC1321][2].
1033
+ #
1034
+ # * The `MessageId` you received when you sent the message to the queue.
1035
+ #
1036
+ # * The receipt handle.
1037
+ #
1038
+ # * The message attributes.
1039
+ #
1040
+ # * An MD5 digest of the message attributes.
1041
+ #
1042
+ # The receipt handle is the identifier you must provide when deleting
1043
+ # the message. For more information, see [Queue and Message
1044
+ # Identifiers][3] in the *Amazon SQS Developer Guide*.
1045
+ #
1046
+ # You can provide the `VisibilityTimeout` parameter in your request. The
1047
+ # parameter is applied to the messages that Amazon SQS returns in the
1048
+ # response. If you don't include the parameter, the overall visibility
1049
+ # timeout for the queue is used for the returned messages. For more
1050
+ # information, see [Visibility Timeout][4] in the *Amazon SQS Developer
1051
+ # Guide*.
1052
+ #
1053
+ # A message that isn't deleted or a message whose visibility isn't
1054
+ # extended before the visibility timeout expires counts as a failed
1055
+ # receive. Depending on the configuration of the queue, the message
1056
+ # might be sent to the dead letter queue.
1057
+ #
1058
+ # <note markdown="1"> In the future, new attributes might be added. If you write code that
1059
+ # calls this action, we recommend that you structure your code so that
1060
+ # it can handle new attributes gracefully.
1061
+ #
1062
+ # </note>
1063
+ #
1064
+ #
1065
+ #
1066
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html
1067
+ # [2]: https://www.ietf.org/rfc/rfc1321.txt
1068
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
1069
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1070
+ #
1071
+ # @option params [required, String] :queue_url
1072
+ # The URL of the Amazon SQS queue from which messages are received.
1073
+ #
1074
+ # Queue URLs are case-sensitive.
1075
+ #
1076
+ # @option params [Array<String>] :attribute_names
1077
+ # A list of attributes that need to be returned along with each message.
1078
+ # These attributes include:
1079
+ #
1080
+ # * `All` - Returns all values.
1081
+ #
1082
+ # * `ApproximateFirstReceiveTimestamp` - Returns the time the message
1083
+ # was first received from the queue ([epoch time][1] in milliseconds).
1084
+ #
1085
+ # * `ApproximateReceiveCount` - Returns the number of times a message
1086
+ # has been received from the queue but not deleted.
1087
+ #
1088
+ # * `SenderId`
1089
+ #
1090
+ # * For an IAM user, returns the IAM user ID, for example
1091
+ # `ABCDEFGHI1JKLMNOPQ23R`.
1092
+ #
1093
+ # * For an IAM role, returns the IAM role ID, for example
1094
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1095
+ #
1096
+ # * `SentTimestamp` - Returns the time the message was sent to the queue
1097
+ # ([epoch time][1] in milliseconds).
1098
+ #
1099
+ # * `MessageDeduplicationId` - Returns the value provided by the sender
1100
+ # that calls the ` SendMessage ` action.
1101
+ #
1102
+ # * `MessageGroupId` - Returns the value provided by the sender that
1103
+ # calls the ` SendMessage ` action. Messages with the same
1104
+ # `MessageGroupId` are returned in sequence.
1105
+ #
1106
+ # * `SequenceNumber` - Returns the value provided by Amazon SQS.
1107
+ #
1108
+ # Any other valid special request parameters (such as the following) are
1109
+ # ignored:
1110
+ #
1111
+ # * `ApproximateNumberOfMessages`
1112
+ #
1113
+ # * `ApproximateNumberOfMessagesDelayed`
1114
+ #
1115
+ # * `ApproximateNumberOfMessagesNotVisible`
1116
+ #
1117
+ # * `CreatedTimestamp`
1118
+ #
1119
+ # * `ContentBasedDeduplication`
1120
+ #
1121
+ # * `DelaySeconds`
1122
+ #
1123
+ # * `FifoQueue`
1124
+ #
1125
+ # * `LastModifiedTimestamp`
1126
+ #
1127
+ # * `MaximumMessageSize`
1128
+ #
1129
+ # * `MessageRetentionPeriod`
1130
+ #
1131
+ # * `Policy`
1132
+ #
1133
+ # * `QueueArn`,
1134
+ #
1135
+ # * `ReceiveMessageWaitTimeSeconds`
1136
+ #
1137
+ # * `RedrivePolicy`
1138
+ #
1139
+ # * `VisibilityTimeout`
1140
+ #
1141
+ #
1142
+ #
1143
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
1144
+ #
1145
+ # @option params [Array<String>] :message_attribute_names
1146
+ # The name of the message attribute, where *N* is the index.
1147
+ #
1148
+ # * The name can contain alphanumeric characters and the underscore
1149
+ # (`_`), hyphen (`-`), and period (`.`).
1150
+ #
1151
+ # * The name is case-sensitive and must be unique among all attribute
1152
+ # names for the message.
1153
+ #
1154
+ # * The name must not start with AWS-reserved prefixes such as `AWS.` or
1155
+ # `Amazon.` (or any casing variants).
1156
+ #
1157
+ # * The name must not start or end with a period (`.`), and it should
1158
+ # not have periods in succession (`..`).
1159
+ #
1160
+ # * The name can be up to 256 characters long.
1161
+ #
1162
+ # When using `ReceiveMessage`, you can send a list of attribute names to
1163
+ # receive, or you can return all of the attributes by specifying `All`
1164
+ # or `.*` in your request. You can also use all message attributes
1165
+ # starting with a prefix, for example `bar.*`.
1166
+ #
1167
+ # @option params [Integer] :max_number_of_messages
1168
+ # The maximum number of messages to return. Amazon SQS never returns
1169
+ # more messages than this value (however, fewer messages might be
1170
+ # returned). Valid values are 1 to 10. Default is 1.
1171
+ #
1172
+ # @option params [Integer] :visibility_timeout
1173
+ # The duration (in seconds) that the received messages are hidden from
1174
+ # subsequent retrieve requests after being retrieved by a
1175
+ # `ReceiveMessage` request.
1176
+ #
1177
+ # @option params [Integer] :wait_time_seconds
1178
+ # The duration (in seconds) for which the call waits for a message to
1179
+ # arrive in the queue before returning. If a message is available, the
1180
+ # call returns sooner than `WaitTimeSeconds`.
1181
+ #
1182
+ # @option params [String] :receive_request_attempt_id
1183
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1184
+ #
1185
+ # The token used for deduplication of `ReceiveMessage` calls. If a
1186
+ # networking issue occurs after a `ReceiveMessage` action, and instead
1187
+ # of a response you receive a generic error, you can retry the same
1188
+ # action with an identical `ReceiveRequestAttemptId` to retrieve the
1189
+ # same set of messages, even if their visibility timeout has not yet
1190
+ # expired.
1191
+ #
1192
+ # * You can use `ReceiveRequestAttemptId` only for 5 minutes after a
1193
+ # `ReceiveMessage` action.
1194
+ #
1195
+ # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1196
+ # can provide a `ReceiveRequestAttemptId` explicitly.
1197
+ #
1198
+ # * If a caller of the `ReceiveMessage` action doesn't provide a
1199
+ # `ReceiveRequestAttemptId`, Amazon SQS generates a
1200
+ # `ReceiveRequestAttemptId`.
1201
+ #
1202
+ # * You can retry the `ReceiveMessage` action with the same
1203
+ # `ReceiveRequestAttemptId` if none of the messages have been modified
1204
+ # (deleted or had their visibility changes).
1205
+ #
1206
+ # * During a visibility timeout, subsequent calls with the same
1207
+ # `ReceiveRequestAttemptId` return the same messages and receipt
1208
+ # handles. If a retry occurs within the deduplication interval, it
1209
+ # resets the visibility timeout. For more information, see [Visibility
1210
+ # Timeout][1] in the *Amazon Simple Queue Service Developer Guide*.
1211
+ #
1212
+ # If a caller of the `ReceiveMessage` action is still processing
1213
+ # messages when the visibility timeout expires and messages become
1214
+ # visible, another worker reading from the same queue can receive the
1215
+ # same messages and therefore process duplicates. Also, if a reader
1216
+ # whose message processing time is longer than the visibility timeout
1217
+ # tries to delete the processed messages, the action fails with an
1218
+ # error.
1219
+ #
1220
+ # To mitigate this effect, ensure that your application observes a
1221
+ # safe threshold before the visibility timeout expires and extend the
1222
+ # visibility timeout as necessary.
1223
+ #
1224
+ # * While messages with a particular `MessageGroupId` are invisible, no
1225
+ # more messages belonging to the same `MessageGroupId` are returned
1226
+ # until the visibility timeout expires. You can still receive messages
1227
+ # with another `MessageGroupId` as long as it is also visible.
1228
+ #
1229
+ # * If a caller of `ReceiveMessage` can't track the
1230
+ # `ReceiveRequestAttemptId`, no retries work until the original
1231
+ # visibility timeout expires. As a result, delays might occur but the
1232
+ # messages in the queue remain in a strict order.
1233
+ #
1234
+ # The length of `ReceiveRequestAttemptId` is 128 characters.
1235
+ # `ReceiveRequestAttemptId` can contain alphanumeric characters (`a-z`,
1236
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1237
+ # ``).
1238
+ #
1239
+ # For best practices of using `ReceiveRequestAttemptId`, see [Using the
1240
+ # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon Simple
1241
+ # Queue Service Developer Guide*.
1242
+ #
1243
+ #
1244
+ #
1245
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1246
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-receiverequestattemptid-request-parameter
1247
+ #
1248
+ # @return [Types::ReceiveMessageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1249
+ #
1250
+ # * {Types::ReceiveMessageResult#messages #messages} => Array&lt;Types::Message&gt;
1251
+ #
1252
+ # @example Request syntax with placeholder values
1253
+ #
1254
+ # resp = client.receive_message({
1255
+ # queue_url: "String", # required
1256
+ # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
1257
+ # message_attribute_names: ["MessageAttributeName"],
1258
+ # max_number_of_messages: 1,
1259
+ # visibility_timeout: 1,
1260
+ # wait_time_seconds: 1,
1261
+ # receive_request_attempt_id: "String",
1262
+ # })
1263
+ #
1264
+ # @example Response structure
1265
+ #
1266
+ # resp.messages #=> Array
1267
+ # resp.messages[0].message_id #=> String
1268
+ # resp.messages[0].receipt_handle #=> String
1269
+ # resp.messages[0].md5_of_body #=> String
1270
+ # resp.messages[0].body #=> String
1271
+ # resp.messages[0].attributes #=> Hash
1272
+ # resp.messages[0].attributes["MessageSystemAttributeName"] #=> String
1273
+ # resp.messages[0].md5_of_message_attributes #=> String
1274
+ # resp.messages[0].message_attributes #=> Hash
1275
+ # resp.messages[0].message_attributes["String"].string_value #=> String
1276
+ # resp.messages[0].message_attributes["String"].binary_value #=> String
1277
+ # resp.messages[0].message_attributes["String"].string_list_values #=> Array
1278
+ # resp.messages[0].message_attributes["String"].string_list_values[0] #=> String
1279
+ # resp.messages[0].message_attributes["String"].binary_list_values #=> Array
1280
+ # resp.messages[0].message_attributes["String"].binary_list_values[0] #=> String
1281
+ # resp.messages[0].message_attributes["String"].data_type #=> String
1282
+ #
1283
+ # @overload receive_message(params = {})
1284
+ # @param [Hash] params ({})
1285
+ def receive_message(params = {}, options = {})
1286
+ req = build_request(:receive_message, params)
1287
+ req.send_request(options)
1288
+ end
1188
1289
 
1189
- # Delivers a message to the specified queue.
1190
- #
1191
- # The following list shows the characters (in Unicode) that are allowed
1192
- # in your message, according to the W3C XML specification:
1193
- #
1194
- # `#x9` \| `#xA` \| `#xD` \| \[`#x20` to `#xD7FF`\] \| \[`#xE000` to
1195
- # `#xFFFD`\] \| \[`#x10000` to `#x10FFFF`\]
1196
- #
1197
- # For more information, see [RFC1321][1]. If you send any characters
1198
- # that aren't included in this list, your request will be rejected.
1199
- #
1200
- #
1201
- #
1202
- # [1]: https://www.ietf.org/rfc/rfc1321.txt
1203
- # @option params [required, String] :queue_url
1204
- # The URL of the Amazon SQS queue to take action on.
1205
- #
1206
- # Queue URLs are case-sensitive.
1207
- # @option params [required, String] :message_body
1208
- # The message to send. String maximum 256 KB in size. For a list of
1209
- # allowed characters, see the preceding note.
1210
- # @option params [Integer] :delay_seconds
1211
- # The number of seconds (0 to 900 - 15 minutes) to delay a specific
1212
- # message. Messages with a positive `DelaySeconds` value become
1213
- # available for processing after the delay time is finished. If you
1214
- # don't specify a value, the default value for the queue applies.
1215
- #
1216
- # <note markdown="1"> When you set `FifoQueue`, you can't set `DelaySeconds` per message.
1217
- # You can set this parameter only on a queue level.
1218
- #
1219
- # </note>
1220
- # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
1221
- # Each message attribute consists of a Name, Type, and Value. For more
1222
- # information, see [Message Attribute Items and Validation][1] in the
1223
- # *Amazon SQS Developer Guide*.
1224
- #
1225
- #
1226
- #
1227
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
1228
- # @option params [String] :message_deduplication_id
1229
- # This parameter applies only to FIFO (first-in-first-out) queues.
1230
- #
1231
- # The token used for deduplication of sent messages. If a message with a
1232
- # particular `MessageDeduplicationId` is sent successfully, any messages
1233
- # sent with the same `MessageDeduplicationId` are accepted successfully
1234
- # but aren't delivered during the 5-minute deduplication interval. For
1235
- # more information, see [ Exactly-Once Processing][1] in the *Amazon SQS
1236
- # Developer Guide*.
1237
- #
1238
- # * Every message must have a unique `MessageDeduplicationId`,
1239
- #
1240
- # * You may provide a `MessageDeduplicationId` explicitly.
1241
- #
1242
- # * If you aren't able to provide a `MessageDeduplicationId` and you
1243
- # enable `ContentBasedDeduplication` for your queue, Amazon SQS uses
1244
- # a SHA-256 hash to generate the `MessageDeduplicationId` using the
1245
- # body of the message (but not the attributes of the message).
1246
- #
1247
- # * If you don't provide a `MessageDeduplicationId` and the queue
1248
- # doesn't have `ContentBasedDeduplication` set, the action fails
1249
- # with an error.
1250
- #
1251
- # * If the queue has `ContentBasedDeduplication` set, your
1252
- # `MessageDeduplicationId` overrides the generated one.
1253
- #
1254
- # * When `ContentBasedDeduplication` is in effect, messages with
1255
- # identical content sent within the deduplication interval are treated
1256
- # as duplicates and only one copy of the message is delivered.
1257
- #
1258
- # * You can also use `ContentBasedDeduplication` for messages with
1259
- # identical content to be treated as duplicates.
1260
- #
1261
- # * If you send one message with `ContentBasedDeduplication` enabled and
1262
- # then another message with a `MessageDeduplicationId` that is the
1263
- # same as the one generated for the first `MessageDeduplicationId`,
1264
- # the two messages are treated as duplicates and only one copy of the
1265
- # message is delivered.
1266
- #
1267
- # <note markdown="1"> The `MessageDeduplicationId` is available to the recipient of the
1268
- # message (this can be useful for troubleshooting delivery issues).
1269
- #
1270
- # If a message is sent successfully but the acknowledgdment is lost and
1271
- # the message is resent with the same `MessageDeduplicationId` after the
1272
- # deduplication interval, Amazon SQS can't detect duplicate messages.
1273
- #
1274
- # </note>
1275
- #
1276
- # The length of `MessageDeduplicationId` is 128 characters.
1277
- # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1278
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1279
- # ``).
1280
- #
1281
- # For best practices of using `MessageDeduplicationId`, see [Using the
1282
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1283
- # Service Developer Guide*.
1284
- #
1285
- #
1286
- #
1287
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1288
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagededuplicationid-property
1289
- # @option params [String] :message_group_id
1290
- # This parameter applies only to FIFO (first-in-first-out) queues.
1291
- #
1292
- # The tag that specifies that a message belongs to a specific message
1293
- # group. Messages that belong to the same message group are processed in
1294
- # a FIFO manner (however, messages in different message groups might be
1295
- # processed out of order). To interleave multiple ordered streams within
1296
- # a single queue, use `MessageGroupId` values (for example, session data
1297
- # for multiple users). In this scenario, multiple readers can process
1298
- # the queue, but the session data of each user is processed in a FIFO
1299
- # fashion.
1300
- #
1301
- # * You must associate a non-empty `MessageGroupId` with a message. If
1302
- # you don't provide a `MessageGroupId`, the action fails.
1303
- #
1304
- # * `ReceiveMessage` might return messages with multiple
1305
- # `MessageGroupId` values. For each `MessageGroupId`, the messages are
1306
- # sorted by time sent. The caller can't specify a `MessageGroupId`.
1307
- #
1308
- # The length of `MessageGroupId` is 128 characters. Valid values are
1309
- # alphanumeric characters and punctuation ``
1310
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1311
- #
1312
- # For best practices of using `MessageGroupId`, see [Using the
1313
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1314
- # Developer Guide*.
1315
- #
1316
- #
1317
- #
1318
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagegroupid-property
1319
- # @return [Types::SendMessageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1320
- #
1321
- # * {Types::SendMessageResult#md5_of_message_body #MD5OfMessageBody} => String
1322
- # * {Types::SendMessageResult#md5_of_message_attributes #MD5OfMessageAttributes} => String
1323
- # * {Types::SendMessageResult#message_id #MessageId} => String
1324
- # * {Types::SendMessageResult#sequence_number #SequenceNumber} => String
1325
- #
1326
- # @example Request syntax with placeholder values
1327
- # resp = client.send_message({
1328
- # queue_url: "String", # required
1329
- # message_body: "String", # required
1330
- # delay_seconds: 1,
1331
- # message_attributes: {
1332
- # "String" => {
1333
- # string_value: "String",
1334
- # binary_value: "data",
1335
- # string_list_values: ["String"],
1336
- # binary_list_values: ["data"],
1337
- # data_type: "String", # required
1338
- # },
1339
- # },
1340
- # message_deduplication_id: "String",
1341
- # message_group_id: "String",
1342
- # })
1343
- #
1344
- # @example Response structure
1345
- # resp.md5_of_message_body #=> String
1346
- # resp.md5_of_message_attributes #=> String
1347
- # resp.message_id #=> String
1348
- # resp.sequence_number #=> String
1349
- # @overload send_message(params = {})
1350
- # @param [Hash] params ({})
1351
- def send_message(params = {}, options = {})
1352
- req = build_request(:send_message, params)
1353
- req.send_request(options)
1354
- end
1290
+ # Revokes any permissions in the queue policy that matches the specified
1291
+ # `Label` parameter. Only the owner of the queue can remove permissions.
1292
+ #
1293
+ # @option params [required, String] :queue_url
1294
+ # The URL of the Amazon SQS queue from which permissions are removed.
1295
+ #
1296
+ # Queue URLs are case-sensitive.
1297
+ #
1298
+ # @option params [required, String] :label
1299
+ # The identification of the permission to remove. This is the label
1300
+ # added using the ` AddPermission ` action.
1301
+ #
1302
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1303
+ #
1304
+ # @example Request syntax with placeholder values
1305
+ #
1306
+ # resp = client.remove_permission({
1307
+ # queue_url: "String", # required
1308
+ # label: "String", # required
1309
+ # })
1310
+ #
1311
+ # @overload remove_permission(params = {})
1312
+ # @param [Hash] params ({})
1313
+ def remove_permission(params = {}, options = {})
1314
+ req = build_request(:remove_permission, params)
1315
+ req.send_request(options)
1316
+ end
1355
1317
 
1356
- # Delivers up to ten messages to the specified queue. This is a batch
1357
- # version of ` SendMessage `. For a FIFO queue, multiple messages within
1358
- # a single batch are enqueued in the order they are sent.
1359
- #
1360
- # The result of sending each message is reported individually in the
1361
- # response. Because the batch request can result in a combination of
1362
- # successful and unsuccessful actions, you should check for batch errors
1363
- # even when the call returns an HTTP status code of 200.
1364
- #
1365
- # The maximum allowed individual message size and the maximum total
1366
- # payload size (the sum of the individual lengths of all of the batched
1367
- # messages) are both 256 KB (262,144 bytes).
1368
- #
1369
- # The following list shows the characters (in Unicode) that are allowed
1370
- # in your message, according to the W3C XML specification:
1371
- #
1372
- # `#x9` \| `#xA` \| `#xD` \| \[`#x20` to `#xD7FF`\] \| \[`#xE000` to
1373
- # `#xFFFD`\] \| \[`#x10000` to `#x10FFFF`\]
1374
- #
1375
- # For more information, see [RFC1321][1]. If you send any characters
1376
- # that aren't included in this list, your request will be rejected.
1377
- #
1378
- # If you don't specify the `DelaySeconds` parameter for an entry,
1379
- # Amazon SQS uses the default for the queue.
1380
- #
1381
- # <note markdown="1"> Some API actions take lists of parameters. These lists are specified
1382
- # using the `param.n` notation. Values of `n` are integers starting from
1383
- # 1. For example, a parameter list with two elements looks like this:
1384
- #
1385
- # </note>
1386
- #
1387
- # `&amp;Attribute.1=this`
1388
- #
1389
- # `&amp;Attribute.2=that`
1390
- #
1391
- #
1392
- #
1393
- # [1]: https://www.ietf.org/rfc/rfc1321.txt
1394
- # @option params [required, String] :queue_url
1395
- # The URL of the Amazon SQS queue to take action on.
1396
- #
1397
- # Queue URLs are case-sensitive.
1398
- # @option params [required, Array<Types::SendMessageBatchRequestEntry>] :entries
1399
- # A list of SendMessageBatchRequestEntry items.
1400
- # @return [Types::SendMessageBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1401
- #
1402
- # * {Types::SendMessageBatchResult#successful #Successful} => Array&lt;Types::SendMessageBatchResultEntry&gt;
1403
- # * {Types::SendMessageBatchResult#failed #Failed} => Array&lt;Types::BatchResultErrorEntry&gt;
1404
- #
1405
- # @example Request syntax with placeholder values
1406
- # resp = client.send_message_batch({
1407
- # queue_url: "String", # required
1408
- # entries: [ # required
1409
- # {
1410
- # id: "String", # required
1411
- # message_body: "String", # required
1412
- # delay_seconds: 1,
1413
- # message_attributes: {
1414
- # "String" => {
1415
- # string_value: "String",
1416
- # binary_value: "data",
1417
- # string_list_values: ["String"],
1418
- # binary_list_values: ["data"],
1419
- # data_type: "String", # required
1420
- # },
1421
- # },
1422
- # message_deduplication_id: "String",
1423
- # message_group_id: "String",
1424
- # },
1425
- # ],
1426
- # })
1427
- #
1428
- # @example Response structure
1429
- # resp.successful #=> Array
1430
- # resp.successful[0].id #=> String
1431
- # resp.successful[0].message_id #=> String
1432
- # resp.successful[0].md5_of_message_body #=> String
1433
- # resp.successful[0].md5_of_message_attributes #=> String
1434
- # resp.successful[0].sequence_number #=> String
1435
- # resp.failed #=> Array
1436
- # resp.failed[0].id #=> String
1437
- # resp.failed[0].sender_fault #=> Boolean
1438
- # resp.failed[0].code #=> String
1439
- # resp.failed[0].message #=> String
1440
- # @overload send_message_batch(params = {})
1441
- # @param [Hash] params ({})
1442
- def send_message_batch(params = {}, options = {})
1443
- req = build_request(:send_message_batch, params)
1444
- req.send_request(options)
1445
- end
1318
+ # Delivers a message to the specified queue.
1319
+ #
1320
+ # The following list shows the characters (in Unicode) that are allowed
1321
+ # in your message, according to the W3C XML specification:
1322
+ #
1323
+ # * `#x9`
1324
+ #
1325
+ # * `#xA`
1326
+ #
1327
+ # * `#xD`
1328
+ #
1329
+ # * `#x20` to `#xD7FF`
1330
+ #
1331
+ # * `#xE000` to `#xFFFD`
1332
+ #
1333
+ # * `#x10000` to `#x10FFFF`
1334
+ #
1335
+ # For more information, see [RFC1321][1]. If you send any characters
1336
+ # that aren't included in this list, your request is rejected.
1337
+ #
1338
+ #
1339
+ #
1340
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1341
+ #
1342
+ # @option params [required, String] :queue_url
1343
+ # The URL of the Amazon SQS queue to which a message is sent.
1344
+ #
1345
+ # Queue URLs are case-sensitive.
1346
+ #
1347
+ # @option params [required, String] :message_body
1348
+ # The message to send. The maximum string size is 256 KB.
1349
+ #
1350
+ # The following list shows the characters (in Unicode) that are allowed
1351
+ # in your message, according to the W3C XML specification:
1352
+ #
1353
+ # * `#x9`
1354
+ #
1355
+ # * `#xA`
1356
+ #
1357
+ # * `#xD`
1358
+ #
1359
+ # * `#x20` to `#xD7FF`
1360
+ #
1361
+ # * `#xE000` to `#xFFFD`
1362
+ #
1363
+ # * `#x10000` to `#x10FFFF`
1364
+ #
1365
+ # For more information, see [RFC1321][1]. If you send any characters
1366
+ # that aren't included in this list, your request is rejected.
1367
+ #
1368
+ #
1369
+ #
1370
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1371
+ #
1372
+ # @option params [Integer] :delay_seconds
1373
+ # The number of seconds to delay a specific message. Valid values: 0 to
1374
+ # 900. Maximum: 15 minutes. Messages with a positive `DelaySeconds`
1375
+ # value become available for processing after the delay period is
1376
+ # finished. If you don't specify a value, the default value for the
1377
+ # queue applies.
1378
+ #
1379
+ # <note markdown="1"> When you set `FifoQueue`, you can't set `DelaySeconds` per message.
1380
+ # You can set this parameter only on a queue level.
1381
+ #
1382
+ # </note>
1383
+ #
1384
+ # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
1385
+ # Each message attribute consists of a `Name`, `Type`, and `Value`. For
1386
+ # more information, see [Message Attribute Items and Validation][1] in
1387
+ # the *Amazon SQS Developer Guide*.
1388
+ #
1389
+ #
1390
+ #
1391
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
1392
+ #
1393
+ # @option params [String] :message_deduplication_id
1394
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1395
+ #
1396
+ # The token used for deduplication of sent messages. If a message with a
1397
+ # particular `MessageDeduplicationId` is sent successfully, any messages
1398
+ # sent with the same `MessageDeduplicationId` are accepted successfully
1399
+ # but aren't delivered during the 5-minute deduplication interval. For
1400
+ # more information, see [ Exactly-Once Processing][1] in the *Amazon SQS
1401
+ # Developer Guide*.
1402
+ #
1403
+ # * Every message must have a unique `MessageDeduplicationId`,
1404
+ #
1405
+ # * You may provide a `MessageDeduplicationId` explicitly.
1406
+ #
1407
+ # * If you aren't able to provide a `MessageDeduplicationId` and you
1408
+ # enable `ContentBasedDeduplication` for your queue, Amazon SQS uses
1409
+ # a SHA-256 hash to generate the `MessageDeduplicationId` using the
1410
+ # body of the message (but not the attributes of the message).
1411
+ #
1412
+ # * If you don't provide a `MessageDeduplicationId` and the queue
1413
+ # doesn't have `ContentBasedDeduplication` set, the action fails
1414
+ # with an error.
1415
+ #
1416
+ # * If the queue has `ContentBasedDeduplication` set, your
1417
+ # `MessageDeduplicationId` overrides the generated one.
1418
+ #
1419
+ # * When `ContentBasedDeduplication` is in effect, messages with
1420
+ # identical content sent within the deduplication interval are treated
1421
+ # as duplicates and only one copy of the message is delivered.
1422
+ #
1423
+ # * You can also use `ContentBasedDeduplication` for messages with
1424
+ # identical content to be treated as duplicates.
1425
+ #
1426
+ # * If you send one message with `ContentBasedDeduplication` enabled and
1427
+ # then another message with a `MessageDeduplicationId` that is the
1428
+ # same as the one generated for the first `MessageDeduplicationId`,
1429
+ # the two messages are treated as duplicates and only one copy of the
1430
+ # message is delivered.
1431
+ #
1432
+ # <note markdown="1"> The `MessageDeduplicationId` is available to the recipient of the
1433
+ # message (this can be useful for troubleshooting delivery issues).
1434
+ #
1435
+ # If a message is sent successfully but the acknowledgement is lost and
1436
+ # the message is resent with the same `MessageDeduplicationId` after the
1437
+ # deduplication interval, Amazon SQS can't detect duplicate messages.
1438
+ #
1439
+ # </note>
1440
+ #
1441
+ # The length of `MessageDeduplicationId` is 128 characters.
1442
+ # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1443
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1444
+ # ``).
1445
+ #
1446
+ # For best practices of using `MessageDeduplicationId`, see [Using the
1447
+ # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1448
+ # Service Developer Guide*.
1449
+ #
1450
+ #
1451
+ #
1452
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1453
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagededuplicationid-property
1454
+ #
1455
+ # @option params [String] :message_group_id
1456
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1457
+ #
1458
+ # The tag that specifies that a message belongs to a specific message
1459
+ # group. Messages that belong to the same message group are processed in
1460
+ # a FIFO manner (however, messages in different message groups might be
1461
+ # processed out of order). To interleave multiple ordered streams within
1462
+ # a single queue, use `MessageGroupId` values (for example, session data
1463
+ # for multiple users). In this scenario, multiple readers can process
1464
+ # the queue, but the session data of each user is processed in a FIFO
1465
+ # fashion.
1466
+ #
1467
+ # * You must associate a non-empty `MessageGroupId` with a message. If
1468
+ # you don't provide a `MessageGroupId`, the action fails.
1469
+ #
1470
+ # * `ReceiveMessage` might return messages with multiple
1471
+ # `MessageGroupId` values. For each `MessageGroupId`, the messages are
1472
+ # sorted by time sent. The caller can't specify a `MessageGroupId`.
1473
+ #
1474
+ # The length of `MessageGroupId` is 128 characters. Valid values are
1475
+ # alphanumeric characters and punctuation ``
1476
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1477
+ #
1478
+ # For best practices of using `MessageGroupId`, see [Using the
1479
+ # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1480
+ # Developer Guide*.
1481
+ #
1482
+ #
1483
+ #
1484
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagegroupid-property
1485
+ #
1486
+ # @return [Types::SendMessageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1487
+ #
1488
+ # * {Types::SendMessageResult#md5_of_message_body #md5_of_message_body} => String
1489
+ # * {Types::SendMessageResult#md5_of_message_attributes #md5_of_message_attributes} => String
1490
+ # * {Types::SendMessageResult#message_id #message_id} => String
1491
+ # * {Types::SendMessageResult#sequence_number #sequence_number} => String
1492
+ #
1493
+ # @example Request syntax with placeholder values
1494
+ #
1495
+ # resp = client.send_message({
1496
+ # queue_url: "String", # required
1497
+ # message_body: "String", # required
1498
+ # delay_seconds: 1,
1499
+ # message_attributes: {
1500
+ # "String" => {
1501
+ # string_value: "String",
1502
+ # binary_value: "data",
1503
+ # string_list_values: ["String"],
1504
+ # binary_list_values: ["data"],
1505
+ # data_type: "String", # required
1506
+ # },
1507
+ # },
1508
+ # message_deduplication_id: "String",
1509
+ # message_group_id: "String",
1510
+ # })
1511
+ #
1512
+ # @example Response structure
1513
+ #
1514
+ # resp.md5_of_message_body #=> String
1515
+ # resp.md5_of_message_attributes #=> String
1516
+ # resp.message_id #=> String
1517
+ # resp.sequence_number #=> String
1518
+ #
1519
+ # @overload send_message(params = {})
1520
+ # @param [Hash] params ({})
1521
+ def send_message(params = {}, options = {})
1522
+ req = build_request(:send_message, params)
1523
+ req.send_request(options)
1524
+ end
1446
1525
 
1447
- # Sets the value of one or more queue attributes. When you change a
1448
- # queue's attributes, the change can take up to 60 seconds for most of
1449
- # the attributes to propagate throughout the SQS system. Changes made to
1450
- # the `MessageRetentionPeriod` attribute can take up to 15 minutes.
1451
- #
1452
- # <note markdown="1"> In the future, new attributes might be added. When you write code that
1453
- # calls this action, we recommend structuring your code so that it can
1454
- # handle new attributes gracefully.
1455
- #
1456
- # </note>
1457
- # @option params [required, String] :queue_url
1458
- # The URL of the Amazon SQS queue to take action on.
1459
- #
1460
- # Queue URLs are case-sensitive.
1461
- # @option params [required, Hash<String,String>] :attributes
1462
- # A map of attributes to set.
1463
- #
1464
- # The following lists the names, descriptions, and values of the special
1465
- # request parameters that the `SetQueueAttributes` action uses:
1466
- #
1467
- # * `DelaySeconds` - The number of seconds for which the delivery of all
1468
- # messages in the queue is delayed. An integer from 0 to 900 (15
1469
- # minutes). The default is 0 (zero).
1470
- #
1471
- # * `MaximumMessageSize` - The limit of how many bytes a message can
1472
- # contain before Amazon SQS rejects it. An integer from 1,024 bytes (1
1473
- # KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256
1474
- # KiB).
1475
- #
1476
- # * `MessageRetentionPeriod` - The number of seconds for which Amazon
1477
- # SQS retains a message. An integer representing seconds, from 60 (1
1478
- # minute) to 120,9600 (14 days). The default is 345,600 (4 days).
1479
- #
1480
- # * `Policy` - The queue's policy. A valid AWS policy. For more
1481
- # information about policy structure, see [Overview of AWS IAM
1482
- # Policies][1] in the *Amazon IAM User Guide*.
1483
- #
1484
- # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which a
1485
- # ReceiveMessage action will wait for a message to arrive. An integer
1486
- # from 0 to 20 (seconds). The default is 0.
1487
- #
1488
- # * `RedrivePolicy` - The parameters for the dead letter queue
1489
- # functionality of the source queue. For more information about the
1490
- # redrive policy and dead letter queues, see [Using Amazon SQS Dead
1491
- # Letter Queues][2] in the *Amazon SQS Developer Guide*.
1492
- #
1493
- # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
1494
- # Similarly, the dead letter queue of a standard queue must also be a
1495
- # standard queue.
1496
- #
1497
- # </note>
1498
- #
1499
- # * `VisibilityTimeout` - The visibility timeout for the queue. An
1500
- # integer from 0 to 43200 (12 hours). The default is 30. For more
1501
- # information about the visibility timeout, see [Visibility
1502
- # Timeout][3] in the *Amazon SQS Developer Guide*.
1503
- #
1504
- # The following attribute applies only to [FIFO (first-in-first-out)
1505
- # queues][4]\:
1506
- #
1507
- # * `ContentBasedDeduplication` - Enables content-based deduplication.
1508
- # For more information, see [Exactly-Once Processing][5] in the
1509
- # *Amazon SQS Developer Guide*.
1510
- #
1511
- # * Every message must have a unique `MessageDeduplicationId`,
1512
- #
1513
- # * You may provide a `MessageDeduplicationId` explicitly.
1514
- #
1515
- # * If you aren't able to provide a `MessageDeduplicationId` and
1516
- # you enable `ContentBasedDeduplication` for your queue, Amazon
1517
- # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
1518
- # using the body of the message (but not the attributes of the
1519
- # message).
1520
- #
1521
- # * If you don't provide a `MessageDeduplicationId` and the queue
1522
- # doesn't have `ContentBasedDeduplication` set, the action fails
1523
- # with an error.
1524
- #
1525
- # * If the queue has `ContentBasedDeduplication` set, your
1526
- # `MessageDeduplicationId` overrides the generated one.
1527
- #
1528
- # * When `ContentBasedDeduplication` is in effect, messages with
1529
- # identical content sent within the deduplication interval are
1530
- # treated as duplicates and only one copy of the message is
1531
- # delivered.
1532
- #
1533
- # * You can also use `ContentBasedDeduplication` for messages with
1534
- # identical content to be treated as duplicates.
1535
- #
1536
- # * If you send one message with `ContentBasedDeduplication` enabled
1537
- # and then another message with a `MessageDeduplicationId` that is
1538
- # the same as the one generated for the first
1539
- # `MessageDeduplicationId`, the two messages are treated as
1540
- # duplicates and only one copy of the message is delivered.
1541
- #
1542
- # Any other valid special request parameters that are specified (such as
1543
- # `ApproximateNumberOfMessages`, `ApproximateNumberOfMessagesDelayed`,
1544
- # `ApproximateNumberOfMessagesNotVisible`, `CreatedTimestamp`,
1545
- # `LastModifiedTimestamp`, and `QueueArn`) will be ignored.
1546
- #
1547
- #
1548
- #
1549
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
1550
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1551
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1552
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1553
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1554
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1555
- #
1556
- # @example Request syntax with placeholder values
1557
- # resp = client.set_queue_attributes({
1558
- # queue_url: "String", # required
1559
- # attributes: { # required
1560
- # "All" => "String",
1561
- # },
1562
- # })
1563
- # @overload set_queue_attributes(params = {})
1564
- # @param [Hash] params ({})
1565
- def set_queue_attributes(params = {}, options = {})
1566
- req = build_request(:set_queue_attributes, params)
1567
- req.send_request(options)
1568
- end
1526
+ # Delivers up to ten messages to the specified queue. This is a batch
1527
+ # version of ` SendMessage `. For a FIFO queue, multiple messages within
1528
+ # a single batch are enqueued in the order they are sent.
1529
+ #
1530
+ # The result of sending each message is reported individually in the
1531
+ # response. Because the batch request can result in a combination of
1532
+ # successful and unsuccessful actions, you should check for batch errors
1533
+ # even when the call returns an HTTP status code of `200`.
1534
+ #
1535
+ # The maximum allowed individual message size and the maximum total
1536
+ # payload size (the sum of the individual lengths of all of the batched
1537
+ # messages) are both 256 KB (262,144 bytes).
1538
+ #
1539
+ # The following list shows the characters (in Unicode) that are allowed
1540
+ # in your message, according to the W3C XML specification:
1541
+ #
1542
+ # * `#x9`
1543
+ #
1544
+ # * `#xA`
1545
+ #
1546
+ # * `#xD`
1547
+ #
1548
+ # * `#x20` to `#xD7FF`
1549
+ #
1550
+ # * `#xE000` to `#xFFFD`
1551
+ #
1552
+ # * `#x10000` to `#x10FFFF`
1553
+ #
1554
+ # For more information, see [RFC1321][1]. If you send any characters
1555
+ # that aren't included in this list, your request is rejected.
1556
+ #
1557
+ # If you don't specify the `DelaySeconds` parameter for an entry,
1558
+ # Amazon SQS uses the default value for the queue.
1559
+ #
1560
+ # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
1561
+ # the `param.n` notation. Values of `n` are integers starting from 1.
1562
+ # For example, a parameter list with two elements looks like this:
1563
+ #
1564
+ # `&Attribute.1=this`
1565
+ #
1566
+ # `&Attribute.2=that`
1567
+ #
1568
+ # </note>
1569
+ #
1570
+ #
1571
+ #
1572
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1573
+ #
1574
+ # @option params [required, String] :queue_url
1575
+ # The URL of the Amazon SQS queue to which batched messages are sent.
1576
+ #
1577
+ # Queue URLs are case-sensitive.
1578
+ #
1579
+ # @option params [required, Array<Types::SendMessageBatchRequestEntry>] :entries
1580
+ # A list of ` SendMessageBatchRequestEntry ` items.
1581
+ #
1582
+ # @return [Types::SendMessageBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1583
+ #
1584
+ # * {Types::SendMessageBatchResult#successful #successful} => Array&lt;Types::SendMessageBatchResultEntry&gt;
1585
+ # * {Types::SendMessageBatchResult#failed #failed} => Array&lt;Types::BatchResultErrorEntry&gt;
1586
+ #
1587
+ # @example Request syntax with placeholder values
1588
+ #
1589
+ # resp = client.send_message_batch({
1590
+ # queue_url: "String", # required
1591
+ # entries: [ # required
1592
+ # {
1593
+ # id: "String", # required
1594
+ # message_body: "String", # required
1595
+ # delay_seconds: 1,
1596
+ # message_attributes: {
1597
+ # "String" => {
1598
+ # string_value: "String",
1599
+ # binary_value: "data",
1600
+ # string_list_values: ["String"],
1601
+ # binary_list_values: ["data"],
1602
+ # data_type: "String", # required
1603
+ # },
1604
+ # },
1605
+ # message_deduplication_id: "String",
1606
+ # message_group_id: "String",
1607
+ # },
1608
+ # ],
1609
+ # })
1610
+ #
1611
+ # @example Response structure
1612
+ #
1613
+ # resp.successful #=> Array
1614
+ # resp.successful[0].id #=> String
1615
+ # resp.successful[0].message_id #=> String
1616
+ # resp.successful[0].md5_of_message_body #=> String
1617
+ # resp.successful[0].md5_of_message_attributes #=> String
1618
+ # resp.successful[0].sequence_number #=> String
1619
+ # resp.failed #=> Array
1620
+ # resp.failed[0].id #=> String
1621
+ # resp.failed[0].sender_fault #=> Boolean
1622
+ # resp.failed[0].code #=> String
1623
+ # resp.failed[0].message #=> String
1624
+ #
1625
+ # @overload send_message_batch(params = {})
1626
+ # @param [Hash] params ({})
1627
+ def send_message_batch(params = {}, options = {})
1628
+ req = build_request(:send_message_batch, params)
1629
+ req.send_request(options)
1630
+ end
1569
1631
 
1570
- # @!endgroup
1632
+ # Sets the value of one or more queue attributes. When you change a
1633
+ # queue's attributes, the change can take up to 60 seconds for most of
1634
+ # the attributes to propagate throughout the Amazon SQS system. Changes
1635
+ # made to the `MessageRetentionPeriod` attribute can take up to 15
1636
+ # minutes.
1637
+ #
1638
+ # <note markdown="1"> In the future, new attributes might be added. If you write code that
1639
+ # calls this action, we recommend that you structure your code so that
1640
+ # it can handle new attributes gracefully.
1641
+ #
1642
+ # </note>
1643
+ #
1644
+ # @option params [required, String] :queue_url
1645
+ # The URL of the Amazon SQS queue whose attributes are set.
1646
+ #
1647
+ # Queue URLs are case-sensitive.
1648
+ #
1649
+ # @option params [required, Hash<String,String>] :attributes
1650
+ # A map of attributes to set.
1651
+ #
1652
+ # The following lists the names, descriptions, and values of the special
1653
+ # request parameters that the `SetQueueAttributes` action uses:
1654
+ #
1655
+ # * `DelaySeconds` - The number of seconds for which the delivery of all
1656
+ # messages in the queue is delayed. Valid values: An integer from 0 to
1657
+ # 900 (15 minutes). The default is 0 (zero).
1658
+ #
1659
+ # * `MaximumMessageSize` - The limit of how many bytes a message can
1660
+ # contain before Amazon SQS rejects it. Valid values: An integer from
1661
+ # 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The default is
1662
+ # 262,144 (256 KiB).
1663
+ #
1664
+ # * `MessageRetentionPeriod` - The number of seconds for which Amazon
1665
+ # SQS retains a message. Valid values: An integer representing
1666
+ # seconds, from 60 (1 minute) to 1,209,600 (14 days). The default is
1667
+ # 345,600 (4 days).
1668
+ #
1669
+ # * `Policy` - The queue's policy. A valid AWS policy. For more
1670
+ # information about policy structure, see [Overview of AWS IAM
1671
+ # Policies][1] in the *Amazon IAM User Guide*.
1672
+ #
1673
+ # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which a
1674
+ # ` ReceiveMessage ` action waits for a message to arrive. Valid
1675
+ # values: an integer from 0 to 20 (seconds). The default is 0.
1676
+ #
1677
+ # * `RedrivePolicy` - The parameters for the dead letter queue
1678
+ # functionality of the source queue. For more information about the
1679
+ # redrive policy and dead letter queues, see [Using Amazon SQS Dead
1680
+ # Letter Queues][2] in the *Amazon SQS Developer Guide*.
1681
+ #
1682
+ # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
1683
+ # Similarly, the dead letter queue of a standard queue must also be a
1684
+ # standard queue.
1685
+ #
1686
+ # </note>
1687
+ #
1688
+ # * `VisibilityTimeout` - The visibility timeout for the queue. Valid
1689
+ # values: an integer from 0 to 43,200 (12 hours). The default is 30.
1690
+ # For more information about the visibility timeout, see [Visibility
1691
+ # Timeout][3] in the *Amazon SQS Developer Guide*.
1692
+ #
1693
+ # The following attribute applies only to [FIFO (first-in-first-out)
1694
+ # queues][4]\:
1695
+ #
1696
+ # * `ContentBasedDeduplication` - Enables content-based deduplication.
1697
+ # For more information, see [Exactly-Once Processing][5] in the
1698
+ # *Amazon SQS Developer Guide*.
1699
+ #
1700
+ # * Every message must have a unique `MessageDeduplicationId`,
1701
+ #
1702
+ # * You may provide a `MessageDeduplicationId` explicitly.
1703
+ #
1704
+ # * If you aren't able to provide a `MessageDeduplicationId` and
1705
+ # you enable `ContentBasedDeduplication` for your queue, Amazon
1706
+ # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
1707
+ # using the body of the message (but not the attributes of the
1708
+ # message).
1709
+ #
1710
+ # * If you don't provide a `MessageDeduplicationId` and the queue
1711
+ # doesn't have `ContentBasedDeduplication` set, the action fails
1712
+ # with an error.
1713
+ #
1714
+ # * If the queue has `ContentBasedDeduplication` set, your
1715
+ # `MessageDeduplicationId` overrides the generated one.
1716
+ #
1717
+ # * When `ContentBasedDeduplication` is in effect, messages with
1718
+ # identical content sent within the deduplication interval are
1719
+ # treated as duplicates and only one copy of the message is
1720
+ # delivered.
1721
+ #
1722
+ # * You can also use `ContentBasedDeduplication` for messages with
1723
+ # identical content to be treated as duplicates.
1724
+ #
1725
+ # * If you send one message with `ContentBasedDeduplication` enabled
1726
+ # and then another message with a `MessageDeduplicationId` that is
1727
+ # the same as the one generated for the first
1728
+ # `MessageDeduplicationId`, the two messages are treated as
1729
+ # duplicates and only one copy of the message is delivered.
1730
+ #
1731
+ # Any other valid special request parameters (such as the following) are
1732
+ # ignored:
1733
+ #
1734
+ # * `ApproximateNumberOfMessages`
1735
+ #
1736
+ # * `ApproximateNumberOfMessagesDelayed`
1737
+ #
1738
+ # * `ApproximateNumberOfMessagesNotVisible`
1739
+ #
1740
+ # * `CreatedTimestamp`
1741
+ #
1742
+ # * `LastModifiedTimestamp`
1743
+ #
1744
+ # * `QueueArn`
1745
+ #
1746
+ #
1747
+ #
1748
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
1749
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1750
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1751
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1752
+ # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1753
+ #
1754
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1755
+ #
1756
+ # @example Request syntax with placeholder values
1757
+ #
1758
+ # resp = client.set_queue_attributes({
1759
+ # queue_url: "String", # required
1760
+ # attributes: { # required
1761
+ # "All" => "String",
1762
+ # },
1763
+ # })
1764
+ #
1765
+ # @overload set_queue_attributes(params = {})
1766
+ # @param [Hash] params ({})
1767
+ def set_queue_attributes(params = {}, options = {})
1768
+ req = build_request(:set_queue_attributes, params)
1769
+ req.send_request(options)
1770
+ end
1571
1771
 
1572
- # @param params ({})
1573
- # @api private
1574
- def build_request(operation_name, params = {})
1575
- handlers = @handlers.for(operation_name)
1576
- context = Seahorse::Client::RequestContext.new(
1577
- operation_name: operation_name,
1578
- operation: config.api.operation(operation_name),
1579
- client: self,
1580
- params: params,
1581
- config: config)
1582
- context[:gem_name] = 'aws-sdk-sqs'
1583
- context[:gem_version] = '1.0.0.rc2'
1584
- Seahorse::Client::Request.new(handlers, context)
1585
- end
1772
+ # @!endgroup
1586
1773
 
1587
- # @api private
1588
- # @deprecated
1589
- def waiter_names
1590
- []
1591
- end
1774
+ # @param params ({})
1775
+ # @api private
1776
+ def build_request(operation_name, params = {})
1777
+ handlers = @handlers.for(operation_name)
1778
+ context = Seahorse::Client::RequestContext.new(
1779
+ operation_name: operation_name,
1780
+ operation: config.api.operation(operation_name),
1781
+ client: self,
1782
+ params: params,
1783
+ config: config)
1784
+ context[:gem_name] = 'aws-sdk-sqs'
1785
+ context[:gem_version] = '1.0.0.rc2'
1786
+ Seahorse::Client::Request.new(handlers, context)
1787
+ end
1592
1788
 
1593
- class << self
1789
+ # @api private
1790
+ # @deprecated
1791
+ def waiter_names
1792
+ []
1793
+ end
1594
1794
 
1595
- # @api private
1596
- attr_reader :identifier
1795
+ class << self
1597
1796
 
1598
- # @api private
1599
- def errors_module
1600
- Errors
1601
- end
1797
+ # @api private
1798
+ attr_reader :identifier
1602
1799
 
1800
+ # @api private
1801
+ def errors_module
1802
+ Errors
1603
1803
  end
1804
+
1604
1805
  end
1605
1806
  end
1606
1807
  end