aws-sdk-sqs 1.5.0 → 1.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
@@ -15,20 +17,41 @@ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
17
  require 'aws-sdk-core/plugins/retry_errors.rb'
16
18
  require 'aws-sdk-core/plugins/global_configuration.rb'
17
19
  require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
18
22
  require 'aws-sdk-core/plugins/response_paging.rb'
19
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
21
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
23
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
24
- require 'aws-sdk-core/plugins/signature_v4.rb'
25
- require 'aws-sdk-core/plugins/protocols/query.rb'
29
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
+ require 'aws-sdk-core/plugins/http_checksum.rb'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
+ require 'aws-sdk-core/plugins/request_compression.rb'
33
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
34
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/sign.rb'
36
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
26
37
  require 'aws-sdk-sqs/plugins/queue_urls.rb'
27
38
  require 'aws-sdk-sqs/plugins/md5s.rb'
28
39
 
29
40
  Aws::Plugins::GlobalConfiguration.add_identifier(:sqs)
30
41
 
31
42
  module Aws::SQS
43
+ # An API client for SQS. To construct a client, you need to configure a `:region` and `:credentials`.
44
+ #
45
+ # client = Aws::SQS::Client.new(
46
+ # region: region_name,
47
+ # credentials: credentials,
48
+ # # ...
49
+ # )
50
+ #
51
+ # For details on configuring region and credentials see
52
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
53
+ #
54
+ # See {#initialize} for a full list of supported configuration options.
32
55
  class Client < Seahorse::Client::Base
33
56
 
34
57
  include Aws::ClientStubs
@@ -47,138 +70,371 @@ module Aws::SQS
47
70
  add_plugin(Aws::Plugins::RetryErrors)
48
71
  add_plugin(Aws::Plugins::GlobalConfiguration)
49
72
  add_plugin(Aws::Plugins::RegionalEndpoint)
73
+ add_plugin(Aws::Plugins::EndpointDiscovery)
74
+ add_plugin(Aws::Plugins::EndpointPattern)
50
75
  add_plugin(Aws::Plugins::ResponsePaging)
51
76
  add_plugin(Aws::Plugins::StubResponses)
52
77
  add_plugin(Aws::Plugins::IdempotencyToken)
78
+ add_plugin(Aws::Plugins::InvocationId)
53
79
  add_plugin(Aws::Plugins::JsonvalueConverter)
54
80
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
55
81
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
56
- add_plugin(Aws::Plugins::SignatureV4)
57
- add_plugin(Aws::Plugins::Protocols::Query)
82
+ add_plugin(Aws::Plugins::TransferEncoding)
83
+ add_plugin(Aws::Plugins::HttpChecksum)
84
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
85
+ add_plugin(Aws::Plugins::RequestCompression)
86
+ add_plugin(Aws::Plugins::DefaultsMode)
87
+ add_plugin(Aws::Plugins::RecursionDetection)
88
+ add_plugin(Aws::Plugins::Sign)
89
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
58
90
  add_plugin(Aws::SQS::Plugins::QueueUrls)
59
91
  add_plugin(Aws::SQS::Plugins::Md5s)
92
+ add_plugin(Aws::SQS::Plugins::Endpoints)
60
93
 
61
- # @option options [required, Aws::CredentialProvider] :credentials
62
- # Your AWS credentials. This can be an instance of any one of the
63
- # following classes:
64
- #
65
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
66
- # credentials.
67
- #
68
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
69
- # from an EC2 IMDS on an EC2 instance.
70
- #
71
- # * `Aws::SharedCredentials` - Used for loading credentials from a
72
- # shared file, such as `~/.aws/config`.
73
- #
74
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
75
- #
76
- # When `:credentials` are not configured directly, the following
77
- # locations will be searched for credentials:
78
- #
79
- # * `Aws.config[:credentials]`
80
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
81
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
82
- # * `~/.aws/credentials`
83
- # * `~/.aws/config`
84
- # * EC2 IMDS instance profile - When used by default, the timeouts are
85
- # very aggressive. Construct and pass an instance of
86
- # `Aws::InstanceProfileCredentails` to enable retries and extended
87
- # timeouts.
88
- #
89
- # @option options [required, String] :region
90
- # The AWS region to connect to. The configured `:region` is
91
- # used to determine the service `:endpoint`. When not passed,
92
- # a default `:region` is search for in the following locations:
93
- #
94
- # * `Aws.config[:region]`
95
- # * `ENV['AWS_REGION']`
96
- # * `ENV['AMAZON_REGION']`
97
- # * `ENV['AWS_DEFAULT_REGION']`
98
- # * `~/.aws/credentials`
99
- # * `~/.aws/config`
100
- #
101
- # @option options [String] :access_key_id
94
+ # @overload initialize(options)
95
+ # @param [Hash] options
102
96
  #
103
- # @option options [] :client_side_monitoring (false)
104
- # When `true`, client-side metrics will be collected for all API requests from
105
- # this client.
97
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
98
+ # A list of plugins to apply to the client. Each plugin is either a
99
+ # class name or an instance of a plugin class.
106
100
  #
107
- # @option options [] :client_side_monitoring_client_id ("")
108
- # Allows you to provide an identifier for this client which will be attached to
109
- # all generated client side metrics. Defaults to an empty string.
101
+ # @option options [required, Aws::CredentialProvider] :credentials
102
+ # Your AWS credentials. This can be an instance of any one of the
103
+ # following classes:
110
104
  #
111
- # @option options [] :client_side_monitoring_port (31000)
112
- # Required for publishing client metrics. The port that the client side monitoring
113
- # agent is running on, where client metrics will be published via UDP.
105
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
106
+ # credentials.
114
107
  #
115
- # @option options [] :client_side_monitoring_publisher (#<Aws::ClientSideMonitoring::Publisher:0x00007f20e3c7b9f0 @agent_port=nil, @mutex=#<Thread::Mutex:0x00007f20e3c7b9a0>>)
116
- # Allows you to provide a custom client-side monitoring publisher class. By default,
117
- # will use the Client Side Monitoring Agent Publisher.
108
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
109
+ # shared file, such as `~/.aws/config`.
118
110
  #
119
- # @option options [Boolean] :convert_params (true)
120
- # When `true`, an attempt is made to coerce request parameters into
121
- # the required types.
111
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
122
112
  #
123
- # @option options [String] :endpoint
124
- # The client endpoint is normally constructed from the `:region`
125
- # option. You should only configure an `:endpoint` when connecting
126
- # to test endpoints. This should be avalid HTTP(S) URI.
113
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
114
+ # assume a role after providing credentials via the web.
115
+ #
116
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
117
+ # access token generated from `aws login`.
118
+ #
119
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
120
+ # process that outputs to stdout.
121
+ #
122
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
123
+ # from an EC2 IMDS on an EC2 instance.
127
124
  #
128
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
129
- # The log formatter.
125
+ # * `Aws::ECSCredentials` - Used for loading credentials from
126
+ # instances running in ECS.
130
127
  #
131
- # @option options [Symbol] :log_level (:info)
132
- # The log level to send messages to the `:logger` at.
128
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
129
+ # from the Cognito Identity service.
130
+ #
131
+ # When `:credentials` are not configured directly, the following
132
+ # locations will be searched for credentials:
133
+ #
134
+ # * `Aws.config[:credentials]`
135
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
136
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
137
+ # * `~/.aws/credentials`
138
+ # * `~/.aws/config`
139
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
140
+ # are very aggressive. Construct and pass an instance of
141
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
142
+ # enable retries and extended timeouts. Instance profile credential
143
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
144
+ # to true.
133
145
  #
134
- # @option options [Logger] :logger
135
- # The Logger instance to send log messages to. If this option
136
- # is not set, logging will be disabled.
146
+ # @option options [required, String] :region
147
+ # The AWS region to connect to. The configured `:region` is
148
+ # used to determine the service `:endpoint`. When not passed,
149
+ # a default `:region` is searched for in the following locations:
137
150
  #
138
- # @option options [String] :profile ("default")
139
- # Used when loading credentials from the shared credentials file
140
- # at HOME/.aws/credentials. When not specified, 'default' is used.
151
+ # * `Aws.config[:region]`
152
+ # * `ENV['AWS_REGION']`
153
+ # * `ENV['AMAZON_REGION']`
154
+ # * `ENV['AWS_DEFAULT_REGION']`
155
+ # * `~/.aws/credentials`
156
+ # * `~/.aws/config`
157
+ #
158
+ # @option options [String] :access_key_id
141
159
  #
142
- # @option options [Float] :retry_base_delay (0.3)
143
- # The base delay in seconds used by the default backoff function.
160
+ # @option options [Boolean] :active_endpoint_cache (false)
161
+ # When set to `true`, a thread polling for endpoints will be running in
162
+ # the background every 60 secs (default). Defaults to `false`.
163
+ #
164
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
165
+ # Used only in `adaptive` retry mode. When true, the request will sleep
166
+ # until there is sufficent client side capacity to retry the request.
167
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
+ # not retry instead of sleeping.
169
+ #
170
+ # @option options [Boolean] :client_side_monitoring (false)
171
+ # When `true`, client-side metrics will be collected for all API requests from
172
+ # this client.
173
+ #
174
+ # @option options [String] :client_side_monitoring_client_id ("")
175
+ # Allows you to provide an identifier for this client which will be attached to
176
+ # all generated client side metrics. Defaults to an empty string.
177
+ #
178
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
179
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
180
+ # side monitoring agent is running on, where client metrics will be published via UDP.
181
+ #
182
+ # @option options [Integer] :client_side_monitoring_port (31000)
183
+ # Required for publishing client metrics. The port that the client side monitoring
184
+ # agent is running on, where client metrics will be published via UDP.
185
+ #
186
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
187
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
188
+ # will use the Client Side Monitoring Agent Publisher.
189
+ #
190
+ # @option options [Boolean] :convert_params (true)
191
+ # When `true`, an attempt is made to coerce request parameters into
192
+ # the required types.
193
+ #
194
+ # @option options [Boolean] :correct_clock_skew (true)
195
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
196
+ # a clock skew correction and retry requests with skewed client clocks.
197
+ #
198
+ # @option options [String] :defaults_mode ("legacy")
199
+ # See {Aws::DefaultsModeConfiguration} for a list of the
200
+ # accepted modes and the configuration defaults that are included.
201
+ #
202
+ # @option options [Boolean] :disable_host_prefix_injection (false)
203
+ # Set to true to disable SDK automatically adding host prefix
204
+ # to default service endpoint when available.
205
+ #
206
+ # @option options [Boolean] :disable_request_compression (false)
207
+ # When set to 'true' the request body will not be compressed
208
+ # for supported operations.
209
+ #
210
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
211
+ # Normally you should not configure the `:endpoint` option
212
+ # directly. This is normally constructed from the `:region`
213
+ # option. Configuring `:endpoint` is normally reserved for
214
+ # connecting to test or custom endpoints. The endpoint should
215
+ # be a URI formatted like:
216
+ #
217
+ # 'http://example.com'
218
+ # 'https://example.com'
219
+ # 'http://example.com:123'
220
+ #
221
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
222
+ # Used for the maximum size limit of the LRU cache storing endpoints data
223
+ # for endpoint discovery enabled operations. Defaults to 1000.
224
+ #
225
+ # @option options [Integer] :endpoint_cache_max_threads (10)
226
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
227
+ #
228
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
229
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
230
+ # Use this option to config the time interval in seconds for making
231
+ # requests fetching endpoints information. Defaults to 60 sec.
232
+ #
233
+ # @option options [Boolean] :endpoint_discovery (false)
234
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
235
+ #
236
+ # @option options [Boolean] :ignore_configured_endpoint_urls
237
+ # Setting to true disables use of endpoint URLs provided via environment
238
+ # variables and the shared configuration file.
239
+ #
240
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
241
+ # The log formatter.
242
+ #
243
+ # @option options [Symbol] :log_level (:info)
244
+ # The log level to send messages to the `:logger` at.
245
+ #
246
+ # @option options [Logger] :logger
247
+ # The Logger instance to send log messages to. If this option
248
+ # is not set, logging will be disabled.
249
+ #
250
+ # @option options [Integer] :max_attempts (3)
251
+ # An integer representing the maximum number attempts that will be made for
252
+ # a single request, including the initial attempt. For example,
253
+ # setting this value to 5 will result in a request being retried up to
254
+ # 4 times. Used in `standard` and `adaptive` retry modes.
255
+ #
256
+ # @option options [String] :profile ("default")
257
+ # Used when loading credentials from the shared credentials file
258
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
259
+ #
260
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
261
+ # The minimum size in bytes that triggers compression for request
262
+ # bodies. The value must be non-negative integer value between 0
263
+ # and 10485780 bytes inclusive.
264
+ #
265
+ # @option options [Proc] :retry_backoff
266
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
267
+ # This option is only used in the `legacy` retry mode.
268
+ #
269
+ # @option options [Float] :retry_base_delay (0.3)
270
+ # The base delay in seconds used by the default backoff function. This option
271
+ # is only used in the `legacy` retry mode.
272
+ #
273
+ # @option options [Symbol] :retry_jitter (:none)
274
+ # A delay randomiser function used by the default backoff function.
275
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
276
+ # otherwise a Proc that takes and returns a number. This option is only used
277
+ # in the `legacy` retry mode.
278
+ #
279
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
280
+ #
281
+ # @option options [Integer] :retry_limit (3)
282
+ # The maximum number of times to retry failed requests. Only
283
+ # ~ 500 level server errors and certain ~ 400 level client errors
284
+ # are retried. Generally, these are throttling errors, data
285
+ # checksum errors, networking errors, timeout errors, auth errors,
286
+ # endpoint discovery, and errors from expired credentials.
287
+ # This option is only used in the `legacy` retry mode.
288
+ #
289
+ # @option options [Integer] :retry_max_delay (0)
290
+ # The maximum number of seconds to delay between retries (0 for no limit)
291
+ # used by the default backoff function. This option is only used in the
292
+ # `legacy` retry mode.
293
+ #
294
+ # @option options [String] :retry_mode ("legacy")
295
+ # Specifies which retry algorithm to use. Values are:
296
+ #
297
+ # * `legacy` - The pre-existing retry behavior. This is default value if
298
+ # no retry mode is provided.
299
+ #
300
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
301
+ # This includes support for retry quotas, which limit the number of
302
+ # unsuccessful retries a client can make.
303
+ #
304
+ # * `adaptive` - An experimental retry mode that includes all the
305
+ # functionality of `standard` mode along with automatic client side
306
+ # throttling. This is a provisional mode that may change behavior
307
+ # in the future.
308
+ #
309
+ # @option options [String] :sdk_ua_app_id
310
+ # A unique and opaque application ID that is appended to the
311
+ # User-Agent header as app/sdk_ua_app_id. It should have a
312
+ # maximum length of 50. This variable is sourced from environment
313
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
314
+ #
315
+ # @option options [String] :secret_access_key
316
+ #
317
+ # @option options [String] :session_token
318
+ #
319
+ # @option options [Array] :sigv4a_signing_region_set
320
+ # A list of regions that should be signed with SigV4a signing. When
321
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
322
+ # in the following locations:
323
+ #
324
+ # * `Aws.config[:sigv4a_signing_region_set]`
325
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
326
+ # * `~/.aws/config`
327
+ #
328
+ # @option options [Boolean] :simple_json (false)
329
+ # Disables request parameter conversion, validation, and formatting.
330
+ # Also disables response data type conversions. The request parameters
331
+ # hash must be formatted exactly as the API expects.This option is useful
332
+ # when you want to ensure the highest level of performance by avoiding
333
+ # overhead of walking request parameters and response data structures.
334
+ #
335
+ # @option options [Boolean] :stub_responses (false)
336
+ # Causes the client to return stubbed responses. By default
337
+ # fake responses are generated and returned. You can specify
338
+ # the response data to return or errors to raise by calling
339
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
340
+ #
341
+ # ** Please note ** When response stubbing is enabled, no HTTP
342
+ # requests are made, and retries are disabled.
343
+ #
344
+ # @option options [Aws::TokenProvider] :token_provider
345
+ # A Bearer Token Provider. This can be an instance of any one of the
346
+ # following classes:
347
+ #
348
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
349
+ # tokens.
350
+ #
351
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
352
+ # access token generated from `aws login`.
353
+ #
354
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
355
+ # will be used to search for tokens configured for your profile in shared configuration files.
356
+ #
357
+ # @option options [Boolean] :use_dualstack_endpoint
358
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
359
+ # will be used if available.
360
+ #
361
+ # @option options [Boolean] :use_fips_endpoint
362
+ # When set to `true`, fips compatible endpoints will be used if available.
363
+ # When a `fips` region is used, the region is normalized and this config
364
+ # is set to `true`.
365
+ #
366
+ # @option options [Boolean] :validate_params (true)
367
+ # When `true`, request parameters are validated before
368
+ # sending the request.
369
+ #
370
+ # @option options [Boolean] :verify_checksums (true)
371
+ # When `true` MD5 checksums will be computed for messages sent to
372
+ # an SQS queue and matched against MD5 checksums returned by Amazon SQS.
373
+ # `Aws::Errors::Checksum` errors are raised for cases where checksums do
374
+ # not match.
375
+ #
376
+ # @option options [Aws::SQS::EndpointProvider] :endpoint_provider
377
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SQS::EndpointParameters`
378
+ #
379
+ # @option options [Float] :http_continue_timeout (1)
380
+ # The number of seconds to wait for a 100-continue response before sending the
381
+ # request body. This option has no effect unless the request has "Expect"
382
+ # header set to "100-continue". Defaults to `nil` which disables this
383
+ # behaviour. This value can safely be set per request on the session.
384
+ #
385
+ # @option options [Float] :http_idle_timeout (5)
386
+ # The number of seconds a connection is allowed to sit idle before it
387
+ # is considered stale. Stale connections are closed and removed from the
388
+ # pool before making a request.
389
+ #
390
+ # @option options [Float] :http_open_timeout (15)
391
+ # The default number of seconds to wait for response data.
392
+ # This value can safely be set per-request on the session.
144
393
  #
145
- # @option options [Symbol] :retry_jitter (:none)
146
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
394
+ # @option options [URI::HTTP,String] :http_proxy
395
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
147
396
  #
148
- # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
397
+ # @option options [Float] :http_read_timeout (60)
398
+ # The default number of seconds to wait for response data.
399
+ # This value can safely be set per-request on the session.
400
+ #
401
+ # @option options [Boolean] :http_wire_trace (false)
402
+ # When `true`, HTTP debug output will be sent to the `:logger`.
403
+ #
404
+ # @option options [Proc] :on_chunk_received
405
+ # When a Proc object is provided, it will be used as callback when each chunk
406
+ # of the response body is received. It provides three arguments: the chunk,
407
+ # the number of bytes received, and the total number of
408
+ # bytes in the response (or nil if the server did not send a `content-length`).
409
+ #
410
+ # @option options [Proc] :on_chunk_sent
411
+ # When a Proc object is provided, it will be used as callback when each chunk
412
+ # of the request body is sent. It provides three arguments: the chunk,
413
+ # the number of bytes read from the body, and the total number of
414
+ # bytes in the body.
415
+ #
416
+ # @option options [Boolean] :raise_response_errors (true)
417
+ # When `true`, response errors are raised.
418
+ #
419
+ # @option options [String] :ssl_ca_bundle
420
+ # Full path to the SSL certificate authority bundle file that should be used when
421
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
422
+ # `:ssl_ca_directory` the the system default will be used if available.
423
+ #
424
+ # @option options [String] :ssl_ca_directory
425
+ # Full path of the directory that contains the unbundled SSL certificate
426
+ # authority files for verifying peer certificates. If you do
427
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
428
+ # default will be used if available.
429
+ #
430
+ # @option options [String] :ssl_ca_store
431
+ # Sets the X509::Store to verify peer certificate.
149
432
  #
150
- # @option options [Integer] :retry_limit (3)
151
- # The maximum number of times to retry failed requests. Only
152
- # ~ 500 level server errors and certain ~ 400 level client errors
153
- # are retried. Generally, these are throttling errors, data
154
- # checksum errors, networking errors, timeout errors and auth
155
- # errors from expired credentials.
156
- #
157
- # @option options [Integer] :retry_max_delay (0)
158
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
159
- #
160
- # @option options [String] :secret_access_key
161
- #
162
- # @option options [String] :session_token
163
- #
164
- # @option options [Boolean] :stub_responses (false)
165
- # Causes the client to return stubbed responses. By default
166
- # fake responses are generated and returned. You can specify
167
- # the response data to return or errors to raise by calling
168
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
169
- #
170
- # ** Please note ** When response stubbing is enabled, no HTTP
171
- # requests are made, and retries are disabled.
172
- #
173
- # @option options [Boolean] :validate_params (true)
174
- # When `true`, request parameters are validated before
175
- # sending the request.
176
- #
177
- # @option options [Boolean] :verify_checksums (true)
178
- # When `true` MD5 checksums will be computed for messages sent to
179
- # an SQS queue and matched against MD5 checksums returned by Amazon SQS.
180
- # `Aws::Errors::Checksum` errors are raised for cases where checksums do
181
- # not match.
433
+ # @option options [Float] :ssl_timeout
434
+ # Sets the SSL timeout in seconds
435
+ #
436
+ # @option options [Boolean] :ssl_verify_peer (true)
437
+ # When `true`, SSL peer certificates are verified when establishing a connection.
182
438
  #
183
439
  def initialize(*args)
184
440
  super
@@ -191,36 +447,44 @@ module Aws::SQS
191
447
  #
192
448
  # When you create a queue, you have full control access rights for the
193
449
  # queue. Only you, the owner of the queue, can grant or deny permissions
194
- # to the queue. For more information about these permissions, see
195
- # [Shared Queues][2] in the *Amazon Simple Queue Service Developer
196
- # Guide*.
197
- #
198
- # <note markdown="1"> `AddPermission` writes an Amazon-SQS-generated policy. If you want to
199
- # write your own policy, use ` SetQueueAttributes ` to upload your
200
- # policy. For more information about writing your own policy, see [Using
201
- # The Access Policy Language][3] in the *Amazon Simple Queue Service
450
+ # to the queue. For more information about these permissions, see [Allow
451
+ # Developers to Write Messages to a Shared Queue][2] in the *Amazon SQS
202
452
  # Developer Guide*.
203
453
  #
204
- # Some actions take lists of parameters. These lists are specified using
205
- # the `param.n` notation. Values of `n` are integers starting from 1.
206
- # For example, a parameter list with two elements looks like this:
454
+ # <note markdown="1"> * `AddPermission` generates a policy for you. You can use `
455
+ # SetQueueAttributes ` to upload your policy. For more information,
456
+ # see [Using Custom Policies with the Amazon SQS Access Policy
457
+ # Language][3] in the *Amazon SQS Developer Guide*.
458
+ #
459
+ # * An Amazon SQS policy can have a maximum of seven actions per
460
+ # statement.
207
461
  #
