aws-sdk-sqs 1.5.0 → 1.80.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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