aws-sdk-sqs 1.30.0 → 1.89.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -22,18 +22,22 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
29
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
30
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
31
- require 'aws-sdk-core/plugins/protocols/query.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/telemetry.rb'
36
+ require 'aws-sdk-core/plugins/sign.rb'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
38
  require 'aws-sdk-sqs/plugins/queue_urls.rb'
33
39
  require 'aws-sdk-sqs/plugins/md5s.rb'
34
40
 
35
- Aws::Plugins::GlobalConfiguration.add_identifier(:sqs)
36
-
37
41
  module Aws::SQS
38
42
  # An API client for SQS. To construct a client, you need to configure a `:region` and `:credentials`.
39
43
  #
@@ -70,18 +74,30 @@ module Aws::SQS
70
74
  add_plugin(Aws::Plugins::ResponsePaging)
71
75
  add_plugin(Aws::Plugins::StubResponses)
72
76
  add_plugin(Aws::Plugins::IdempotencyToken)
77
+ add_plugin(Aws::Plugins::InvocationId)
73
78
  add_plugin(Aws::Plugins::JsonvalueConverter)
74
79
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
75
80
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
76
81
  add_plugin(Aws::Plugins::TransferEncoding)
77
82
  add_plugin(Aws::Plugins::HttpChecksum)
78
- add_plugin(Aws::Plugins::SignatureV4)
79
- add_plugin(Aws::Plugins::Protocols::Query)
83
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
84
+ add_plugin(Aws::Plugins::RequestCompression)
85
+ add_plugin(Aws::Plugins::DefaultsMode)
86
+ add_plugin(Aws::Plugins::RecursionDetection)
87
+ add_plugin(Aws::Plugins::Telemetry)
88
+ add_plugin(Aws::Plugins::Sign)
89
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
80
90
  add_plugin(Aws::SQS::Plugins::QueueUrls)
81
91
  add_plugin(Aws::SQS::Plugins::Md5s)
92
+ add_plugin(Aws::SQS::Plugins::Endpoints)
82
93
 
83
94
  # @overload initialize(options)
84
95
  # @param [Hash] options
96
+ #
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.
100
+ #
85
101
  # @option options [required, Aws::CredentialProvider] :credentials
86
102
  # Your AWS credentials. This can be an instance of any one of the
87
103
  # following classes:
@@ -89,26 +105,45 @@ module Aws::SQS
89
105
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
90
106
  # credentials.
91
107
  #
108
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
109
+ # shared file, such as `~/.aws/config`.
110
+ #
111
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
112
+ #
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
+ #
92
122
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
93
123
  # from an EC2 IMDS on an EC2 instance.
94
124
  #
95
- # * `Aws::SharedCredentials` - Used for loading credentials from a
96
- # shared file, such as `~/.aws/config`.
125
+ # * `Aws::ECSCredentials` - Used for loading credentials from
126
+ # instances running in ECS.
97
127
  #
98
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
128
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
129
+ # from the Cognito Identity service.
99
130
  #
100
131
  # When `:credentials` are not configured directly, the following
101
132
  # locations will be searched for credentials:
102
133
  #
103
134
  # * `Aws.config[:credentials]`
104
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
105
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
135
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
136
+ # `:account_id` options.
137
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
138
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
106
139
  # * `~/.aws/credentials`
107
140
  # * `~/.aws/config`
108
- # * EC2 IMDS instance profile - When used by default, the timeouts are
109
- # very aggressive. Construct and pass an instance of
110
- # `Aws::InstanceProfileCredentails` to enable retries and extended
111
- # timeouts.
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
142
+ # are very aggressive. Construct and pass an instance of
143
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
144
+ # enable retries and extended timeouts. Instance profile credential
145
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
146
+ # to true.
112
147
  #
113
148
  # @option options [required, String] :region
114
149
  # The AWS region to connect to. The configured `:region` is
@@ -124,6 +159,8 @@ module Aws::SQS
124
159
  #
125
160
  # @option options [String] :access_key_id
126
161
  #
162
+ # @option options [String] :account_id
163
+ #
127
164
  # @option options [Boolean] :active_endpoint_cache (false)
128
165
  # When set to `true`, a thread polling for endpoints will be running in
129
166
  # the background every 60 secs (default). Defaults to `false`.
@@ -162,14 +199,28 @@ module Aws::SQS
162
199
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
163
200
  # a clock skew correction and retry requests with skewed client clocks.
164
201
  #
202
+ # @option options [String] :defaults_mode ("legacy")
203
+ # See {Aws::DefaultsModeConfiguration} for a list of the
204
+ # accepted modes and the configuration defaults that are included.
205
+ #
165
206
  # @option options [Boolean] :disable_host_prefix_injection (false)
166
207
  # Set to true to disable SDK automatically adding host prefix
167
208
  # to default service endpoint when available.
168
209
  #
169
- # @option options [String] :endpoint
170
- # The client endpoint is normally constructed from the `:region`
171
- # option. You should only configure an `:endpoint` when connecting
172
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
210
+ # @option options [Boolean] :disable_request_compression (false)
211
+ # When set to 'true' the request body will not be compressed
212
+ # for supported operations.
213
+ #
214
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
215
+ # Normally you should not configure the `:endpoint` option
216
+ # directly. This is normally constructed from the `:region`
217
+ # option. Configuring `:endpoint` is normally reserved for
218
+ # connecting to test or custom endpoints. The endpoint should
219
+ # be a URI formatted like:
220
+ #
221
+ # 'http://example.com'
222
+ # 'https://example.com'
223
+ # 'http://example.com:123'
173
224
  #
174
225
  # @option options [Integer] :endpoint_cache_max_entries (1000)
175
226
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -186,6 +237,10 @@ module Aws::SQS
186
237
  # @option options [Boolean] :endpoint_discovery (false)
187
238
  # When set to `true`, endpoint discovery will be enabled for operations when available.
188
239
  #
240
+ # @option options [Boolean] :ignore_configured_endpoint_urls
241
+ # Setting to true disables use of endpoint URLs provided via environment
242
+ # variables and the shared configuration file.
243
+ #
189
244
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
190
245
  # The log formatter.
191
246
  #
@@ -206,6 +261,11 @@ module Aws::SQS
206
261
  # Used when loading credentials from the shared credentials file
207
262
  # at HOME/.aws/credentials. When not specified, 'default' is used.
208
263
  #
264
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
265
+ # The minimum size in bytes that triggers compression for request
266
+ # bodies. The value must be non-negative integer value between 0
267
+ # and 10485780 bytes inclusive.
268
+ #
209
269
  # @option options [Proc] :retry_backoff
210
270
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
211
271
  # This option is only used in the `legacy` retry mode.
@@ -250,11 +310,32 @@ module Aws::SQS
250
310
  # throttling. This is a provisional mode that may change behavior
251
311
  # in the future.
252
312
  #
313
+ # @option options [String] :sdk_ua_app_id
314
+ # A unique and opaque application ID that is appended to the
315
+ # User-Agent header as app/sdk_ua_app_id. It should have a
316
+ # maximum length of 50. This variable is sourced from environment
317
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
253
318
  #
254
319
  # @option options [String] :secret_access_key
255
320
  #
256
321
  # @option options [String] :session_token
257
322
  #
323
+ # @option options [Array] :sigv4a_signing_region_set
324
+ # A list of regions that should be signed with SigV4a signing. When
325
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
326
+ # in the following locations:
327
+ #
328
+ # * `Aws.config[:sigv4a_signing_region_set]`
329
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
330
+ # * `~/.aws/config`
331
+ #
332
+ # @option options [Boolean] :simple_json (false)
333
+ # Disables request parameter conversion, validation, and formatting.
334
+ # Also disables response data type conversions. The request parameters
335
+ # hash must be formatted exactly as the API expects.This option is useful
336
+ # when you want to ensure the highest level of performance by avoiding
337
+ # overhead of walking request parameters and response data structures.
338
+ #
258
339
  # @option options [Boolean] :stub_responses (false)
259
340
  # Causes the client to return stubbed responses. By default
260
341
  # fake responses are generated and returned. You can specify
@@ -264,6 +345,38 @@ module Aws::SQS
264
345
  # ** Please note ** When response stubbing is enabled, no HTTP
265
346
  # requests are made, and retries are disabled.
266
347
  #
348
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
349
+ # Allows you to provide a telemetry provider, which is used to
350
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
351
+ # will not record or emit any telemetry data. The SDK supports the
352
+ # following telemetry providers:
353
+ #
354
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
355
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
356
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
357
+ #
358
+ # @option options [Aws::TokenProvider] :token_provider
359
+ # A Bearer Token Provider. This can be an instance of any one of the
360
+ # following classes:
361
+ #
362
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
363
+ # tokens.
364
+ #
365
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
366
+ # access token generated from `aws login`.
367
+ #
368
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
369
+ # will be used to search for tokens configured for your profile in shared configuration files.
370
+ #
371
+ # @option options [Boolean] :use_dualstack_endpoint
372
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
373
+ # will be used if available.
374
+ #
375
+ # @option options [Boolean] :use_fips_endpoint
376
+ # When set to `true`, fips compatible endpoints will be used if available.
377
+ # When a `fips` region is used, the region is normalized and this config
378
+ # is set to `true`.
379
+ #
267
380
  # @option options [Boolean] :validate_params (true)
268
381
  # When `true`, request parameters are validated before
269
382
  # sending the request.
@@ -274,47 +387,76 @@ module Aws::SQS
274
387
  # `Aws::Errors::Checksum` errors are raised for cases where checksums do
275
388
  # not match.
276
389
  #
277
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
278
- # requests through. Formatted like 'http://proxy.com:123'.
279
- #
280
- # @option options [Float] :http_open_timeout (15) The number of
281
- # seconds to wait when opening a HTTP session before raising a
282
- # `Timeout::Error`.
283
- #
284
- # @option options [Integer] :http_read_timeout (60) The default
285
- # number of seconds to wait for response data. This value can
286
- # safely be set per-request on the session.
287
- #
288
- # @option options [Float] :http_idle_timeout (5) The number of
289
- # seconds a connection is allowed to sit idle before it is
290
- # considered stale. Stale connections are closed and removed
291
- # from the pool before making a request.
390
+ # @option options [Aws::SQS::EndpointProvider] :endpoint_provider
391
+ # The endpoint provider used to resolve endpoints. Any object that responds to
392
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
393
+ # `Aws::SQS::EndpointParameters`.
394
+ #
395
+ # @option options [Float] :http_continue_timeout (1)
396
+ # The number of seconds to wait for a 100-continue response before sending the
397
+ # request body. This option has no effect unless the request has "Expect"
398
+ # header set to "100-continue". Defaults to `nil` which disables this
399
+ # behaviour. This value can safely be set per request on the session.
400
+ #
401
+ # @option options [Float] :http_idle_timeout (5)
402
+ # The number of seconds a connection is allowed to sit idle before it
403
+ # is considered stale. Stale connections are closed and removed from the
404
+ # pool before making a request.
405
+ #
406
+ # @option options [Float] :http_open_timeout (15)
407
+ # The default number of seconds to wait for response data.
408
+ # This value can safely be set per-request on the session.
409
+ #
410
+ # @option options [URI::HTTP,String] :http_proxy
411
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
412
+ #
413
+ # @option options [Float] :http_read_timeout (60)
414
+ # The default number of seconds to wait for response data.
415
+ # This value can safely be set per-request on the session.
416
+ #
417
+ # @option options [Boolean] :http_wire_trace (false)
418
+ # When `true`, HTTP debug output will be sent to the `:logger`.
419
+ #
420
+ # @option options [Proc] :on_chunk_received
421
+ # When a Proc object is provided, it will be used as callback when each chunk
422
+ # of the response body is received. It provides three arguments: the chunk,
423
+ # the number of bytes received, and the total number of
424
+ # bytes in the response (or nil if the server did not send a `content-length`).
425
+ #
426
+ # @option options [Proc] :on_chunk_sent
427
+ # When a Proc object is provided, it will be used as callback when each chunk
428
+ # of the request body is sent. It provides three arguments: the chunk,
429
+ # the number of bytes read from the body, and the total number of
430
+ # bytes in the body.
431
+ #
432
+ # @option options [Boolean] :raise_response_errors (true)
433
+ # When `true`, response errors are raised.
434
+ #
435
+ # @option options [String] :ssl_ca_bundle
436
+ # Full path to the SSL certificate authority bundle file that should be used when
437
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
438
+ # `:ssl_ca_directory` the the system default will be used if available.
439
+ #
440
+ # @option options [String] :ssl_ca_directory
441
+ # Full path of the directory that contains the unbundled SSL certificate
442
+ # authority files for verifying peer certificates. If you do
443
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
444
+ # default will be used if available.
292
445
  #