208
- # `&Attribute.1=this`
462
+ # * To remove the ability to change queue permissions, you must deny
463
+ # permission to the `AddPermission`, `RemovePermission`, and
464
+ # `SetQueueAttributes` actions in your IAM policy.
209
465
  #
210
- # `&Attribute.2=that`
466
+ # * Amazon SQS `AddPermission` does not support adding a non-account
467
+ # principal.
468
+ #
469
+ # </note>
470
+ #
471
+ # <note markdown="1"> Cross-account permissions don't apply to this action. For more
472
+ # information, see [Grant cross-account permissions to a role and a
473
+ # username][4] in the *Amazon SQS Developer Guide*.
211
474
  #
212
475
  # </note>
213
476
  #
214
477
  #
215
478
  #
216
- # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
217
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html
218
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AccessPolicyLanguage.html
479
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
480
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-writing-an-sqs-policy.html#write-messages-to-shared-queue
481
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html
482
+ # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
219
483
  #
220
484
  # @option params [required, String] :queue_url
221
485
  # The URL of the Amazon SQS queue to which permissions are added.
222
486
  #
223
- # Queue URLs are case-sensitive.
487
+ # Queue URLs and names are case-sensitive.
224
488
  #
225
489
  # @option params [required, String] :label
226
490
  # The unique identification of the permission you're setting (for
@@ -229,37 +493,23 @@ module Aws::SQS
229
493
  # underscores (`_`).
230
494
  #
231
495
  # @option params [required, Array<String>] :aws_account_ids
232
- # The AWS account number of the [principal][1] who is given permission.
233
- # The principal must have an AWS account, but does not need to be signed
234
- # up for Amazon SQS. For information about locating the AWS account
235
- # identification, see [Your AWS Identifiers][2] in the *Amazon Simple
236
- # Queue Service Developer Guide*.
496
+ # The Amazon Web Services account numbers of the [principals][1] who are
497
+ # to receive permission. For information about locating the Amazon Web
498
+ # Services account identification, see [Your Amazon Web Services
499
+ # Identifiers][2] in the *Amazon SQS Developer Guide*.
237
500
  #
238
501
  #
239
502
  #
240
- # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
241
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AWSCredentials.html
503
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
504
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-making-api-requests.html#sqs-api-request-authentication
242
505
  #
243
506
  # @option params [required, Array<String>] :actions
244
- # The action the client wants to allow for the specified principal. The
245
- # following values are valid:
246
- #
247
- # * `*`
248
- #
249
- # * `ChangeMessageVisibility`
250
- #
251
- # * `DeleteMessage`
252
- #
253
- # * `GetQueueAttributes`
254
- #
255
- # * `GetQueueUrl`
256
- #
257
- # * `ReceiveMessage`
258
- #
259
- # * `SendMessage`
507
+ # The action the client wants to allow for the specified principal.
508
+ # Valid values: the name of any action or `*`.
260
509
  #
261
- # For more information about these actions, see [Understanding
262
- # Permissions][1] in the *Amazon Simple Queue Service Developer Guide*.
510
+ # For more information about these actions, see [Overview of Managing
511
+ # Access Permissions to Your Amazon Simple Queue Service Resource][1] in
512
+ # the *Amazon SQS Developer Guide*.
263
513
  #
264
514
  # Specifying `SendMessage`, `DeleteMessage`, or
265
515
  # `ChangeMessageVisibility` for `ActionName.n` also grants permissions
@@ -269,7 +519,7 @@ module Aws::SQS
269
519
  #
270
520
  #
271
521
  #
272
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html#PermissionTypes
522
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-overview-of-managing-access.html
273
523
  #
274
524
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
275
525
  #
@@ -291,35 +541,98 @@ module Aws::SQS
291
541
  req.send_request(options)
292
542
  end
293
543
 
544
+ # Cancels a specified message movement task. A message movement can only
545
+ # be cancelled when the current status is RUNNING. Cancelling a message
546
+ # movement task does not revert the messages that have already been
547
+ # moved. It can only stop the messages that have not been moved yet.
548
+ #
549
+ # <note markdown="1"> * This action is currently limited to supporting message redrive from
550
+ # [dead-letter queues (DLQs)][1] only. In this context, the source
551
+ # queue is the dead-letter queue (DLQ), while the destination queue
552
+ # can be the original source queue (from which the messages were
553
+ # driven to the dead-letter-queue), or a custom destination queue.
554
+ #
555
+ # * Only one active message movement task is supported per queue at any
556
+ # given time.
557
+ #
558
+ # </note>
559
+ #
560
+ #
561
+ #
562
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
563
+ #
564
+ # @option params [required, String] :task_handle
565
+ # An identifier associated with a message movement task.
566
+ #
567
+ # @return [Types::CancelMessageMoveTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
568
+ #
569
+ # * {Types::CancelMessageMoveTaskResult#approximate_number_of_messages_moved #approximate_number_of_messages_moved} => Integer
570
+ #
571
+ # @example Request syntax with placeholder values
572
+ #
573
+ # resp = client.cancel_message_move_task({
574
+ # task_handle: "String", # required
575
+ # })
576
+ #
577
+ # @example Response structure
578
+ #
579
+ # resp.approximate_number_of_messages_moved #=> Integer
580
+ #
581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/CancelMessageMoveTask AWS API Documentation
582
+ #
583
+ # @overload cancel_message_move_task(params = {})
584
+ # @param [Hash] params ({})
585
+ def cancel_message_move_task(params = {}, options = {})
586
+ req = build_request(:cancel_message_move_task, params)
587
+ req.send_request(options)
588
+ end
589
+
294
590
  # Changes the visibility timeout of a specified message in a queue to a
295
- # new value. The maximum allowed timeout value is 12 hours. Thus, you
296
- # can't extend the timeout of a message in an existing queue to more
297
- # than a total visibility timeout of 12 hours. For more information, see
298
- # [Visibility Timeout][1] in the *Amazon Simple Queue Service Developer
591
+ # new value. The default visibility timeout for a message is 30 seconds.
592
+ # The minimum is 0 seconds. The maximum is 12 hours. For more
593
+ # information, see [Visibility Timeout][1] in the *Amazon SQS Developer
299
594
  # Guide*.
300
595
  #
301
- # For example, you have a message with a visibility timeout of 5
302
- # minutes. After 3 minutes, you call `ChangeMessageVisiblity` with a
303
- # timeout of 10 minutes. At that time, the timeout for the message is
304
- # extended by 10 minutes beyond the time of the
305
- # `ChangeMessageVisibility` action. This results in a total visibility
306
- # timeout of 13 minutes. You can continue to call the
307
- # `ChangeMessageVisibility` to extend the visibility timeout to a
308
- # maximum of 12 hours. If you try to extend the visibility timeout
309
- # beyond 12 hours, your request is rejected.
310
- #
311
- # A message is considered to be *in flight* after it's received from a
312
- # queue by a consumer, but not yet deleted from the queue.
313
- #
314
- # For standard queues, there can be a maximum of 120,000 inflight
315
- # messages per queue. If you reach this limit, Amazon SQS returns the
596
+ # For example, if the default timeout for a queue is 60 seconds, 15
597
+ # seconds have elapsed since you received the message, and you send a
598
+ # ChangeMessageVisibility call with `VisibilityTimeout` set to 10
599
+ # seconds, the 10 seconds begin to count from the time that you make the
600
+ # `ChangeMessageVisibility` call. Thus, any attempt to change the
601
+ # visibility timeout or to delete that message 10 seconds after you
602
+ # initially change the visibility timeout (a total of 25 seconds) might
603
+ # result in an error.
604
+ #
605
+ # An Amazon SQS message has three basic states:
606
+ #
607
+ # 1. Sent to a queue by a producer.
608
+ #
609
+ # 2. Received from the queue by a consumer.
610
+ #
611
+ # 3. Deleted from the queue.
612
+ #
613
+ # A message is considered to be *stored* after it is sent to a queue by
614
+ # a producer, but not yet received from the queue by a consumer (that
615
+ # is, between states 1 and 2). There is no limit to the number of stored
616
+ # messages. A message is considered to be *in flight* after it is
617
+ # received from a queue by a consumer, but not yet deleted from the
618
+ # queue (that is, between states 2 and 3). There is a limit to the
619
+ # number of in flight messages.
620
+ #
621
+ # Limits that apply to in flight messages are unrelated to the
622
+ # *unlimited* number of stored messages.
623
+ #
624
+ # For most standard queues (depending on queue traffic and message
625
+ # backlog), there can be a maximum of approximately 120,000 in flight
626
+ # messages (received from a queue by a consumer, but not yet deleted
627
+ # from the queue). If you reach this limit, Amazon SQS returns the
316
628
  # `OverLimit` error message. To avoid reaching the limit, you should
317
629
  # delete messages from the queue after they're processed. You can also
318
- # increase the number of queues you use to process your messages.
630
+ # increase the number of queues you use to process your messages. To
631
+ # request a limit increase, [file a support request][2].
319
632
  #
320
- # For FIFO queues, there can be a maximum of 20,000 inflight messages
321
- # per queue. If you reach this limit, Amazon SQS returns no error
322
- # messages.
633
+ # For FIFO queues, there can be a maximum of 20,000 in flight messages
634
+ # (received from a queue by a consumer, but not yet deleted from the
635
+ # queue). If you reach this limit, Amazon SQS returns no error messages.
323
636
  #
324
637
  # If you attempt to set the `VisibilityTimeout` to a value greater than
325
638
  # the maximum time left, Amazon SQS returns an error. Amazon SQS
@@ -336,22 +649,23 @@ module Aws::SQS
336
649
  #
337
650
  #
338
651
  #
339
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
652
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
653
+ # [2]: https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&amp;limitType=service-code-sqs
340
654
  #
341
655
  # @option params [required, String] :queue_url
342
656
  # The URL of the Amazon SQS queue whose message's visibility is
343
657
  # changed.
344
658
  #
345
- # Queue URLs are case-sensitive.
659
+ # Queue URLs and names are case-sensitive.
346
660
  #
347
661
  # @option params [required, String] :receipt_handle
348
- # The receipt handle associated with the message whose visibility
662
+ # The receipt handle associated with the message, whose visibility
349
663
  # timeout is changed. This parameter is returned by the ` ReceiveMessage
350
664
  # ` action.
351
665
  #
352
666
  # @option params [required, Integer] :visibility_timeout
353
667
  # The new value for the message's visibility timeout (in seconds).
354
- # Values values: `0` to `43200`. Maximum: 12 hours.
668
+ # Values range: `0` to `43200`. Maximum: 12 hours.
355
669
  #
356
670
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
357
671
  #
@@ -382,24 +696,14 @@ module Aws::SQS
382
696
  # and unsuccessful actions, you should check for batch errors even when
