aws-sdk-sqs 1.30.0 → 1.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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