293
- # @option options [Float] :http_continue_timeout (1) The number of
294
- # seconds to wait for a 100-continue response before sending the
295
- # request body. This option has no effect unless the request has
296
- # "Expect" header set to "100-continue". Defaults to `nil` which
297
- # disables this behaviour. This value can safely be set per
298
- # request on the session.
446
+ # @option options [String] :ssl_ca_store
447
+ # Sets the X509::Store to verify peer certificate.
299
448
  #
300
- # @option options [Boolean] :http_wire_trace (false) When `true`,
301
- # HTTP debug output will be sent to the `:logger`.
449
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
450
+ # Sets a client certificate when creating http connections.
302
451
  #
303
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
304
- # SSL peer certificates are verified when establishing a
305
- # connection.
452
+ # @option options [OpenSSL::PKey] :ssl_key
453
+ # Sets a client key when creating http connections.
306
454
  #
307
- # @option options [String] :ssl_ca_bundle Full path to the SSL
308
- # certificate authority bundle file that should be used when
309
- # verifying peer certificates. If you do not pass
310
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
311
- # will be used if available.
455
+ # @option options [Float] :ssl_timeout
456
+ # Sets the SSL timeout in seconds
312
457
  #
313
- # @option options [String] :ssl_ca_directory Full path of the
314
- # directory that contains the unbundled SSL certificate
315
- # authority files for verifying peer certificates. If you do
316
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
317
- # system default will be used if available.
458
+ # @option options [Boolean] :ssl_verify_peer (true)
459
+ # When `true`, SSL peer certificates are verified when establishing a connection.
318
460
  #
319
461
  def initialize(*args)
320
462
  super
@@ -328,33 +470,29 @@ module Aws::SQS
328
470
  # When you create a queue, you have full control access rights for the
329
471
  # queue. Only you, the owner of the queue, can grant or deny permissions
330
472
  # to the queue. For more information about these permissions, see [Allow
331
- # Developers to Write Messages to a Shared Queue][2] in the *Amazon
332
- # Simple Queue Service Developer Guide*.
473
+ # Developers to Write Messages to a Shared Queue][2] in the *Amazon SQS
474
+ # Developer Guide*.
333
475
  #
334
476
  # <note markdown="1"> * `AddPermission` generates a policy for you. You can use `
335
477
  # SetQueueAttributes ` to upload your policy. For more information,
336
478
  # see [Using Custom Policies with the Amazon SQS Access Policy
337
- # Language][3] in the *Amazon Simple Queue Service Developer Guide*.
479
+ # Language][3] in the *Amazon SQS Developer Guide*.
338
480
  #
339
- # * An Amazon SQS policy can have a maximum of 7 actions.
481
+ # * An Amazon SQS policy can have a maximum of seven actions per
482
+ # statement.
340
483
  #
341
484
  # * To remove the ability to change queue permissions, you must deny
342
485
  # permission to the `AddPermission`, `RemovePermission`, and
343
486
  # `SetQueueAttributes` actions in your IAM policy.
344
487
  #
345
- # </note>
346
- #
347
- # Some actions take lists of parameters. These lists are specified using
348
- # the `param.n` notation. Values of `n` are integers starting from 1.
349
- # For example, a parameter list with two elements looks like this:
350
- #
351
- # `&AttributeName.1=first`
488
+ # * Amazon SQS `AddPermission` does not support adding a non-account
489
+ # principal.
352
490
  #
353
- # `&AttributeName.2=second`
491
+ # </note>
354
492
  #
355
493
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
356
- # information, see [Grant Cross-Account Permissions to a Role and a User
357
- # Name][4] in the *Amazon Simple Queue Service Developer Guide*.
494
+ # information, see [Grant cross-account permissions to a role and a
495
+ # username][4] in the *Amazon SQS Developer Guide*.
358
496
  #
359
497
  # </note>
360
498
  #
@@ -377,11 +515,10 @@ module Aws::SQS
377
515
  # underscores (`_`).
378
516
  #
379
517
  # @option params [required, Array<String>] :aws_account_ids
380
- # The AWS account number of the [principal][1] who is given permission.
381
- # The principal must have an AWS account, but does not need to be signed
382
- # up for Amazon SQS. For information about locating the AWS account
383
- # identification, see [Your AWS Identifiers][2] in the *Amazon Simple
384
- # Queue Service Developer Guide*.
518
+ # The Amazon Web Services account numbers of the [principals][1] who are
519
+ # to receive permission. For information about locating the Amazon Web
520
+ # Services account identification, see [Your Amazon Web Services
521
+ # Identifiers][2] in the *Amazon SQS Developer Guide*.
385
522
  #
386
523
  #
387
524
  #
@@ -394,7 +531,7 @@ module Aws::SQS
394
531
  #
395
532
  # For more information about these actions, see [Overview of Managing
396
533
  # Access Permissions to Your Amazon Simple Queue Service Resource][1] in
397
- # the *Amazon Simple Queue Service Developer Guide*.
534
+ # the *Amazon SQS Developer Guide*.
398
535
  #
399
536
  # Specifying `SendMessage`, `DeleteMessage`, or
400
537
  # `ChangeMessageVisibility` for `ActionName.n` also grants permissions
@@ -426,18 +563,66 @@ module Aws::SQS
426
563
  req.send_request(options)
427
564
  end
428
565
 
566
+ # Cancels a specified message movement task. A message movement can only
567
+ # be cancelled when the current status is RUNNING. Cancelling a message
568
+ # movement task does not revert the messages that have already been
569
+ # moved. It can only stop the messages that have not been moved yet.
570
+ #
571
+ # <note markdown="1"> * This action is currently limited to supporting message redrive from
572
+ # [dead-letter queues (DLQs)][1] only. In this context, the source
573
+ # queue is the dead-letter queue (DLQ), while the destination queue
574
+ # can be the original source queue (from which the messages were
575
+ # driven to the dead-letter-queue), or a custom destination queue.
576
+ #
577
+ # * Only one active message movement task is supported per queue at any
578
+ # given time.
579
+ #
580
+ # </note>
581
+ #
582
+ #
583
+ #
584
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
585
+ #
586
+ # @option params [required, String] :task_handle
587
+ # An identifier associated with a message movement task.
588
+ #
589
+ # @return [Types::CancelMessageMoveTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
590
+ #
591
+ # * {Types::CancelMessageMoveTaskResult#approximate_number_of_messages_moved #approximate_number_of_messages_moved} => Integer
592
+ #
593
+ # @example Request syntax with placeholder values
594
+ #
595
+ # resp = client.cancel_message_move_task({
596
+ # task_handle: "String", # required
597
+ # })
598
+ #
599
+ # @example Response structure
600
+ #
601
+ # resp.approximate_number_of_messages_moved #=> Integer
602
+ #
603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/CancelMessageMoveTask AWS API Documentation
604
+ #
605
+ # @overload cancel_message_move_task(params = {})
606
+ # @param [Hash] params ({})
607
+ def cancel_message_move_task(params = {}, options = {})
608
+ req = build_request(:cancel_message_move_task, params)
609
+ req.send_request(options)
610
+ end
611
+
429
612
  # Changes the visibility timeout of a specified message in a queue to a
430
613
  # new value. The default visibility timeout for a message is 30 seconds.
431
614
  # The minimum is 0 seconds. The maximum is 12 hours. For more
432
- # information, see [Visibility Timeout][1] in the *Amazon Simple Queue
433
- # Service Developer Guide*.
434
- #
435
- # For example, you have a message with a visibility timeout of 5
436
- # minutes. After 3 minutes, you call `ChangeMessageVisibility` with a
437
- # timeout of 10 minutes. You can continue to call
438
- # `ChangeMessageVisibility` to extend the visibility timeout to the
439
- # maximum allowed time. If you try to extend the visibility timeout
440
- # beyond the maximum, your request is rejected.
615
+ # information, see [Visibility Timeout][1] in the *Amazon SQS Developer
616
+ # Guide*.
617
+ #
618
+ # For example, if the default timeout for a queue is 60 seconds, 15
619
+ # seconds have elapsed since you received the message, and you send a
620
+ # ChangeMessageVisibility call with `VisibilityTimeout` set to 10
621
+ # seconds, the 10 seconds begin to count from the time that you make the
622
+ # `ChangeMessageVisibility` call. Thus, any attempt to change the
623
+ # visibility timeout or to delete that message 10 seconds after you
624
+ # initially change the visibility timeout (a total of 25 seconds) might
625
+ # result in an error.
441
626
  #
442
627
  # An Amazon SQS message has three basic states:
443
628
  #
@@ -453,13 +638,13 @@ module Aws::SQS
453
638
  # messages. A message is considered to be *in flight* after it is
454
639
  # received from a queue by a consumer, but not yet deleted from the
455
640
  # queue (that is, between states 2 and 3). There is a limit to the
456
- # number of inflight messages.
641
+ # number of in flight messages.
457
642
  #
458
- # Limits that apply to inflight messages are unrelated to the
643
+ # Limits that apply to in flight messages are unrelated to the
459
644
  # *unlimited* number of stored messages.
460
645
  #
461
646
  # For most standard queues (depending on queue traffic and message
462
- # backlog), there can be a maximum of approximately 120,000 inflight
647
+ # backlog), there can be a maximum of approximately 120,000 in flight
463
648
  # messages (received from a queue by a consumer, but not yet deleted
464
649
  # from the queue). If you reach this limit, Amazon SQS returns the
465
650
  # `OverLimit` error message. To avoid reaching the limit, you should
@@ -467,7 +652,7 @@ module Aws::SQS
467
652
  # increase the number of queues you use to process your messages. To
468
653
  # request a limit increase, [file a support request][2].
469
654
  #
470
- # For FIFO queues, there can be a maximum of 20,000 inflight messages
655
+ # For FIFO queues, there can be a maximum of 20,000 in flight messages
471
656
  # (received from a queue by a consumer, but not yet deleted from the
472
657
  # queue). If you reach this limit, Amazon SQS returns no error messages.
473
658
  #
@@ -496,13 +681,13 @@ module Aws::SQS
496
681
  # Queue URLs and names are case-sensitive.
497
682
  #
498
683
  # @option params [required, String] :receipt_handle
499
- # The receipt handle associated with the message whose visibility
684
+ # The receipt handle associated with the message, whose visibility
500
685
  # timeout is changed. This parameter is returned by the ` ReceiveMessage
501
686
  # ` action.
502
687
  #
503
688
  # @option params [required, Integer] :visibility_timeout
504
689
  # The new value for the message's visibility timeout (in seconds).
505
- # Values values: `0` to `43200`. Maximum: 12 hours.
690
+ # Values range: `0` to `43200`. Maximum: 12 hours.
506
691
  #
507
692
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
508
693
  #
@@ -533,14 +718,6 @@ module Aws::SQS
533
718
  # and unsuccessful actions, you should check for batch errors even when
534
719
  # the call returns an HTTP status code of `200`.
535
720
  #