383
697
  # the call returns an HTTP status code of `200`.
384
698
  #
385
- # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
386
- # the `param.n` notation. Values of `n` are integers starting from 1.
387
- # For example, a parameter list with two elements looks like this:
388
- #
389
- # `&Attribute.1=this`
390
- #
391
- # `&Attribute.2=that`
392
- #
393
- # </note>
394
- #
395
699
  # @option params [required, String] :queue_url
396
700
  # The URL of the Amazon SQS queue whose messages' visibility is
397
701
  # changed.
398
702
  #
399
- # Queue URLs are case-sensitive.
703
+ # Queue URLs and names are case-sensitive.
400
704
  #
401
705
  # @option params [required, Array<Types::ChangeMessageVisibilityBatchRequestEntry>] :entries
402
- # A list of receipt handles of the messages for which the visibility
706
+ # Lists the receipt handles of the messages for which the visibility
403
707
  # timeout must be changed.
404
708
  #
405
709
  # @return [Types::ChangeMessageVisibilityBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -440,7 +744,7 @@ module Aws::SQS
440
744
  end
441
745
 
442
746
  # Creates a new standard or FIFO queue. You can pass one or more
443
- # attributes in the request. Keep the following caveats in mind:
747
+ # attributes in the request. Keep the following in mind:
444
748
  #
445
749
  # * If you don't specify the `FifoQueue` attribute, Amazon SQS creates
446
750
  # a standard queue.
@@ -449,8 +753,8 @@ module Aws::SQS
449
753
  # convert an existing standard queue into a FIFO queue. You must
450
754
  # either create a new FIFO queue for your application or delete your
451
755
  # existing standard queue and recreate it as a FIFO queue. For more
452
- # information, see [ Moving From a Standard Queue to a FIFO Queue][1]
453
- # in the *Amazon Simple Queue Service Developer Guide*.
756
+ # information, see [Moving From a Standard Queue to a FIFO Queue][1]
757
+ # in the *Amazon SQS Developer Guide*.
454
758
  #
455
759
  # </note>
456
760
  #
@@ -464,6 +768,11 @@ module Aws::SQS
464
768
  # adheres to the [limits related to queues][2] and is unique within the
465
769
  # scope of your queues.
466
770
  #
771
+ # <note markdown="1"> After you create a queue, you must wait at least one second after the
772
+ # queue is created to be able to use the queue.
773
+ #
774
+ # </note>
775
+ #
467
776
  # To get the queue URL, use the ` GetQueueUrl ` action. ` GetQueueUrl `
468
777
  # requires only the `QueueName` parameter. be aware of existing queue
469
778
  # names:
@@ -475,20 +784,17 @@ module Aws::SQS
475
784
  # * If the queue name, attribute names, or attribute values don't match
476
785
  # an existing queue, `CreateQueue` returns an error.
477
786
  #
478
- # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
479
- # the `param.n` notation. Values of `n` are integers starting from 1.
480
- # For example, a parameter list with two elements looks like this:
481
- #
482
- # `&Attribute.1=this`
483
- #
484
- # `&Attribute.2=that`
787
+ # <note markdown="1"> Cross-account permissions don't apply to this action. For more
788
+ # information, see [Grant cross-account permissions to a role and a
789
+ # username][3] in the *Amazon SQS Developer Guide*.
485
790
  #
486
791
  # </note>
487
792
  #
488
793
  #
489
794
  #
490
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-moving
491
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
795
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-moving
796
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
797
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
492
798
  #
493
799
  # @option params [required, String] :queue_name
494
800
  # The name of the new queue. The following limits apply to this name:
@@ -500,7 +806,7 @@ module Aws::SQS
500
806
  #
501
807
  # * A FIFO queue name must end with the `.fifo` suffix.
502
808
  #
503
- # Queue names are case-sensitive.
809
+ # Queue URLs and names are case-sensitive.
504
810
  #
505
811
  # @option params [Hash<String,String>] :attributes
506
812
  # A map of attributes with their corresponding values.
@@ -508,89 +814,130 @@ module Aws::SQS
508
814
  # The following lists the names, descriptions, and values of the special
509
815
  # request parameters that the `CreateQueue` action uses:
510
816
  #
511
- # * `DelaySeconds` - The length of time, in seconds, for which the
817
+ # * `DelaySeconds` The length of time, in seconds, for which the
512
818
  # delivery of all messages in the queue is delayed. Valid values: An
513
- # integer from 0 to 900 seconds (15 minutes). The default is 0 (zero).
819
+ # integer from 0 to 900 seconds (15 minutes). Default: 0.
514
820
  #
515
- # * `MaximumMessageSize` - The limit of how many bytes a message can
821
+ # * `MaximumMessageSize` The limit of how many bytes a message can
516
822
  # contain before Amazon SQS rejects it. Valid values: An integer from
517
- # 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). The default is
518
- # 262,144 (256 KiB).
823
+ # 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144
824
+ # (256 KiB).
519
825
  #
520
- # * `MessageRetentionPeriod` - The length of time, in seconds, for which
826
+ # * `MessageRetentionPeriod` The length of time, in seconds, for which
521
827
  # Amazon SQS retains a message. Valid values: An integer from 60
522
- # seconds (1 minute) to 1,209,600 seconds (14 days). The default is
523
- # 345,600 (4 days).
828
+ # seconds (1 minute) to 1,209,600 seconds (14 days). Default: 345,600
829
+ # (4 days). When you change a queue's attributes, the change can take
830
+ # up to 60 seconds for most of the attributes to propagate throughout
831
+ # the Amazon SQS system. Changes made to the `MessageRetentionPeriod`
832
+ # attribute can take up to 15 minutes and will impact existing
833
+ # messages in the queue potentially causing them to be expired and
834
+ # deleted if the `MessageRetentionPeriod` is reduced below the age of
835
+ # existing messages.
836
+ #
837
+ # * `Policy` – The queue's policy. A valid Amazon Web Services policy.
838
+ # For more information about policy structure, see [Overview of Amazon
839
+ # Web Services IAM Policies][1] in the *IAM User Guide*.
840
+ #
841
+ # * `ReceiveMessageWaitTimeSeconds` – The length of time, in seconds,
842
+ # for which a ` ReceiveMessage ` action waits for a message to arrive.
843
+ # Valid values: An integer from 0 to 20 (seconds). Default: 0.
524
844
  #
525
- # * `Policy` - The queue's policy. A valid AWS policy. For more
526
- # information about policy structure, see [Overview of AWS IAM
527
- # Policies][1] in the *Amazon IAM User Guide*.
845
+ # * `VisibilityTimeout` The visibility timeout for the queue, in
846
+ # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
847
+ # Default: 30. For more information about the visibility timeout, see
848
+ # [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
528
849
  #
529
- # * `ReceiveMessageWaitTimeSeconds` - The length of time, in seconds,
530
- # for which a ` ReceiveMessage ` action waits for a message to arrive.
531
- # Valid values: An integer from 0 to 20 (seconds). The default is 0
532
- # (zero).
850
+ # The following attributes apply only to [dead-letter queues:][3]
533
851
  #
534
- # * `RedrivePolicy` - The string that includes the parameters for the
535
- # dead-letter queue functionality of the source queue. For more
536
- # information about the redrive policy and dead-letter queues, see
537
- # [Using Amazon SQS Dead-Letter Queues][2] in the *Amazon Simple Queue
538
- # Service Developer Guide*.
852
+ # * `RedrivePolicy` The string that includes the parameters for the
853
+ # dead-letter queue functionality of the source queue as a JSON
854
+ # object. The parameters are as follows:
539
855
  #
540
- # * `deadLetterTargetArn` - The Amazon Resource Name (ARN) of the
856
+ # * `deadLetterTargetArn` The Amazon Resource Name (ARN) of the
541
857
  # dead-letter queue to which Amazon SQS moves messages after the
542
858
  # value of `maxReceiveCount` is exceeded.
543
859
  #
544
- # * `maxReceiveCount` - The number of times a message is delivered to
860
+ # * `maxReceiveCount` The number of times a message is delivered to
545
861
  # the source queue before being moved to the dead-letter queue.
862
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
863
+ # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
864
+ # dead-letter-queue.
546
865
  #
547
- # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
548
- # Similarly, the dead-letter queue of a standard queue must also be a
549
- # standard queue.
866
+ # * `RedriveAllowPolicy` The string that includes the parameters for
867
+ # the permissions for the dead-letter queue redrive permission and
868
+ # which source queues can specify dead-letter queues as a JSON object.
869
+ # The parameters are as follows:
550
870
  #
551
- # </note>
871
+ # * `redrivePermission` – The permission type that defines which
872
+ # source queues can specify the current queue as the dead-letter
873
+ # queue. Valid values are:
552
874
  #
553
- # * `VisibilityTimeout` - The visibility timeout for the queue. Valid
554
- # values: An integer from 0 to 43,200 (12 hours). The default is 30.
555
- # For more information about the visibility timeout, see [Visibility
556
- # Timeout][3] in the *Amazon Simple Queue Service Developer Guide*.
875
+ # * `allowAll` (Default) Any source queues in this Amazon Web
876
+ # Services account in the same Region can specify this queue as
877
+ # the dead-letter queue.
878
+ #
879
+ # * `denyAll` – No source queues can specify this queue as the
880
+ # dead-letter queue.
557
881
  #
558
- # The following attributes apply only to [server-side-encryption][4]\:
882
+ # * `byQueue` Only queues specified by the `sourceQueueArns`
883
+ # parameter can specify this queue as the dead-letter queue.
559
884
  #
560
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
561
- # (CMK) for Amazon SQS or a custom CMK. For more information, see [Key
562
- # Terms][5]. While the alias of the AWS-managed CMK for Amazon SQS is
563
- # always `alias/aws/sqs`, the alias of a custom CMK can, for example,
564
- # be `alias/MyAlias `. For more examples, see [KeyId][6] in the *AWS
565
- # Key Management Service API Reference*.
885
+ # * `sourceQueueArns` The Amazon Resource Names (ARN)s of the source
886
+ # queues that can specify this queue as the dead-letter queue and
887
+ # redrive messages. You can specify this parameter only when the
888
+ # `redrivePermission` parameter is set to `byQueue`. You can specify
889
+ # up to 10 source queue ARNs. To allow more than 10 source queues to
890
+ # specify dead-letter queues, set the `redrivePermission` parameter
891
+ # to `allowAll`.
566
892
  #
567
- # * `KmsDataKeyReusePeriodSeconds` - The length of time, in seconds, for
893
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
894
+ # Similarly, the dead-letter queue of a standard queue must also be a
895
+ # standard queue.
896
+ #
897
+ # </note>
898
+ #
899
+ # The following attributes apply only to [server-side-encryption][4]:
900
+ #
901
+ # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
902
+ # master key (CMK) for Amazon SQS or a custom CMK. For more
903
+ # information, see [Key Terms][5]. While the alias of the Amazon Web
904
+ # Services managed CMK for Amazon SQS is always `alias/aws/sqs`, the
905
+ # alias of a custom CMK can, for example, be `alias/MyAlias `. For
906
+ # more examples, see [KeyId][6] in the *Key Management Service API
907
+ # Reference*.
908
+ #
909
+ # * `KmsDataKeyReusePeriodSeconds` – The length of time, in seconds, for
568
910
  # which Amazon SQS can reuse a [data key][7] to encrypt or decrypt
569
- # messages before calling AWS KMS again. An integer representing
570
- # seconds, between 60 seconds (1 minute) and 86,400 seconds (24
571
- # hours). The default is 300 (5 minutes). A shorter time period
572
- # provides better security but results in more calls to KMS which
573
- # might incur charges after Free Tier. For more information, see [How
574
- # Does the Data Key Reuse Period Work?][8].
911
+ # messages before calling KMS again. An integer representing seconds,
912
+ # between 60 seconds (1 minute) and 86,400 seconds (24 hours).
913
+ # Default: 300 (5 minutes). A shorter time period provides better
914
+ # security but results in more calls to KMS which might incur charges
915
+ # after Free Tier. For more information, see [How Does the Data Key
916
+ # Reuse Period Work?][8]
575
917
  #
576
- # The following attributes apply only to [FIFO (first-in-first-out)
577
- # queues][9]\:
918
+ # * `SqsManagedSseEnabled` Enables server-side queue encryption using
919
+ # SQS owned encryption keys. Only one server-side encryption option is
920
+ # supported per queue (for example, [SSE-KMS][9] or [SSE-SQS][10]).
578
921
  #
579
- # * `FifoQueue` - Designates a queue as FIFO. Valid values: `true`,
580
- # `false`. You can provide this attribute only during queue creation.
581
- # You can't change it for an existing queue. When you set this
582
- # attribute, you must also provide the `MessageGroupId` for your
583
- # messages explicitly.
922
+ # The following attributes apply only to [FIFO (first-in-first-out)
923
+ # queues][11]:
584
924
  #
585
- # For more information, see [FIFO Queue Logic][10] in the *Amazon
586
- # Simple Queue Service Developer Guide*.
925
+ # * `FifoQueue` Designates a queue as FIFO. Valid values are `true`
926
+ # and `false`. If you don't specify the `FifoQueue` attribute, Amazon
927
+ # SQS creates a standard queue. You can provide this attribute only
928
+ # during queue creation. You can't change it for an existing queue.
929
+ # When you set this attribute, you must also provide the
930
+ # `MessageGroupId` for your messages explicitly.
587
931
  #
588
- # * `ContentBasedDeduplication` - Enables content-based deduplication.
589
- # Valid values: `true`, `false`. For more information, see
590
- # [Exactly-Once Processing][11] in the *Amazon Simple Queue Service
932
+ # For more information, see [FIFO queue logic][12] in the *Amazon SQS
591
933
  # Developer Guide*.
592
934
  #
593
- # * Every message must have a unique `MessageDeduplicationId`,
935
+ # * `ContentBasedDeduplication` Enables content-based deduplication.
936
+ # Valid values are `true` and `false`. For more information, see
937
+ # [Exactly-once processing][13] in the *Amazon SQS Developer Guide*.
938
+ # Note the following:
939
+ #
940
+ # * Every message must have a unique `MessageDeduplicationId`.
594
941
  #
595
942
  # * You may provide a `MessageDeduplicationId` explicitly.
596
943
  #
@@ -618,34 +965,84 @@ module Aws::SQS
618
965
  # `MessageDeduplicationId`, the two messages are treated as
619
966
  # duplicates and only one copy of the message is delivered.
620
967
  #
621
- # Any other valid special request parameters (such as the following) are
622
- # ignored:
968
+ # The following attributes apply only to [high throughput for FIFO
969
+ # queues][14]:
970
+ #
971
+ # * `DeduplicationScope` – Specifies whether message deduplication
972
+ # occurs at the message group or queue level. Valid values are
973
+ # `messageGroup` and `queue`.
974
+ #
975
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue throughput
976
+ # quota applies to the entire queue or per message group. Valid values
977
+ # are `perQueue` and `perMessageGroupId`. The `perMessageGroupId`
978
+ # value is allowed only when the value for `DeduplicationScope` is
979
+ # `messageGroup`.
980
+ #
981
+ # To enable high throughput for FIFO queues, do the following:
982
+ #
983
+ # * Set `DeduplicationScope` to `messageGroup`.
623
984
  #
624
- # * `ApproximateNumberOfMessages`
985
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
625
986
  #
626
- # * `ApproximateNumberOfMessagesDelayed`
987
+ # If you set these attributes to anything other than the values shown
988
+ # for enabling high throughput, normal throughput is in effect and
989
+ # deduplication occurs as specified.
627
990
  #
628
- # * `ApproximateNumberOfMessagesNotVisible`
991
+ # For information on throughput quotas, see [Quotas related to
992
+ # messages][15] in the *Amazon SQS Developer Guide*.
629
993
  #
630
- # * `CreatedTimestamp`
631
994
  #
632
- # * `LastModifiedTimestamp`
633
995
  #
634
- # * `QueueArn`
996
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
997
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
998
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
999
+ # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
1000
+ # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
1001
+ # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
1002
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
1003
+ # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
1004
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1005
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1006
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1007
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html
1008
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
1009
+ # [14]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
1010
+ # [15]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
635
1011
  #
1012
+ # @option params [Hash<String,String>] :tags
1013
+ # Add cost allocation tags to the specified Amazon SQS queue. For an
1014
+ # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon SQS
1015
+ # Developer Guide*.
1016
+ #
1017
+ # When you use queue tags, keep the following guidelines in mind:
1018
+ #
1019
+ # * Adding more than 50 tags to a queue isn't recommended.
1020
+ #
1021
+ # * Tags don't have any semantic meaning. Amazon SQS interprets tags as
1022
+ # character strings.
1023
+ #
1024
+ # * Tags are case-sensitive.
636
1025
  #