536
- # Some actions take lists of parameters. These lists are specified using
537
- # the `param.n` notation. Values of `n` are integers starting from 1.
538
- # For example, a parameter list with two elements looks like this:
539
- #
540
- # `&AttributeName.1=first`
541
- #
542
- # `&AttributeName.2=second`
543
- #
544
721
  # @option params [required, String] :queue_url
545
722
  # The URL of the Amazon SQS queue whose messages' visibility is
546
723
  # changed.
@@ -548,7 +725,7 @@ module Aws::SQS
548
725
  # Queue URLs and names are case-sensitive.
549
726
  #
550
727
  # @option params [required, Array<Types::ChangeMessageVisibilityBatchRequestEntry>] :entries
551
- # A list of receipt handles of the messages for which the visibility
728
+ # Lists the receipt handles of the messages for which the visibility
552
729
  # timeout must be changed.
553
730
  #
554
731
  # @return [Types::ChangeMessageVisibilityBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -599,7 +776,7 @@ module Aws::SQS
599
776
  # either create a new FIFO queue for your application or delete your
600
777
  # existing standard queue and recreate it as a FIFO queue. For more
601
778
  # information, see [Moving From a Standard Queue to a FIFO Queue][1]
602
- # in the *Amazon Simple Queue Service Developer Guide*.
779
+ # in the *Amazon SQS Developer Guide*.
603
780
  #
604
781
  # </note>
605
782
  #
@@ -629,17 +806,9 @@ module Aws::SQS
629
806
  # * If the queue name, attribute names, or attribute values don't match
630
807
  # an existing queue, `CreateQueue` returns an error.
631
808
  #
632
- # Some actions take lists of parameters. These lists are specified using
633
- # the `param.n` notation. Values of `n` are integers starting from 1.
634
- # For example, a parameter list with two elements looks like this:
635
- #
636
- # `&AttributeName.1=first`
637
- #
638
- # `&AttributeName.2=second`
639
- #
640
809
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
641
- # information, see [Grant Cross-Account Permissions to a Role and a User
642
- # Name][3] in the *Amazon Simple Queue Service Developer Guide*.
810
+ # information, see [Grant cross-account permissions to a role and a
811
+ # username][3] in the *Amazon SQS Developer Guide*.
643
812
  #
644
813
  # </note>
645
814
  #
@@ -679,80 +848,116 @@ module Aws::SQS
679
848
  # * `MessageRetentionPeriod` – The length of time, in seconds, for which
680
849
  # Amazon SQS retains a message. Valid values: An integer from 60
681
850
  # seconds (1 minute) to 1,209,600 seconds (14 days). Default: 345,600
682
- # (4 days).
683
- #
684
- # * `Policy` The queue's policy. A valid AWS policy. For more
685
- # information about policy structure, see [Overview of AWS IAM
686
- # Policies][1] in the *Amazon IAM User Guide*.
851
+ # (4 days). When you change a queue's attributes, the change can take
852
+ # up to 60 seconds for most of the attributes to propagate throughout
853
+ # the Amazon SQS system. Changes made to the `MessageRetentionPeriod`
854
+ # attribute can take up to 15 minutes and will impact existing
855
+ # messages in the queue potentially causing them to be expired and
856
+ # deleted if the `MessageRetentionPeriod` is reduced below the age of
857
+ # existing messages.
858
+ #
859
+ # * `Policy` – The queue's policy. A valid Amazon Web Services policy.
860
+ # For more information about policy structure, see [Overview of Amazon
861
+ # Web Services IAM Policies][1] in the *IAM User Guide*.
687
862
  #
688
863
  # * `ReceiveMessageWaitTimeSeconds` – The length of time, in seconds,
689
864
  # for which a ` ReceiveMessage ` action waits for a message to arrive.
690
865
  # Valid values: An integer from 0 to 20 (seconds). Default: 0.
691
866
  #
867
+ # * `VisibilityTimeout` – The visibility timeout for the queue, in
868
+ # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
869
+ # Default: 30. For more information about the visibility timeout, see
870
+ # [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
871
+ #
872
+ # The following attributes apply only to [dead-letter queues:][3]
873
+ #
692
874
  # * `RedrivePolicy` – The string that includes the parameters for the
693
875
  # dead-letter queue functionality of the source queue as a JSON
694
- # object. For more information about the redrive policy and
695
- # dead-letter queues, see [Using Amazon SQS Dead-Letter Queues][2] in
696
- # the *Amazon Simple Queue Service Developer Guide*.
876
+ # object. The parameters are as follows:
697
877
  #
698
878
  # * `deadLetterTargetArn` – The Amazon Resource Name (ARN) of the
699
879
  # dead-letter queue to which Amazon SQS moves messages after the
700
880
  # value of `maxReceiveCount` is exceeded.
701
881
  #
702
882
  # * `maxReceiveCount` – The number of times a message is delivered to
703
- # the source queue before being moved to the dead-letter queue. When
704
- # the `ReceiveCount` for a message exceeds the `maxReceiveCount` for
705
- # a queue, Amazon SQS moves the message to the dead-letter-queue.
883
+ # the source queue before being moved to the dead-letter queue.
884
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
885
+ # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
886
+ # dead-letter-queue.
887
+ # * `RedriveAllowPolicy` – The string that includes the parameters for
888
+ # the permissions for the dead-letter queue redrive permission and
889
+ # which source queues can specify dead-letter queues as a JSON object.
890
+ # The parameters are as follows:
891
+ #
892
+ # * `redrivePermission` – The permission type that defines which
893
+ # source queues can specify the current queue as the dead-letter
894
+ # queue. Valid values are:
895
+ #
896
+ # * `allowAll` – (Default) Any source queues in this Amazon Web
897
+ # Services account in the same Region can specify this queue as
898
+ # the dead-letter queue.
899
+ #
900
+ # * `denyAll` – No source queues can specify this queue as the
901
+ # dead-letter queue.
902
+ #
903
+ # * `byQueue` – Only queues specified by the `sourceQueueArns`
904
+ # parameter can specify this queue as the dead-letter queue.
905
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
906
+ # queues that can specify this queue as the dead-letter queue and
907
+ # redrive messages. You can specify this parameter only when the
908
+ # `redrivePermission` parameter is set to `byQueue`. You can specify
909
+ # up to 10 source queue ARNs. To allow more than 10 source queues to
910
+ # specify dead-letter queues, set the `redrivePermission` parameter
911
+ # to `allowAll`.
912
+ #
913
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
914
+ # Similarly, the dead-letter queue of a standard queue must also be a
915
+ # standard queue.
706
916
  #
707
- # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
708
- # Similarly, the dead-letter queue of a standard queue must also be a
709
- # standard queue.
710
- #
711
- # </note>
712
- #
713
- # * `VisibilityTimeout` – The visibility timeout for the queue, in
714
- # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
715
- # Default: 30. For more information about the visibility timeout, see
716
- # [Visibility Timeout][3] in the *Amazon Simple Queue Service
717
- # Developer Guide*.
917
+ # </note>
718
918
  #
719
- # The following attributes apply only to [server-side-encryption][4]\:
919
+ # The following attributes apply only to [server-side-encryption][4]:
720
920
  #
721
- # * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
722
- # (CMK) for Amazon SQS or a custom CMK. For more information, see [Key
723
- # Terms][5]. While the alias of the AWS-managed CMK for Amazon SQS is
724
- # always `alias/aws/sqs`, the alias of a custom CMK can, for example,
725
- # be `alias/MyAlias `. For more examples, see [KeyId][6] in the *AWS
726
- # Key Management Service API Reference*.
921
+ # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
922
+ # master key (CMK) for Amazon SQS or a custom CMK. For more
923
+ # information, see [Key Terms][5]. While the alias of the Amazon Web
924
+ # Services managed CMK for Amazon SQS is always `alias/aws/sqs`, the
925
+ # alias of a custom CMK can, for example, be `alias/MyAlias `. For
926
+ # more examples, see [KeyId][6] in the *Key Management Service API
927
+ # Reference*.
727
928
  #
728
929
  # * `KmsDataKeyReusePeriodSeconds` – The length of time, in seconds, for
729
930
  # which Amazon SQS can reuse a [data key][7] to encrypt or decrypt
730
- # messages before calling AWS KMS again. An integer representing
731
- # seconds, between 60 seconds (1 minute) and 86,400 seconds (24
732
- # hours). Default: 300 (5 minutes). A shorter time period provides
733
- # better security but results in more calls to KMS which might incur
734
- # charges after Free Tier. For more information, see [How Does the
735
- # Data Key Reuse Period Work?][8].
931
+ # messages before calling KMS again. An integer representing seconds,
932
+ # between 60 seconds (1 minute) and 86,400 seconds (24 hours).
933
+ # Default: 300 (5 minutes). A shorter time period provides better
934
+ # security but results in more calls to KMS which might incur charges
935
+ # after Free Tier. For more information, see [How Does the Data Key
936
+ # Reuse Period Work?][8]
937
+ #
938
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
939
+ # SQS owned encryption keys. Only one server-side encryption option is
940
+ # supported per queue (for example, [SSE-KMS][9] or [SSE-SQS][10]).
736
941
  #
737
942
  # The following attributes apply only to [FIFO (first-in-first-out)
738
- # queues][9]\:
943
+ # queues][11]:
739
944
  #
740
- # * `FifoQueue` – Designates a queue as FIFO. Valid values: `true`,
741
- # `false`. If you don't specify the `FifoQueue` attribute, Amazon SQS
742
- # creates a standard queue. You can provide this attribute only during
743
- # queue creation. You can't change it for an existing queue. When you
744
- # set this attribute, you must also provide the `MessageGroupId` for
745
- # your messages explicitly.
945
+ # * `FifoQueue` – Designates a queue as FIFO. Valid values are `true`
946
+ # and `false`. If you don't specify the `FifoQueue` attribute, Amazon
947
+ # SQS creates a standard queue. You can provide this attribute only
948
+ # during queue creation. You can't change it for an existing queue.
949
+ # When you set this attribute, you must also provide the
950
+ # `MessageGroupId` for your messages explicitly.
746
951
  #
747
- # For more information, see [FIFO Queue Logic][10] in the *Amazon
748
- # Simple Queue Service Developer Guide*.
952
+ # For more information, see [FIFO queue logic][12] in the *Amazon SQS
953
+ # Developer Guide*.
749
954
  #
750
955
  # * `ContentBasedDeduplication` – Enables content-based deduplication.
751
- # Valid values: `true`, `false`. For more information, see
752
- # [Exactly-Once Processing][11] in the *Amazon Simple Queue Service
753
- # Developer Guide*.
956
+ # Valid values are `true` and `false`. For more information, see
957
+ # [Exactly-once processing][13] in the *Amazon SQS Developer Guide*.
958
+ # Note the following:
754
959
  #
755
- # * Every message must have a unique `MessageDeduplicationId`,
960
+ # * Every message must have a unique `MessageDeduplicationId`.
756
961
  #
757
962
  # * You may provide a `MessageDeduplicationId` explicitly.
758
963
  #
@@ -768,7 +973,6 @@ module Aws::SQS
768
973
  #
769
974
  # * If the queue has `ContentBasedDeduplication` set, your
770
975
  # `MessageDeduplicationId` overrides the generated one.
771
- #
772
976
  # * When `ContentBasedDeduplication` is in effect, messages with
773
977
  # identical content sent within the deduplication interval are
774
978
  # treated as duplicates and only one copy of the message is
@@ -780,24 +984,54 @@ module Aws::SQS
780
984
  # `MessageDeduplicationId`, the two messages are treated as
781
985
  # duplicates and only one copy of the message is delivered.
782
986
  #
987
+ # The following attributes apply only to [high throughput for FIFO
988
+ # queues][14]:
989
+ #
990
+ # * `DeduplicationScope` – Specifies whether message deduplication
991
+ # occurs at the message group or queue level. Valid values are
992
+ # `messageGroup` and `queue`.
993
+ #
994
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue throughput
995
+ # quota applies to the entire queue or per message group. Valid values
996
+ # are `perQueue` and `perMessageGroupId`. The `perMessageGroupId`
997
+ # value is allowed only when the value for `DeduplicationScope` is
998
+ # `messageGroup`.
999
+ #
1000
+ # To enable high throughput for FIFO queues, do the following:
1001
+ #
1002
+ # * Set `DeduplicationScope` to `messageGroup`.
1003
+ #
1004
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
1005
+ #
1006
+ # If you set these attributes to anything other than the values shown
1007
+ # for enabling high throughput, normal throughput is in effect and
1008
+ # deduplication occurs as specified.
1009
+ #
1010
+ # For information on throughput quotas, see [Quotas related to
1011
+ # messages][15] in the *Amazon SQS Developer Guide*.
1012
+ #
783
1013
  #
784
1014
  #
785
1015
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
786
- # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
787
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1016
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1017
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
788
1018
  # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
789
1019
  # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
790
1020
  # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
791
1021
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
792
1022
  # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
793
- # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
794
- # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
795
- # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1023
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1024
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1025
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1026
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html
1027
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
1028
+ # [14]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
1029
+ # [15]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
796
1030
  #
797
1031
  # @option params [Hash<String,String>] :tags
798
1032
  # Add cost allocation tags to the specified Amazon SQS queue. For an
799
- # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon
800
- # Simple Queue Service Developer Guide*.
1033
+ # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon SQS
1034
+ # Developer Guide*.
801
1035
  #
802
1036
  # When you use queue tags, keep the following guidelines in mind:
803
1037
  #
@@ -811,15 +1045,15 @@ module Aws::SQS
811
1045
  # * A new tag with a key identical to that of an existing tag overwrites
812
1046
  # the existing tag.
813
1047
  #
814
- # For a full list of tag restrictions, see [Limits Related to Queues][2]
815
- # in the *Amazon Simple Queue Service Developer Guide*.
1048
+ # For a full list of tag restrictions, see [Quotas related to queues][2]
1049
+ # in the *Amazon SQS Developer Guide*.
816
1050
  #
817
1051
  # <note markdown="1"> To be able to tag a queue on creation, you must have the
818
1052
  # `sqs:CreateQueue` and `sqs:TagQueue` permissions.
819
1053
  #
820
1054
  # Cross-account permissions don't apply to this action. For more
821
- # information, see [Grant Cross-Account Permissions to a Role and a User
822
- # Name][3] in the *Amazon Simple Queue Service Developer Guide*.
1055
+ # information, see [Grant cross-account permissions to a role and a
1056
+ # username][3] in the *Amazon SQS Developer Guide*.
823
1057
  #
824
1058
  # </note>
825
1059
  #
@@ -871,7 +1105,7 @@ module Aws::SQS
871
1105
  # `ReceiptHandle` is different each time you receive a message. When you
872
1106
  # use the `DeleteMessage` action, you must provide the most recently
873
1107
  # received `ReceiptHandle` for the message (otherwise, the request
874
- # succeeds, but the message might not be deleted).
1108
+ # succeeds, but the message will not be deleted).
875
1109
  #
876
1110
  # For standard queues, it is possible to receive a message even after
877
1111
  # you delete it. This might happen on rare occasions if one of the
@@ -917,21 +1151,13 @@ module Aws::SQS
917
1151
  # and unsuccessful actions, you should check for batch errors even when
918
1152
  # the call returns an HTTP status code of `200`.
919
1153
  #
920
- # Some actions take lists of parameters. These lists are specified using
921
- # the `param.n` notation. Values of `n` are integers starting from 1.
922
- # For example, a parameter list with two elements looks like this:
923
- #
924
- # `&AttributeName.1=first`
925
- #
926
- # `&AttributeName.2=second`
927
- #
928
1154
  # @option params [required, String] :queue_url
929
1155
  # The URL of the Amazon SQS queue from which messages are deleted.
930
1156
  #
931
1157
  # Queue URLs and names are case-sensitive.
932
1158
  #
933
1159
  # @option params [required, Array<Types::DeleteMessageBatchRequestEntry>] :entries
934
- # A list of receipt handles for the messages to be deleted.
1160
+ # Lists the receipt handles for the messages to be deleted.
935
1161
  #
936
1162
  # @return [Types::DeleteMessageBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
937
1163
  #
@@ -984,8 +1210,10 @@ module Aws::SQS
984
1210
  # creating a queue with the same name.
985
1211
  #
986
1212
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
987
- # information, see [Grant Cross-Account Permissions to a Role and a User
988
- # Name][1] in the *Amazon Simple Queue Service Developer Guide*.
1213
+ # information, see [Grant cross-account permissions to a role and a
1214
+ # username][1] in the *Amazon SQS Developer Guide*.
1215
+ #
1216
+ # The delete operation uses the HTTP `GET` verb.
989
1217
  #
990
1218
  # </note>
991
1219
  #
@@ -1035,6 +1263,9 @@ module Aws::SQS
1035
1263
  # @option params [Array<String>] :attribute_names
1036
1264
  # A list of attributes for which to retrieve information.
1037
1265
  #
1266
+ # The `AttributeNames` parameter is optional, but if you don't specify
1267
+ # values for this parameter, the request returns empty results.
1268
+ #
1038
1269
  # <note markdown="1"> In the future, new attributes might be added. If you write code that
1039
1270
  # calls this action, we recommend that you structure your code so that
1040
1271
  # it can handle new attributes gracefully.
@@ -1045,10 +1276,10 @@ module Aws::SQS
1045
1276
  #
1046
1277
  # The `ApproximateNumberOfMessagesDelayed`,
1047
1278
  # `ApproximateNumberOfMessagesNotVisible`, and
1048
- # `ApproximateNumberOfMessagesVisible` metrics may not achieve
1049
- # consistency until at least 1 minute after the producers stop sending
1050
- # messages. This period is required for the queue metadata to reach
1051
- # eventual consistency.
1279
+ # `ApproximateNumberOfMessages` metrics may not achieve consistency
1280
+ # until at least 1 minute after the producers stop sending messages.
1281
+ # This period is required for the queue metadata to reach eventual
1282
+ # consistency.
1052
1283
  #
1053
1284
  # * `All` – Returns all values.
1054
1285
  #
@@ -1078,7 +1309,14 @@ module Aws::SQS
1078
1309
  # can contain before Amazon SQS rejects it.
1079
1310
  #
1080
1311
  # * `MessageRetentionPeriod` – Returns the length of time, in seconds,
1081
- # for which Amazon SQS retains a message.
1312
+ # for which Amazon SQS retains a message. When you change a queue's
1313
+ # attributes, the change can take up to 60 seconds for most of the
1314
+ # attributes to propagate throughout the Amazon SQS system. Changes
1315
+ # made to the `MessageRetentionPeriod` attribute can take up to 15
1316
+ # minutes and will impact existing messages in the queue potentially
1317
+ # causing them to be expired and deleted if the
1318
+ # `MessageRetentionPeriod` is reduced below the age of existing
1319
+ # messages.
1082
1320
  #
1083
1321
  # * `Policy` – Returns the policy of the queue.
1084
1322
  #
@@ -1088,64 +1326,130 @@ module Aws::SQS
1088
1326
  # seconds, for which the `ReceiveMessage` action waits for a message
1089
1327
  # to arrive.
1090
1328
  #
1329
+ # * `VisibilityTimeout` – Returns the visibility timeout for the queue.
1330
+ # For more information about the visibility timeout, see [Visibility
1331
+ # Timeout][2] in the *Amazon SQS Developer Guide*.
1332
+ #
1333
+ # The following attributes apply only to [dead-letter queues:][3]
1334
+ #
1091
1335
  # * `RedrivePolicy` – The string that includes the parameters for the
1092
1336
  # dead-letter queue functionality of the source queue as a JSON
1093
- # object. For more information about the redrive policy and
1094
- # dead-letter queues, see [Using Amazon SQS Dead-Letter Queues][2] in
1095
- # the *Amazon Simple Queue Service Developer Guide*.
1337
+ # object. The parameters are as follows:
1096
1338
  #
1097
1339
  # * `deadLetterTargetArn` – The Amazon Resource Name (ARN) of the
1098
1340
  # dead-letter queue to which Amazon SQS moves messages after the
1099
1341
  # value of `maxReceiveCount` is exceeded.
1100
1342
  #
1101
1343
  # * `maxReceiveCount` – The number of times a message is delivered to
1102
- # the source queue before being moved to the dead-letter queue. When
1103
- # the `ReceiveCount` for a message exceeds the `maxReceiveCount` for
1104
- # a queue, Amazon SQS moves the message to the dead-letter-queue.
1344
+ # the source queue before being moved to the dead-letter queue.
1345
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
1346
+ # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
1347
+ # dead-letter-queue.
1348
+ # * `RedriveAllowPolicy` – The string that includes the parameters for
1349
+ # the permissions for the dead-letter queue redrive permission and
1350
+ # which source queues can specify dead-letter queues as a JSON object.
1351
+ # The parameters are as follows:
1352
+ #
1353
+ # * `redrivePermission` – The permission type that defines which
1354
+ # source queues can specify the current queue as the dead-letter
1355
+ # queue. Valid values are:
1356
+ #
1357
+ # * `allowAll` – (Default) Any source queues in this Amazon Web
1358
+ # Services account in the same Region can specify this queue as
1359
+ # the dead-letter queue.
1360
+ #
1361
+ # * `denyAll` – No source queues can specify this queue as the
1362
+ # dead-letter queue.
1363
+ #
1364
+ # * `byQueue` – Only queues specified by the `sourceQueueArns`
1365
+ # parameter can specify this queue as the dead-letter queue.
1366
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
1367
+ # queues that can specify this queue as the dead-letter queue and
1368
+ # redrive messages. You can specify this parameter only when the
1369
+ # `redrivePermission` parameter is set to `byQueue`. You can specify
1370
+ # up to 10 source queue ARNs. To allow more than 10 source queues to
1371
+ # specify dead-letter queues, set the `redrivePermission` parameter
1372
+ # to `allowAll`.
1373
+ #
1374
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
1375
+ # Similarly, the dead-letter queue of a standard queue must also be a
1376
+ # standard queue.
1105
1377
  #
1106
- # * `VisibilityTimeout` – Returns the visibility timeout for the queue.
1107
- # For more information about the visibility timeout, see [Visibility
1108
- # Timeout][3] in the *Amazon Simple Queue Service Developer Guide*.
1378
+ # </note>
1109
1379
  #
1110
- # The following attributes apply only to [server-side-encryption][4]\:
1380
+ # The following attributes apply only to [server-side-encryption][4]:
1111
1381
  #
1112
- # * `KmsMasterKeyId` – Returns the ID of an AWS-managed customer master
1113
- # key (CMK) for Amazon SQS or a custom CMK. For more information, see
1114
- # [Key Terms][5].
1382
+ # * `KmsMasterKeyId` – Returns the ID of an Amazon Web Services managed
1383
+ # customer master key (CMK) for Amazon SQS or a custom CMK. For more
1384
+ # information, see [Key Terms][5].
1115
1385
  #
1116
1386
  # * `KmsDataKeyReusePeriodSeconds` – Returns the length of time, in
1117
1387
  # seconds, for which Amazon SQS can reuse a data key to encrypt or
1118
- # decrypt messages before calling AWS KMS again. For more information,
1119
- # see [How Does the Data Key Reuse Period Work?][6].
1388
+ # decrypt messages before calling KMS again. For more information, see
1389
+ # [How Does the Data Key Reuse Period Work?][6].
1390
+ #
1391
+ # * `SqsManagedSseEnabled` – Returns information about whether the queue
1392
+ # is using SSE-SQS encryption using SQS owned encryption keys. Only
1393
+ # one server-side encryption option is supported per queue (for
1394
+ # example, [SSE-KMS][7] or [SSE-SQS][8]).
1120
1395
  #
1121
1396
  # The following attributes apply only to [FIFO (first-in-first-out)