1026
+ # * A new tag with a key identical to that of an existing tag overwrites
1027
+ # the existing tag.
1028
+ #
1029
+ # For a full list of tag restrictions, see [Quotas related to queues][2]
1030
+ # in the *Amazon SQS Developer Guide*.
1031
+ #
1032
+ # <note markdown="1"> To be able to tag a queue on creation, you must have the
1033
+ # `sqs:CreateQueue` and `sqs:TagQueue` permissions.
1034
+ #
1035
+ # Cross-account permissions don't apply to this action. For more
1036
+ # information, see [Grant cross-account permissions to a role and a
1037
+ # username][3] in the *Amazon SQS Developer Guide*.
1038
+ #
1039
+ # </note>
637
1040
  #
638
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
639
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
640
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
641
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
642
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
643
- # [6]: http://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
644
- # [7]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
645
- # [8]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
646
- # [9]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
647
- # [10]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
648
- # [11]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1041
+ #
1042
+ #
1043
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html
1044
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html#limits-queues
1045
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
649
1046
  #
650
1047
  # @return [Types::CreateQueueResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
651
1048
  #
@@ -658,6 +1055,9 @@ module Aws::SQS
658
1055
  # attributes: {
659
1056
  # "All" => "String",
660
1057
  # },
1058
+ # tags: {
1059
+ # "TagKey" => "TagValue",
1060
+ # },
661
1061
  # })
662
1062
  #
663
1063
  # @example Response structure
@@ -673,27 +1073,27 @@ module Aws::SQS
673
1073
  req.send_request(options)
674
1074
  end
675
1075
 
676
- # Deletes the specified message from the specified queue. You specify
677
- # the message by using the message's *receipt handle* and not the
678
- # *MessageId* you receive when you send the message. Even if the message
679
- # is locked by another reader due to the visibility timeout setting, it
680
- # is still deleted from the queue. If you leave a message in the queue
681
- # for longer than the queue's configured retention period, Amazon SQS
682
- # automatically deletes the message.
683
- #
684
- # <note markdown="1"> The receipt handle is associated with a specific instance of receiving
685
- # the message. If you receive a message more than once, the receipt
686
- # handle you get each time you receive the message is different. If you
687
- # don't provide the most recently received receipt handle for the
688
- # message when you use the `DeleteMessage` action, the request succeeds,
689
- # but the message might not be deleted.
1076
+ # Deletes the specified message from the specified queue. To select the
1077
+ # message to delete, use the `ReceiptHandle` of the message (*not* the
1078
+ # `MessageId` which you receive when you send the message). Amazon SQS
1079
+ # can delete a message from a queue even if a visibility timeout setting
1080
+ # causes the message to be locked by another consumer. Amazon SQS
1081
+ # automatically deletes messages left in a queue longer than the
1082
+ # retention period configured for the queue.
1083
+ #
1084
+ # <note markdown="1"> The `ReceiptHandle` is associated with a *specific instance* of
1085
+ # receiving a message. If you receive a message more than once, the
1086
+ # `ReceiptHandle` is different each time you receive a message. When you
1087
+ # use the `DeleteMessage` action, you must provide the most recently
1088
+ # received `ReceiptHandle` for the message (otherwise, the request
1089
+ # succeeds, but the message will not be deleted).
690
1090
  #
691
1091
  # For standard queues, it is possible to receive a message even after
692
1092
  # you delete it. This might happen on rare occasions if one of the
693
- # servers storing a copy of the message is unavailable when you send the
694
- # request to delete the message. The copy remains on the server and
695
- # might be returned to you on a subsequent receive request. You should
696
- # ensure that your application is idempotent, so that receiving a
1093
+ # servers which stores a copy of the message is unavailable when you
1094
+ # send the request to delete the message. The copy remains on the server
1095
+ # and might be returned to you during a subsequent receive request. You
1096
+ # should ensure that your application is idempotent, so that receiving a
697
1097
  # message more than once does not cause issues.
698
1098
  #
699
1099
  # </note>
@@ -701,7 +1101,7 @@ module Aws::SQS
701
1101
  # @option params [required, String] :queue_url
702
1102
  # The URL of the Amazon SQS queue from which messages are deleted.
703
1103
  #
704
- # Queue URLs are case-sensitive.
1104
+ # Queue URLs and names are case-sensitive.
705
1105
  #
706
1106
  # @option params [required, String] :receipt_handle
707
1107
  # The receipt handle associated with the message to delete.
@@ -732,23 +1132,13 @@ module Aws::SQS
732
1132
  # and unsuccessful actions, you should check for batch errors even when
733
1133
  # the call returns an HTTP status code of `200`.
734
1134
  #
735
- # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
736
- # the `param.n` notation. Values of `n` are integers starting from 1.
737
- # For example, a parameter list with two elements looks like this:
738
- #
739
- # `&Attribute.1=this`
740
- #
741
- # `&Attribute.2=that`
742
- #
743
- # </note>
744
- #
745
1135
  # @option params [required, String] :queue_url
746
1136
  # The URL of the Amazon SQS queue from which messages are deleted.
747
1137
  #
748
- # Queue URLs are case-sensitive.
1138
+ # Queue URLs and names are case-sensitive.
749
1139
  #
750
1140
  # @option params [required, Array<Types::DeleteMessageBatchRequestEntry>] :entries
751
- # A list of receipt handles for the messages to be deleted.
1141
+ # Lists the receipt handles for the messages to be deleted.
752
1142
  #
753
1143
  # @return [Types::DeleteMessageBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
754
1144
  #
@@ -787,8 +1177,7 @@ module Aws::SQS
787
1177
  end
788
1178
 
789
1179
  # Deletes the queue specified by the `QueueUrl`, regardless of the
790
- # queue's contents. If the specified queue doesn't exist, Amazon SQS
791
- # returns a successful response.
1180
+ # queue's contents.
792
1181
  #
793
1182
  # Be careful with the `DeleteQueue` action: When you delete a queue, any
794
1183
  # messages in the queue are no longer available.
@@ -801,10 +1190,22 @@ module Aws::SQS
801
1190
  # When you delete a queue, you must wait at least 60 seconds before
802
1191
  # creating a queue with the same name.
803
1192
  #
1193
+ # <note markdown="1"> Cross-account permissions don't apply to this action. For more
1194
+ # information, see [Grant cross-account permissions to a role and a
1195
+ # username][1] in the *Amazon SQS Developer Guide*.
1196
+ #
1197
+ # The delete operation uses the HTTP `GET` verb.
1198
+ #
1199
+ # </note>
1200
+ #
1201
+ #
1202
+ #
1203
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
1204
+ #
804
1205
  # @option params [required, String] :queue_url
805
1206
  # The URL of the Amazon SQS queue to delete.
806
1207
  #
807
- # Queue URLs are case-sensitive.
1208
+ # Queue URLs and names are case-sensitive.
808
1209
  #
809
1210
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
810
1211
  #
@@ -830,29 +1231,22 @@ module Aws::SQS
830
1231
  #
831
1232
  # </note>
832
1233
  #
833
- # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
834
- # the `param.n` notation. Values of `n` are integers starting from 1.
835
- # For example, a parameter list with two elements looks like this:
836
- #
837
- # `&Attribute.1=this`
838
1234
  #
839
- # `&Attribute.2=that`
840
- #
841
- # </note>
842
1235
  #
843
- #
844
- #
845
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1236
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
846
1237
  #
847
1238
  # @option params [required, String] :queue_url
848
1239
  # The URL of the Amazon SQS queue whose attribute information is
849
1240
  # retrieved.
850
1241
  #
851
- # Queue URLs are case-sensitive.
1242
+ # Queue URLs and names are case-sensitive.
852
1243
  #
853
1244
  # @option params [Array<String>] :attribute_names
854
1245
  # A list of attributes for which to retrieve information.
855
1246
  #
1247
+ # The `AttributeNames` parameter is optional, but if you don't specify
1248
+ # values for this parameter, the request returns empty results.
1249
+ #
856
1250
  # <note markdown="1"> In the future, new attributes might be added. If you write code that
857
1251
  # calls this action, we recommend that you structure your code so that
858
1252
  # it can handle new attributes gracefully.
@@ -861,100 +1255,184 @@ module Aws::SQS
861
1255
  #
862
1256
  # The following attributes are supported:
863
1257
  #
864
- # * `All` - Returns all values.
1258
+ # The `ApproximateNumberOfMessagesDelayed`,
1259
+ # `ApproximateNumberOfMessagesNotVisible`, and
1260
+ # `ApproximateNumberOfMessages` metrics may not achieve consistency
1261
+ # until at least 1 minute after the producers stop sending messages.
1262
+ # This period is required for the queue metadata to reach eventual
1263
+ # consistency.
865
1264
  #
866
- # * `ApproximateNumberOfMessages` - Returns the approximate number of
867
- # visible messages in a queue. For more information, see [Resources
868
- # Required to Process Messages][1] in the *Amazon Simple Queue Service
869
- # Developer Guide*.
1265
+ # * `All` Returns all values.
1266
+ #
1267
+ # * `ApproximateNumberOfMessages` Returns the approximate number of
1268
+ # messages available for retrieval from the queue.
870
1269
  #
871
- # * `ApproximateNumberOfMessagesDelayed` - Returns the approximate
872
- # number of messages that are waiting to be added to the queue.
1270
+ # * `ApproximateNumberOfMessagesDelayed` Returns the approximate
1271
+ # number of messages in the queue that are delayed and not available
1272
+ # for reading immediately. This can happen when the queue is
1273
+ # configured as a delay queue or when a message has been sent with a
1274
+ # delay parameter.
873
1275
  #
874
- # * `ApproximateNumberOfMessagesNotVisible` - Returns the approximate
875
- # number of messages that have not timed-out and aren't deleted. For
876
- # more information, see [Resources Required to Process Messages][1] in
877
- # the *Amazon Simple Queue Service Developer Guide*.
1276
+ # * `ApproximateNumberOfMessagesNotVisible` Returns the approximate
1277
+ # number of messages that are in flight. Messages are considered to be
1278
+ # *in flight* if they have been sent to a client but have not yet been
1279
+ # deleted or have not yet reached the end of their visibility window.
878
1280
  #
879
- # * `CreatedTimestamp` - Returns the time when the queue was created in
880
- # seconds ([epoch time][2]).
1281
+ # * `CreatedTimestamp` Returns the time when the queue was created in
1282
+ # seconds ([epoch time][1]).
881
1283
  #
882
- # * `DelaySeconds` - Returns the default delay on the queue in seconds.
1284
+ # * `DelaySeconds` Returns the default delay on the queue in seconds.
883
1285
  #
884
- # * `LastModifiedTimestamp` - Returns the time when the queue was last
885
- # changed in seconds ([epoch time][2]).
1286
+ # * `LastModifiedTimestamp` Returns the time when the queue was last
1287
+ # changed in seconds ([epoch time][1]).
886
1288
  #
887
- # * `MaximumMessageSize` - Returns the limit of how many bytes a message
1289
+ # * `MaximumMessageSize` Returns the limit of how many bytes a message
888
1290
  # can contain before Amazon SQS rejects it.
889
1291
  #
890
- # * `MessageRetentionPeriod` - Returns the length of time, in seconds,
891
- # for which Amazon SQS retains a message.
1292
+ # * `MessageRetentionPeriod` Returns the length of time, in seconds,
1293
+ # for which Amazon SQS retains a message. When you change a queue's
1294
+ # attributes, the change can take up to 60 seconds for most of the
1295
+ # attributes to propagate throughout the Amazon SQS system. Changes
1296
+ # made to the `MessageRetentionPeriod` attribute can take up to 15
1297
+ # minutes and will impact existing messages in the queue potentially
1298
+ # causing them to be expired and deleted if the
1299
+ # `MessageRetentionPeriod` is reduced below the age of existing
1300
+ # messages.
892
1301
  #
893
- # * `Policy` - Returns the policy of the queue.
1302
+ # * `Policy` Returns the policy of the queue.
894
1303
  #
895
- # * `QueueArn` - Returns the Amazon resource name (ARN) of the queue.
1304
+ # * `QueueArn` Returns the Amazon resource name (ARN) of the queue.
896
1305
  #
897
- # * `ReceiveMessageWaitTimeSeconds` - Returns the length of time, in
1306
+ # * `ReceiveMessageWaitTimeSeconds` Returns the length of time, in
898
1307
  # seconds, for which the `ReceiveMessage` action waits for a message
899
1308
  # to arrive.
900
1309
  #
901
- # * `RedrivePolicy` - Returns the string that includes the parameters
902
- # for dead-letter queue functionality of the source queue. For more
903
- # information about the redrive policy and dead-letter queues, see
904
- # [Using Amazon SQS Dead-Letter Queues][3] in the *Amazon Simple Queue
905
- # Service Developer Guide*.
1310
+ # * `VisibilityTimeout` Returns the visibility timeout for the queue.
1311
+ # For more information about the visibility timeout, see [Visibility
1312
+ # Timeout][2] in the *Amazon SQS Developer Guide*.
1313
+ #
1314
+ # The following attributes apply only to [dead-letter queues:][3]
1315
+ #
1316
+ # * `RedrivePolicy` – The string that includes the parameters for the
1317
+ # dead-letter queue functionality of the source queue as a JSON
1318
+ # object. The parameters are as follows:
906
1319
  #
907
- # * `deadLetterTargetArn` - The Amazon Resource Name (ARN) of the
1320
+ # * `deadLetterTargetArn` The Amazon Resource Name (ARN) of the
908
1321
  # dead-letter queue to which Amazon SQS moves messages after the
909
1322
  # value of `maxReceiveCount` is exceeded.
910
1323
  #
911
- # * `maxReceiveCount` - The number of times a message is delivered to
1324
+ # * `maxReceiveCount` The number of times a message is delivered to
912
1325
  # the source queue before being moved to the dead-letter queue.
1326
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
1327
+ # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
1328
+ # dead-letter-queue.
913
1329
  #
914
- # * `VisibilityTimeout` - Returns the visibility timeout for the queue.
915
- # For more information about the visibility timeout, see [Visibility
916
- # Timeout][4] in the *Amazon Simple Queue Service Developer Guide*.
1330
+ # * `RedriveAllowPolicy` The string that includes the parameters for
1331
+ # the permissions for the dead-letter queue redrive permission and
1332
+ # which source queues can specify dead-letter queues as a JSON object.
1333
+ # The parameters are as follows:
1334
+ #
1335
+ # * `redrivePermission` – The permission type that defines which
1336
+ # source queues can specify the current queue as the dead-letter
1337
+ # queue. Valid values are:
917
1338
  #
918
- # The following attributes apply only to [server-side-encryption][5]\:
1339
+ # * `allowAll` (Default) Any source queues in this Amazon Web
1340
+ # Services account in the same Region can specify this queue as
1341
+ # the dead-letter queue.
919
1342
  #
920
- # * `KmsMasterKeyId` - Returns the ID of an AWS-managed customer master
921
- # key (CMK) for Amazon SQS or a custom CMK. For more information, see
922
- # [Key Terms][6].
1343
+ # * `denyAll` No source queues can specify this queue as the
1344
+ # dead-letter queue.
923
1345
  #
924
- # * `KmsDataKeyReusePeriodSeconds` - Returns the length of time, in
1346
+ # * `byQueue` Only queues specified by the `sourceQueueArns`
1347
+ # parameter can specify this queue as the dead-letter queue.
1348
+ #
1349
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
1350
+ # queues that can specify this queue as the dead-letter queue and
1351
+ # redrive messages. You can specify this parameter only when the
1352
+ # `redrivePermission` parameter is set to `byQueue`. You can specify
1353
+ # up to 10 source queue ARNs. To allow more than 10 source queues to
1354
+ # specify dead-letter queues, set the `redrivePermission` parameter
1355
+ # to `allowAll`.
1356
+ #
1357
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
1358
+ # Similarly, the dead-letter queue of a standard queue must also be a
1359
+ # standard queue.
1360
+ #
1361
+ # </note>
1362
+ #
1363
+ # The following attributes apply only to [server-side-encryption][4]:
1364
+ #
1365
+ # * `KmsMasterKeyId` – Returns the ID of an Amazon Web Services managed
1366
+ # customer master key (CMK) for Amazon SQS or a custom CMK. For more
1367
+ # information, see [Key Terms][5].
1368
+ #
1369
+ # * `KmsDataKeyReusePeriodSeconds` – Returns the length of time, in
925
1370
  # seconds, for which Amazon SQS can reuse a data key to encrypt or
926
- # decrypt messages before calling AWS KMS again. For more information,
927
- # see [How Does the Data Key Reuse Period Work?][7].
1371
+ # decrypt messages before calling KMS again. For more information, see
1372
+ # [How Does the Data Key Reuse Period Work?][6].
1373
+ #
1374
+ # * `SqsManagedSseEnabled` – Returns information about whether the queue
1375
+ # is using SSE-SQS encryption using SQS owned encryption keys. Only
1376
+ # one server-side encryption option is supported per queue (for
1377
+ # example, [SSE-KMS][7] or [SSE-SQS][8]).
928
1378
  #