1122
- # queues][7]\:
1397
+ # queues][9]:
1123
1398
  #
1124
- # * `FifoQueue` – Returns whether the queue is FIFO. For more
1125
- # information, see [FIFO Queue Logic][8] in the *Amazon Simple Queue
1126
- # Service Developer Guide*.
1399
+ # * `FifoQueue` – Returns information about whether the queue is FIFO.
1400
+ # For more information, see [FIFO queue logic][10] in the *Amazon SQS
1401
+ # Developer Guide*.
1127
1402
  #
1128
- # <note markdown="1"> To determine whether a queue is [FIFO][7], you can check whether
1403
+ # <note markdown="1"> To determine whether a queue is [FIFO][9], you can check whether
1129
1404
  # `QueueName` ends with the `.fifo` suffix.
1130
1405
  #
1131
1406
  # </note>
1132
1407
  #
1133
1408
  # * `ContentBasedDeduplication` – Returns whether content-based
1134
1409
  # deduplication is enabled for the queue. For more information, see
1135
- # [Exactly-Once Processing][9] in the *Amazon Simple Queue Service
1136
- # Developer Guide*.
1410
+ # [Exactly-once processing][11] in the *Amazon SQS Developer Guide*.
1411
+ #
1412
+ # The following attributes apply only to [high throughput for FIFO
1413
+ # queues][12]:
1414
+ #
1415
+ # * `DeduplicationScope` – Specifies whether message deduplication
1416
+ # occurs at the message group or queue level. Valid values are
1417
+ # `messageGroup` and `queue`.
1418
+ #
1419
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue throughput
1420
+ # quota applies to the entire queue or per message group. Valid values
1421
+ # are `perQueue` and `perMessageGroupId`. The `perMessageGroupId`
1422
+ # value is allowed only when the value for `DeduplicationScope` is
1423
+ # `messageGroup`.
1424
+ #
1425
+ # To enable high throughput for FIFO queues, do the following:
1426
+ #
1427
+ # * Set `DeduplicationScope` to `messageGroup`.
1428
+ #
1429
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
1430
+ #
1431
+ # If you set these attributes to anything other than the values shown
1432
+ # for enabling high throughput, normal throughput is in effect and
1433
+ # deduplication occurs as specified.
1434
+ #
1435
+ # For information on throughput quotas, see [Quotas related to
1436
+ # messages][13] in the *Amazon SQS Developer Guide*.
1137
1437
  #
1138
1438
  #
1139
1439
  #
1140
1440
  # [1]: http://en.wikipedia.org/wiki/Unix_time
1141
- # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1142
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1441
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1442
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1143
1443
  # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
1144
1444
  # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
1145
1445
  # [6]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
1146
- # [7]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1147
- # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
1148
- # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1446
+ # [7]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1447
+ # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1448
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1449
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html
1450
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
1451
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
1452
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
1149
1453
  #
1150
1454
  # @return [Types::GetQueueAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1151
1455
  #
@@ -1155,7 +1459,7 @@ module Aws::SQS
1155
1459
  #
1156
1460
  # resp = client.get_queue_attributes({
1157
1461
  # queue_url: "String", # required
1158
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds
1462
+ # 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
1159
1463
  # })
1160
1464
  #
1161
1465
  # @example Response structure
@@ -1179,7 +1483,7 @@ module Aws::SQS
1179
1483
  # queue's owner. The queue's owner must grant you permission to access
1180
1484
  # the queue. For more information about shared queue access, see `
1181
1485
  # AddPermission ` or see [Allow Developers to Write Messages to a Shared
1182
- # Queue][1] in the *Amazon Simple Queue Service Developer Guide*.
1486
+ # Queue][1] in the *Amazon SQS Developer Guide*.
1183
1487
  #
1184
1488
  #
1185
1489
  #
@@ -1193,7 +1497,8 @@ module Aws::SQS
1193
1497
  # Queue URLs and names are case-sensitive.
1194
1498
  #
1195
1499
  # @option params [String] :queue_owner_aws_account_id
1196
- # The AWS account ID of the account that created the queue.
1500
+ # The Amazon Web Services account ID of the account that created the
1501
+ # queue.
1197
1502
  #
1198
1503
  # @return [Types::GetQueueUrlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1199
1504
  #
@@ -1222,9 +1527,17 @@ module Aws::SQS
1222
1527
  # Returns a list of your queues that have the `RedrivePolicy` queue
1223
1528
  # attribute configured with a dead-letter queue.
1224
1529
  #
1530
+ # The `ListDeadLetterSourceQueues` methods supports pagination. Set
1531
+ # parameter `MaxResults` in the request to specify the maximum number of
1532
+ # results to be returned in the response. If you do not set
1533
+ # `MaxResults`, the response includes a maximum of 1,000 results. If you
1534
+ # set `MaxResults` and there are additional results to display, the
1535
+ # response includes a value for `NextToken`. Use `NextToken` as a
1536
+ # parameter in your next request to `ListDeadLetterSourceQueues` to
1537
+ # receive the next page of results.
1538
+ #
1225
1539
  # For more information about using dead-letter queues, see [Using Amazon
1226
- # SQS Dead-Letter Queues][1] in the *Amazon Simple Queue Service
1227
- # Developer Guide*.
1540
+ # SQS Dead-Letter Queues][1] in the *Amazon SQS Developer Guide*.
1228
1541
  #
1229
1542
  #
1230
1543
  #
@@ -1239,7 +1552,9 @@ module Aws::SQS
1239
1552
  # Pagination token to request the next set of results.
1240
1553
  #
1241
1554
  # @option params [Integer] :max_results
1242
- # Maximum number of results to include in the response.
1555
+ # Maximum number of results to include in the response. Value range is 1
1556
+ # to 1000. You must set `MaxResults` to receive a value for `NextToken`
1557
+ # in the response.
1243
1558
  #
1244
1559
  # @return [Types::ListDeadLetterSourceQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1245
1560
  #
@@ -1271,13 +1586,72 @@ module Aws::SQS
1271
1586
  req.send_request(options)
1272
1587
  end
1273
1588
 
1589
+ # Gets the most recent message movement tasks (up to 10) under a
1590
+ # specific source queue.
1591
+ #
1592
+ # <note markdown="1"> * This action is currently limited to supporting message redrive from
1593
+ # [dead-letter queues (DLQs)][1] only. In this context, the source
1594
+ # queue is the dead-letter queue (DLQ), while the destination queue
1595
+ # can be the original source queue (from which the messages were
1596
+ # driven to the dead-letter-queue), or a custom destination queue.
1597
+ #
1598
+ # * Only one active message movement task is supported per queue at any
1599
+ # given time.
1600
+ #
1601
+ # </note>
1602
+ #
1603
+ #
1604
+ #
1605
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1606
+ #
1607
+ # @option params [required, String] :source_arn
1608
+ # The ARN of the queue whose message movement tasks are to be listed.
1609
+ #
1610
+ # @option params [Integer] :max_results
1611
+ # The maximum number of results to include in the response. The default
1612
+ # is 1, which provides the most recent message movement task. The upper
1613
+ # limit is 10.
1614
+ #
1615
+ # @return [Types::ListMessageMoveTasksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1616
+ #
1617
+ # * {Types::ListMessageMoveTasksResult#results #results} => Array&lt;Types::ListMessageMoveTasksResultEntry&gt;
1618
+ #
1619
+ # @example Request syntax with placeholder values
1620
+ #
1621
+ # resp = client.list_message_move_tasks({
1622
+ # source_arn: "String", # required
1623
+ # max_results: 1,
1624
+ # })
1625
+ #
1626
+ # @example Response structure
1627
+ #
1628
+ # resp.results #=> Array
1629
+ # resp.results[0].task_handle #=> String
1630
+ # resp.results[0].status #=> String
1631
+ # resp.results[0].source_arn #=> String
1632
+ # resp.results[0].destination_arn #=> String
1633
+ # resp.results[0].max_number_of_messages_per_second #=> Integer
1634
+ # resp.results[0].approximate_number_of_messages_moved #=> Integer
1635
+ # resp.results[0].approximate_number_of_messages_to_move #=> Integer
1636
+ # resp.results[0].failure_reason #=> String
1637
+ # resp.results[0].started_timestamp #=> Integer
1638
+ #
1639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListMessageMoveTasks AWS API Documentation
1640
+ #
1641
+ # @overload list_message_move_tasks(params = {})
1642
+ # @param [Hash] params ({})
1643
+ def list_message_move_tasks(params = {}, options = {})
1644
+ req = build_request(:list_message_move_tasks, params)
1645
+ req.send_request(options)
1646
+ end
1647
+
1274
1648
  # List all cost allocation tags added to the specified Amazon SQS queue.
1275
1649
  # For an overview, see [Tagging Your Amazon SQS Queues][1] in the
1276
- # *Amazon Simple Queue Service Developer Guide*.
1650
+ # *Amazon SQS Developer Guide*.
1277
1651
  #
1278
1652
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
1279
- # information, see [Grant Cross-Account Permissions to a Role and a User
1280
- # Name][2] in the *Amazon Simple Queue Service Developer Guide*.
1653
+ # information, see [Grant cross-account permissions to a role and a
1654
+ # username][2] in the *Amazon SQS Developer Guide*.
1281
1655
  #
1282
1656
  # </note>
1283
1657
  #
@@ -1313,14 +1687,22 @@ module Aws::SQS
1313
1687
  req.send_request(options)
1314
1688
  end
1315
1689
 
1316
- # Returns a list of your queues. The maximum number of queues that can
1317
- # be returned is 1,000. If you specify a value for the optional
1318
- # `QueueNamePrefix` parameter, only queues with a name that begins with
1319
- # the specified value are returned.
1690
+ # Returns a list of your queues in the current region. The response
1691
+ # includes a maximum of 1,000 results. If you specify a value for the
1692
+ # optional `QueueNamePrefix` parameter, only queues with a name that
1693
+ # begins with the specified value are returned.
1694
+ #
1695
+ # The `listQueues` methods supports pagination. Set parameter
1696
+ # `MaxResults` in the request to specify the maximum number of results
1697
+ # to be returned in the response. If you do not set `MaxResults`, the
1698
+ # response includes a maximum of 1,000 results. If you set `MaxResults`
1699
+ # and there are additional results to display, the response includes a
1700
+ # value for `NextToken`. Use `NextToken` as a parameter in your next
1701
+ # request to `listQueues` to receive the next page of results.
1320
1702
  #
1321
1703
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
1322
- # information, see [Grant Cross-Account Permissions to a Role and a User
1323
- # Name][1] in the *Amazon Simple Queue Service Developer Guide*.
1704
+ # information, see [Grant cross-account permissions to a role and a
1705
+ # username][1] in the *Amazon SQS Developer Guide*.
1324
1706
  #
1325
1707
  # </note>
1326
1708
  #
@@ -1338,7 +1720,9 @@ module Aws::SQS
1338
1720
  # Pagination token to request the next set of results.
1339
1721
  #
1340
1722
  # @option params [Integer] :max_results
1341
- # Maximum number of results to include in the response.
1723
+ # Maximum number of results to include in the response. Value range is 1
1724
+ # to 1000. You must set `MaxResults` to receive a value for `NextToken`
1725
+ # in the response.
1342
1726
  #
1343
1727
  # @return [Types::ListQueuesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1344
1728
  #
@@ -1370,7 +1754,8 @@ module Aws::SQS
1370
1754
  req.send_request(options)
1371
1755
  end
1372
1756
 
1373
- # Deletes the messages in a queue specified by the `QueueURL` parameter.
1757
+ # Deletes available messages in a queue (including in-flight messages)
1758
+ # specified by the `QueueURL` parameter.
1374
1759
  #
1375
1760
  # When you use the `PurgeQueue` action, you can't retrieve any messages
1376
1761
  # deleted from a queue.
@@ -1409,8 +1794,8 @@ module Aws::SQS
1409
1794
 
1410
1795
  # Retrieves one or more messages (up to 10), from the specified queue.
1411
1796
  # Using the `WaitTimeSeconds` parameter enables long-poll support. For
1412
- # more information, see [Amazon SQS Long Polling][1] in the *Amazon
1413
- # Simple Queue Service Developer Guide*.
1797
+ # more information, see [Amazon SQS Long Polling][1] in the *Amazon SQS
1798
+ # Developer Guide*.
1414
1799
  #
1415
1800
  # Short poll is the default behavior where a weighted random set of
1416
1801
  # machines is sampled on a `ReceiveMessage` call. Thus, only the
@@ -1438,14 +1823,14 @@ module Aws::SQS
1438
1823
  #
1439
1824
  # The receipt handle is the identifier you must provide when deleting
1440
1825
  # the message. For more information, see [Queue and Message
1441
- # Identifiers][3] in the *Amazon Simple Queue Service Developer Guide*.
1826
+ # Identifiers][3] in the *Amazon SQS Developer Guide*.
1442
1827
  #
1443
1828
  # You can provide the `VisibilityTimeout` parameter in your request. The
1444
1829
  # parameter is applied to the messages that Amazon SQS returns in the
1445
1830
  # response. If you don't include the parameter, the overall visibility
1446
1831
  # timeout for the queue is used for the returned messages. For more
1447
- # information, see [Visibility Timeout][4] in the *Amazon Simple Queue
1448
- # Service Developer Guide*.
1832
+ # information, see [Visibility Timeout][4] in the *Amazon SQS Developer
1833
+ # Guide*.
1449
1834
  #
1450
1835
  # A message that isn't deleted or a message whose visibility isn't
1451
1836
  # extended before the visibility timeout expires counts as a failed
@@ -1471,6 +1856,10 @@ module Aws::SQS
1471
1856
  # Queue URLs and names are case-sensitive.
1472
1857
  #
1473
1858
  # @option params [Array<String>] :attribute_names
1859
+ # This parameter has been deprecated but will be supported for backward
1860
+ # compatibility. To provide attribute names, you are encouraged to use
1861
+ # `MessageSystemAttributeNames`.
1862
+ #
1474
1863
  # A list of attributes that need to be returned along with each message.
1475
1864
  # These attributes include:
1476
1865
  #
@@ -1482,19 +1871,65 @@ module Aws::SQS
1482
1871
  # * `ApproximateReceiveCount` – Returns the number of times a message
1483
1872
  # has been received across all queues but not deleted.
1484
1873
  #
1485
- # * `AWSTraceHeader` – Returns the AWS X-Ray trace header string.
1874
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1486
1875
  #
1487
1876
  # * `SenderId`
1488
1877
  #
1489
- # * For an IAM user, returns the IAM user ID, for example
1878
+ # * For a user, returns the user ID, for example
1490
1879
  # `ABCDEFGHI1JKLMNOPQ23R`.
1491
1880
  #
1492
1881
  # * For an IAM role, returns the IAM role ID, for example
1493
1882
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1883
+ # * `SentTimestamp` – Returns the time the message was sent to the queue
1884
+ # ([epoch time][1] in milliseconds).
1494
1885
  #
1886
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
1887
+ # SQS owned encryption keys. Only one server-side encryption option is
1888
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
1889
+ #
1890
+ # * `MessageDeduplicationId` – Returns the value provided by the
1891
+ # producer that calls the ` SendMessage ` action.
1892
+ #
1893
+ # * `MessageGroupId` – Returns the value provided by the producer that
1894
+ # calls the ` SendMessage ` action. Messages with the same
1895
+ # `MessageGroupId` are returned in sequence.
1896
+ #
1897
+ # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1898
+ #
1899
+ #
1900
+ #
1901
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
1902
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1903
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1904
+ #
1905
+ # @option params [Array<String>] :message_system_attribute_names
1906
+ # A list of attributes that need to be returned along with each message.
1907
+ # These attributes include:
1908
+ #
1909
+ # * `All` – Returns all values.
1910
+ #
1911
+ # * `ApproximateFirstReceiveTimestamp` – Returns the time the message
1912
+ # was first received from the queue ([epoch time][1] in milliseconds).
1913
+ #
1914
+ # * `ApproximateReceiveCount` – Returns the number of times a message
1915
+ # has been received across all queues but not deleted.
1916
+ #
1917
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1918
+ #
1919
+ # * `SenderId`
1920
+ #
1921
+ # * For a user, returns the user ID, for example
1922
+ # `ABCDEFGHI1JKLMNOPQ23R`.
1923
+ #
1924
+ # * For an IAM role, returns the IAM role ID, for example
1925
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1495
1926
  # * `SentTimestamp` – Returns the time the message was sent to the queue
1496
1927
  # ([epoch time][1] in milliseconds).
1497
1928
  #
1929
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
1930
+ # SQS owned encryption keys. Only one server-side encryption option is
1931
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
1932
+ #
1498
1933
  # * `MessageDeduplicationId` – Returns the value provided by the
1499
1934
  # producer that calls the ` SendMessage ` action.
1500
1935
  #
@@ -1507,6 +1942,8 @@ module Aws::SQS
1507
1942
  #
1508
1943
  #
1509
1944
  # [1]: http://en.wikipedia.org/wiki/Unix_time
1945
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1946
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1510
1947
  #
1511
1948
  # @option params [Array<String>] :message_attribute_names
1512
1949
  # The name of the message attribute, where *N* is the index.
@@ -1544,8 +1981,8 @@ module Aws::SQS
1544
1981
  # The duration (in seconds) for which the call waits for a message to
1545
1982
  # arrive in the queue before returning. If a message is available, the
1546
1983
  # call returns sooner than `WaitTimeSeconds`. If no messages are
1547
- # available and the wait time expires, the call returns successfully
1548
- # with an empty list of messages.
1984
+ # available and the wait time expires, the call does not return a
1985
+ # message list.
1549
1986
  #
1550
1987
  # To avoid HTTP errors, ensure that the HTTP response timeout for
1551
1988
  # `ReceiveMessage` requests is longer than the `WaitTimeSeconds`
@@ -1574,10 +2011,6 @@ module Aws::SQS
1574
2011
  # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1575
2012
  # can provide a `ReceiveRequestAttemptId` explicitly.
1576
2013
  #
1577
- # * If a caller of the `ReceiveMessage` action doesn't provide a
1578
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
1579
- # `ReceiveRequestAttemptId`.
1580
- #
1581
2014
  # * It is possible to retry the `ReceiveMessage` action with the same
1582
2015
  # `ReceiveRequestAttemptId` if none of the messages have been modified
1583
2016
  # (deleted or had their visibility changes).
@@ -1586,7 +2019,7 @@ module Aws::SQS
1586
2019
  # `ReceiveRequestAttemptId` return the same messages and receipt
1587
2020
  # handles. If a retry occurs within the deduplication interval, it
1588
2021
  # resets the visibility timeout. For more information, see [Visibility
1589
- # Timeout][1] in the *Amazon Simple Queue Service Developer Guide*.
2022
+ # Timeout][1] in the *Amazon SQS Developer Guide*.
1590
2023
  #
1591
2024
  # If a caller of the `ReceiveMessage` action still processes messages
1592
2025
  # when the visibility timeout expires and messages become visible,
@@ -1611,12 +2044,12 @@ module Aws::SQS
1611
2044
  #
1612
2045
  # The maximum length of `ReceiveRequestAttemptId` is 128 characters.
1613
2046
  # `ReceiveRequestAttemptId` can contain alphanumeric characters (`a-z`,
1614
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2047
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
1615
2048
  # ``).
1616
2049
  #
1617
2050
  # For best practices of using `ReceiveRequestAttemptId`, see [Using the
1618
- # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon Simple
1619
- # Queue Service Developer Guide*.
2051
+ # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon SQS
2052
+ # Developer Guide*.
1620
2053
  #
1621
2054
  #
1622
2055
  #
@@ -1631,7 +2064,8 @@ module Aws::SQS
1631
2064
  #
1632
2065
  # resp = client.receive_message({
1633
2066
  # queue_url: "String", # required
1634
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds
2067
+ # 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
2068
+ # message_system_attribute_names: ["All"], # accepts All, SenderId, SentTimestamp, ApproximateReceiveCount, ApproximateFirstReceiveTimestamp, SequenceNumber, MessageDeduplicationId, MessageGroupId, AWSTraceHeader, DeadLetterQueueSourceArn
1635
2069
  # message_attribute_names: ["MessageAttributeName"],
1636
2070
  # max_number_of_messages: 1,
1637
2071
  # visibility_timeout: 1,
@@ -1673,8 +2107,8 @@ module Aws::SQS
1673
2107
  # <note markdown="1"> * Only the owner of a queue can remove permissions from it.
1674
2108
  #
1675
2109
  # * Cross-account permissions don't apply to this action. For more
1676
- # information, see [Grant Cross-Account Permissions to a Role and a
1677
- # User Name][1] in the *Amazon Simple Queue Service Developer Guide*.
2110
+ # information, see [Grant cross-account permissions to a role and a
2111
+ # username][1] in the *Amazon SQS Developer Guide*.
1678
2112
  #
1679
2113
  # * To remove the ability to change queue permissions, you must deny
1680
2114
  # permission to the `AddPermission`, `RemovePermission`, and
@@ -1716,13 +2150,17 @@ module Aws::SQS
1716
2150
  # Delivers a message to the specified queue.
1717
2151
  #
1718
2152
  # A message can include only XML, JSON, and unformatted text. The
1719
- # following Unicode characters are allowed:
2153
+ # following Unicode characters are allowed. For more information, see
2154
+ # the [W3C specification for characters][1].
1720
2155
  #
1721
2156
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
1722
2157
  # \| `#x10000` to `#x10FFFF`
1723
2158
  #
1724
- # Any characters not included in this list will be rejected. For more
1725
- # information, see the [W3C specification for characters][1].
2159
+ # Amazon SQS does not throw an exception or completely reject the
2160
+ # message if it contains invalid characters. Instead, it replaces those
2161
+ # invalid characters with `U+FFFD` before storing the message in the
2162
+ # queue, as long as the message body contains at least one valid
2163
+ # character.
1726
2164
  #
1727
2165
  #
1728
2166
  #
@@ -1734,16 +2172,21 @@ module Aws::SQS
1734
2172
  # Queue URLs and names are case-sensitive.
1735
2173
  #
1736
2174
  # @option params [required, String] :message_body
1737
- # The message to send. The maximum string size is 256 KB.
2175
+ # The message to send. The minimum size is one character. The maximum
2176
+ # size is 256 KiB.
1738
2177
  #
1739
2178
  # A message can include only XML, JSON, and unformatted text. The
1740
- # following Unicode characters are allowed:
2179
+ # following Unicode characters are allowed. For more information, see
2180
+ # the [W3C specification for characters][1].
1741
2181
  #
1742
2182
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
1743
2183
  # \| `#x10000` to `#x10FFFF`
1744
2184
  #
1745
- # Any characters not included in this list will be rejected. For more
1746
- # information, see the [W3C specification for characters][1].
2185
+ # Amazon SQS does not throw an exception or completely reject the
2186
+ # message if it contains invalid characters. Instead, it replaces those
2187
+ # invalid characters with `U+FFFD` before storing the message in the
2188
+ # queue, as long as the message body contains at least one valid
2189
+ # character.
1747
2190
  #
1748
2191
  #
1749
2192
  #
@@ -1763,12 +2206,12 @@ module Aws::SQS
1763
2206
  #
1764
2207
  # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
1765
2208
  # Each message attribute consists of a `Name`, `Type`, and `Value`. For
1766
- # more information, see [Amazon SQS Message Attributes][1] in the
1767
- # *Amazon Simple Queue Service Developer Guide*.
2209
+ # more information, see [Amazon SQS message attributes][1] in the
2210
+ # *Amazon SQS Developer Guide*.
1768
2211
  #
1769
2212
  #
1770
2213
  #