929
1379
  # The following attributes apply only to [FIFO (first-in-first-out)
930
- # queues][8]\:
1380
+ # queues][9]:
931
1381
  #
932
- # * `FifoQueue` - Returns whether the queue is FIFO. For more
933
- # information, see [FIFO Queue Logic][9] in the *Amazon Simple Queue
934
- # Service Developer Guide*.
1382
+ # * `FifoQueue` Returns information about whether the queue is FIFO.
1383
+ # For more information, see [FIFO queue logic][10] in the *Amazon SQS
1384
+ # Developer Guide*.
935
1385
  #
936
- # <note markdown="1"> To determine whether a queue is [FIFO][8], you can check whether
1386
+ # <note markdown="1"> To determine whether a queue is [FIFO][9], you can check whether
937
1387
  # `QueueName` ends with the `.fifo` suffix.
938
1388
  #
939
1389
  # </note>
940
1390
  #
941
- # * `ContentBasedDeduplication` - Returns whether content-based
1391
+ # * `ContentBasedDeduplication` Returns whether content-based
942
1392
  # deduplication is enabled for the queue. For more information, see
943
- # [Exactly-Once Processing][10] in the *Amazon Simple Queue Service
944
- # Developer Guide*.
1393
+ # [Exactly-once processing][11] in the *Amazon SQS Developer Guide*.
1394
+ #
1395
+ # The following attributes apply only to [high throughput for FIFO
1396
+ # queues][12]:
1397
+ #
1398
+ # * `DeduplicationScope` – Specifies whether message deduplication
1399
+ # occurs at the message group or queue level. Valid values are
1400
+ # `messageGroup` and `queue`.
1401
+ #
1402
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue throughput
1403
+ # quota applies to the entire queue or per message group. Valid values
1404
+ # are `perQueue` and `perMessageGroupId`. The `perMessageGroupId`
1405
+ # value is allowed only when the value for `DeduplicationScope` is
1406
+ # `messageGroup`.
1407
+ #
1408
+ # To enable high throughput for FIFO queues, do the following:
945
1409
  #
1410
+ # * Set `DeduplicationScope` to `messageGroup`.
946
1411
  #
1412
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
947
1413
  #
948
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-resources-required-process-messages.html
949
- # [2]: http://en.wikipedia.org/wiki/Unix_time
950
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
951
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
952
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
953
- # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
954
- # [7]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
955
- # [8]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
956
- # [9]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
957
- # [10]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1414
+ # If you set these attributes to anything other than the values shown
1415
+ # for enabling high throughput, normal throughput is in effect and
1416
+ # deduplication occurs as specified.
1417
+ #
1418
+ # For information on throughput quotas, see [Quotas related to
1419
+ # messages][13] in the *Amazon SQS Developer Guide*.
1420
+ #
1421
+ #
1422
+ #
1423
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
1424
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1425
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1426
+ # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
1427
+ # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
1428
+ # [6]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
1429
+ # [7]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1430
+ # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1431
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1432
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html
1433
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
1434
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
1435
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
958
1436
  #
959
1437
  # @return [Types::GetQueueAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
960
1438
  #
@@ -964,7 +1442,7 @@ module Aws::SQS
964
1442
  #
965
1443
  # resp = client.get_queue_attributes({
966
1444
  # queue_url: "String", # required
967
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds
1445
+ # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds, DeduplicationScope, FifoThroughputLimit, RedriveAllowPolicy, SqsManagedSseEnabled
968
1446
  # })
969
1447
  #
970
1448
  # @example Response structure
@@ -981,29 +1459,29 @@ module Aws::SQS
981
1459
  req.send_request(options)
982
1460
  end
983
1461
 
984
- # Returns the URL of an existing queue. This action provides a simple
985
- # way to retrieve the URL of an Amazon SQS queue.
1462
+ # Returns the URL of an existing Amazon SQS queue.
986
1463
  #
987
1464
  # To access a queue that belongs to another AWS account, use the
988
1465
  # `QueueOwnerAWSAccountId` parameter to specify the account ID of the
989
1466
  # queue's owner. The queue's owner must grant you permission to access
990
1467
  # the queue. For more information about shared queue access, see `
991
- # AddPermission ` or see [Shared Queues][1] in the *Amazon Simple Queue
992
- # Service Developer Guide*.
1468
+ # AddPermission ` or see [Allow Developers to Write Messages to a Shared
1469
+ # Queue][1] in the *Amazon SQS Developer Guide*.
993
1470
  #
994
1471
  #
995
1472
  #
996
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html
1473
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-writing-an-sqs-policy.html#write-messages-to-shared-queue
997
1474
  #
998
1475
  # @option params [required, String] :queue_name
999
1476
  # The name of the queue whose URL must be fetched. Maximum 80
1000
1477
  # characters. Valid values: alphanumeric characters, hyphens (`-`), and
1001
1478
  # underscores (`_`).
1002
1479
  #
1003
- # Queue names are case-sensitive.
1480
+ # Queue URLs and names are case-sensitive.
1004
1481
  #
1005
1482
  # @option params [String] :queue_owner_aws_account_id
1006
- # The AWS account ID of the account that created the queue.
1483
+ # The Amazon Web Services account ID of the account that created the
1484
+ # queue.
1007
1485
  #
1008
1486
  # @return [Types::GetQueueUrlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1009
1487
  #
@@ -1032,33 +1510,55 @@ module Aws::SQS
1032
1510
  # Returns a list of your queues that have the `RedrivePolicy` queue
1033
1511
  # attribute configured with a dead-letter queue.
1034
1512
  #
1513
+ # The `ListDeadLetterSourceQueues` methods supports pagination. Set
1514
+ # parameter `MaxResults` in the request to specify the maximum number of
1515
+ # results to be returned in the response. If you do not set
1516
+ # `MaxResults`, the response includes a maximum of 1,000 results. If you
1517
+ # set `MaxResults` and there are additional results to display, the
1518
+ # response includes a value for `NextToken`. Use `NextToken` as a
1519
+ # parameter in your next request to `ListDeadLetterSourceQueues` to
1520
+ # receive the next page of results.
1521
+ #
1035
1522
  # For more information about using dead-letter queues, see [Using Amazon
1036
- # SQS Dead-Letter Queues][1] in the *Amazon Simple Queue Service
1037
- # Developer Guide*.
1523
+ # SQS Dead-Letter Queues][1] in the *Amazon SQS Developer Guide*.
1038
1524
  #
1039
1525
  #
1040
1526
  #
1041
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1527
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1042
1528
  #
1043
1529
  # @option params [required, String] :queue_url
1044
1530
  # The URL of a dead-letter queue.
1045
1531
  #
1046
- # Queue URLs are case-sensitive.
1532
+ # Queue URLs and names are case-sensitive.
1533
+ #
1534
+ # @option params [String] :next_token
1535
+ # Pagination token to request the next set of results.
1536
+ #
1537
+ # @option params [Integer] :max_results
1538
+ # Maximum number of results to include in the response. Value range is 1
1539
+ # to 1000. You must set `MaxResults` to receive a value for `NextToken`
1540
+ # in the response.
1047
1541
  #
1048
1542
  # @return [Types::ListDeadLetterSourceQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1049
1543
  #
1050
1544
  # * {Types::ListDeadLetterSourceQueuesResult#queue_urls #queue_urls} => Array&lt;String&gt;
1545
+ # * {Types::ListDeadLetterSourceQueuesResult#next_token #next_token} => String
1546
+ #
1547
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1051
1548
  #
1052
1549
  # @example Request syntax with placeholder values
1053
1550
  #
1054
1551
  # resp = client.list_dead_letter_source_queues({
1055
1552
  # queue_url: "String", # required
1553
+ # next_token: "Token",
1554
+ # max_results: 1,
1056
1555
  # })
1057
1556
  #
1058
1557
  # @example Response structure
1059
1558
  #
1060
1559
  # resp.queue_urls #=> Array
1061
1560
  # resp.queue_urls[0] #=> String
1561
+ # resp.next_token #=> String
1062
1562
  #
1063
1563
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListDeadLetterSourceQueues AWS API Documentation
1064
1564
  #
@@ -1069,34 +1569,79 @@ module Aws::SQS
1069
1569
  req.send_request(options)
1070
1570
  end
1071
1571
 
1072
- # List all cost allocation tags added to the specified Amazon SQS queue.
1073
- # For an overview, see [Tagging Amazon SQS Queues][1] in the *Amazon
1074
- # Simple Queue Service Developer Guide*.
1572
+ # Gets the most recent message movement tasks (up to 10) under a
1573
+ # specific source queue.
1075
1574
  #
1076
- # When you use queue tags, keep the following guidelines in mind:
1575
+ # <note markdown="1"> * This action is currently limited to supporting message redrive from
1576
+ # [dead-letter queues (DLQs)][1] only. In this context, the source
1577
+ # queue is the dead-letter queue (DLQ), while the destination queue
1578
+ # can be the original source queue (from which the messages were
1579
+ # driven to the dead-letter-queue), or a custom destination queue.
1077
1580
  #
1078
- # * Adding more than 50 tags to a queue isn't recommended.
1581
+ # * Only one active message movement task is supported per queue at any
1582
+ # given time.
1079
1583
  #
1080
- # * Tags don't have any semantic meaning. Amazon SQS interprets tags as
1081
- # character strings.
1584
+ # </note>
1082
1585
  #
1083
- # * Tags are case-sensitive.
1084
1586
  #
1085
- # * A new tag with a key identical to that of an existing tag overwrites
1086
- # the existing tag.
1087
1587
  #
1088
- # * Tagging API actions are limited to 5 TPS per AWS account. If your
1089
- # application requires a higher throughput, file a [technical support
1090
- # request][2].
1588
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1589
+ #
1590
+ # @option params [required, String] :source_arn
1591
+ # The ARN of the queue whose message movement tasks are to be listed.
1592
+ #
1593
+ # @option params [Integer] :max_results
1594
+ # The maximum number of results to include in the response. The default
1595
+ # is 1, which provides the most recent message movement task. The upper
1596
+ # limit is 10.
1597
+ #
1598
+ # @return [Types::ListMessageMoveTasksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1599
+ #
1600
+ # * {Types::ListMessageMoveTasksResult#results #results} => Array&lt;Types::ListMessageMoveTasksResultEntry&gt;
1601
+ #
1602
+ # @example Request syntax with placeholder values
1603
+ #
1604
+ # resp = client.list_message_move_tasks({
1605
+ # source_arn: "String", # required
1606
+ # max_results: 1,
1607
+ # })
1608
+ #
1609
+ # @example Response structure
1091
1610
  #
1092
- # For a full list of tag restrictions, see [Limits Related to Queues][3]
1093
- # in the *Amazon Simple Queue Service Developer Guide*.
1611
+ # resp.results #=> Array
1612
+ # resp.results[0].task_handle #=> String
1613
+ # resp.results[0].status #=> String
1614
+ # resp.results[0].source_arn #=> String
1615
+ # resp.results[0].destination_arn #=> String
1616
+ # resp.results[0].max_number_of_messages_per_second #=> Integer
1617
+ # resp.results[0].approximate_number_of_messages_moved #=> Integer
1618
+ # resp.results[0].approximate_number_of_messages_to_move #=> Integer
1619
+ # resp.results[0].failure_reason #=> String
1620
+ # resp.results[0].started_timestamp #=> Integer
1094
1621
  #
1622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListMessageMoveTasks AWS API Documentation
1095
1623
  #
1624
+ # @overload list_message_move_tasks(params = {})
1625
+ # @param [Hash] params ({})
1626
+ def list_message_move_tasks(params = {}, options = {})
1627
+ req = build_request(:list_message_move_tasks, params)
1628
+ req.send_request(options)
1629
+ end
1630
+
1631
+ # List all cost allocation tags added to the specified Amazon SQS queue.
1632
+ # For an overview, see [Tagging Your Amazon SQS Queues][1] in the
1633
+ # *Amazon SQS Developer Guide*.
1096
1634
  #
1097
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-tagging-queues.html
1098
- # [2]: https://console.aws.amazon.com/support/home#/case/create?issueType=technical
1099
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
1635
+ # <note markdown="1"> Cross-account permissions don't apply to this action. For more
1636
+ # information, see [Grant cross-account permissions to a role and a
1637
+ # username][2] in the *Amazon SQS Developer Guide*.
1638
+ #
1639
+ # </note>
1640
+ #
1641
+ #
1642
+ #
1643
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html
1644
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
1100
1645
  #
1101
1646
  # @option params [required, String] :queue_url
1102
1647
  # The URL of the queue.
@@ -1125,31 +1670,63 @@ module Aws::SQS
1125
1670
  req.send_request(options)
1126
1671
  end
1127
1672
 
1128
- # Returns a list of your queues. The maximum number of queues that can
1129
- # be returned is 1,000. If you specify a value for the optional
1130
- # `QueueNamePrefix` parameter, only queues with a name that begins with
1131
- # the specified value are returned.
1673
+ # Returns a list of your queues in the current region. The response
1674
+ # includes a maximum of 1,000 results. If you specify a value for the
1675
+ # optional `QueueNamePrefix` parameter, only queues with a name that
1676
+ # begins with the specified value are returned.
1677
+ #
1678
+ # The `listQueues` methods supports pagination. Set parameter
1679
+ # `MaxResults` in the request to specify the maximum number of results
1680
+ # to be returned in the response. If you do not set `MaxResults`, the
1681
+ # response includes a maximum of 1,000 results. If you set `MaxResults`
1682
+ # and there are additional results to display, the response includes a
1683
+ # value for `NextToken`. Use `NextToken` as a parameter in your next
1684
+ # request to `listQueues` to receive the next page of results.
1685
+ #
1686
+ # <note markdown="1"> Cross-account permissions don't apply to this action. For more
1687
+ # information, see [Grant cross-account permissions to a role and a
1688
+ # username][1] in the *Amazon SQS Developer Guide*.
1689
+ #
1690
+ # </note>
1691
+ #
1692
+ #
1693
+ #
1694
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
1132
1695
  #
1133
1696
  # @option params [String] :queue_name_prefix
1134
1697
  # A string to use for filtering the list results. Only those queues
1135
1698
  # whose name begins with the specified string are returned.
1136
1699
  #
1137
- # Queue names are case-sensitive.
1700
+ # Queue URLs and names are case-sensitive.
1701
+ #
1702
+ # @option params [String] :next_token
1703
+ # Pagination token to request the next set of results.
1704
+ #
1705
+ # @option params [Integer] :max_results
1706
+ # Maximum number of results to include in the response. Value range is 1
1707
+ # to 1000. You must set `MaxResults` to receive a value for `NextToken`
1708
+ # in the response.
1138
1709
  #
1139
1710
  # @return [Types::ListQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1140
1711
  #
1141
1712
  # * {Types::ListQueuesResult#queue_urls #queue_urls} => Array&lt;String&gt;
1713
+ # * {Types::ListQueuesResult#next_token #next_token} => String
1714
+ #
1715
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1142
1716
  #
1143
1717
  # @example Request syntax with placeholder values
1144
1718
  #
1145
1719
  # resp = client.list_queues({
1146
1720
  # queue_name_prefix: "String",
1721
+ # next_token: "Token",
1722
+ # max_results: 1,
1147
1723
  # })
1148
1724
  #
1149
1725
  # @example Response structure
1150
1726
  #
1151
1727
  # resp.queue_urls #=> Array
1152
1728
  # resp.queue_urls[0] #=> String
1729
+ # resp.next_token #=> String
1153
1730
  #
1154
1731
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListQueues AWS API Documentation
1155
1732
  #
@@ -1160,23 +1737,26 @@ module Aws::SQS
1160
1737
  req.send_request(options)
1161
1738
  end
1162
1739
 
1163
- # Deletes the messages in a queue specified by the `QueueURL` parameter.
1740
+ # Deletes available messages in a queue (including in-flight messages)
1741
+ # specified by the `QueueURL` parameter.
1164
1742
  #
1165
- # When you use the `PurgeQueue` action, you can't retrieve a message
1743
+ # When you use the `PurgeQueue` action, you can't retrieve any messages
1166
1744
  # deleted from a queue.
1167
1745
  #
1168
- # When you purge a queue, the message deletion process takes up to 60
1169
- # seconds. All messages sent to the queue before calling the
1170
- # `PurgeQueue` action are deleted. Messages sent to the queue while it
1171
- # is being purged might be deleted. While the queue is being purged,
1172
- # messages sent to the queue before `PurgeQueue` is called might be
1173
- # received, but are deleted within the next minute.
1746
+ # The message deletion process takes up to 60 seconds. We recommend
1747
+ # waiting for 60 seconds regardless of your queue's size.
1748
+ #
1749
+ # Messages sent to the queue *before* you call `PurgeQueue` might be
1750
+ # received but are deleted within the next minute.
1751
+ #
1752
+ # Messages sent to the queue *after* you call `PurgeQueue` might be
1753
+ # deleted while the queue is being purged.
1174
1754
  #
1175
1755
  # @option params [required, String] :queue_url
1176
1756
  # The URL of the queue from which the `PurgeQueue` action deletes
1177
1757
  # messages.
1178
1758
  #
1179
- # Queue URLs are case-sensitive.
1759
+ # Queue URLs and names are case-sensitive.
1180
1760
  #
1181
1761
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1182
1762
  #
@@ -1197,8 +1777,8 @@ module Aws::SQS
1197
1777
 
1198
1778
  # Retrieves one or more messages (up to 10), from the specified queue.
1199
1779
  # Using the `WaitTimeSeconds` parameter enables long-poll support. For
1200
- # more information, see [Amazon SQS Long Polling][1] in the *Amazon
1201
- # Simple Queue Service Developer Guide*.
1780
+ # more information, see [Amazon SQS Long Polling][1] in the *Amazon SQS
1781
+ # Developer Guide*.
1202
1782
  #
1203
1783
  # Short poll is the default behavior where a weighted random set of
1204
1784
  # machines is sampled on a `ReceiveMessage` call. Thus, only the
@@ -1226,14 +1806,14 @@ module Aws::SQS
1226
1806
  #
1227
1807
  # The receipt handle is the identifier you must provide when deleting
1228
1808
  # the message. For more information, see [Queue and Message
1229
- # Identifiers][3] in the *Amazon Simple Queue Service Developer Guide*.
1809
+ # Identifiers][3] in the *Amazon SQS Developer Guide*.
1230
1810
  #
1231
1811
  # You can provide the `VisibilityTimeout` parameter in your request. The
1232
1812
  # parameter is applied to the messages that Amazon SQS returns in the
1233
1813
  # response. If you don't include the parameter, the overall visibility
1234
1814
  # timeout for the queue is used for the returned messages. For more
1235
- # information, see [Visibility Timeout][4] in the *Amazon Simple Queue
1236
- # Service Developer Guide*.
1815
+ # information, see [Visibility Timeout][4] in the *Amazon SQS Developer
1816
+ # Guide*.
1237
1817
  #
1238
1818
  # A message that isn't deleted or a message whose visibility isn't
1239
1819
  # extended before the visibility timeout expires counts as a failed
@@ -1248,84 +1828,107 @@ module Aws::SQS
1248
1828
  #
1249
1829
  #
1250
1830
  #
1251
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html
1831
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html
1252
1832
  # [2]: https://www.ietf.org/rfc/rfc1321.txt
1253
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
1254
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1833
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
1834
+ # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1255
1835
  #
1256
1836
  # @option params [required, String] :queue_url
1257
1837
  # The URL of the Amazon SQS queue from which messages are received.
1258
1838
  #
1259
- # Queue URLs are case-sensitive.
1839
+ # Queue URLs and names are case-sensitive.
1260
1840
  #
1261
1841
  # @option params [Array<String>] :attribute_names
1842
+ # This parameter has been deprecated but will be supported for backward
1843
+ # compatibility. To provide attribute names, you are encouraged to use
1844
+ # `MessageSystemAttributeNames`.
1845
+ #
1262
1846
  # A list of attributes that need to be returned along with each message.
1263
1847
  # These attributes include:
1264
1848
  #
1265
- # * `All` - Returns all values.
1849
+ # * `All` Returns all values.
1266
1850
  #
1267
- # * `ApproximateFirstReceiveTimestamp` - Returns the time the message
1851
+ # * `ApproximateFirstReceiveTimestamp` Returns the time the message
1268
1852
  # was first received from the queue ([epoch time][1] in milliseconds).
1269
1853
  #
1270
- # * `ApproximateReceiveCount` - Returns the number of times a message
1271
- # has been received from the queue but not deleted.
1854
+ # * `ApproximateReceiveCount` Returns the number of times a message
1855
+ # has been received across all queues but not deleted.
1856
+ #
1857
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1272
1858
  #
1273
1859
  # * `SenderId`
1274
1860
  #
1275
- # * For an IAM user, returns the IAM user ID, for example
1861
+ # * For a user, returns the user ID, for example
1276
1862
  # `ABCDEFGHI1JKLMNOPQ23R`.
1277
1863
  #
1278
1864
  # * For an IAM role, returns the IAM role ID, for example
1279
1865
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1280
1866
  #
1281
- # * `SentTimestamp` - Returns the time the message was sent to the queue
1867
+ # * `SentTimestamp` Returns the time the message was sent to the queue
1282
1868
  # ([epoch time][1] in milliseconds).
1283
1869
  #
1284
- # * `MessageDeduplicationId` - Returns the value provided by the sender
1285
- # that calls the ` SendMessage ` action.
1870
+ # * `SqsManagedSseEnabled` Enables server-side queue encryption using
1871
+ # SQS owned encryption keys. Only one server-side encryption option is
1872
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
1286
1873
  #
1287
- # * `MessageGroupId` - Returns the value provided by the sender that
1874
+ # * `MessageDeduplicationId` Returns the value provided by the
1875
+ # producer that calls the ` SendMessage ` action.
1876
+ #
1877
+ # * `MessageGroupId` – Returns the value provided by the producer that
1288
1878
  # calls the ` SendMessage ` action. Messages with the same
1289
1879
  # `MessageGroupId` are returned in sequence.
1290
1880
  #
1291
- # * `SequenceNumber` - Returns the value provided by Amazon SQS.
1881
+ # * `SequenceNumber` Returns the value provided by Amazon SQS.
1292
1882
  #
1293
- # Any other valid special request parameters (such as the following) are
1294
- # ignored:
1295
1883
  #
1296
- # * `ApproximateNumberOfMessages`
1297
1884
  #
1298
- # * `ApproximateNumberOfMessagesDelayed`
1885
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
1886
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1887
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1299
1888
  #
1300
- # * `ApproximateNumberOfMessagesNotVisible`
1889
+ # @option params [Array<String>] :message_system_attribute_names
1890
+ # A list of attributes that need to be returned along with each message.
1891
+ # These attributes include:
1301
1892
  #
1302
- # * `CreatedTimestamp`
1893
+ # * `All` – Returns all values.
1303
1894
  #
1304
- # * `ContentBasedDeduplication`
1895
+ # * `ApproximateFirstReceiveTimestamp` – Returns the time the message
1896
+ # was first received from the queue ([epoch time][1] in milliseconds).
1305
1897
  #
1306
- # * `DelaySeconds`
1898
+ # * `ApproximateReceiveCount` – Returns the number of times a message
1899
+ # has been received across all queues but not deleted.
1307
1900
  #
1308
- # * `FifoQueue`
1901
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1309
1902
  #
1310
- # * `LastModifiedTimestamp`
1903
+ # * `SenderId`
1311
1904
  #
1312
- # * `MaximumMessageSize`
1905
+ # * For a user, returns the user ID, for example
1906
+ # `ABCDEFGHI1JKLMNOPQ23R`.
1313
1907
  #
1314
- # * `MessageRetentionPeriod`
1908
+ # * For an IAM role, returns the IAM role ID, for example
1909
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1315
1910
  #
1316
- # * `Policy`
1911
+ # * `SentTimestamp` – Returns the time the message was sent to the queue
1912
+ # ([epoch time][1] in milliseconds).
1317
1913
  #
1318
- # * `QueueArn`,
1914
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
1915
+ # SQS owned encryption keys. Only one server-side encryption option is
1916
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
1319
1917
  #
1320
- # * `ReceiveMessageWaitTimeSeconds`
1918
+ # * `MessageDeduplicationId` – Returns the value provided by the
1919
+ # producer that calls the ` SendMessage ` action.
1321
1920
  #
1322
- # * `RedrivePolicy`
1921
+ # * `MessageGroupId` – Returns the value provided by the producer that
1922
+ # calls the ` SendMessage ` action. Messages with the same
1923
+ # `MessageGroupId` are returned in sequence.
1323
1924
  #
1324
- # * `VisibilityTimeout`
1925
+ # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1325
1926
  #
1326
1927
  #
1327
1928
  #
1328
1929
  # [1]: http://en.wikipedia.org/wiki/Unix_time
1930
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1931
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1329
1932
  #
1330
1933
  # @option params [Array<String>] :message_attribute_names
1331
1934
  # The name of the message attribute, where *N* is the index.
@@ -1352,7 +1955,7 @@ module Aws::SQS
1352
1955
  # @option params [Integer] :max_number_of_messages
1353
1956
  # The maximum number of messages to return. Amazon SQS never returns
1354
1957
  # more messages than this value (however, fewer messages might be
1355
- # returned). Valid values are 1 to 10. Default is 1.
1958
+ # returned). Valid values: 1 to 10. Default: 1.
1356
1959
  #
1357
1960
  # @option params [Integer] :visibility_timeout
1358
1961
  # The duration (in seconds) that the received messages are hidden from
@@ -1363,17 +1966,28 @@ module Aws::SQS
1363
1966
  # The duration (in seconds) for which the call waits for a message to
1364
1967
  # arrive in the queue before returning. If a message is available, the
1365
1968
  # call returns sooner than `WaitTimeSeconds`. If no messages are
1366
- # available and the wait time expires, the call returns successfully
1367
- # with an empty list of messages.
1969
+ # available and the wait time expires, the call does not return a
1970
+ # message list.
1971
+ #
1972
+ # To avoid HTTP errors, ensure that the HTTP response timeout for
1973
+ # `ReceiveMessage` requests is longer than the `WaitTimeSeconds`
1974
+ # parameter. For example, with the Java SDK, you can set HTTP transport
1975
+ # settings using the [ NettyNioAsyncHttpClient][1] for asynchronous
1976
+ # clients, or the [ ApacheHttpClient][2] for synchronous clients.
1977
+ #
1978
+ #
1979
+ #
1980
+ # [1]: https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.html
1981
+ # [2]: https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.html
1368
1982
  #
1369
1983
  # @option params [String] :receive_request_attempt_id
1370
1984
  # This parameter applies only to FIFO (first-in-first-out) queues.
1371
1985
  #
1372
1986
  # The token used for deduplication of `ReceiveMessage` calls. If a
1373
1987
  # networking issue occurs after a `ReceiveMessage` action, and instead
1374
- # of a response you receive a generic error, you can retry the same
1375
- # action with an identical `ReceiveRequestAttemptId` to retrieve the
1376
- # same set of messages, even if their visibility timeout has not yet
1988
+ # of a response you receive a generic error, it is possible to retry the
1989
+ # same action with an identical `ReceiveRequestAttemptId` to retrieve
1990
+ # the same set of messages, even if their visibility timeout has not yet
1377
1991
  # expired.
1378
1992
  #
1379
1993
  # * You can use `ReceiveRequestAttemptId` only for 5 minutes after a
@@ -1382,11 +1996,7 @@ module Aws::SQS
1382
1996
  # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1383
1997
  # can provide a `ReceiveRequestAttemptId` explicitly.
1384
1998
  #
1385
- # * If a caller of the `ReceiveMessage` action doesn't provide a
1386
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
1387
- # `ReceiveRequestAttemptId`.
1388
- #
1389
- # * You can retry the `ReceiveMessage` action with the same
1999
+ # * It is possible to retry the `ReceiveMessage` action with the same
1390
2000
  # `ReceiveRequestAttemptId` if none of the messages have been modified
1391
2001
  # (deleted or had their visibility changes).
1392
2002
  #
@@ -1394,15 +2004,14 @@ module Aws::SQS
1394
2004
  # `ReceiveRequestAttemptId` return the same messages and receipt
1395
2005
  # handles. If a retry occurs within the deduplication interval, it
1396
2006
  # resets the visibility timeout. For more information, see [Visibility
1397
- # Timeout][1] in the *Amazon Simple Queue Service Developer Guide*.
2007
+ # Timeout][1] in the *Amazon SQS Developer Guide*.
1398
2008
  #
1399
- # If a caller of the `ReceiveMessage` action is still processing
1400
- # messages when the visibility timeout expires and messages become
1401
- # visible, another worker reading from the same queue can receive the
1402
- # same messages and therefore process duplicates. Also, if a reader
1403
- # whose message processing time is longer than the visibility timeout
1404
- # tries to delete the processed messages, the action fails with an
1405
- # error.
2009
+ # If a caller of the `ReceiveMessage` action still processes messages
2010
+ # when the visibility timeout expires and messages become visible,
2011
+ # another worker consuming from the same queue can receive the same
2012
+ # messages and therefore process duplicates. Also, if a consumer whose
2013
+ # message processing time is longer than the visibility timeout tries
2014
+ # to delete the processed messages, the action fails with an error.
1406
2015
  #
1407
2016
  # To mitigate this effect, ensure that your application observes a
1408
2017
  # safe threshold before the visibility timeout expires and extend the
@@ -1418,19 +2027,19 @@ module Aws::SQS
1418
2027
  # visibility timeout expires. As a result, delays might occur but the
1419
2028
  # messages in the queue remain in a strict order.
1420
2029
  #
1421
- # The length of `ReceiveRequestAttemptId` is 128 characters.
2030
+ # The maximum length of `ReceiveRequestAttemptId` is 128 characters.
1422
2031
  # `ReceiveRequestAttemptId` can contain alphanumeric characters (`a-z`,
1423
2032
  # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1424
2033
  # ``).
1425
2034
  #
1426
2035
  # For best practices of using `ReceiveRequestAttemptId`, see [Using the
1427
- # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon Simple
1428
- # Queue Service Developer Guide*.
2036
+ # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon SQS
2037
+ # Developer Guide*.
1429
2038
  #
1430
2039
  #
1431
2040
  #
1432
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1433
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-receiverequestattemptid-request-parameter
2041
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
2042
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-receiverequestattemptid-request-parameter.html
1434
2043
  #
1435
2044
  # @return [Types::ReceiveMessageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1436
2045
  #
@@ -1440,7 +2049,8 @@ module Aws::SQS
1440
2049
  #
1441
2050
  # resp = client.receive_message({
1442
2051
  # queue_url: "String", # required
1443
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds
2052
+ # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds, DeduplicationScope, FifoThroughputLimit, RedriveAllowPolicy, SqsManagedSseEnabled
2053
+ # message_system_attribute_names: ["All"], # accepts All, SenderId, SentTimestamp, ApproximateReceiveCount, ApproximateFirstReceiveTimestamp, SequenceNumber, MessageDeduplicationId, MessageGroupId, AWSTraceHeader, DeadLetterQueueSourceArn
1444
2054
  # message_attribute_names: ["MessageAttributeName"],
1445
2055
  # max_number_of_messages: 1,
1446
2056
  # visibility_timeout: 1,
@@ -1477,12 +2087,28 @@ module Aws::SQS
1477
2087
  end
1478
2088
 
1479
2089
  # Revokes any permissions in the queue policy that matches the specified
1480
- # `Label` parameter. Only the owner of the queue can remove permissions.
2090
+ # `Label` parameter.
2091
+ #
2092
+ # <note markdown="1"> * Only the owner of a queue can remove permissions from it.
2093
+ #
2094
+ # * Cross-account permissions don't apply to this action. For more
2095
+ # information, see [Grant cross-account permissions to a role and a
2096
+ # username][1] in the *Amazon SQS Developer Guide*.
2097
+ #
2098
+ # * To remove the ability to change queue permissions, you must deny
2099
+ # permission to the `AddPermission`, `RemovePermission`, and
2100
+ # `SetQueueAttributes` actions in your IAM policy.
2101
+ #
2102
+ # </note>
2103
+ #
2104
+ #
2105
+ #
2106
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
1481
2107
  #
1482
2108
  # @option params [required, String] :queue_url
1483
2109
  # The URL of the Amazon SQS queue from which permissions are removed.
1484
2110
  #
1485
- # Queue URLs are case-sensitive.
2111
+ # Queue URLs and names are case-sensitive.
1486
2112
  #
1487
2113
  # @option params [required, String] :label
1488
2114
  # The identification of the permission to remove. This is the label
@@ -1509,13 +2135,17 @@ module Aws::SQS
1509
2135
  # Delivers a message to the specified queue.
1510
2136
  #
1511
2137
  # A message can include only XML, JSON, and unformatted text. The
1512
- # following Unicode characters are allowed:
2138
+ # following Unicode characters are allowed. For more information, see
2139
+ # the [W3C specification for characters][1].
1513
2140
  #
1514
2141
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
1515
2142
  # \| `#x10000` to `#x10FFFF`
1516
2143
  #
1517
- # Any characters not included in this list will be rejected. For more
1518
- # information, see the [W3C specification for characters][1].
2144
+ # Amazon SQS does not throw an exception or completely reject the
2145
+ # message if it contains invalid characters. Instead, it replaces those
2146
+ # invalid characters with `U+FFFD` before storing the message in the
2147
+ # queue, as long as the message body contains at least one valid
2148
+ # character.
1519
2149
  #