1771
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
2214
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
1772
2215
  #
1773
2216
  # @option params [Hash<String,Types::MessageSystemAttributeValue>] :message_system_attributes
1774
2217
  # The message system attribute to send. Each message system attribute
@@ -1776,7 +2219,7 @@ module Aws::SQS
1776
2219
  #
1777
2220
  # * Currently, the only supported message system attribute is
1778
2221
  # `AWSTraceHeader`. Its type must be `String` and its value must be a
1779
- # correctly formatted AWS X-Ray trace header string.
2222
+ # correctly formatted X-Ray trace header string.
1780
2223
  #
1781
2224
  # * The size of a message system attribute doesn't count towards the
1782
2225
  # total size of a message.
@@ -1788,8 +2231,8 @@ module Aws::SQS
1788
2231
  # particular `MessageDeduplicationId` is sent successfully, any messages
1789
2232
  # sent with the same `MessageDeduplicationId` are accepted successfully
1790
2233
  # but aren't delivered during the 5-minute deduplication interval. For
1791
- # more information, see [ Exactly-Once Processing][1] in the *Amazon
1792
- # Simple Queue Service Developer Guide*.
2234
+ # more information, see [ Exactly-once processing][1] in the *Amazon SQS
2235
+ # Developer Guide*.
1793
2236
  #
1794
2237
  # * Every message must have a unique `MessageDeduplicationId`,
1795
2238
  #
@@ -1806,7 +2249,6 @@ module Aws::SQS
1806
2249
  #
1807
2250
  # * If the queue has `ContentBasedDeduplication` set, your
1808
2251
  # `MessageDeduplicationId` overrides the generated one.
1809
- #
1810
2252
  # * When `ContentBasedDeduplication` is in effect, messages with
1811
2253
  # identical content sent within the deduplication interval are treated
1812
2254
  # as duplicates and only one copy of the message is delivered.
@@ -1831,16 +2273,16 @@ module Aws::SQS
1831
2273
  #
1832
2274
  # The maximum length of `MessageDeduplicationId` is 128 characters.
1833
2275
  # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1834
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2276
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
1835
2277
  # ``).
1836
2278
  #
1837
2279
  # For best practices of using `MessageDeduplicationId`, see [Using the
1838
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1839
- # Service Developer Guide*.
2280
+ # MessageDeduplicationId Property][2] in the *Amazon SQS Developer
2281
+ # Guide*.
1840
2282
  #
1841
2283
  #
1842
2284
  #
1843
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
2285
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
1844
2286
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
1845
2287
  #
1846
2288
  # @option params [String] :message_group_id
@@ -1862,13 +2304,12 @@ module Aws::SQS
1862
2304
  # `MessageGroupId` values. For each `MessageGroupId`, the messages are
1863
2305
  # sorted by time sent. The caller can't specify a `MessageGroupId`.
1864
2306
  #
1865
- # The length of `MessageGroupId` is 128 characters. Valid values:
1866
- # alphanumeric characters and punctuation ``
1867
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
2307
+ # The maximum length of `MessageGroupId` is 128 characters. Valid
2308
+ # values: alphanumeric characters and punctuation ``
2309
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
1868
2310
  #
1869
2311
  # For best practices of using `MessageGroupId`, see [Using the
1870
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1871
- # Developer Guide*.
2312
+ # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
1872
2313
  #
1873
2314
  # `MessageGroupId` is required for FIFO queues. You can't use it for
1874
2315
  # Standard queues.
@@ -1930,7 +2371,9 @@ module Aws::SQS
1930
2371
  req.send_request(options)
1931
2372
  end
1932
2373
 
1933
- # Delivers up to ten messages to the specified queue. This is a batch
2374
+ # You can use `SendMessageBatch` to send up to 10 messages to the
2375
+ # specified queue by assigning either identical or different values to
2376
+ # each message (or by not assigning values at all). This is a batch
1934
2377
  # version of ` SendMessage.` For a FIFO queue, multiple messages within
1935
2378
  # a single batch are enqueued in the order they are sent.
1936
2379
  #
@@ -1941,28 +2384,24 @@ module Aws::SQS
1941
2384
  #
1942
2385
  # The maximum allowed individual message size and the maximum total
1943
2386
  # payload size (the sum of the individual lengths of all of the batched
1944
- # messages) are both 256 KB (262,144 bytes).
2387
+ # messages) are both 256 KiB (262,144 bytes).
1945
2388
  #
1946
2389
  # A message can include only XML, JSON, and unformatted text. The
1947
- # following Unicode characters are allowed:
2390
+ # following Unicode characters are allowed. For more information, see
2391
+ # the [W3C specification for characters][1].
1948
2392
  #
1949
2393
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
1950
2394
  # \| `#x10000` to `#x10FFFF`
1951
2395
  #
1952
- # Any characters not included in this list will be rejected. For more
1953
- # information, see the [W3C specification for characters][1].
2396
+ # Amazon SQS does not throw an exception or completely reject the
2397
+ # message if it contains invalid characters. Instead, it replaces those
2398
+ # invalid characters with `U+FFFD` before storing the message in the
2399
+ # queue, as long as the message body contains at least one valid
2400
+ # character.
1954
2401
  #
1955
2402
  # If you don't specify the `DelaySeconds` parameter for an entry,
1956
2403
  # Amazon SQS uses the default value for the queue.
1957
2404
  #
1958
- # Some actions take lists of parameters. These lists are specified using
1959
- # the `param.n` notation. Values of `n` are integers starting from 1.
1960
- # For example, a parameter list with two elements looks like this:
1961
- #
1962
- # `&AttributeName.1=first`
1963
- #
1964
- # `&AttributeName.2=second`
1965
- #
1966
2405
  #
1967
2406
  #
1968
2407
  # [1]: http://www.w3.org/TR/REC-xml/#charsets
@@ -2037,19 +2476,22 @@ module Aws::SQS
2037
2476
  req.send_request(options)
2038
2477
  end
2039
2478
 
2040
- # Sets the value of one or more queue attributes. When you change a
2041
- # queue's attributes, the change can take up to 60 seconds for most of
2042
- # the attributes to propagate throughout the Amazon SQS system. Changes
2043
- # made to the `MessageRetentionPeriod` attribute can take up to 15
2044
- # minutes.
2479
+ # Sets the value of one or more queue attributes, like a policy. When
2480
+ # you change a queue's attributes, the change can take up to 60 seconds
2481
+ # for most of the attributes to propagate throughout the Amazon SQS
2482
+ # system. Changes made to the `MessageRetentionPeriod` attribute can
2483
+ # take up to 15 minutes and will impact existing messages in the queue
2484
+ # potentially causing them to be expired and deleted if the
2485
+ # `MessageRetentionPeriod` is reduced below the age of existing
2486
+ # messages.
2045
2487
  #
2046
2488
  # <note markdown="1"> * In the future, new attributes might be added. If you write code that
2047
2489
  # calls this action, we recommend that you structure your code so that
2048
2490
  # it can handle new attributes gracefully.
2049
2491
  #
2050
2492
  # * Cross-account permissions don't apply to this action. For more
2051
- # information, see [Grant Cross-Account Permissions to a Role and a
2052
- # User Name][1] in the *Amazon Simple Queue Service Developer Guide*.
2493
+ # information, see [Grant cross-account permissions to a role and a
2494
+ # username][1] in the *Amazon SQS Developer Guide*.
2053
2495
  #
2054
2496
  # * To remove the ability to change queue permissions, you must deny
2055
2497
  # permission to the `AddPermission`, `RemovePermission`, and
@@ -2084,69 +2526,105 @@ module Aws::SQS
2084
2526
  # * `MessageRetentionPeriod` – The length of time, in seconds, for which
2085
2527
  # Amazon SQS retains a message. Valid values: An integer representing
2086
2528
  # seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600
2087
- # (4 days).
2088
- #
2089
- # * `Policy` The queue's policy. A valid AWS policy. For more
2090
- # information about policy structure, see [Overview of AWS IAM
2091
- # Policies][1] in the *Amazon IAM User Guide*.
2529
+ # (4 days). When you change a queue's attributes, the change can take
2530
+ # up to 60 seconds for most of the attributes to propagate throughout
2531
+ # the Amazon SQS system. Changes made to the `MessageRetentionPeriod`
2532
+ # attribute can take up to 15 minutes and will impact existing
2533
+ # messages in the queue potentially causing them to be expired and
2534
+ # deleted if the `MessageRetentionPeriod` is reduced below the age of
2535
+ # existing messages.
2536
+ #
2537
+ # * `Policy` – The queue's policy. A valid Amazon Web Services policy.
2538
+ # For more information about policy structure, see [Overview of Amazon
2539
+ # Web Services IAM Policies][1] in the *Identity and Access Management
2540
+ # User Guide*.
2092
2541
  #
2093
2542
  # * `ReceiveMessageWaitTimeSeconds` – The length of time, in seconds,
2094
2543
  # for which a ` ReceiveMessage ` action waits for a message to arrive.
2095
2544
  # Valid values: An integer from 0 to 20 (seconds). Default: 0.
2096
2545
  #
2546
+ # * `VisibilityTimeout` – The visibility timeout for the queue, in
2547
+ # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
2548
+ # Default: 30. For more information about the visibility timeout, see
2549
+ # [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
2550
+ #
2551
+ # The following attributes apply only to [dead-letter queues:][3]
2552
+ #
2097
2553
  # * `RedrivePolicy` – The string that includes the parameters for the
2098
2554
  # dead-letter queue functionality of the source queue as a JSON
2099
- # object. For more information about the redrive policy and
2100
- # dead-letter queues, see [Using Amazon SQS Dead-Letter Queues][2] in
2101
- # the *Amazon Simple Queue Service Developer Guide*.
2555
+ # object. The parameters are as follows:
2102
2556
  #
2103
2557
  # * `deadLetterTargetArn` – The Amazon Resource Name (ARN) of the
2104
2558
  # dead-letter queue to which Amazon SQS moves messages after the
2105
2559
  # value of `maxReceiveCount` is exceeded.
2106
2560
  #
2107
2561
  # * `maxReceiveCount` – The number of times a message is delivered to
2108
- # the source queue before being moved to the dead-letter queue. When
2109
- # the `ReceiveCount` for a message exceeds the `maxReceiveCount` for
2110
- # a queue, Amazon SQS moves the message to the dead-letter-queue.
2562
+ # the source queue before being moved to the dead-letter queue.
2563
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
2564
+ # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
2565
+ # dead-letter-queue.
2566
+ # * `RedriveAllowPolicy` – The string that includes the parameters for
2567
+ # the permissions for the dead-letter queue redrive permission and
2568
+ # which source queues can specify dead-letter queues as a JSON object.
2569
+ # The parameters are as follows:
2570
+ #
2571
+ # * `redrivePermission` – The permission type that defines which
2572
+ # source queues can specify the current queue as the dead-letter
2573
+ # queue. Valid values are:
2574
+ #
2575
+ # * `allowAll` – (Default) Any source queues in this Amazon Web
2576
+ # Services account in the same Region can specify this queue as
2577
+ # the dead-letter queue.
2578
+ #
2579
+ # * `denyAll` – No source queues can specify this queue as the
2580
+ # dead-letter queue.
2581
+ #
2582
+ # * `byQueue` – Only queues specified by the `sourceQueueArns`
2583
+ # parameter can specify this queue as the dead-letter queue.
2584
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
2585
+ # queues that can specify this queue as the dead-letter queue and
2586
+ # redrive messages. You can specify this parameter only when the
2587
+ # `redrivePermission` parameter is set to `byQueue`. You can specify
2588
+ # up to 10 source queue ARNs. To allow more than 10 source queues to
2589
+ # specify dead-letter queues, set the `redrivePermission` parameter
2590
+ # to `allowAll`.
2591
+ #
2592
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
2593
+ # Similarly, the dead-letter queue of a standard queue must also be a
2594
+ # standard queue.
2111
2595
  #