1520
2150
  #
1521
2151
  #
@@ -1524,19 +2154,24 @@ module Aws::SQS
1524
2154
  # @option params [required, String] :queue_url
1525
2155
  # The URL of the Amazon SQS queue to which a message is sent.
1526
2156
  #
1527
- # Queue URLs are case-sensitive.
2157
+ # Queue URLs and names are case-sensitive.
1528
2158
  #
1529
2159
  # @option params [required, String] :message_body
1530
- # The message to send. The maximum string size is 256 KB.
2160
+ # The message to send. The minimum size is one character. The maximum
2161
+ # size is 256 KiB.
1531
2162
  #
1532
2163
  # A message can include only XML, JSON, and unformatted text. The
1533
- # following Unicode characters are allowed:
2164
+ # following Unicode characters are allowed. For more information, see
2165
+ # the [W3C specification for characters][1].
1534
2166
  #
1535
2167
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
1536
2168
  # \| `#x10000` to `#x10FFFF`
1537
2169
  #
1538
- # Any characters not included in this list will be rejected. For more
1539
- # information, see the [W3C specification for characters][1].
2170
+ # Amazon SQS does not throw an exception or completely reject the
2171
+ # message if it contains invalid characters. Instead, it replaces those
2172
+ # invalid characters with `U+FFFD` before storing the message in the
2173
+ # queue, as long as the message body contains at least one valid
2174
+ # character.
1540
2175
  #
1541
2176
  #
1542
2177
  #
@@ -1556,12 +2191,23 @@ module Aws::SQS
1556
2191
  #
1557
2192
  # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
1558
2193
  # Each message attribute consists of a `Name`, `Type`, and `Value`. For
1559
- # more information, see [Message Attribute Items and Validation][1] in
1560
- # the *Amazon Simple Queue Service Developer Guide*.
2194
+ # more information, see [Amazon SQS message attributes][1] in the
2195
+ # *Amazon SQS Developer Guide*.
2196
+ #
2197
+ #
1561
2198
  #
2199
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
1562
2200
  #
2201
+ # @option params [Hash<String,Types::MessageSystemAttributeValue>] :message_system_attributes
2202
+ # The message system attribute to send. Each message system attribute
2203
+ # consists of a `Name`, `Type`, and `Value`.
1563
2204
  #
1564
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
2205
+ # * Currently, the only supported message system attribute is
2206
+ # `AWSTraceHeader`. Its type must be `String` and its value must be a
2207
+ # correctly formatted X-Ray trace header string.
2208
+ #
2209
+ # * The size of a message system attribute doesn't count towards the
2210
+ # total size of a message.
1565
2211
  #
1566
2212
  # @option params [String] :message_deduplication_id
1567
2213
  # This parameter applies only to FIFO (first-in-first-out) queues.
@@ -1570,8 +2216,8 @@ module Aws::SQS
1570
2216
  # particular `MessageDeduplicationId` is sent successfully, any messages
1571
2217
  # sent with the same `MessageDeduplicationId` are accepted successfully
1572
2218
  # but aren't delivered during the 5-minute deduplication interval. For
1573
- # more information, see [ Exactly-Once Processing][1] in the *Amazon
1574
- # Simple Queue Service Developer Guide*.
2219
+ # more information, see [ Exactly-once processing][1] in the *Amazon SQS
2220
+ # Developer Guide*.
1575
2221
  #
1576
2222
  # * Every message must have a unique `MessageDeduplicationId`,
1577
2223
  #
@@ -1599,28 +2245,31 @@ module Aws::SQS
1599
2245
  # the two messages are treated as duplicates and only one copy of the
1600
2246
  # message is delivered.
1601
2247
  #
1602
- # <note markdown="1"> The `MessageDeduplicationId` is available to the recipient of the
2248
+ # <note markdown="1"> The `MessageDeduplicationId` is available to the consumer of the
1603
2249
  # message (this can be useful for troubleshooting delivery issues).
1604
2250
  #
1605
2251
  # If a message is sent successfully but the acknowledgement is lost and
1606
2252
  # the message is resent with the same `MessageDeduplicationId` after the
1607
2253
  # deduplication interval, Amazon SQS can't detect duplicate messages.
1608
2254
  #
2255
+ # Amazon SQS continues to keep track of the message deduplication ID
2256
+ # even after the message is received and deleted.
2257
+ #
1609
2258
  # </note>
1610
2259
  #
1611
- # The length of `MessageDeduplicationId` is 128 characters.
2260
+ # The maximum length of `MessageDeduplicationId` is 128 characters.
1612
2261
  # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1613
2262
  # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1614
2263
  # ``).
1615
2264
  #
1616
2265
  # For best practices of using `MessageDeduplicationId`, see [Using the
1617
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1618
- # Service Developer Guide*.
2266
+ # MessageDeduplicationId Property][2] in the *Amazon SQS Developer
2267
+ # Guide*.
1619
2268
  #
1620
2269
  #
1621
2270
  #
1622
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1623
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagededuplicationid-property
2271
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
2272
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
1624
2273
  #
1625
2274
  # @option params [String] :message_group_id
1626
2275
  # This parameter applies only to FIFO (first-in-first-out) queues.
@@ -1630,7 +2279,7 @@ module Aws::SQS
1630
2279
  # a FIFO manner (however, messages in different message groups might be
1631
2280
  # processed out of order). To interleave multiple ordered streams within
1632
2281
  # a single queue, use `MessageGroupId` values (for example, session data
1633
- # for multiple users). In this scenario, multiple readers can process
2282
+ # for multiple users). In this scenario, multiple consumers can process
1634
2283
  # the queue, but the session data of each user is processed in a FIFO
1635
2284
  # fashion.
1636
2285
  #
@@ -1641,25 +2290,25 @@ module Aws::SQS
1641
2290
  # `MessageGroupId` values. For each `MessageGroupId`, the messages are
1642
2291
  # sorted by time sent. The caller can't specify a `MessageGroupId`.
1643
2292
  #
1644
- # The length of `MessageGroupId` is 128 characters. Valid values are
1645
- # alphanumeric characters and punctuation ``
2293
+ # The maximum length of `MessageGroupId` is 128 characters. Valid
2294
+ # values: alphanumeric characters and punctuation ``
1646
2295
  # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1647
2296
  #
1648
2297
  # For best practices of using `MessageGroupId`, see [Using the
1649
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1650
- # Developer Guide*.
2298
+ # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
1651
2299
  #
1652
2300
  # `MessageGroupId` is required for FIFO queues. You can't use it for
1653
2301
  # Standard queues.
1654
2302
  #
1655
2303
  #
1656
2304
  #
1657
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagegroupid-property
2305
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html
1658
2306
  #
1659
2307
  # @return [Types::SendMessageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1660
2308
  #
1661
2309
  # * {Types::SendMessageResult#md5_of_message_body #md5_of_message_body} => String
1662
2310
  # * {Types::SendMessageResult#md5_of_message_attributes #md5_of_message_attributes} => String
2311
+ # * {Types::SendMessageResult#md5_of_message_system_attributes #md5_of_message_system_attributes} => String
1663
2312
  # * {Types::SendMessageResult#message_id #message_id} => String
1664
2313
  # * {Types::SendMessageResult#sequence_number #sequence_number} => String
1665
2314
  #
@@ -1678,6 +2327,15 @@ module Aws::SQS
1678
2327
  # data_type: "String", # required
1679
2328
  # },
1680
2329
  # },
2330
+ # message_system_attributes: {
2331
+ # "AWSTraceHeader" => {
2332
+ # string_value: "String",
2333
+ # binary_value: "data",
2334
+ # string_list_values: ["String"],
2335
+ # binary_list_values: ["data"],
2336
+ # data_type: "String", # required
2337
+ # },
2338
+ # },
1681
2339
  # message_deduplication_id: "String",
1682
2340
  # message_group_id: "String",
1683
2341
  # })
@@ -1686,6 +2344,7 @@ module Aws::SQS
1686
2344
  #
1687
2345
  # resp.md5_of_message_body #=> String
1688
2346
  # resp.md5_of_message_attributes #=> String
2347
+ # resp.md5_of_message_system_attributes #=> String
1689
2348
  # resp.message_id #=> String
1690
2349
  # resp.sequence_number #=> String
1691
2350
  #
@@ -1698,7 +2357,9 @@ module Aws::SQS
1698
2357
  req.send_request(options)
1699
2358
  end
1700
2359
 
1701
- # Delivers up to ten messages to the specified queue. This is a batch
2360
+ # You can use `SendMessageBatch` to send up to 10 messages to the
2361
+ # specified queue by assigning either identical or different values to
2362
+ # each message (or by not assigning values at all). This is a batch
1702
2363
  # version of ` SendMessage.` For a FIFO queue, multiple messages within
1703
2364
  # a single batch are enqueued in the order they are sent.
1704
2365
  #
@@ -1709,30 +2370,24 @@ module Aws::SQS
1709
2370
  #
1710
2371
  # The maximum allowed individual message size and the maximum total
1711
2372
  # payload size (the sum of the individual lengths of all of the batched
1712
- # messages) are both 256 KB (262,144 bytes).
2373
+ # messages) are both 256 KiB (262,144 bytes).
1713
2374
  #
1714
2375
  # A message can include only XML, JSON, and unformatted text. The
1715
- # following Unicode characters are allowed:
2376
+ # following Unicode characters are allowed. For more information, see
2377
+ # the [W3C specification for characters][1].
1716
2378
  #
1717
2379
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
1718
2380
  # \| `#x10000` to `#x10FFFF`
1719
2381
  #
1720
- # Any characters not included in this list will be rejected. For more
1721
- # information, see the [W3C specification for characters][1].
2382
+ # Amazon SQS does not throw an exception or completely reject the
2383
+ # message if it contains invalid characters. Instead, it replaces those
2384
+ # invalid characters with `U+FFFD` before storing the message in the
2385
+ # queue, as long as the message body contains at least one valid
2386
+ # character.
1722
2387
  #
1723
2388
  # If you don't specify the `DelaySeconds` parameter for an entry,
1724
2389
  # Amazon SQS uses the default value for the queue.
1725
2390
  #
1726
- # <note markdown="1"> Some actions take lists of parameters. These lists are specified using
1727
- # the `param.n` notation. Values of `n` are integers starting from 1.
1728
- # For example, a parameter list with two elements looks like this:
1729
- #
1730
- # `&Attribute.1=this`
1731
- #
1732
- # `&Attribute.2=that`
1733
- #
1734
- # </note>
1735
- #
1736
2391
  #
1737
2392
  #
1738
2393
  # [1]: http://www.w3.org/TR/REC-xml/#charsets
@@ -1740,7 +2395,7 @@ module Aws::SQS
1740
2395
  # @option params [required, String] :queue_url
1741
2396
  # The URL of the Amazon SQS queue to which batched messages are sent.
1742
2397
  #
1743
- # Queue URLs are case-sensitive.
2398
+ # Queue URLs and names are case-sensitive.
1744
2399
  #
1745
2400
  # @option params [required, Array<Types::SendMessageBatchRequestEntry>] :entries
1746
2401
  # A list of ` SendMessageBatchRequestEntry ` items.
@@ -1768,6 +2423,15 @@ module Aws::SQS
1768
2423
  # data_type: "String", # required
1769
2424
  # },
1770
2425
  # },
2426
+ # message_system_attributes: {
2427
+ # "AWSTraceHeader" => {
2428
+ # string_value: "String",
2429
+ # binary_value: "data",
2430
+ # string_list_values: ["String"],
2431
+ # binary_list_values: ["data"],
2432
+ # data_type: "String", # required
2433
+ # },
2434
+ # },
1771
2435
  # message_deduplication_id: "String",
1772
2436
  # message_group_id: "String",
1773
2437
  # },
@@ -1781,6 +2445,7 @@ module Aws::SQS
1781
2445
  # resp.successful[0].message_id #=> String
1782
2446
  # resp.successful[0].md5_of_message_body #=> String
1783
2447
  # resp.successful[0].md5_of_message_attributes #=> String
2448
+ # resp.successful[0].md5_of_message_system_attributes #=> String
1784
2449
  # resp.successful[0].sequence_number #=> String
1785
2450
  # resp.failed #=> Array
1786
2451
  # resp.failed[0].id #=> String
@@ -1797,22 +2462,37 @@ module Aws::SQS
1797
2462
  req.send_request(options)
1798
2463
  end
1799
2464
 
1800
- # Sets the value of one or more queue attributes. When you change a
1801
- # queue's attributes, the change can take up to 60 seconds for most of
1802
- # the attributes to propagate throughout the Amazon SQS system. Changes
1803
- # made to the `MessageRetentionPeriod` attribute can take up to 15
1804
- # minutes.
2465
+ # Sets the value of one or more queue attributes, like a policy. When
2466
+ # you change a queue's attributes, the change can take up to 60 seconds
2467
+ # for most of the attributes to propagate throughout the Amazon SQS
2468
+ # system. Changes made to the `MessageRetentionPeriod` attribute can
2469
+ # take up to 15 minutes and will impact existing messages in the queue
2470
+ # potentially causing them to be expired and deleted if the
2471
+ # `MessageRetentionPeriod` is reduced below the age of existing
2472
+ # messages.
1805
2473
  #
1806
- # <note markdown="1"> In the future, new attributes might be added. If you write code that
1807
- # calls this action, we recommend that you structure your code so that
1808
- # it can handle new attributes gracefully.
2474
+ # <note markdown="1"> * In the future, new attributes might be added. If you write code that
2475
+ # calls this action, we recommend that you structure your code so that
2476
+ # it can handle new attributes gracefully.
2477
+ #
2478
+ # * Cross-account permissions don't apply to this action. For more
2479
+ # information, see [Grant cross-account permissions to a role and a
2480
+ # username][1] in the *Amazon SQS Developer Guide*.
2481
+ #
2482
+ # * To remove the ability to change queue permissions, you must deny
2483
+ # permission to the `AddPermission`, `RemovePermission`, and
2484
+ # `SetQueueAttributes` actions in your IAM policy.
1809
2485
  #
1810
2486
  # </note>
1811
2487
  #
2488
+ #
2489
+ #
2490
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
2491
+ #
1812
2492
  # @option params [required, String] :queue_url
1813
2493
  # The URL of the Amazon SQS queue whose attributes are set.
1814
2494
  #
1815
- # Queue URLs are case-sensitive.
2495
+ # Queue URLs and names are case-sensitive.
1816
2496
  #
1817
2497
  # @option params [required, Hash<String,String>] :attributes
1818
2498
  # A map of attributes to set.
@@ -1820,78 +2500,119 @@ module Aws::SQS
1820
2500
  # The following lists the names, descriptions, and values of the special
1821
2501
  # request parameters that the `SetQueueAttributes` action uses:
1822
2502
  #
1823
- # * `DelaySeconds` - The length of time, in seconds, for which the
2503
+ # * `DelaySeconds` The length of time, in seconds, for which the
1824
2504
  # delivery of all messages in the queue is delayed. Valid values: An
1825
- # integer from 0 to 900 (15 minutes). The default is 0 (zero).
2505
+ # integer from 0 to 900 (15 minutes). Default: 0.
1826
2506
  #
1827
- # * `MaximumMessageSize` - The limit of how many bytes a message can
2507
+ # * `MaximumMessageSize` The limit of how many bytes a message can
1828
2508
  # contain before Amazon SQS rejects it. Valid values: An integer from
1829
- # 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The default is
1830
- # 262,144 (256 KiB).
2509
+ # 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144
2510
+ # (256 KiB).
1831
2511
  #
1832
- # * `MessageRetentionPeriod` - The length of time, in seconds, for which
2512
+ # * `MessageRetentionPeriod` The length of time, in seconds, for which
1833
2513
  # Amazon SQS retains a message. Valid values: An integer representing
1834
- # seconds, from 60 (1 minute) to 1,209,600 (14 days). The default is
1835
- # 345,600 (4 days).
2514
+ # seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600
2515
+ # (4 days). When you change a queue's attributes, the change can take
2516
+ # up to 60 seconds for most of the attributes to propagate throughout
2517
+ # the Amazon SQS system. Changes made to the `MessageRetentionPeriod`
2518
+ # attribute can take up to 15 minutes and will impact existing
2519
+ # messages in the queue potentially causing them to be expired and
2520
+ # deleted if the `MessageRetentionPeriod` is reduced below the age of
2521
+ # existing messages.
2522
+ #
2523
+ # * `Policy` – The queue's policy. A valid Amazon Web Services policy.
2524
+ # For more information about policy structure, see [Overview of Amazon
2525
+ # Web Services IAM Policies][1] in the *Identity and Access Management
2526
+ # User Guide*.
2527
+ #
2528
+ # * `ReceiveMessageWaitTimeSeconds` – The length of time, in seconds,
2529
+ # for which a ` ReceiveMessage ` action waits for a message to arrive.
2530
+ # Valid values: An integer from 0 to 20 (seconds). Default: 0.
1836
2531
  #
1837
- # * `Policy` - The queue's policy. A valid AWS policy. For more
1838
- # information about policy structure, see [Overview of AWS IAM
1839
- # Policies][1] in the *Amazon IAM User Guide*.
2532
+ # * `VisibilityTimeout` The visibility timeout for the queue, in
2533
+ # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
2534
+ # Default: 30. For more information about the visibility timeout, see
2535
+ # [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
1840
2536
  #
1841
- # * `ReceiveMessageWaitTimeSeconds` - The length of time, in seconds,
1842
- # for which a ` ReceiveMessage ` action waits for a message to arrive.
1843
- # Valid values: an integer from 0 to 20 (seconds). The default is 0.
2537
+ # The following attributes apply only to [dead-letter queues:][3]
1844
2538
  #
1845
- # * `RedrivePolicy` - The string that includes the parameters for the
1846
- # dead-letter queue functionality of the source queue. For more
1847
- # information about the redrive policy and dead-letter queues, see
1848
- # [Using Amazon SQS Dead-Letter Queues][2] in the *Amazon Simple Queue
1849
- # Service Developer Guide*.
2539
+ # * `RedrivePolicy` The string that includes the parameters for the
2540
+ # dead-letter queue functionality of the source queue as a JSON
2541
+ # object. The parameters are as follows:
1850
2542
  #
1851
- # * `deadLetterTargetArn` - The Amazon Resource Name (ARN) of the
2543
+ # * `deadLetterTargetArn` The Amazon Resource Name (ARN) of the
1852
2544
  # dead-letter queue to which Amazon SQS moves messages after the
1853
2545
  # value of `maxReceiveCount` is exceeded.
1854
2546
  #
1855
- # * `maxReceiveCount` - The number of times a message is delivered to
2547
+ # * `maxReceiveCount` The number of times a message is delivered to
1856
2548
  # the source queue before being moved to the dead-letter queue.
2549
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
2550
+ # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
2551
+ # dead-letter-queue.
1857
2552
  #
1858
- # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
1859
- # Similarly, the dead-letter queue of a standard queue must also be a
1860
- # standard queue.
2553
+ # * `RedriveAllowPolicy` The string that includes the parameters for
2554
+ # the permissions for the dead-letter queue redrive permission and
2555
+ # which source queues can specify dead-letter queues as a JSON object.
2556
+ # The parameters are as follows:
1861
2557
  #
1862
- # </note>
2558
+ # * `redrivePermission` – The permission type that defines which
2559
+ # source queues can specify the current queue as the dead-letter
2560
+ # queue. Valid values are:
1863
2561
  #
1864
- # * `VisibilityTimeout` - The visibility timeout for the queue. Valid
1865
- # values: an integer from 0 to 43,200 (12 hours). The default is 30.
1866
- # For more information about the visibility timeout, see [Visibility
1867
- # Timeout][3] in the *Amazon Simple Queue Service Developer Guide*.
2562
+ # * `allowAll` (Default) Any source queues in this Amazon Web
2563
+ # Services account in the same Region can specify this queue as
2564
+ # the dead-letter queue.
2565
+ #
2566
+ # * `denyAll` – No source queues can specify this queue as the
2567
+ # dead-letter queue.
1868
2568
  #
1869
- # The following attributes apply only to [server-side-encryption][4]\:
2569
+ # * `byQueue` Only queues specified by the `sourceQueueArns`
2570
+ # parameter can specify this queue as the dead-letter queue.
1870
2571
  #
1871
- # * `KmsMasterKeyId` - The ID of an AWS-managed customer master key
1872
- # (CMK) for Amazon SQS or a custom CMK. For more information, see [Key
1873
- # Terms][5]. While the alias of the AWS-managed CMK for Amazon SQS is
1874
- # always `alias/aws/sqs`, the alias of a custom CMK can, for example,
1875
- # be `alias/MyAlias `. For more examples, see [KeyId][6] in the *AWS
1876
- # Key Management Service API Reference*.
2572
+ # * `sourceQueueArns` The Amazon Resource Names (ARN)s of the source
2573
+ # queues that can specify this queue as the dead-letter queue and
2574
+ # redrive messages. You can specify this parameter only when the
2575
+ # `redrivePermission` parameter is set to `byQueue`. You can specify
2576
+ # up to 10 source queue ARNs. To allow more than 10 source queues to
2577
+ # specify dead-letter queues, set the `redrivePermission` parameter
2578
+ # to `allowAll`.
1877
2579
  #
1878
- # * `KmsDataKeyReusePeriodSeconds` - The length of time, in seconds, for
2580
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
2581
+ # Similarly, the dead-letter queue of a standard queue must also be a
2582
+ # standard queue.
2583
+ #
2584
+ # </note>
2585
+ #
2586
+ # The following attributes apply only to [server-side-encryption][4]:
2587
+ #
2588
+ # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
2589
+ # master key (CMK) for Amazon SQS or a custom CMK. For more
2590
+ # information, see [Key Terms][5]. While the alias of the AWS-managed
2591
+ # CMK for Amazon SQS is always `alias/aws/sqs`, the alias of a custom
2592
+ # CMK can, for example, be `alias/MyAlias `. For more examples, see
2593
+ # [KeyId][6] in the *Key Management Service API Reference*.
2594
+ #
2595
+ # * `KmsDataKeyReusePeriodSeconds` – The length of time, in seconds, for
1879
2596
  # which Amazon SQS can reuse a [data key][7] to encrypt or decrypt
1880
- # messages before calling AWS KMS again. An integer representing
1881
- # seconds, between 60 seconds (1 minute) and 86,400 seconds (24
1882
- # hours). The default is 300 (5 minutes). A shorter time period
1883
- # provides better security but results in more calls to KMS which
1884
- # might incur charges after Free Tier. For more information, see [How
1885
- # Does the Data Key Reuse Period Work?][8].
2597
+ # messages before calling KMS again. An integer representing seconds,
2598
+ # between 60 seconds (1 minute) and 86,400 seconds (24 hours).
2599
+ # Default: 300 (5 minutes). A shorter time period provides better
2600
+ # security but results in more calls to KMS which might incur charges
2601
+ # after Free Tier. For more information, see [How Does the Data Key
2602
+ # Reuse Period Work?][8].
2603
+ #
2604
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
2605
+ # SQS owned encryption keys. Only one server-side encryption option is
2606
+ # supported per queue (for example, [SSE-KMS][9] or [SSE-SQS][10]).
1886
2607
  #
1887
2608
  # The following attribute applies only to [FIFO (first-in-first-out)
1888
- # queues][9]\:
2609
+ # queues][11]:
1889
2610
  #
1890
- # * `ContentBasedDeduplication` - Enables content-based deduplication.
1891
- # For more information, see [Exactly-Once Processing][10] in the
1892
- # *Amazon Simple Queue Service Developer Guide*.
2611
+ # * `ContentBasedDeduplication` Enables content-based deduplication.
2612
+ # For more information, see [Exactly-once processing][12] in the
2613
+ # *Amazon SQS Developer Guide*. Note the following:
1893
2614
  #
1894
- # * Every message must have a unique `MessageDeduplicationId`,
2615
+ # * Every message must have a unique `MessageDeduplicationId`.
1895
2616
  #
1896
2617
  # * You may provide a `MessageDeduplicationId` explicitly.
1897
2618
  #
@@ -1919,33 +2640,48 @@ module Aws::SQS
1919
2640
  # `MessageDeduplicationId`, the two messages are treated as
1920
2641
  # duplicates and only one copy of the message is delivered.
1921
2642
  #
1922
- # Any other valid special request parameters (such as the following) are
1923
- # ignored:
2643
+ # The following attributes apply only to [high throughput for FIFO
2644
+ # queues][13]:
2645
+ #
2646
+ # * `DeduplicationScope` – Specifies whether message deduplication
2647
+ # occurs at the message group or queue level. Valid values are
2648
+ # `messageGroup` and `queue`.
1924
2649
  #
1925
- # * `ApproximateNumberOfMessages`
2650
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue throughput
2651
+ # quota applies to the entire queue or per message group. Valid values
2652
+ # are `perQueue` and `perMessageGroupId`. The `perMessageGroupId`
2653
+ # value is allowed only when the value for `DeduplicationScope` is
2654
+ # `messageGroup`.
1926
2655
  #
1927
- # * `ApproximateNumberOfMessagesDelayed`
2656
+ # To enable high throughput for FIFO queues, do the following:
1928
2657
  #
1929
- # * `ApproximateNumberOfMessagesNotVisible`
2658
+ # * Set `DeduplicationScope` to `messageGroup`.
1930
2659
  #
1931
- # * `CreatedTimestamp`
2660
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
1932
2661
  #
1933
- # * `LastModifiedTimestamp`
2662
+ # If you set these attributes to anything other than the values shown
2663
+ # for enabling high throughput, normal throughput is in effect and
2664
+ # deduplication occurs as specified.
1934
2665
  #
1935
- # * `QueueArn`
2666
+ # For information on throughput quotas, see [Quotas related to
2667
+ # messages][14] in the *Amazon SQS Developer Guide*.
1936
2668
  #
1937
2669
  #
1938
2670
  #
1939
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
1940
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1941
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1942
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
1943
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
1944
- # [6]: http://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
1945
- # [7]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
1946
- # [8]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
1947
- # [9]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1948
- # [10]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
2671
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
2672
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
2673
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
2674
+ # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
2675
+ # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
2676
+ # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2677
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
2678
+ # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
2679
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
2680
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
2681
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
2682
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
2683
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
2684
+ # [14]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
1949
2685
  #
1950
2686
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1951
2687
  #
@@ -1967,9 +2703,78 @@ module Aws::SQS
1967
2703
  req.send_request(options)
1968
2704
  end
1969
2705
 
2706
+ # Starts an asynchronous task to move messages from a specified source
2707
+ # queue to a specified destination queue.
2708
+ #
2709
+ # <note markdown="1"> * This action is currently limited to supporting message redrive from
2710
+ # queues that are configured as [dead-letter queues (DLQs)][1] of
2711
+ # other Amazon SQS queues only. Non-SQS queue sources of dead-letter
2712
+ # queues, such as Lambda or Amazon SNS topics, are currently not
2713
+ # supported.
2714
+ #
2715
+ # * In dead-letter queues redrive context, the `StartMessageMoveTask`
2716
+ # the source queue is the DLQ, while the destination queue can be the
2717
+ # original source queue (from which the messages were driven to the
2718
+ # dead-letter-queue), or a custom destination queue.
2719
+ #
2720
+ # * Only one active message movement task is supported per queue at any
2721
+ # given time.
2722
+ #
2723
+ # </note>
2724
+ #
2725
+ #
2726
+ #
2727
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
2728
+ #
2729
+ # @option params [required, String] :source_arn
2730
+ # The ARN of the queue that contains the messages to be moved to another
2731
+ # queue. Currently, only ARNs of dead-letter queues (DLQs) whose sources
2732
+ # are other Amazon SQS queues are accepted. DLQs whose sources are
2733
+ # non-SQS queues, such as Lambda or Amazon SNS topics, are not currently
2734
+ # supported.
2735
+ #
2736
+ # @option params [String] :destination_arn
2737
+ # The ARN of the queue that receives the moved messages. You can use
2738
+ # this field to specify the destination queue where you would like to
2739
+ # redrive messages. If this field is left blank, the messages will be
2740
+ # redriven back to their respective original source queues.
2741
+ #
2742
+ # @option params [Integer] :max_number_of_messages_per_second
2743
+ # The number of messages to be moved per second (the message movement
2744
+ # rate). You can use this field to define a fixed message movement rate.
2745
+ # The maximum value for messages per second is 500. If this field is
2746
+ # left blank, the system will optimize the rate based on the queue
2747
+ # message backlog size, which may vary throughout the duration of the
2748
+ # message movement task.
2749
+ #
2750
+ # @return [Types::StartMessageMoveTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2751
+ #
2752
+ # * {Types::StartMessageMoveTaskResult#task_handle #task_handle} => String
2753
+ #
2754
+ # @example Request syntax with placeholder values
2755
+ #
2756
+ # resp = client.start_message_move_task({
2757
+ # source_arn: "String", # required
2758
+ # destination_arn: "String",
2759
+ # max_number_of_messages_per_second: 1,
2760
+ # })
2761
+ #
2762
+ # @example Response structure
2763
+ #
2764
+ # resp.task_handle #=> String
2765
+ #
2766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/StartMessageMoveTask AWS API Documentation
2767
+ #
2768
+ # @overload start_message_move_task(params = {})
2769
+ # @param [Hash] params ({})
2770
+ def start_message_move_task(params = {}, options = {})
2771
+ req = build_request(:start_message_move_task, params)
2772
+ req.send_request(options)
2773
+ end
2774
+
1970
2775
  # Add cost allocation tags to the specified Amazon SQS queue. For an
1971
- # overview, see [Tagging Amazon SQS Queues][1] in the *Amazon Simple
1972
- # Queue Service Developer Guide*.
2776
+ # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon SQS
2777
+ # Developer Guide*.
1973
2778
  #
1974
2779
  # When you use queue tags, keep the following guidelines in mind:
1975
2780
  #
@@ -1983,18 +2788,20 @@ module Aws::SQS
1983
2788
  # * A new tag with a key identical to that of an existing tag overwrites
1984
2789
  # the existing tag.
1985
2790
  #
1986
- # * Tagging API actions are limited to 5 TPS per AWS account. If your
1987
- # application requires a higher throughput, file a [technical support
1988
- # request][2].
2791
+ # For a full list of tag restrictions, see [Quotas related to queues][2]
2792
+ # in the *Amazon SQS Developer Guide*.
2793
+ #
2794
+ # <note markdown="1"> Cross-account permissions don't apply to this action. For more
2795
+ # information, see [Grant cross-account permissions to a role and a
2796
+ # username][3] in the *Amazon SQS Developer Guide*.
1989
2797
  #
1990
- # For a full list of tag restrictions, see [Limits Related to Queues][3]
1991
- # in the *Amazon Simple Queue Service Developer Guide*.
2798
+ # </note>
1992
2799
  #
1993
2800
  #
1994
2801
  #
1995
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-tagging-queues.html
1996
- # [2]: https://console.aws.amazon.com/support/home#/case/create?issueType=technical
1997
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
2802
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html
2803
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html#limits-queues
2804
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
1998
2805
  #
1999
2806
  # @option params [required, String] :queue_url
2000
2807
  # The URL of the queue.
@@ -2023,33 +2830,19 @@ module Aws::SQS
2023
2830
  end
2024
2831
 
2025
2832
  # Remove cost allocation tags from the specified Amazon SQS queue. For
2026
- # an overview, see [Tagging Amazon SQS Queues][1] in the *Amazon Simple
2027
- # Queue Service Developer Guide*.
2833
+ # an overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon
2834
+ # SQS Developer Guide*.
2028
2835
  #
2029
- # When you use queue tags, keep the following guidelines in mind:
2836
+ # <note markdown="1"> Cross-account permissions don't apply to this action. For more
2837
+ # information, see [Grant cross-account permissions to a role and a
2838
+ # username][2] in the *Amazon SQS Developer Guide*.
2030
2839
  #
2031
- # * Adding more than 50 tags to a queue isn't recommended.
2032
- #
2033
- # * Tags don't have any semantic meaning. Amazon SQS interprets tags as
2034
- # character strings.
2035
- #
2036
- # * Tags are case-sensitive.
2037
- #
2038
- # * A new tag with a key identical to that of an existing tag overwrites
2039
- # the existing tag.
2040
- #
2041
- # * Tagging API actions are limited to 5 TPS per AWS account. If your
2042
- # application requires a higher throughput, file a [technical support
2043
- # request][2].
2044
- #
2045
- # For a full list of tag restrictions, see [Limits Related to Queues][3]
2046
- # in the *Amazon Simple Queue Service Developer Guide*.
2840
+ # </note>
2047
2841
  #
2048
2842
  #
2049
2843
  #
2050
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-tagging-queues.html
2051
- # [2]: https://console.aws.amazon.com/support/home#/case/create?issueType=technical
2052
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
2844
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html
2845
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
2053
2846
  #
2054
2847
  # @option params [required, String] :queue_url
2055
2848
  # The URL of the queue.
@@ -2088,7 +2881,7 @@ module Aws::SQS
2088
2881
  params: params,
2089
2882
  config: config)
2090
2883
  context[:gem_name] = 'aws-sdk-sqs'
2091
- context[:gem_version] = '1.5.0'
2884
+ context[:gem_version] = '1.80.0'
2092
2885
  Seahorse::Client::Request.new(handlers, context)
2093
2886
  end
2094
2887