2112
- # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
2113
- # Similarly, the dead-letter queue of a standard queue must also be a
2114
- # standard queue.
2115
- #
2116
- # </note>
2117
- #
2118
- # * `VisibilityTimeout` – The visibility timeout for the queue, in
2119
- # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
2120
- # Default: 30. For more information about the visibility timeout, see
2121
- # [Visibility Timeout][3] in the *Amazon Simple Queue Service
2122
- # Developer Guide*.
2596
+ # </note>
2123
2597
  #
2124
- # The following attributes apply only to [server-side-encryption][4]\:
2598
+ # The following attributes apply only to [server-side-encryption][4]:
2125
2599
  #
2126
- # * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
2127
- # (CMK) for Amazon SQS or a custom CMK. For more information, see [Key
2128
- # Terms][5]. While the alias of the AWS-managed CMK for Amazon SQS is
2129
- # always `alias/aws/sqs`, the alias of a custom CMK can, for example,
2130
- # be `alias/MyAlias `. For more examples, see [KeyId][6] in the *AWS
2131
- # Key Management Service API Reference*.
2600
+ # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
2601
+ # master key (CMK) for Amazon SQS or a custom CMK. For more
2602
+ # information, see [Key Terms][5]. While the alias of the AWS-managed
2603
+ # CMK for Amazon SQS is always `alias/aws/sqs`, the alias of a custom
2604
+ # CMK can, for example, be `alias/MyAlias `. For more examples, see
2605
+ # [KeyId][6] in the *Key Management Service API Reference*.
2132
2606
  #
2133
2607
  # * `KmsDataKeyReusePeriodSeconds` – The length of time, in seconds, for
2134
2608
  # which Amazon SQS can reuse a [data key][7] to encrypt or decrypt
2135
- # messages before calling AWS KMS again. An integer representing
2136
- # seconds, between 60 seconds (1 minute) and 86,400 seconds (24
2137
- # hours). Default: 300 (5 minutes). A shorter time period provides
2138
- # better security but results in more calls to KMS which might incur
2139
- # charges after Free Tier. For more information, see [How Does the
2140
- # Data Key Reuse Period Work?][8].
2609
+ # messages before calling KMS again. An integer representing seconds,
2610
+ # between 60 seconds (1 minute) and 86,400 seconds (24 hours).
2611
+ # Default: 300 (5 minutes). A shorter time period provides better
2612
+ # security but results in more calls to KMS which might incur charges
2613
+ # after Free Tier. For more information, see [How Does the Data Key
2614
+ # Reuse Period Work?][8].
2615
+ #
2616
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
2617
+ # SQS owned encryption keys. Only one server-side encryption option is
2618
+ # supported per queue (for example, [SSE-KMS][9] or [SSE-SQS][10]).
2141
2619
  #
2142
2620
  # The following attribute applies only to [FIFO (first-in-first-out)
2143
- # queues][9]\:
2621
+ # queues][11]:
2144
2622
  #
2145
2623
  # * `ContentBasedDeduplication` – Enables content-based deduplication.
2146
- # For more information, see [Exactly-Once Processing][10] in the
2147
- # *Amazon Simple Queue Service Developer Guide*.
2624
+ # For more information, see [Exactly-once processing][12] in the
2625
+ # *Amazon SQS Developer Guide*. Note the following:
2148
2626
  #
2149
- # * Every message must have a unique `MessageDeduplicationId`,
2627
+ # * Every message must have a unique `MessageDeduplicationId`.
2150
2628
  #
2151
2629
  # * You may provide a `MessageDeduplicationId` explicitly.
2152
2630
  #
@@ -2162,7 +2640,6 @@ module Aws::SQS
2162
2640
  #
2163
2641
  # * If the queue has `ContentBasedDeduplication` set, your
2164
2642
  # `MessageDeduplicationId` overrides the generated one.
2165
- #
2166
2643
  # * When `ContentBasedDeduplication` is in effect, messages with
2167
2644
  # identical content sent within the deduplication interval are
2168
2645
  # treated as duplicates and only one copy of the message is
@@ -2174,18 +2651,48 @@ module Aws::SQS
2174
2651
  # `MessageDeduplicationId`, the two messages are treated as
2175
2652
  # duplicates and only one copy of the message is delivered.
2176
2653
  #
2654
+ # The following attributes apply only to [high throughput for FIFO
2655
+ # queues][13]:
2656
+ #
2657
+ # * `DeduplicationScope` – Specifies whether message deduplication
2658
+ # occurs at the message group or queue level. Valid values are
2659
+ # `messageGroup` and `queue`.
2660
+ #
2661
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue throughput
2662
+ # quota applies to the entire queue or per message group. Valid values
2663
+ # are `perQueue` and `perMessageGroupId`. The `perMessageGroupId`
2664
+ # value is allowed only when the value for `DeduplicationScope` is
2665
+ # `messageGroup`.
2666
+ #
2667
+ # To enable high throughput for FIFO queues, do the following:
2668
+ #
2669
+ # * Set `DeduplicationScope` to `messageGroup`.
2670
+ #
2671
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
2672
+ #
2673
+ # If you set these attributes to anything other than the values shown
2674
+ # for enabling high throughput, normal throughput is in effect and
2675
+ # deduplication occurs as specified.
2676
+ #
2677
+ # For information on throughput quotas, see [Quotas related to
2678
+ # messages][14] in the *Amazon SQS Developer Guide*.
2679
+ #
2177
2680
  #
2178
2681
  #
2179
2682
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
2180
- # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
2181
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
2683
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
2684
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
2182
2685
  # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
2183
2686
  # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
2184
2687
  # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2185
2688
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
2186
2689
  # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
2187
- # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
2188
- # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
2690
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
2691
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
2692
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
2693
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
2694
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
2695
+ # [14]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
2189
2696
  #
2190
2697
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2191
2698
  #
@@ -2207,9 +2714,78 @@ module Aws::SQS
2207
2714
  req.send_request(options)
2208
2715
  end
2209
2716
 
2717
+ # Starts an asynchronous task to move messages from a specified source
2718
+ # queue to a specified destination queue.
2719
+ #
2720
+ # <note markdown="1"> * This action is currently limited to supporting message redrive from
2721
+ # queues that are configured as [dead-letter queues (DLQs)][1] of
2722
+ # other Amazon SQS queues only. Non-SQS queue sources of dead-letter
2723
+ # queues, such as Lambda or Amazon SNS topics, are currently not
2724
+ # supported.
2725
+ #
2726
+ # * In dead-letter queues redrive context, the `StartMessageMoveTask`
2727
+ # the source queue is the DLQ, while the destination queue can be the
2728
+ # original source queue (from which the messages were driven to the
2729
+ # dead-letter-queue), or a custom destination queue.
2730
+ #
2731
+ # * Only one active message movement task is supported per queue at any
2732
+ # given time.
2733
+ #
2734
+ # </note>
2735
+ #
2736
+ #
2737
+ #
2738
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
2739
+ #
2740
+ # @option params [required, String] :source_arn
2741
+ # The ARN of the queue that contains the messages to be moved to another
2742
+ # queue. Currently, only ARNs of dead-letter queues (DLQs) whose sources
2743
+ # are other Amazon SQS queues are accepted. DLQs whose sources are
2744
+ # non-SQS queues, such as Lambda or Amazon SNS topics, are not currently
2745
+ # supported.
2746
+ #
2747
+ # @option params [String] :destination_arn
2748
+ # The ARN of the queue that receives the moved messages. You can use
2749
+ # this field to specify the destination queue where you would like to
2750
+ # redrive messages. If this field is left blank, the messages will be
2751
+ # redriven back to their respective original source queues.
2752
+ #
2753
+ # @option params [Integer] :max_number_of_messages_per_second
2754
+ # The number of messages to be moved per second (the message movement
2755
+ # rate). You can use this field to define a fixed message movement rate.
2756
+ # The maximum value for messages per second is 500. If this field is
2757
+ # left blank, the system will optimize the rate based on the queue
2758
+ # message backlog size, which may vary throughout the duration of the
2759
+ # message movement task.
2760
+ #
2761
+ # @return [Types::StartMessageMoveTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2762
+ #
2763
+ # * {Types::StartMessageMoveTaskResult#task_handle #task_handle} => String
2764
+ #
2765
+ # @example Request syntax with placeholder values
2766
+ #
2767
+ # resp = client.start_message_move_task({
2768
+ # source_arn: "String", # required
2769
+ # destination_arn: "String",
2770
+ # max_number_of_messages_per_second: 1,
2771
+ # })
2772
+ #
2773
+ # @example Response structure
2774
+ #
2775
+ # resp.task_handle #=> String
2776
+ #
2777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/StartMessageMoveTask AWS API Documentation
2778
+ #
2779
+ # @overload start_message_move_task(params = {})
2780
+ # @param [Hash] params ({})
2781
+ def start_message_move_task(params = {}, options = {})
2782
+ req = build_request(:start_message_move_task, params)
2783
+ req.send_request(options)
2784
+ end
2785
+
2210
2786
  # Add cost allocation tags to the specified Amazon SQS queue. For an
2211
- # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon
2212
- # Simple Queue Service Developer Guide*.
2787
+ # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon SQS
2788
+ # Developer Guide*.
2213
2789
  #
2214
2790
  # When you use queue tags, keep the following guidelines in mind:
2215
2791
  #
@@ -2223,12 +2799,12 @@ module Aws::SQS
2223
2799
  # * A new tag with a key identical to that of an existing tag overwrites
2224
2800
  # the existing tag.
2225
2801
  #
2226
- # For a full list of tag restrictions, see [Limits Related to Queues][2]
2227
- # in the *Amazon Simple Queue Service Developer Guide*.
2802
+ # For a full list of tag restrictions, see [Quotas related to queues][2]
2803
+ # in the *Amazon SQS Developer Guide*.
2228
2804
  #
2229
2805
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
2230
- # information, see [Grant Cross-Account Permissions to a Role and a User
2231
- # Name][3] in the *Amazon Simple Queue Service Developer Guide*.
2806
+ # information, see [Grant cross-account permissions to a role and a
2807
+ # username][3] in the *Amazon SQS Developer Guide*.
2232
2808
  #
2233
2809
  # </note>
2234
2810
  #
@@ -2266,11 +2842,11 @@ module Aws::SQS
2266
2842
 
2267
2843
  # Remove cost allocation tags from the specified Amazon SQS queue. For
2268
2844
  # an overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon
2269
- # Simple Queue Service Developer Guide*.
2845
+ # SQS Developer Guide*.
2270
2846
  #
2271
2847
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
2272
- # information, see [Grant Cross-Account Permissions to a Role and a User
2273
- # Name][2] in the *Amazon Simple Queue Service Developer Guide*.
2848
+ # information, see [Grant cross-account permissions to a role and a
2849
+ # username][2] in the *Amazon SQS Developer Guide*.
2274
2850
  #
2275
2851
  # </note>
2276
2852
  #
@@ -2309,14 +2885,19 @@ module Aws::SQS
2309
2885
  # @api private
2310
2886
  def build_request(operation_name, params = {})
2311
2887
  handlers = @handlers.for(operation_name)
2888
+ tracer = config.telemetry_provider.tracer_provider.tracer(
2889
+ Aws::Telemetry.module_to_tracer_name('Aws::SQS')
2890
+ )
2312
2891
  context = Seahorse::Client::RequestContext.new(
2313
2892
  operation_name: operation_name,
2314
2893
  operation: config.api.operation(operation_name),
2315
2894
  client: self,
2316
2895
  params: params,
2317
- config: config)
2896
+ config: config,
2897
+ tracer: tracer
2898
+ )
2318
2899
  context[:gem_name] = 'aws-sdk-sqs'
2319
- context[:gem_version] = '1.30.0'
2900
+ context[:gem_version] = '1.89.0'
2320
2901
  Seahorse::Client::Request.new(handlers, context)
2321
2902
  end
2322
2903