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,23 +3,13 @@
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
 
10
10
  module Aws::SQS
11
11
  module Types
12
12
 
13
- # @note When making an API call, you may pass AddPermissionRequest
14
- # data as a hash:
15
- #
16
- # {
17
- # queue_url: "String", # required
18
- # label: "String", # required
19
- # aws_account_ids: ["String"], # required
20
- # actions: ["String"], # required
21
- # }
22
- #
23
13
  # @!attribute [rw] queue_url
24
14
  # The URL of the Amazon SQS queue to which permissions are added.
25
15
  #
@@ -34,11 +24,10 @@ module Aws::SQS
34
24
  # @return [String]
35
25
  #
36
26
  # @!attribute [rw] aws_account_ids
37
- # The AWS account number of the [principal][1] who is given
38
- # permission. The principal must have an AWS account, but does not
39
- # need to be signed up for Amazon SQS. For information about locating
40
- # the AWS account identification, see [Your AWS Identifiers][2] in the
41
- # *Amazon Simple Queue Service Developer Guide*.
27
+ # The Amazon Web Services account numbers of the [principals][1] who
28
+ # are to receive permission. For information about locating the Amazon
29
+ # Web Services account identification, see [Your Amazon Web Services
30
+ # Identifiers][2] in the *Amazon SQS Developer Guide*.
42
31
  #
43
32
  #
44
33
  #
@@ -52,7 +41,7 @@ module Aws::SQS
52
41
  #
53
42
  # For more information about these actions, see [Overview of Managing
54
43
  # Access Permissions to Your Amazon Simple Queue Service Resource][1]
55
- # in the *Amazon Simple Queue Service Developer Guide*.
44
+ # in the *Amazon SQS Developer Guide*.
56
45
  #
57
46
  # Specifying `SendMessage`, `DeleteMessage`, or
58
47
  # `ChangeMessageVisibility` for `ActionName.n` also grants permissions
@@ -78,15 +67,29 @@ module Aws::SQS
78
67
 
79
68
  # Two or more batch entries in the request have the same `Id`.
80
69
  #
70
+ # @!attribute [rw] message
71
+ # @return [String]
72
+ #
81
73
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/BatchEntryIdsNotDistinct AWS API Documentation
82
74
  #
83
- class BatchEntryIdsNotDistinct < Aws::EmptyStructure; end
75
+ class BatchEntryIdsNotDistinct < Struct.new(
76
+ :message)
77
+ SENSITIVE = []
78
+ include Aws::Structure
79
+ end
84
80
 
85
81
  # The length of all the messages put together is more than the limit.
86
82
  #
83
+ # @!attribute [rw] message
84
+ # @return [String]
85
+ #
87
86
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/BatchRequestTooLong AWS API Documentation
88
87
  #
89
- class BatchRequestTooLong < Aws::EmptyStructure; end
88
+ class BatchRequestTooLong < Struct.new(
89
+ :message)
90
+ SENSITIVE = []
91
+ include Aws::Structure
92
+ end
90
93
 
91
94
  # Gives a detailed description of the result of an action on each entry
92
95
  # in the request.
@@ -119,20 +122,31 @@ module Aws::SQS
119
122
  include Aws::Structure
120
123
  end
121
124
 
122
- # @note When making an API call, you may pass ChangeMessageVisibilityBatchRequest
123
- # data as a hash:
125
+ # @!attribute [rw] task_handle
126
+ # An identifier associated with a message movement task.
127
+ # @return [String]
128
+ #
129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/CancelMessageMoveTaskRequest AWS API Documentation
130
+ #
131
+ class CancelMessageMoveTaskRequest < Struct.new(
132
+ :task_handle)
133
+ SENSITIVE = []
134
+ include Aws::Structure
135
+ end
136
+
137
+ # @!attribute [rw] approximate_number_of_messages_moved
138
+ # The approximate number of messages already moved to the destination
139
+ # queue.
140
+ # @return [Integer]
124
141
  #
125
- # {
126
- # queue_url: "String", # required
127
- # entries: [ # required
128
- # {
129
- # id: "String", # required
130
- # receipt_handle: "String", # required
131
- # visibility_timeout: 1,
132
- # },
133
- # ],
134
- # }
142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/CancelMessageMoveTaskResult AWS API Documentation
135
143
  #
144
+ class CancelMessageMoveTaskResult < Struct.new(
145
+ :approximate_number_of_messages_moved)
146
+ SENSITIVE = []
147
+ include Aws::Structure
148
+ end
149
+
136
150
  # @!attribute [rw] queue_url
137
151
  # The URL of the Amazon SQS queue whose messages' visibility is
138
152
  # changed.
@@ -141,7 +155,7 @@ module Aws::SQS
141
155
  # @return [String]
142
156
  #
143
157
  # @!attribute [rw] entries
144
- # A list of receipt handles of the messages for which the visibility
158
+ # Lists the receipt handles of the messages for which the visibility
145
159
  # timeout must be changed.
146
160
  # @return [Array<Types::ChangeMessageVisibilityBatchRequestEntry>]
147
161
  #
@@ -154,29 +168,9 @@ module Aws::SQS
154
168
  include Aws::Structure
155
169
  end
156
170
 
157
- # Encloses a receipt handle and an entry id for each message in `
171
+ # Encloses a receipt handle and an entry ID for each message in `
158
172
  # ChangeMessageVisibilityBatch.`
159
173
  #
160
- # All of the following list parameters must be prefixed with
161
- # `ChangeMessageVisibilityBatchRequestEntry.n`, where `n` is an integer
162
- # value starting with `1`. For example, a parameter list for this action
163
- # might look like this:
164
- #
165
- # `&ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2`
166
- #
167
- # `&ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=your_receipt_handle`
168
- #
169
- # `&ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45`
170
- #
171
- # @note When making an API call, you may pass ChangeMessageVisibilityBatchRequestEntry
172
- # data as a hash:
173
- #
174
- # {
175
- # id: "String", # required
176
- # receipt_handle: "String", # required
177
- # visibility_timeout: 1,
178
- # }
179
- #
180
174
  # @!attribute [rw] id
181
175
  # An identifier for this particular receipt handle used to communicate
182
176
  # the result.
@@ -244,15 +238,6 @@ module Aws::SQS
244
238
  include Aws::Structure
245
239
  end
246
240
 
247
- # @note When making an API call, you may pass ChangeMessageVisibilityRequest
248
- # data as a hash:
249
- #
250
- # {
251
- # queue_url: "String", # required
252
- # receipt_handle: "String", # required
253
- # visibility_timeout: 1, # required
254
- # }
255
- #
256
241
  # @!attribute [rw] queue_url
257
242
  # The URL of the Amazon SQS queue whose message's visibility is
258
243
  # changed.
@@ -261,14 +246,14 @@ module Aws::SQS
261
246
  # @return [String]
262
247
  #
263
248
  # @!attribute [rw] receipt_handle
264
- # The receipt handle associated with the message whose visibility
249
+ # The receipt handle associated with the message, whose visibility
265
250
  # timeout is changed. This parameter is returned by the `
266
251
  # ReceiveMessage ` action.
267
252
  # @return [String]
268
253
  #
269
254
  # @!attribute [rw] visibility_timeout
270
255
  # The new value for the message's visibility timeout (in seconds).
271
- # Values values: `0` to `43200`. Maximum: 12 hours.
256
+ # Values range: `0` to `43200`. Maximum: 12 hours.
272
257
  # @return [Integer]
273
258
  #
274
259
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ChangeMessageVisibilityRequest AWS API Documentation
@@ -281,19 +266,6 @@ module Aws::SQS
281
266
  include Aws::Structure
282
267
  end
283
268
 
284
- # @note When making an API call, you may pass CreateQueueRequest
285
- # data as a hash:
286
- #
287
- # {
288
- # queue_name: "String", # required
289
- # attributes: {
290
- # "All" => "String",
291
- # },
292
- # tags: {
293
- # "TagKey" => "TagValue",
294
- # },
295
- # }
296
- #
297
269
  # @!attribute [rw] queue_name
298
270
  # The name of the new queue. The following limits apply to this name:
299
271
  #
@@ -325,22 +297,33 @@ module Aws::SQS
325
297
  # * `MessageRetentionPeriod` – The length of time, in seconds, for
326
298
  # which Amazon SQS retains a message. Valid values: An integer from
327
299
  # 60 seconds (1 minute) to 1,209,600 seconds (14 days). Default:
328
- # 345,600 (4 days).
329
- #
330
- # * `Policy` The queue's policy. A valid AWS policy. For more
331
- # information about policy structure, see [Overview of AWS IAM
332
- # Policies][1] in the *Amazon IAM User Guide*.
300
+ # 345,600 (4 days). When you change a queue's attributes, the
301
+ # change can take up to 60 seconds for most of the attributes to
302
+ # propagate throughout the Amazon SQS system. Changes made to the
303
+ # `MessageRetentionPeriod` attribute can take up to 15 minutes and
304
+ # will impact existing messages in the queue potentially causing
305
+ # them to be expired and deleted if the `MessageRetentionPeriod` is
306
+ # reduced below the age of existing messages.
307
+ #
308
+ # * `Policy` – The queue's policy. A valid Amazon Web Services
309
+ # policy. For more information about policy structure, see [Overview
310
+ # of Amazon Web Services IAM Policies][1] in the *IAM User Guide*.
333
311
  #
334
312
  # * `ReceiveMessageWaitTimeSeconds` – The length of time, in seconds,
335
313
  # for which a ` ReceiveMessage ` action waits for a message to
336
314
  # arrive. Valid values: An integer from 0 to 20 (seconds). Default:
337
315
  # 0.
338
316
  #
317
+ # * `VisibilityTimeout` – The visibility timeout for the queue, in
318
+ # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
319
+ # Default: 30. For more information about the visibility timeout,
320
+ # see [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
321
+ #
322
+ # The following attributes apply only to [dead-letter queues:][3]
323
+ #
339
324
  # * `RedrivePolicy` – The string that includes the parameters for the
340
325
  # dead-letter queue functionality of the source queue as a JSON
341
- # object. For more information about the redrive policy and
342
- # dead-letter queues, see [Using Amazon SQS Dead-Letter Queues][2]
343
- # in the *Amazon Simple Queue Service Developer Guide*.
326
+ # object. The parameters are as follows:
344
327
  #
345
328
  # * `deadLetterTargetArn` – The Amazon Resource Name (ARN) of the
346
329
  # dead-letter queue to which Amazon SQS moves messages after the
@@ -348,59 +331,84 @@ module Aws::SQS
348
331
  #
349
332
  # * `maxReceiveCount` – The number of times a message is delivered
350
333
  # to the source queue before being moved to the dead-letter queue.
351
- # When the `ReceiveCount` for a message exceeds the
334
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
352
335
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to
353
336
  # the dead-letter-queue.
337
+ # * `RedriveAllowPolicy` – The string that includes the parameters for
338
+ # the permissions for the dead-letter queue redrive permission and
339
+ # which source queues can specify dead-letter queues as a JSON
340
+ # object. The parameters are as follows:
341
+ #
342
+ # * `redrivePermission` – The permission type that defines which
343
+ # source queues can specify the current queue as the dead-letter
344
+ # queue. Valid values are:
345
+ #
346
+ # * `allowAll` – (Default) Any source queues in this Amazon Web
347
+ # Services account in the same Region can specify this queue as
348
+ # the dead-letter queue.
349
+ #
350
+ # * `denyAll` – No source queues can specify this queue as the
351
+ # dead-letter queue.
352
+ #
353
+ # * `byQueue` – Only queues specified by the `sourceQueueArns`
354
+ # parameter can specify this queue as the dead-letter queue.
355
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the
356
+ # source queues that can specify this queue as the dead-letter
357
+ # queue and redrive messages. You can specify this parameter only
358
+ # when the `redrivePermission` parameter is set to `byQueue`. You
359
+ # can specify up to 10 source queue ARNs. To allow more than 10
360
+ # source queues to specify dead-letter queues, set the
361
+ # `redrivePermission` parameter to `allowAll`.
362
+ #
363
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
364
+ # Similarly, the dead-letter queue of a standard queue must also be a
365
+ # standard queue.
354
366
  #
355
- # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
356
- # Similarly, the dead-letter queue of a standard queue must also be
357
- # a standard queue.
358
- #
359
- # </note>
360
- #
361
- # * `VisibilityTimeout` – The visibility timeout for the queue, in
362
- # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
363
- # Default: 30. For more information about the visibility timeout,
364
- # see [Visibility Timeout][3] in the *Amazon Simple Queue Service
365
- # Developer Guide*.
367
+ # </note>
366
368
  #
367
- # The following attributes apply only to [server-side-encryption][4]\:
369
+ # The following attributes apply only to [server-side-encryption][4]:
368
370
  #
369
- # * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
370
- # (CMK) for Amazon SQS or a custom CMK. For more information, see
371
- # [Key Terms][5]. While the alias of the AWS-managed CMK for Amazon
372
- # SQS is always `alias/aws/sqs`, the alias of a custom CMK can, for
373
- # example, be `alias/MyAlias `. For more examples, see [KeyId][6] in
374
- # the *AWS Key Management Service API Reference*.
371
+ # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed
372
+ # customer master key (CMK) for Amazon SQS or a custom CMK. For more
373
+ # information, see [Key Terms][5]. While the alias of the Amazon Web
374
+ # Services managed CMK for Amazon SQS is always `alias/aws/sqs`, the
375
+ # alias of a custom CMK can, for example, be `alias/MyAlias `. For
376
+ # more examples, see [KeyId][6] in the *Key Management Service API
377
+ # Reference*.
375
378
  #
376
379
  # * `KmsDataKeyReusePeriodSeconds` – The length of time, in seconds,
377
380
  # for which Amazon SQS can reuse a [data key][7] to encrypt or
378
- # decrypt messages before calling AWS KMS again. An integer
379
- # representing seconds, between 60 seconds (1 minute) and 86,400
380
- # seconds (24 hours). Default: 300 (5 minutes). A shorter time
381
- # period provides better security but results in more calls to KMS
382
- # which might incur charges after Free Tier. For more information,
383
- # see [How Does the Data Key Reuse Period Work?][8].
381
+ # decrypt messages before calling KMS again. An integer representing
382
+ # seconds, between 60 seconds (1 minute) and 86,400 seconds (24
383
+ # hours). Default: 300 (5 minutes). A shorter time period provides
384
+ # better security but results in more calls to KMS which might incur
385
+ # charges after Free Tier. For more information, see [How Does the
386
+ # Data Key Reuse Period Work?][8]
387
+ #
388
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption
389
+ # using SQS owned encryption keys. Only one server-side encryption
390
+ # option is supported per queue (for example, [SSE-KMS][9] or
391
+ # [SSE-SQS][10]).
384
392
  #
385
393
  # The following attributes apply only to [FIFO (first-in-first-out)
386
- # queues][9]\:
394
+ # queues][11]:
387
395
  #
388
- # * `FifoQueue` – Designates a queue as FIFO. Valid values: `true`,
389
- # `false`. If you don't specify the `FifoQueue` attribute, Amazon
390
- # SQS creates a standard queue. You can provide this attribute only
391
- # during queue creation. You can't change it for an existing queue.
392
- # When you set this attribute, you must also provide the
393
- # `MessageGroupId` for your messages explicitly.
396
+ # * `FifoQueue` – Designates a queue as FIFO. Valid values are `true`
397
+ # and `false`. If you don't specify the `FifoQueue` attribute,
398
+ # Amazon SQS creates a standard queue. You can provide this
399
+ # attribute only during queue creation. You can't change it for an
400
+ # existing queue. When you set this attribute, you must also provide
401
+ # the `MessageGroupId` for your messages explicitly.
394
402
  #
395
- # For more information, see [FIFO Queue Logic][10] in the *Amazon
396
- # Simple Queue Service Developer Guide*.
403
+ # For more information, see [FIFO queue logic][12] in the *Amazon
404
+ # SQS Developer Guide*.
397
405
  #
398
406
  # * `ContentBasedDeduplication` – Enables content-based deduplication.
399
- # Valid values: `true`, `false`. For more information, see
400
- # [Exactly-Once Processing][11] in the *Amazon Simple Queue Service
401
- # Developer Guide*.
407
+ # Valid values are `true` and `false`. For more information, see
408
+ # [Exactly-once processing][13] in the *Amazon SQS Developer Guide*.
409
+ # Note the following:
402
410
  #
403
- # * Every message must have a unique `MessageDeduplicationId`,
411
+ # * Every message must have a unique `MessageDeduplicationId`.
404
412
  #
405
413
  # * You may provide a `MessageDeduplicationId` explicitly.
406
414
  #
@@ -416,7 +424,6 @@ module Aws::SQS
416
424
  #
417
425
  # * If the queue has `ContentBasedDeduplication` set, your
418
426
  # `MessageDeduplicationId` overrides the generated one.
419
- #
420
427
  # * When `ContentBasedDeduplication` is in effect, messages with
421
428
  # identical content sent within the deduplication interval are
422
429
  # treated as duplicates and only one copy of the message is
@@ -428,25 +435,55 @@ module Aws::SQS
428
435
  # `MessageDeduplicationId`, the two messages are treated as
429
436
  # duplicates and only one copy of the message is delivered.
430
437
  #
438
+ # The following attributes apply only to [high throughput for FIFO
439
+ # queues][14]:
440
+ #
441
+ # * `DeduplicationScope` – Specifies whether message deduplication
442
+ # occurs at the message group or queue level. Valid values are
443
+ # `messageGroup` and `queue`.
444
+ #
445
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue
446
+ # throughput quota applies to the entire queue or per message group.
447
+ # Valid values are `perQueue` and `perMessageGroupId`. The
448
+ # `perMessageGroupId` value is allowed only when the value for
449
+ # `DeduplicationScope` is `messageGroup`.
450
+ #
451
+ # To enable high throughput for FIFO queues, do the following:
452
+ #
453
+ # * Set `DeduplicationScope` to `messageGroup`.
454
+ #
455
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
456
+ #
457
+ # If you set these attributes to anything other than the values shown
458
+ # for enabling high throughput, normal throughput is in effect and
459
+ # deduplication occurs as specified.
460
+ #
461
+ # For information on throughput quotas, see [Quotas related to
462
+ # messages][15] in the *Amazon SQS Developer Guide*.
463
+ #
431
464
  #
432
465
  #
433
466
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
434
- # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
435
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
467
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
468
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
436
469
  # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
437
470
  # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
438
471
  # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
439
472
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
440
473
  # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
441
- # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
442
- # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
443
- # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
474
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
475
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
476
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
477
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html
478
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
479
+ # [14]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
480
+ # [15]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
444
481
  # @return [Hash<String,String>]
445
482
  #
446
483
  # @!attribute [rw] tags
447
484
  # Add cost allocation tags to the specified Amazon SQS queue. For an
448
- # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon
449
- # Simple Queue Service Developer Guide*.
485
+ # overview, see [Tagging Your Amazon SQS Queues][1] in the *Amazon SQS
486
+ # Developer Guide*.
450
487
  #
451
488
  # When you use queue tags, keep the following guidelines in mind:
452
489
  #
@@ -460,15 +497,15 @@ module Aws::SQS
460
497
  # * A new tag with a key identical to that of an existing tag
461
498
  # overwrites the existing tag.
462
499
  #
463
- # For a full list of tag restrictions, see [Limits Related to
464
- # Queues][2] in the *Amazon Simple Queue Service Developer Guide*.
500
+ # For a full list of tag restrictions, see [Quotas related to
501
+ # queues][2] in the *Amazon SQS Developer Guide*.
465
502
  #
466
503
  # <note markdown="1"> To be able to tag a queue on creation, you must have the
467
504
  # `sqs:CreateQueue` and `sqs:TagQueue` permissions.
468
505
  #
469
506
  # Cross-account permissions don't apply to this action. For more
470
- # information, see [Grant Cross-Account Permissions to a Role and a
471
- # User Name][3] in the *Amazon Simple Queue Service Developer Guide*.
507
+ # information, see [Grant cross-account permissions to a role and a
508
+ # username][3] in the *Amazon SQS Developer Guide*.
472
509
  #
473
510
  # </note>
474
511
  #
@@ -503,19 +540,6 @@ module Aws::SQS
503
540
  include Aws::Structure
504
541
  end
505
542
 
506
- # @note When making an API call, you may pass DeleteMessageBatchRequest
507
- # data as a hash:
508
- #
509
- # {
510
- # queue_url: "String", # required
511
- # entries: [ # required
512
- # {
513
- # id: "String", # required
514
- # receipt_handle: "String", # required
515
- # },
516
- # ],
517
- # }
518
- #
519
543
  # @!attribute [rw] queue_url
520
544
  # The URL of the Amazon SQS queue from which messages are deleted.
521
545
  #
@@ -523,7 +547,7 @@ module Aws::SQS
523
547
  # @return [String]
524
548
  #
525
549
  # @!attribute [rw] entries
526
- # A list of receipt handles for the messages to be deleted.
550
+ # Lists the receipt handles for the messages to be deleted.
527
551
  # @return [Array<Types::DeleteMessageBatchRequestEntry>]
528
552
  #
529
553
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/DeleteMessageBatchRequest AWS API Documentation
@@ -537,16 +561,8 @@ module Aws::SQS
537
561
 
538
562
  # Encloses a receipt handle and an identifier for it.
539
563
  #
540
- # @note When making an API call, you may pass DeleteMessageBatchRequestEntry
541
- # data as a hash:
542
- #
543
- # {
544
- # id: "String", # required
545
- # receipt_handle: "String", # required
546
- # }
547
- #
548
564
  # @!attribute [rw] id
549
- # An identifier for this particular receipt handle. This is used to
565
+ # The identifier for this particular receipt handle. This is used to
550
566
  # communicate the result.
551
567
  #
552
568
  # <note markdown="1"> The `Id`s of a batch request need to be unique within a request.
@@ -606,14 +622,6 @@ module Aws::SQS
606
622
  include Aws::Structure
607
623
  end
608
624
 
609
- # @note When making an API call, you may pass DeleteMessageRequest
610
- # data as a hash:
611
- #
612
- # {
613
- # queue_url: "String", # required
614
- # receipt_handle: "String", # required
615
- # }
616
- #
617
625
  # @!attribute [rw] queue_url
618
626
  # The URL of the Amazon SQS queue from which messages are deleted.
619
627
  #
@@ -633,13 +641,6 @@ module Aws::SQS
633
641
  include Aws::Structure
634
642
  end
635
643
 
636
- # @note When making an API call, you may pass DeleteQueueRequest
637
- # data as a hash:
638
- #
639
- # {
640
- # queue_url: "String", # required
641
- # }
642
- #
643
644
  # @!attribute [rw] queue_url
644
645
  # The URL of the Amazon SQS queue to delete.
645
646
  #
@@ -656,18 +657,17 @@ module Aws::SQS
656
657
 
657
658
  # The batch request doesn't contain any entries.
658
659
  #
660
+ # @!attribute [rw] message
661
+ # @return [String]
662
+ #
659
663
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/EmptyBatchRequest AWS API Documentation
660
664
  #
661
- class EmptyBatchRequest < Aws::EmptyStructure; end
665
+ class EmptyBatchRequest < Struct.new(
666
+ :message)
667
+ SENSITIVE = []
668
+ include Aws::Structure
669
+ end
662
670
 
663
- # @note When making an API call, you may pass GetQueueAttributesRequest
664
- # data as a hash:
665
- #
666
- # {
667
- # queue_url: "String", # required
668
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds
669
- # }
670
- #
671
671
  # @!attribute [rw] queue_url
672
672
  # The URL of the Amazon SQS queue whose attribute information is
673
673
  # retrieved.
@@ -678,6 +678,10 @@ module Aws::SQS
678
678
  # @!attribute [rw] attribute_names
679
679
  # A list of attributes for which to retrieve information.
680
680
  #
681
+ # The `AttributeNames` parameter is optional, but if you don't
682
+ # specify values for this parameter, the request returns empty
683
+ # results.
684
+ #
681
685
  # <note markdown="1"> In the future, new attributes might be added. If you write code that
682
686
  # calls this action, we recommend that you structure your code so that
683
687
  # it can handle new attributes gracefully.
@@ -688,10 +692,10 @@ module Aws::SQS
688
692
  #
689
693
  # The `ApproximateNumberOfMessagesDelayed`,
690
694
  # `ApproximateNumberOfMessagesNotVisible`, and
691
- # `ApproximateNumberOfMessagesVisible` metrics may not achieve
692
- # consistency until at least 1 minute after the producers stop sending
693
- # messages. This period is required for the queue metadata to reach
694
- # eventual consistency.
695
+ # `ApproximateNumberOfMessages` metrics may not achieve consistency
696
+ # until at least 1 minute after the producers stop sending messages.
697
+ # This period is required for the queue metadata to reach eventual
698
+ # consistency.
695
699
  #
696
700
  # * `All` – Returns all values.
697
701
  #
@@ -723,7 +727,14 @@ module Aws::SQS
723
727
  # message can contain before Amazon SQS rejects it.
724
728
  #
725
729
  # * `MessageRetentionPeriod` – Returns the length of time, in seconds,
726
- # for which Amazon SQS retains a message.
730
+ # for which Amazon SQS retains a message. When you change a queue's
731
+ # attributes, the change can take up to 60 seconds for most of the
732
+ # attributes to propagate throughout the Amazon SQS system. Changes
733
+ # made to the `MessageRetentionPeriod` attribute can take up to 15
734
+ # minutes and will impact existing messages in the queue potentially
735
+ # causing them to be expired and deleted if the
736
+ # `MessageRetentionPeriod` is reduced below the age of existing
737
+ # messages.
727
738
  #
728
739
  # * `Policy` – Returns the policy of the queue.
729
740
  #
@@ -733,11 +744,15 @@ module Aws::SQS
733
744
  # seconds, for which the `ReceiveMessage` action waits for a message
734
745
  # to arrive.
735
746
  #
747
+ # * `VisibilityTimeout` – Returns the visibility timeout for the
748
+ # queue. For more information about the visibility timeout, see
749
+ # [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
750
+ #
751
+ # The following attributes apply only to [dead-letter queues:][3]
752
+ #
736
753
  # * `RedrivePolicy` – The string that includes the parameters for the
737
754
  # dead-letter queue functionality of the source queue as a JSON
738
- # object. For more information about the redrive policy and
739
- # dead-letter queues, see [Using Amazon SQS Dead-Letter Queues][2]
740
- # in the *Amazon Simple Queue Service Developer Guide*.
755
+ # object. The parameters are as follows:
741
756
  #
742
757
  # * `deadLetterTargetArn` – The Amazon Resource Name (ARN) of the
743
758
  # dead-letter queue to which Amazon SQS moves messages after the
@@ -745,54 +760,114 @@ module Aws::SQS
745
760
  #
746
761
  # * `maxReceiveCount` – The number of times a message is delivered
747
762
  # to the source queue before being moved to the dead-letter queue.
748
- # When the `ReceiveCount` for a message exceeds the
763
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
749
764
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to
750
765
  # the dead-letter-queue.
766
+ # * `RedriveAllowPolicy` – The string that includes the parameters for
767
+ # the permissions for the dead-letter queue redrive permission and
768
+ # which source queues can specify dead-letter queues as a JSON
769
+ # object. The parameters are as follows:
770
+ #
771
+ # * `redrivePermission` – The permission type that defines which
772
+ # source queues can specify the current queue as the dead-letter
773
+ # queue. Valid values are:
774
+ #
775
+ # * `allowAll` – (Default) Any source queues in this Amazon Web
776
+ # Services account in the same Region can specify this queue as
777
+ # the dead-letter queue.
778
+ #
779
+ # * `denyAll` – No source queues can specify this queue as the
780
+ # dead-letter queue.
781
+ #
782
+ # * `byQueue` – Only queues specified by the `sourceQueueArns`
783
+ # parameter can specify this queue as the dead-letter queue.
784
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the
785
+ # source queues that can specify this queue as the dead-letter
786
+ # queue and redrive messages. You can specify this parameter only
787
+ # when the `redrivePermission` parameter is set to `byQueue`. You
788
+ # can specify up to 10 source queue ARNs. To allow more than 10
789
+ # source queues to specify dead-letter queues, set the
790
+ # `redrivePermission` parameter to `allowAll`.
791
+ #
792
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
793
+ # Similarly, the dead-letter queue of a standard queue must also be a
794
+ # standard queue.
751
795
  #
752
- # * `VisibilityTimeout` – Returns the visibility timeout for the
753
- # queue. For more information about the visibility timeout, see
754
- # [Visibility Timeout][3] in the *Amazon Simple Queue Service
755
- # Developer Guide*.
796
+ # </note>
756
797
  #
757
- # The following attributes apply only to [server-side-encryption][4]\:
798
+ # The following attributes apply only to [server-side-encryption][4]:
758
799
  #
759
- # * `KmsMasterKeyId` – Returns the ID of an AWS-managed customer
760
- # master key (CMK) for Amazon SQS or a custom CMK. For more
761
- # information, see [Key Terms][5].
800
+ # * `KmsMasterKeyId` – Returns the ID of an Amazon Web Services
801
+ # managed customer master key (CMK) for Amazon SQS or a custom CMK.
802
+ # For more information, see [Key Terms][5].
762
803
  #
763
804
  # * `KmsDataKeyReusePeriodSeconds` – Returns the length of time, in
764
805
  # seconds, for which Amazon SQS can reuse a data key to encrypt or
765
- # decrypt messages before calling AWS KMS again. For more
766
- # information, see [How Does the Data Key Reuse Period Work?][6].
806
+ # decrypt messages before calling KMS again. For more information,
807
+ # see [How Does the Data Key Reuse Period Work?][6].
808
+ #
809
+ # * `SqsManagedSseEnabled` – Returns information about whether the
810
+ # queue is using SSE-SQS encryption using SQS owned encryption keys.
811
+ # Only one server-side encryption option is supported per queue (for
812
+ # example, [SSE-KMS][7] or [SSE-SQS][8]).
767
813
  #
768
814
  # The following attributes apply only to [FIFO (first-in-first-out)
769
- # queues][7]\:
815
+ # queues][9]:
770
816
  #
771
- # * `FifoQueue` – Returns whether the queue is FIFO. For more
772
- # information, see [FIFO Queue Logic][8] in the *Amazon Simple Queue
773
- # Service Developer Guide*.
817
+ # * `FifoQueue` – Returns information about whether the queue is FIFO.
818
+ # For more information, see [FIFO queue logic][10] in the *Amazon
819
+ # SQS Developer Guide*.
774
820
  #
775
- # <note markdown="1"> To determine whether a queue is [FIFO][7], you can check whether
821
+ # <note markdown="1"> To determine whether a queue is [FIFO][9], you can check whether
776
822
  # `QueueName` ends with the `.fifo` suffix.
777
823
  #
778
824
  # </note>
779
825
  #
780
826
  # * `ContentBasedDeduplication` – Returns whether content-based
781
827
  # deduplication is enabled for the queue. For more information, see
782
- # [Exactly-Once Processing][9] in the *Amazon Simple Queue Service
783
- # Developer Guide*.
828
+ # [Exactly-once processing][11] in the *Amazon SQS Developer Guide*.
829
+ #
830
+ # The following attributes apply only to [high throughput for FIFO
831
+ # queues][12]:
832
+ #
833
+ # * `DeduplicationScope` – Specifies whether message deduplication
834
+ # occurs at the message group or queue level. Valid values are
835
+ # `messageGroup` and `queue`.
836
+ #
837
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue
838
+ # throughput quota applies to the entire queue or per message group.
839
+ # Valid values are `perQueue` and `perMessageGroupId`. The
840
+ # `perMessageGroupId` value is allowed only when the value for
841
+ # `DeduplicationScope` is `messageGroup`.
842
+ #
843
+ # To enable high throughput for FIFO queues, do the following:
844
+ #
845
+ # * Set `DeduplicationScope` to `messageGroup`.
846
+ #
847
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
848
+ #
849
+ # If you set these attributes to anything other than the values shown
850
+ # for enabling high throughput, normal throughput is in effect and
851
+ # deduplication occurs as specified.
852
+ #
853
+ # For information on throughput quotas, see [Quotas related to
854
+ # messages][13] in the *Amazon SQS Developer Guide*.
784
855
  #
785
856
  #
786
857
  #
787
858
  # [1]: http://en.wikipedia.org/wiki/Unix_time
788
- # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
789
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
859
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
860
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
790
861
  # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
791
862
  # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
792
863
  # [6]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
793
- # [7]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
794
- # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
795
- # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
864
+ # [7]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
865
+ # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
866
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
867
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html
868
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
869
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
870
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
796
871
  # @return [Array<String>]
797
872
  #
798
873
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/GetQueueAttributesRequest AWS API Documentation
@@ -818,14 +893,6 @@ module Aws::SQS
818
893
  include Aws::Structure
819
894
  end
820
895
 
821
- # @note When making an API call, you may pass GetQueueUrlRequest
822
- # data as a hash:
823
- #
824
- # {
825
- # queue_name: "String", # required
826
- # queue_owner_aws_account_id: "String",
827
- # }
828
- #
829
896
  # @!attribute [rw] queue_name
830
897
  # The name of the queue whose URL must be fetched. Maximum 80
831
898
  # characters. Valid values: alphanumeric characters, hyphens (`-`),
@@ -835,7 +902,8 @@ module Aws::SQS
835
902
  # @return [String]
836
903
  #
837
904
  # @!attribute [rw] queue_owner_aws_account_id
838
- # The AWS account ID of the account that created the queue.
905
+ # The Amazon Web Services account ID of the account that created the
906
+ # queue.
839
907
  # @return [String]
840
908
  #
841
909
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/GetQueueUrlRequest AWS API Documentation
@@ -848,7 +916,7 @@ module Aws::SQS
848
916
  end
849
917
 
850
918
  # For more information, see [Interpreting Responses][1] in the *Amazon
851
- # Simple Queue Service Developer Guide*.
919
+ # SQS Developer Guide*.
852
920
  #
853
921
  #
854
922
  #
@@ -866,18 +934,58 @@ module Aws::SQS
866
934
  include Aws::Structure
867
935
  end
868
936
 
937
+ # The `accountId` is invalid.
938
+ #
939
+ # @!attribute [rw] message
940
+ # @return [String]
941
+ #
942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/InvalidAddress AWS API Documentation
943
+ #
944
+ class InvalidAddress < Struct.new(
945
+ :message)
946
+ SENSITIVE = []
947
+ include Aws::Structure
948
+ end
949
+
869
950
  # The specified attribute doesn't exist.
870
951
  #
952
+ # @!attribute [rw] message
953
+ # @return [String]
954
+ #
871
955
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/InvalidAttributeName AWS API Documentation
872
956
  #
873
- class InvalidAttributeName < Aws::EmptyStructure; end
957
+ class InvalidAttributeName < Struct.new(
958
+ :message)
959
+ SENSITIVE = []
960
+ include Aws::Structure
961
+ end
962
+
963
+ # A queue attribute value is invalid.
964
+ #
965
+ # @!attribute [rw] message
966
+ # @return [String]
967
+ #
968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/InvalidAttributeValue AWS API Documentation
969
+ #
970
+ class InvalidAttributeValue < Struct.new(
971
+ :message)
972
+ SENSITIVE = []
973
+ include Aws::Structure
974
+ end
874
975
 
875
976
  # The `Id` of a batch entry in a batch request doesn't abide by the
876
977
  # specification.
877
978
  #
979
+ # @!attribute [rw] message
980
+ # @return [String]
981
+ #
878
982
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/InvalidBatchEntryId AWS API Documentation
879
983
  #
880
- class InvalidBatchEntryId < Aws::EmptyStructure; end
984
+ class InvalidBatchEntryId < Struct.new(
985
+ :message)
986
+ SENSITIVE = []
987
+ include Aws::Structure
988
+ end
881
989
 
882
990
  # The specified receipt handle isn't valid for the current version.
883
991
  #
@@ -887,19 +995,132 @@ module Aws::SQS
887
995
 
888
996
  # The message contains characters outside the allowed set.
889
997
  #
998
+ # @!attribute [rw] message
999
+ # @return [String]
1000
+ #
890
1001
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/InvalidMessageContents AWS API Documentation
891
1002
  #
892
- class InvalidMessageContents < Aws::EmptyStructure; end
1003
+ class InvalidMessageContents < Struct.new(
1004
+ :message)
1005
+ SENSITIVE = []
1006
+ include Aws::Structure
1007
+ end
1008
+
1009
+ # When the request to a queue is not HTTPS and SigV4.
1010
+ #
1011
+ # @!attribute [rw] message
1012
+ # @return [String]
1013
+ #
1014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/InvalidSecurity AWS API Documentation
1015
+ #
1016
+ class InvalidSecurity < Struct.new(
1017
+ :message)
1018
+ SENSITIVE = []
1019
+ include Aws::Structure
1020
+ end
1021
+
1022
+ # The caller doesn't have the required KMS access.
1023
+ #
1024
+ # @!attribute [rw] message
1025
+ # @return [String]
1026
+ #
1027
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/KmsAccessDenied AWS API Documentation
1028
+ #
1029
+ class KmsAccessDenied < Struct.new(
1030
+ :message)
1031
+ SENSITIVE = []
1032
+ include Aws::Structure
1033
+ end
1034
+
1035
+ # The request was denied due to request throttling.
1036
+ #
1037
+ # @!attribute [rw] message
1038
+ # @return [String]
1039
+ #
1040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/KmsDisabled AWS API Documentation
1041
+ #
1042
+ class KmsDisabled < Struct.new(
1043
+ :message)
1044
+ SENSITIVE = []
1045
+ include Aws::Structure
1046
+ end
1047
+
1048
+ # The request was rejected for one of the following reasons:
1049
+ #
1050
+ # * The KeyUsage value of the KMS key is incompatible with the API
1051
+ # operation.
1052
+ #
1053
+ # * The encryption algorithm or signing algorithm specified for the
1054
+ # operation is incompatible with the type of key material in the KMS
1055
+ # key (KeySpec).
1056
+ #
1057
+ # @!attribute [rw] message
1058
+ # @return [String]
1059
+ #
1060
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/KmsInvalidKeyUsage AWS API Documentation
1061
+ #
1062
+ class KmsInvalidKeyUsage < Struct.new(
1063
+ :message)
1064
+ SENSITIVE = []
1065
+ include Aws::Structure
1066
+ end
1067
+
1068
+ # The request was rejected because the state of the specified resource
1069
+ # is not valid for this request.
1070
+ #
1071
+ # @!attribute [rw] message
1072
+ # @return [String]
1073
+ #
1074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/KmsInvalidState AWS API Documentation
1075
+ #
1076
+ class KmsInvalidState < Struct.new(
1077
+ :message)
1078
+ SENSITIVE = []
1079
+ include Aws::Structure
1080
+ end
1081
+
1082
+ # The request was rejected because the specified entity or resource
1083
+ # could not be found.
1084
+ #
1085
+ # @!attribute [rw] message
1086
+ # @return [String]
1087
+ #
1088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/KmsNotFound AWS API Documentation
1089
+ #
1090
+ class KmsNotFound < Struct.new(
1091
+ :message)
1092
+ SENSITIVE = []
1093
+ include Aws::Structure
1094
+ end
1095
+
1096
+ # The request was rejected because the specified key policy isn't
1097
+ # syntactically or semantically correct.
1098
+ #
1099
+ # @!attribute [rw] message
1100
+ # @return [String]
1101
+ #
1102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/KmsOptInRequired AWS API Documentation
1103
+ #
1104
+ class KmsOptInRequired < Struct.new(
1105
+ :message)
1106
+ SENSITIVE = []
1107
+ include Aws::Structure
1108
+ end
893
1109
 
894
- # @note When making an API call, you may pass ListDeadLetterSourceQueuesRequest
895
- # data as a hash:
1110
+ # Amazon Web Services KMS throttles requests for the following
1111
+ # conditions.
896
1112
  #
897
- # {
898
- # queue_url: "String", # required
899
- # next_token: "Token",
900
- # max_results: 1,
901
- # }
1113
+ # @!attribute [rw] message
1114
+ # @return [String]
902
1115
  #
1116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/KmsThrottled AWS API Documentation
1117
+ #
1118
+ class KmsThrottled < Struct.new(
1119
+ :message)
1120
+ SENSITIVE = []
1121
+ include Aws::Structure
1122
+ end
1123
+
903
1124
  # @!attribute [rw] queue_url
904
1125
  # The URL of a dead-letter queue.
905
1126
  #
@@ -911,7 +1132,9 @@ module Aws::SQS
911
1132
  # @return [String]
912
1133
  #
913
1134
  # @!attribute [rw] max_results
914
- # Maximum number of results to include in the response.
1135
+ # Maximum number of results to include in the response. Value range is
1136
+ # 1 to 1000. You must set `MaxResults` to receive a value for
1137
+ # `NextToken` in the response.
915
1138
  # @return [Integer]
916
1139
  #
917
1140
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListDeadLetterSourceQueuesRequest AWS API Documentation
@@ -932,7 +1155,9 @@ module Aws::SQS
932
1155
  # @return [Array<String>]
933
1156
  #
934
1157
  # @!attribute [rw] next_token
935
- # Pagination token to include in the next request.
1158
+ # Pagination token to include in the next request. Token value is
1159
+ # `null` if there are no additional results to request, or if you did
1160
+ # not set `MaxResults` in the request.
936
1161
  # @return [String]
937
1162
  #
938
1163
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListDeadLetterSourceQueuesResult AWS API Documentation
@@ -944,13 +1169,107 @@ module Aws::SQS
944
1169
  include Aws::Structure
945
1170
  end
946
1171
 
947
- # @note When making an API call, you may pass ListQueueTagsRequest
948
- # data as a hash:
1172
+ # @!attribute [rw] source_arn
1173
+ # The ARN of the queue whose message movement tasks are to be listed.
1174
+ # @return [String]
1175
+ #
1176
+ # @!attribute [rw] max_results
1177
+ # The maximum number of results to include in the response. The
1178
+ # default is 1, which provides the most recent message movement task.
1179
+ # The upper limit is 10.
1180
+ # @return [Integer]
1181
+ #
1182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListMessageMoveTasksRequest AWS API Documentation
1183
+ #
1184
+ class ListMessageMoveTasksRequest < Struct.new(
1185
+ :source_arn,
1186
+ :max_results)
1187
+ SENSITIVE = []
1188
+ include Aws::Structure
1189
+ end
1190
+
1191
+ # @!attribute [rw] results
1192
+ # A list of message movement tasks and their attributes.
1193
+ # @return [Array<Types::ListMessageMoveTasksResultEntry>]
1194
+ #
1195
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListMessageMoveTasksResult AWS API Documentation
1196
+ #
1197
+ class ListMessageMoveTasksResult < Struct.new(
1198
+ :results)
1199
+ SENSITIVE = []
1200
+ include Aws::Structure
1201
+ end
1202
+
1203
+ # Contains the details of a message movement task.
1204
+ #
1205
+ # @!attribute [rw] task_handle
1206
+ # An identifier associated with a message movement task. When this
1207
+ # field is returned in the response of the `ListMessageMoveTasks`
1208
+ # action, it is only populated for tasks that are in RUNNING status.
1209
+ # @return [String]
1210
+ #
1211
+ # @!attribute [rw] status
1212
+ # The status of the message movement task. Possible values are:
1213
+ # RUNNING, COMPLETED, CANCELLING, CANCELLED, and FAILED.
1214
+ # @return [String]
1215
+ #
1216
+ # @!attribute [rw] source_arn
1217
+ # The ARN of the queue that contains the messages to be moved to
1218
+ # another queue.
1219
+ # @return [String]
1220
+ #
1221
+ # @!attribute [rw] destination_arn
1222
+ # The ARN of the destination queue if it has been specified in the
1223
+ # `StartMessageMoveTask` request. If a `DestinationArn` has not been
1224
+ # specified in the `StartMessageMoveTask` request, this field value
1225
+ # will be NULL.
1226
+ # @return [String]
1227
+ #
1228
+ # @!attribute [rw] max_number_of_messages_per_second
1229
+ # The number of messages to be moved per second (the message movement
1230
+ # rate), if it has been specified in the `StartMessageMoveTask`
1231
+ # request. If a `MaxNumberOfMessagesPerSecond` has not been specified
1232
+ # in the `StartMessageMoveTask` request, this field value will be
1233
+ # NULL.
1234
+ # @return [Integer]
1235
+ #
1236
+ # @!attribute [rw] approximate_number_of_messages_moved
1237
+ # The approximate number of messages already moved to the destination
1238
+ # queue.
1239
+ # @return [Integer]
1240
+ #
1241
+ # @!attribute [rw] approximate_number_of_messages_to_move
1242
+ # The number of messages to be moved from the source queue. This
1243
+ # number is obtained at the time of starting the message movement task
1244
+ # and is only included after the message movement task is selected to
1245
+ # start.
1246
+ # @return [Integer]
1247
+ #
1248
+ # @!attribute [rw] failure_reason
1249
+ # The task failure reason (only included if the task status is
1250
+ # FAILED).
1251
+ # @return [String]
949
1252
  #
950
- # {
951
- # queue_url: "String", # required
952
- # }
1253
+ # @!attribute [rw] started_timestamp
1254
+ # The timestamp of starting the message movement task.
1255
+ # @return [Integer]
953
1256
  #
1257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListMessageMoveTasksResultEntry AWS API Documentation
1258
+ #
1259
+ class ListMessageMoveTasksResultEntry < Struct.new(
1260
+ :task_handle,
1261
+ :status,
1262
+ :source_arn,
1263
+ :destination_arn,
1264
+ :max_number_of_messages_per_second,
1265
+ :approximate_number_of_messages_moved,
1266
+ :approximate_number_of_messages_to_move,
1267
+ :failure_reason,
1268
+ :started_timestamp)
1269
+ SENSITIVE = []
1270
+ include Aws::Structure
1271
+ end
1272
+
954
1273
  # @!attribute [rw] queue_url
955
1274
  # The URL of the queue.
956
1275
  # @return [String]
@@ -975,15 +1294,6 @@ module Aws::SQS
975
1294
  include Aws::Structure
976
1295
  end
977
1296
 
978
- # @note When making an API call, you may pass ListQueuesRequest
979
- # data as a hash:
980
- #
981
- # {
982
- # queue_name_prefix: "String",
983
- # next_token: "Token",
984
- # max_results: 1,
985
- # }
986
- #
987
1297
  # @!attribute [rw] queue_name_prefix
988
1298
  # A string to use for filtering the list results. Only those queues
989
1299
  # whose name begins with the specified string are returned.
@@ -996,7 +1306,9 @@ module Aws::SQS
996
1306
  # @return [String]
997
1307
  #
998
1308
  # @!attribute [rw] max_results
999
- # Maximum number of results to include in the response.
1309
+ # Maximum number of results to include in the response. Value range is
1310
+ # 1 to 1000. You must set `MaxResults` to receive a value for
1311
+ # `NextToken` in the response.
1000
1312
  # @return [Integer]
1001
1313
  #
1002
1314
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListQueuesRequest AWS API Documentation
@@ -1013,11 +1325,13 @@ module Aws::SQS
1013
1325
  #
1014
1326
  # @!attribute [rw] queue_urls
1015
1327
  # A list of queue URLs, up to 1,000 entries, or the value of
1016
- # MaxResults that you sent in the request.
1328
+ # `MaxResults` that you sent in the request.
1017
1329
  # @return [Array<String>]
1018
1330
  #
1019
1331
  # @!attribute [rw] next_token
1020
- # Pagination token to include in the next request.
1332
+ # Pagination token to include in the next request. Token value is
1333
+ # `null` if there are no additional results to request, or if you did
1334
+ # not set `MaxResults` in the request.
1021
1335
  # @return [String]
1022
1336
  #
1023
1337
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ListQueuesResult AWS API Documentation
@@ -1033,7 +1347,8 @@ module Aws::SQS
1033
1347
  #
1034
1348
  # @!attribute [rw] message_id
1035
1349
  # A unique identifier for the message. A `MessageId`is considered
1036
- # unique across all AWS accounts for an extended period of time.
1350
+ # unique across all Amazon Web Services accounts for an extended
1351
+ # period of time.
1037
1352
  # @return [String]
1038
1353
  #
1039
1354
  # @!attribute [rw] receipt_handle
@@ -1092,12 +1407,12 @@ module Aws::SQS
1092
1407
  #
1093
1408
  # @!attribute [rw] message_attributes
1094
1409
  # Each message attribute consists of a `Name`, `Type`, and `Value`.
1095
- # For more information, see [Amazon SQS Message Attributes][1] in the
1096
- # *Amazon Simple Queue Service Developer Guide*.
1410
+ # For more information, see [Amazon SQS message attributes][1] in the
1411
+ # *Amazon SQS Developer Guide*.
1097
1412
  #
1098
1413
  #
1099
1414
  #
1100
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
1415
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
1101
1416
  # @return [Hash<String,Types::MessageAttributeValue>]
1102
1417
  #
1103
1418
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/Message AWS API Documentation
@@ -1120,20 +1435,9 @@ module Aws::SQS
1120
1435
  #
1121
1436
  # `Name`, `type`, `value` and the message body must not be empty or
1122
1437
  # null. All parts of the message attribute, including `Name`, `Type`,
1123
- # and `Value`, are part of the message size restriction (256 KB or
1438
+ # and `Value`, are part of the message size restriction (256 KiB or
1124
1439
  # 262,144 bytes).
1125
1440
  #
1126
- # @note When making an API call, you may pass MessageAttributeValue
1127
- # data as a hash:
1128
- #
1129
- # {
1130
- # string_value: "String",
1131
- # binary_value: "data",
1132
- # string_list_values: ["String"],
1133
- # binary_list_values: ["data"],
1134
- # data_type: "String", # required
1135
- # }
1136
- #
1137
1441
  # @!attribute [rw] string_value
1138
1442
  # Strings are Unicode with UTF-8 binary encoding. For a list of code
1139
1443
  # values, see [ASCII Printable Characters][1].
@@ -1162,12 +1466,11 @@ module Aws::SQS
1162
1466
  # `StringValue`.
1163
1467
  #
1164
1468
  # You can also append custom labels. For more information, see [Amazon
1165
- # SQS Message Attributes][1] in the *Amazon Simple Queue Service
1166
- # Developer Guide*.
1469
+ # SQS Message Attributes][1] in the *Amazon SQS Developer Guide*.
1167
1470
  #
1168
1471
  #
1169
1472
  #
1170
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
1473
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
1171
1474
  # @return [String]
1172
1475
  #
1173
1476
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/MessageAttributeValue AWS API Documentation
@@ -1195,17 +1498,6 @@ module Aws::SQS
1195
1498
  # `Name`, `type`, `value` and the message body must not be empty or
1196
1499
  # null.
1197
1500
  #
1198
- # @note When making an API call, you may pass MessageSystemAttributeValue
1199
- # data as a hash:
1200
- #
1201
- # {
1202
- # string_value: "String",
1203
- # binary_value: "data",
1204
- # string_list_values: ["String"],
1205
- # binary_list_values: ["data"],
1206
- # data_type: "String", # required
1207
- # }
1208
- #
1209
1501
  # @!attribute [rw] string_value
1210
1502
  # Strings are Unicode with UTF-8 binary encoding. For a list of code
1211
1503
  # values, see [ASCII Printable Characters][1].
@@ -1234,12 +1526,11 @@ module Aws::SQS
1234
1526
  # `StringValue`.
1235
1527
  #
1236
1528
  # You can also append custom labels. For more information, see [Amazon
1237
- # SQS Message Attributes][1] in the *Amazon Simple Queue Service
1238
- # Developer Guide*.
1529
+ # SQS Message Attributes][1] in the *Amazon SQS Developer Guide*.
1239
1530
  #
1240
1531
  #
1241
1532
  #
1242
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
1533
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
1243
1534
  # @return [String]
1244
1535
  #
1245
1536
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/MessageSystemAttributeValue AWS API Documentation
@@ -1255,29 +1546,36 @@ module Aws::SQS
1255
1546
  end
1256
1547
 
1257
1548
  # The specified action violates a limit. For example, `ReceiveMessage`
1258
- # returns this error if the maximum number of inflight messages is
1549
+ # returns this error if the maximum number of in flight messages is
1259
1550
  # reached and `AddPermission` returns this error if the maximum number
1260
1551
  # of permissions for the queue is reached.
1261
1552
  #
1553
+ # @!attribute [rw] message
1554
+ # @return [String]
1555
+ #
1262
1556
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/OverLimit AWS API Documentation
1263
1557
  #
1264
- class OverLimit < Aws::EmptyStructure; end
1558
+ class OverLimit < Struct.new(
1559
+ :message)
1560
+ SENSITIVE = []
1561
+ include Aws::Structure
1562
+ end
1265
1563
 
1266
1564
  # Indicates that the specified queue previously received a `PurgeQueue`
1267
1565
  # request within the last 60 seconds (the time it can take to delete the
1268
1566
  # messages in the queue).
1269
1567
  #
1568
+ # @!attribute [rw] message
1569
+ # @return [String]
1570
+ #
1270
1571
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/PurgeQueueInProgress AWS API Documentation
1271
1572
  #
1272
- class PurgeQueueInProgress < Aws::EmptyStructure; end
1573
+ class PurgeQueueInProgress < Struct.new(
1574
+ :message)
1575
+ SENSITIVE = []
1576
+ include Aws::Structure
1577
+ end
1273
1578
 
1274
- # @note When making an API call, you may pass PurgeQueueRequest
1275
- # data as a hash:
1276
- #
1277
- # {
1278
- # queue_url: "String", # required
1279
- # }
1280
- #
1281
1579
  # @!attribute [rw] queue_url
1282
1580
  # The URL of the queue from which the `PurgeQueue` action deletes
1283
1581
  # messages.
@@ -1296,43 +1594,58 @@ module Aws::SQS
1296
1594
  # You must wait 60 seconds after deleting a queue before you can create
1297
1595
  # another queue with the same name.
1298
1596
  #
1597
+ # @!attribute [rw] message
1598
+ # @return [String]
1599
+ #
1299
1600
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/QueueDeletedRecently AWS API Documentation
1300
1601
  #
1301
- class QueueDeletedRecently < Aws::EmptyStructure; end
1602
+ class QueueDeletedRecently < Struct.new(
1603
+ :message)
1604
+ SENSITIVE = []
1605
+ include Aws::Structure
1606
+ end
1302
1607
 
1303
1608
  # The specified queue doesn't exist.
1304
1609
  #
1610
+ # @!attribute [rw] message
1611
+ # @return [String]
1612
+ #
1305
1613
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/QueueDoesNotExist AWS API Documentation
1306
1614
  #
1307
- class QueueDoesNotExist < Aws::EmptyStructure; end
1615
+ class QueueDoesNotExist < Struct.new(
1616
+ :message)
1617
+ SENSITIVE = []
1618
+ include Aws::Structure
1619
+ end
1308
1620
 
1309
1621
  # A queue with this name already exists. Amazon SQS returns this error
1310
1622
  # only if the request includes attributes whose values differ from those
1311
1623
  # of the existing queue.
1312
1624
  #
1625
+ # @!attribute [rw] message
1626
+ # @return [String]
1627
+ #
1313
1628
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/QueueNameExists AWS API Documentation
1314
1629
  #
1315
- class QueueNameExists < Aws::EmptyStructure; end
1630
+ class QueueNameExists < Struct.new(
1631
+ :message)
1632
+ SENSITIVE = []
1633
+ include Aws::Structure
1634
+ end
1316
1635
 
1317
1636
  # The specified receipt handle isn't valid.
1318
1637
  #
1638
+ # @!attribute [rw] message
1639
+ # @return [String]
1640
+ #
1319
1641
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ReceiptHandleIsInvalid AWS API Documentation
1320
1642
  #
1321
- class ReceiptHandleIsInvalid < Aws::EmptyStructure; end
1643
+ class ReceiptHandleIsInvalid < Struct.new(
1644
+ :message)
1645
+ SENSITIVE = []
1646
+ include Aws::Structure
1647
+ end
1322
1648
 
1323
- # @note When making an API call, you may pass ReceiveMessageRequest
1324
- # data as a hash:
1325
- #
1326
- # {
1327
- # queue_url: "String", # required
1328
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds
1329
- # message_attribute_names: ["MessageAttributeName"],
1330
- # max_number_of_messages: 1,
1331
- # visibility_timeout: 1,
1332
- # wait_time_seconds: 1,
1333
- # receive_request_attempt_id: "String",
1334
- # }
1335
- #
1336
1649
  # @!attribute [rw] queue_url
1337
1650
  # The URL of the Amazon SQS queue from which messages are received.
1338
1651
  #
@@ -1340,6 +1653,10 @@ module Aws::SQS
1340
1653
  # @return [String]
1341
1654
  #
1342
1655
  # @!attribute [rw] attribute_names
1656
+ # This parameter has been deprecated but will be supported for
1657
+ # backward compatibility. To provide attribute names, you are
1658
+ # encouraged to use `MessageSystemAttributeNames`.
1659
+ #
1343
1660
  # A list of attributes that need to be returned along with each
1344
1661
  # message. These attributes include:
1345
1662
  #
@@ -1352,19 +1669,69 @@ module Aws::SQS
1352
1669
  # * `ApproximateReceiveCount` – Returns the number of times a message
1353
1670
  # has been received across all queues but not deleted.
1354
1671
  #
1355
- # * `AWSTraceHeader` – Returns the AWS X-Ray trace header string.
1672
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1356
1673
  #
1357
1674
  # * `SenderId`
1358
1675
  #
1359
- # * For an IAM user, returns the IAM user ID, for example
1676
+ # * For a user, returns the user ID, for example
1360
1677
  # `ABCDEFGHI1JKLMNOPQ23R`.
1361
1678
  #
1362
1679
  # * For an IAM role, returns the IAM role ID, for example
1363
1680
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1681
+ # * `SentTimestamp` – Returns the time the message was sent to the
1682
+ # queue ([epoch time][1] in milliseconds).
1683
+ #
1684
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption
1685
+ # using SQS owned encryption keys. Only one server-side encryption
1686
+ # option is supported per queue (for example, [SSE-KMS][2] or
1687
+ # [SSE-SQS][3]).
1688
+ #
1689
+ # * `MessageDeduplicationId` – Returns the value provided by the
1690
+ # producer that calls the ` SendMessage ` action.
1691
+ #
1692
+ # * `MessageGroupId` – Returns the value provided by the producer that
1693
+ # calls the ` SendMessage ` action. Messages with the same
1694
+ # `MessageGroupId` are returned in sequence.
1695
+ #
1696
+ # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1697
+ #
1698
+ #
1699
+ #
1700
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
1701
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1702
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1703
+ # @return [Array<String>]
1704
+ #
1705
+ # @!attribute [rw] message_system_attribute_names
1706
+ # A list of attributes that need to be returned along with each
1707
+ # message. These attributes include:
1708
+ #
1709
+ # * `All` – Returns all values.
1710
+ #
1711
+ # * `ApproximateFirstReceiveTimestamp` – Returns the time the message
1712
+ # was first received from the queue ([epoch time][1] in
1713
+ # milliseconds).
1714
+ #
1715
+ # * `ApproximateReceiveCount` – Returns the number of times a message
1716
+ # has been received across all queues but not deleted.
1717
+ #
1718
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1364
1719
  #
1720
+ # * `SenderId`
1721
+ #
1722
+ # * For a user, returns the user ID, for example
1723
+ # `ABCDEFGHI1JKLMNOPQ23R`.
1724
+ #
1725
+ # * For an IAM role, returns the IAM role ID, for example
1726
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1365
1727
  # * `SentTimestamp` – Returns the time the message was sent to the
1366
1728
  # queue ([epoch time][1] in milliseconds).
1367
1729
  #
1730
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption
1731
+ # using SQS owned encryption keys. Only one server-side encryption
1732
+ # option is supported per queue (for example, [SSE-KMS][2] or
1733
+ # [SSE-SQS][3]).
1734
+ #
1368
1735
  # * `MessageDeduplicationId` – Returns the value provided by the
1369
1736
  # producer that calls the ` SendMessage ` action.
1370
1737
  #
@@ -1377,6 +1744,8 @@ module Aws::SQS
1377
1744
  #
1378
1745
  #
1379
1746
  # [1]: http://en.wikipedia.org/wiki/Unix_time
1747
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1748
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1380
1749
  # @return [Array<String>]
1381
1750
  #
1382
1751
  # @!attribute [rw] message_attribute_names
@@ -1418,8 +1787,8 @@ module Aws::SQS
1418
1787
  # The duration (in seconds) for which the call waits for a message to
1419
1788
  # arrive in the queue before returning. If a message is available, the
1420
1789
  # call returns sooner than `WaitTimeSeconds`. If no messages are
1421
- # available and the wait time expires, the call returns successfully
1422
- # with an empty list of messages.
1790
+ # available and the wait time expires, the call does not return a
1791
+ # message list.
1423
1792
  #
1424
1793
  # To avoid HTTP errors, ensure that the HTTP response timeout for
1425
1794
  # `ReceiveMessage` requests is longer than the `WaitTimeSeconds`
@@ -1450,10 +1819,6 @@ module Aws::SQS
1450
1819
  # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1451
1820
  # can provide a `ReceiveRequestAttemptId` explicitly.
1452
1821
  #
1453
- # * If a caller of the `ReceiveMessage` action doesn't provide a
1454
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
1455
- # `ReceiveRequestAttemptId`.
1456
- #
1457
1822
  # * It is possible to retry the `ReceiveMessage` action with the same
1458
1823
  # `ReceiveRequestAttemptId` if none of the messages have been
1459
1824
  # modified (deleted or had their visibility changes).
@@ -1462,8 +1827,7 @@ module Aws::SQS
1462
1827
  # `ReceiveRequestAttemptId` return the same messages and receipt
1463
1828
  # handles. If a retry occurs within the deduplication interval, it
1464
1829
  # resets the visibility timeout. For more information, see
1465
- # [Visibility Timeout][1] in the *Amazon Simple Queue Service
1466
- # Developer Guide*.
1830
+ # [Visibility Timeout][1] in the *Amazon SQS Developer Guide*.
1467
1831
  #
1468
1832
  # If a caller of the `ReceiveMessage` action still processes
1469
1833
  # messages when the visibility timeout expires and messages become
@@ -1491,11 +1855,11 @@ module Aws::SQS
1491
1855
  # The maximum length of `ReceiveRequestAttemptId` is 128 characters.
1492
1856
  # `ReceiveRequestAttemptId` can contain alphanumeric characters
1493
1857
  # (`a-z`, `A-Z`, `0-9`) and punctuation (``
1494
- # !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~ ``).
1858
+ # !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ``).
1495
1859
  #
1496
1860
  # For best practices of using `ReceiveRequestAttemptId`, see [Using
1497
- # the ReceiveRequestAttemptId Request Parameter][2] in the *Amazon
1498
- # Simple Queue Service Developer Guide*.
1861
+ # the ReceiveRequestAttemptId Request Parameter][2] in the *Amazon SQS
1862
+ # Developer Guide*.
1499
1863
  #
1500
1864
  #
1501
1865
  #
@@ -1508,6 +1872,7 @@ module Aws::SQS
1508
1872
  class ReceiveMessageRequest < Struct.new(
1509
1873
  :queue_url,
1510
1874
  :attribute_names,
1875
+ :message_system_attribute_names,
1511
1876
  :message_attribute_names,
1512
1877
  :max_number_of_messages,
1513
1878
  :visibility_timeout,
@@ -1531,14 +1896,6 @@ module Aws::SQS
1531
1896
  include Aws::Structure
1532
1897
  end
1533
1898
 
1534
- # @note When making an API call, you may pass RemovePermissionRequest
1535
- # data as a hash:
1536
- #
1537
- # {
1538
- # queue_url: "String", # required
1539
- # label: "String", # required
1540
- # }
1541
- #
1542
1899
  # @!attribute [rw] queue_url
1543
1900
  # The URL of the Amazon SQS queue from which permissions are removed.
1544
1901
  #
@@ -1559,40 +1916,45 @@ module Aws::SQS
1559
1916
  include Aws::Structure
1560
1917
  end
1561
1918
 
1562
- # @note When making an API call, you may pass SendMessageBatchRequest
1563
- # data as a hash:
1564
- #
1565
- # {
1566
- # queue_url: "String", # required
1567
- # entries: [ # required
1568
- # {
1569
- # id: "String", # required
1570
- # message_body: "String", # required
1571
- # delay_seconds: 1,
1572
- # message_attributes: {
1573
- # "String" => {
1574
- # string_value: "String",
1575
- # binary_value: "data",
1576
- # string_list_values: ["String"],
1577
- # binary_list_values: ["data"],
1578
- # data_type: "String", # required
1579
- # },
1580
- # },
1581
- # message_system_attributes: {
1582
- # "AWSTraceHeader" => {
1583
- # string_value: "String",
1584
- # binary_value: "data",
1585
- # string_list_values: ["String"],
1586
- # binary_list_values: ["data"],
1587
- # data_type: "String", # required
1588
- # },
1589
- # },
1590
- # message_deduplication_id: "String",
1591
- # message_group_id: "String",
1592
- # },
1593
- # ],
1594
- # }
1919
+ # The request was denied due to request throttling.
1920
+ #
1921
+ # * The rate of requests per second exceeds the Amazon Web Services KMS
1922
+ # request quota for an account and Region.
1923
+ #
1924
+ # * A burst or sustained high rate of requests to change the state of
1925
+ # the same KMS key. This condition is often known as a "hot key."
1926
+ #
1927
+ # * Requests for operations on KMS keys in a Amazon Web Services
1928
+ # CloudHSM key store might be throttled at a lower-than-expected rate
1929
+ # when the Amazon Web Services CloudHSM cluster associated with the
1930
+ # Amazon Web Services CloudHSM key store is processing numerous
1931
+ # commands, including those unrelated to the Amazon Web Services
1932
+ # CloudHSM key store.
1933
+ #
1934
+ # @!attribute [rw] message
1935
+ # @return [String]
1936
+ #
1937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/RequestThrottled AWS API Documentation
1938
+ #
1939
+ class RequestThrottled < Struct.new(
1940
+ :message)
1941
+ SENSITIVE = []
1942
+ include Aws::Structure
1943
+ end
1944
+
1945
+ # One or more specified resources don't exist.
1946
+ #
1947
+ # @!attribute [rw] message
1948
+ # @return [String]
1949
+ #
1950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/ResourceNotFoundException AWS API Documentation
1595
1951
  #
1952
+ class ResourceNotFoundException < Struct.new(
1953
+ :message)
1954
+ SENSITIVE = []
1955
+ include Aws::Structure
1956
+ end
1957
+
1596
1958
  # @!attribute [rw] queue_url
1597
1959
  # The URL of the Amazon SQS queue to which batched messages are sent.
1598
1960
  #
@@ -1615,35 +1977,6 @@ module Aws::SQS
1615
1977
  # Contains the details of a single Amazon SQS message along with an
1616
1978
  # `Id`.
1617
1979
  #
1618
- # @note When making an API call, you may pass SendMessageBatchRequestEntry
1619
- # data as a hash:
1620
- #
1621
- # {
1622
- # id: "String", # required
1623
- # message_body: "String", # required
1624
- # delay_seconds: 1,
1625
- # message_attributes: {
1626
- # "String" => {
1627
- # string_value: "String",
1628
- # binary_value: "data",
1629
- # string_list_values: ["String"],
1630
- # binary_list_values: ["data"],
1631
- # data_type: "String", # required
1632
- # },
1633
- # },
1634
- # message_system_attributes: {
1635
- # "AWSTraceHeader" => {
1636
- # string_value: "String",
1637
- # binary_value: "data",
1638
- # string_list_values: ["String"],
1639
- # binary_list_values: ["data"],
1640
- # data_type: "String", # required
1641
- # },
1642
- # },
1643
- # message_deduplication_id: "String",
1644
- # message_group_id: "String",
1645
- # }
1646
- #
1647
1980
  # @!attribute [rw] id
1648
1981
  # An identifier for a message in this batch used to communicate the
1649
1982
  # result.
@@ -1676,12 +2009,12 @@ module Aws::SQS
1676
2009
  #
1677
2010
  # @!attribute [rw] message_attributes
1678
2011
  # Each message attribute consists of a `Name`, `Type`, and `Value`.
1679
- # For more information, see [Amazon SQS Message Attributes][1] in the
1680
- # *Amazon Simple Queue Service Developer Guide*.
2012
+ # For more information, see [Amazon SQS message attributes][1] in the
2013
+ # *Amazon SQS Developer Guide*.
1681
2014
  #
1682
2015
  #
1683
2016
  #
1684
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
2017
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
1685
2018
  # @return [Hash<String,Types::MessageAttributeValue>]
1686
2019
  #
1687
2020
  # @!attribute [rw] message_system_attributes
@@ -1690,7 +2023,7 @@ module Aws::SQS
1690
2023
  #
1691
2024
  # * Currently, the only supported message system attribute is
1692
2025
  # `AWSTraceHeader`. Its type must be `String` and its value must be
1693
- # a correctly formatted AWS X-Ray trace header string.
2026
+ # a correctly formatted X-Ray trace header string.
1694
2027
  #
1695
2028
  # * The size of a message system attribute doesn't count towards the
1696
2029
  # total size of a message.
@@ -1703,8 +2036,8 @@ module Aws::SQS
1703
2036
  # minimum deduplication interval. If a message with a particular
1704
2037
  # `MessageDeduplicationId` is sent successfully, subsequent messages
1705
2038
  # with the same `MessageDeduplicationId` are accepted successfully but
1706
- # aren't delivered. For more information, see [ Exactly-Once
1707
- # Processing][1] in the *Amazon Simple Queue Service Developer Guide*.
2039
+ # aren't delivered. For more information, see [ Exactly-once
2040
+ # processing][1] in the *Amazon SQS Developer Guide*.
1708
2041
  #
1709
2042
  # * Every message must have a unique `MessageDeduplicationId`,
1710
2043
  #
@@ -1722,7 +2055,6 @@ module Aws::SQS
1722
2055
  #
1723
2056
  # * If the queue has `ContentBasedDeduplication` set, your
1724
2057
  # `MessageDeduplicationId` overrides the generated one.
1725
- #
1726
2058
  # * When `ContentBasedDeduplication` is in effect, messages with
1727
2059
  # identical content sent within the deduplication interval are
1728
2060
  # treated as duplicates and only one copy of the message is
@@ -1749,16 +2081,16 @@ module Aws::SQS
1749
2081
  #
1750
2082
  # The length of `MessageDeduplicationId` is 128 characters.
1751
2083
  # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1752
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2084
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
1753
2085
  # ``).
1754
2086
  #
1755
2087
  # For best practices of using `MessageDeduplicationId`, see [Using the
1756
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1757
- # Service Developer Guide*.
2088
+ # MessageDeduplicationId Property][2] in the *Amazon SQS Developer
2089
+ # Guide*.
1758
2090
  #
1759
2091
  #
1760
2092
  #
1761
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
2093
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
1762
2094
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
1763
2095
  # @return [String]
1764
2096
  #
@@ -1784,11 +2116,10 @@ module Aws::SQS
1784
2116
  #
1785
2117
  # The length of `MessageGroupId` is 128 characters. Valid values:
1786
2118
  # alphanumeric characters and punctuation ``
1787
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
2119
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
1788
2120
  #
1789
2121
  # For best practices of using `MessageGroupId`, see [Using the
1790
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1791
- # Developer Guide*.
2122
+ # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
1792
2123
  #
1793
2124
  # `MessageGroupId` is required for FIFO queues. You can't use it for
1794
2125
  # Standard queues.
@@ -1846,11 +2177,10 @@ module Aws::SQS
1846
2177
  # @return [String]
1847
2178
  #
1848
2179
  # @!attribute [rw] md5_of_message_body
1849
- # An MD5 digest of the non-URL-encoded message attribute string. You
1850
- # can use this attribute to verify that Amazon SQS received the
1851
- # message correctly. Amazon SQS URL-decodes the message before
1852
- # creating the MD5 digest. For information about MD5, see
1853
- # [RFC1321][1].
2180
+ # An MD5 digest of the non-URL-encoded message body string. You can
2181
+ # use this attribute to verify that Amazon SQS received the message
2182
+ # correctly. Amazon SQS URL-decodes the message before creating the
2183
+ # MD5 digest. For information about MD5, see [RFC1321][1].
1854
2184
  #
1855
2185
  #
1856
2186
  #
@@ -1904,35 +2234,6 @@ module Aws::SQS
1904
2234
  include Aws::Structure
1905
2235
  end
1906
2236
 
1907
- # @note When making an API call, you may pass SendMessageRequest
1908
- # data as a hash:
1909
- #
1910
- # {
1911
- # queue_url: "String", # required
1912
- # message_body: "String", # required
1913
- # delay_seconds: 1,
1914
- # message_attributes: {
1915
- # "String" => {
1916
- # string_value: "String",
1917
- # binary_value: "data",
1918
- # string_list_values: ["String"],
1919
- # binary_list_values: ["data"],
1920
- # data_type: "String", # required
1921
- # },
1922
- # },
1923
- # message_system_attributes: {
1924
- # "AWSTraceHeader" => {
1925
- # string_value: "String",
1926
- # binary_value: "data",
1927
- # string_list_values: ["String"],
1928
- # binary_list_values: ["data"],
1929
- # data_type: "String", # required
1930
- # },
1931
- # },
1932
- # message_deduplication_id: "String",
1933
- # message_group_id: "String",
1934
- # }
1935
- #
1936
2237
  # @!attribute [rw] queue_url
1937
2238
  # The URL of the Amazon SQS queue to which a message is sent.
1938
2239
  #
@@ -1940,16 +2241,21 @@ module Aws::SQS
1940
2241
  # @return [String]
1941
2242
  #
1942
2243
  # @!attribute [rw] message_body
1943
- # The message to send. The maximum string size is 256 KB.
2244
+ # The message to send. The minimum size is one character. The maximum
2245
+ # size is 256 KiB.
1944
2246
  #
1945
2247
  # A message can include only XML, JSON, and unformatted text. The
1946
- # following Unicode characters are allowed:
2248
+ # following Unicode characters are allowed. For more information, see
2249
+ # the [W3C specification for characters][1].
1947
2250
  #
1948
2251
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to
1949
2252
  # `#xFFFD` \| `#x10000` to `#x10FFFF`
1950
2253
  #
1951
- # Any characters not included in this list will be rejected. For more
1952
- # information, see the [W3C specification for characters][1].
2254
+ # Amazon SQS does not throw an exception or completely reject the
2255
+ # message if it contains invalid characters. Instead, it replaces
2256
+ # those invalid characters with `U+FFFD` before storing the message in
2257
+ # the queue, as long as the message body contains at least one valid
2258
+ # character.
1953
2259
  #
1954
2260
  #
1955
2261
  #
@@ -1971,12 +2277,12 @@ module Aws::SQS
1971
2277
  #
1972
2278
  # @!attribute [rw] message_attributes
1973
2279
  # Each message attribute consists of a `Name`, `Type`, and `Value`.
1974
- # For more information, see [Amazon SQS Message Attributes][1] in the
1975
- # *Amazon Simple Queue Service Developer Guide*.
2280
+ # For more information, see [Amazon SQS message attributes][1] in the
2281
+ # *Amazon SQS Developer Guide*.
1976
2282
  #
1977
2283
  #
1978
2284
  #
1979
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
2285
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
1980
2286
  # @return [Hash<String,Types::MessageAttributeValue>]
1981
2287
  #
1982
2288
  # @!attribute [rw] message_system_attributes
@@ -1985,7 +2291,7 @@ module Aws::SQS
1985
2291
  #
1986
2292
  # * Currently, the only supported message system attribute is
1987
2293
  # `AWSTraceHeader`. Its type must be `String` and its value must be
1988
- # a correctly formatted AWS X-Ray trace header string.
2294
+ # a correctly formatted X-Ray trace header string.
1989
2295
  #
1990
2296
  # * The size of a message system attribute doesn't count towards the
1991
2297
  # total size of a message.
@@ -1998,8 +2304,8 @@ module Aws::SQS
1998
2304
  # a particular `MessageDeduplicationId` is sent successfully, any
1999
2305
  # messages sent with the same `MessageDeduplicationId` are accepted
2000
2306
  # successfully but aren't delivered during the 5-minute deduplication
2001
- # interval. For more information, see [ Exactly-Once Processing][1] in
2002
- # the *Amazon Simple Queue Service Developer Guide*.
2307
+ # interval. For more information, see [ Exactly-once processing][1] in
2308
+ # the *Amazon SQS Developer Guide*.
2003
2309
  #
2004
2310
  # * Every message must have a unique `MessageDeduplicationId`,
2005
2311
  #
@@ -2017,7 +2323,6 @@ module Aws::SQS
2017
2323
  #
2018
2324
  # * If the queue has `ContentBasedDeduplication` set, your
2019
2325
  # `MessageDeduplicationId` overrides the generated one.
2020
- #
2021
2326
  # * When `ContentBasedDeduplication` is in effect, messages with
2022
2327
  # identical content sent within the deduplication interval are
2023
2328
  # treated as duplicates and only one copy of the message is
@@ -2044,16 +2349,16 @@ module Aws::SQS
2044
2349
  #
2045
2350
  # The maximum length of `MessageDeduplicationId` is 128 characters.
2046
2351
  # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
2047
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2352
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
2048
2353
  # ``).
2049
2354
  #
2050
2355
  # For best practices of using `MessageDeduplicationId`, see [Using the
2051
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
2052
- # Service Developer Guide*.
2356
+ # MessageDeduplicationId Property][2] in the *Amazon SQS Developer
2357
+ # Guide*.
2053
2358
  #
2054
2359
  #
2055
2360
  #
2056
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
2361
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
2057
2362
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
2058
2363
  # @return [String]
2059
2364
  #
@@ -2077,13 +2382,12 @@ module Aws::SQS
2077
2382
  # are sorted by time sent. The caller can't specify a
2078
2383
  # `MessageGroupId`.
2079
2384
  #
2080
- # The length of `MessageGroupId` is 128 characters. Valid values:
2081
- # alphanumeric characters and punctuation ``
2082
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
2385
+ # The maximum length of `MessageGroupId` is 128 characters. Valid
2386
+ # values: alphanumeric characters and punctuation ``
2387
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
2083
2388
  #
2084
2389
  # For best practices of using `MessageGroupId`, see [Using the
2085
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
2086
- # Developer Guide*.
2390
+ # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
2087
2391
  #
2088
2392
  # `MessageGroupId` is required for FIFO queues. You can't use it for
2089
2393
  # Standard queues.
@@ -2110,11 +2414,10 @@ module Aws::SQS
2110
2414
  # The `MD5OfMessageBody` and `MessageId` elements.
2111
2415
  #
2112
2416
  # @!attribute [rw] md5_of_message_body
2113
- # An MD5 digest of the non-URL-encoded message attribute string. You
2114
- # can use this attribute to verify that Amazon SQS received the
2115
- # message correctly. Amazon SQS URL-decodes the message before
2116
- # creating the MD5 digest. For information about MD5, see
2117
- # [RFC1321][1].
2417
+ # An MD5 digest of the non-URL-encoded message body string. You can
2418
+ # use this attribute to verify that Amazon SQS received the message
2419
+ # correctly. Amazon SQS URL-decodes the message before creating the
2420
+ # MD5 digest. For information about MD5, see [RFC1321][1].
2118
2421
  #
2119
2422
  #
2120
2423
  #
@@ -2143,7 +2446,7 @@ module Aws::SQS
2143
2446
  # @!attribute [rw] message_id
2144
2447
  # An attribute containing the `MessageId` of the message sent to the
2145
2448
  # queue. For more information, see [Queue and Message Identifiers][1]
2146
- # in the *Amazon Simple Queue Service Developer Guide*.
2449
+ # in the *Amazon SQS Developer Guide*.
2147
2450
  #
2148
2451
  #
2149
2452
  #
@@ -2172,16 +2475,6 @@ module Aws::SQS
2172
2475
  include Aws::Structure
2173
2476
  end
2174
2477
 
2175
- # @note When making an API call, you may pass SetQueueAttributesRequest
2176
- # data as a hash:
2177
- #
2178
- # {
2179
- # queue_url: "String", # required
2180
- # attributes: { # required
2181
- # "All" => "String",
2182
- # },
2183
- # }
2184
- #
2185
2478
  # @!attribute [rw] queue_url
2186
2479
  # The URL of the Amazon SQS queue whose attributes are set.
2187
2480
  #
@@ -2207,22 +2500,34 @@ module Aws::SQS
2207
2500
  # * `MessageRetentionPeriod` – The length of time, in seconds, for
2208
2501
  # which Amazon SQS retains a message. Valid values: An integer
2209
2502
  # representing seconds, from 60 (1 minute) to 1,209,600 (14 days).
2210
- # Default: 345,600 (4 days).
2211
- #
2212
- # * `Policy` The queue's policy. A valid AWS policy. For more
2213
- # information about policy structure, see [Overview of AWS IAM
2214
- # Policies][1] in the *Amazon IAM User Guide*.
2503
+ # Default: 345,600 (4 days). When you change a queue's attributes,
2504
+ # the change can take up to 60 seconds for most of the attributes to
2505
+ # propagate throughout the Amazon SQS system. Changes made to the
2506
+ # `MessageRetentionPeriod` attribute can take up to 15 minutes and
2507
+ # will impact existing messages in the queue potentially causing
2508
+ # them to be expired and deleted if the `MessageRetentionPeriod` is
2509
+ # reduced below the age of existing messages.
2510
+ #
2511
+ # * `Policy` – The queue's policy. A valid Amazon Web Services
2512
+ # policy. For more information about policy structure, see [Overview
2513
+ # of Amazon Web Services IAM Policies][1] in the *Identity and
2514
+ # Access Management User Guide*.
2215
2515
  #
2216
2516
  # * `ReceiveMessageWaitTimeSeconds` – The length of time, in seconds,
2217
2517
  # for which a ` ReceiveMessage ` action waits for a message to
2218
2518
  # arrive. Valid values: An integer from 0 to 20 (seconds). Default:
2219
2519
  # 0.
2220
2520
  #
2521
+ # * `VisibilityTimeout` – The visibility timeout for the queue, in
2522
+ # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
2523
+ # Default: 30. For more information about the visibility timeout,
2524
+ # see [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
2525
+ #
2526
+ # The following attributes apply only to [dead-letter queues:][3]
2527
+ #
2221
2528
  # * `RedrivePolicy` – The string that includes the parameters for the
2222
2529
  # dead-letter queue functionality of the source queue as a JSON
2223
- # object. For more information about the redrive policy and
2224
- # dead-letter queues, see [Using Amazon SQS Dead-Letter Queues][2]
2225
- # in the *Amazon Simple Queue Service Developer Guide*.
2530
+ # object. The parameters are as follows:
2226
2531
  #
2227
2532
  # * `deadLetterTargetArn` – The Amazon Resource Name (ARN) of the
2228
2533
  # dead-letter queue to which Amazon SQS moves messages after the
@@ -2230,48 +2535,73 @@ module Aws::SQS
2230
2535
  #
2231
2536
  # * `maxReceiveCount` – The number of times a message is delivered
2232
2537
  # to the source queue before being moved to the dead-letter queue.
2233
- # When the `ReceiveCount` for a message exceeds the
2538
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
2234
2539
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to
2235
2540
  # the dead-letter-queue.
2541
+ # * `RedriveAllowPolicy` – The string that includes the parameters for
2542
+ # the permissions for the dead-letter queue redrive permission and
2543
+ # which source queues can specify dead-letter queues as a JSON
2544
+ # object. The parameters are as follows:
2545
+ #
2546
+ # * `redrivePermission` – The permission type that defines which
2547
+ # source queues can specify the current queue as the dead-letter
2548
+ # queue. Valid values are:
2549
+ #
2550
+ # * `allowAll` – (Default) Any source queues in this Amazon Web
2551
+ # Services account in the same Region can specify this queue as
2552
+ # the dead-letter queue.
2553
+ #
2554
+ # * `denyAll` – No source queues can specify this queue as the
2555
+ # dead-letter queue.
2556
+ #
2557
+ # * `byQueue` – Only queues specified by the `sourceQueueArns`
2558
+ # parameter can specify this queue as the dead-letter queue.
2559
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the
2560
+ # source queues that can specify this queue as the dead-letter
2561
+ # queue and redrive messages. You can specify this parameter only
2562
+ # when the `redrivePermission` parameter is set to `byQueue`. You
2563
+ # can specify up to 10 source queue ARNs. To allow more than 10
2564
+ # source queues to specify dead-letter queues, set the
2565
+ # `redrivePermission` parameter to `allowAll`.
2566
+ #
2567
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
2568
+ # Similarly, the dead-letter queue of a standard queue must also be a
2569
+ # standard queue.
2236
2570
  #
2237
- # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
2238
- # Similarly, the dead-letter queue of a standard queue must also be
2239
- # a standard queue.
2240
- #
2241
- # </note>
2242
- #
2243
- # * `VisibilityTimeout` – The visibility timeout for the queue, in
2244
- # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
2245
- # Default: 30. For more information about the visibility timeout,
2246
- # see [Visibility Timeout][3] in the *Amazon Simple Queue Service
2247
- # Developer Guide*.
2571
+ # </note>
2248
2572
  #
2249
- # The following attributes apply only to [server-side-encryption][4]\:
2573
+ # The following attributes apply only to [server-side-encryption][4]:
2250
2574
  #
2251
- # * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
2252
- # (CMK) for Amazon SQS or a custom CMK. For more information, see
2253
- # [Key Terms][5]. While the alias of the AWS-managed CMK for Amazon
2254
- # SQS is always `alias/aws/sqs`, the alias of a custom CMK can, for
2255
- # example, be `alias/MyAlias `. For more examples, see [KeyId][6] in
2256
- # the *AWS Key Management Service API Reference*.
2575
+ # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed
2576
+ # customer master key (CMK) for Amazon SQS or a custom CMK. For more
2577
+ # information, see [Key Terms][5]. While the alias of the
2578
+ # AWS-managed CMK for Amazon SQS is always `alias/aws/sqs`, the
2579
+ # alias of a custom CMK can, for example, be `alias/MyAlias `. For
2580
+ # more examples, see [KeyId][6] in the *Key Management Service API
2581
+ # Reference*.
2257
2582
  #
2258
2583
  # * `KmsDataKeyReusePeriodSeconds` – The length of time, in seconds,
2259
2584
  # for which Amazon SQS can reuse a [data key][7] to encrypt or
2260
- # decrypt messages before calling AWS KMS again. An integer
2261
- # representing seconds, between 60 seconds (1 minute) and 86,400
2262
- # seconds (24 hours). Default: 300 (5 minutes). A shorter time
2263
- # period provides better security but results in more calls to KMS
2264
- # which might incur charges after Free Tier. For more information,
2265
- # see [How Does the Data Key Reuse Period Work?][8].
2585
+ # decrypt messages before calling KMS again. An integer representing
2586
+ # seconds, between 60 seconds (1 minute) and 86,400 seconds (24
2587
+ # hours). Default: 300 (5 minutes). A shorter time period provides
2588
+ # better security but results in more calls to KMS which might incur
2589
+ # charges after Free Tier. For more information, see [How Does the
2590
+ # Data Key Reuse Period Work?][8].
2591
+ #
2592
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption
2593
+ # using SQS owned encryption keys. Only one server-side encryption
2594
+ # option is supported per queue (for example, [SSE-KMS][9] or
2595
+ # [SSE-SQS][10]).
2266
2596
  #
2267
2597
  # The following attribute applies only to [FIFO (first-in-first-out)
2268
- # queues][9]\:
2598
+ # queues][11]:
2269
2599
  #
2270
2600
  # * `ContentBasedDeduplication` – Enables content-based deduplication.
2271
- # For more information, see [Exactly-Once Processing][10] in the
2272
- # *Amazon Simple Queue Service Developer Guide*.
2601
+ # For more information, see [Exactly-once processing][12] in the
2602
+ # *Amazon SQS Developer Guide*. Note the following:
2273
2603
  #
2274
- # * Every message must have a unique `MessageDeduplicationId`,
2604
+ # * Every message must have a unique `MessageDeduplicationId`.
2275
2605
  #
2276
2606
  # * You may provide a `MessageDeduplicationId` explicitly.
2277
2607
  #
@@ -2287,7 +2617,6 @@ module Aws::SQS
2287
2617
  #
2288
2618
  # * If the queue has `ContentBasedDeduplication` set, your
2289
2619
  # `MessageDeduplicationId` overrides the generated one.
2290
- #
2291
2620
  # * When `ContentBasedDeduplication` is in effect, messages with
2292
2621
  # identical content sent within the deduplication interval are
2293
2622
  # treated as duplicates and only one copy of the message is
@@ -2299,18 +2628,48 @@ module Aws::SQS
2299
2628
  # `MessageDeduplicationId`, the two messages are treated as
2300
2629
  # duplicates and only one copy of the message is delivered.
2301
2630
  #
2631
+ # The following attributes apply only to [high throughput for FIFO
2632
+ # queues][13]:
2633
+ #
2634
+ # * `DeduplicationScope` – Specifies whether message deduplication
2635
+ # occurs at the message group or queue level. Valid values are
2636
+ # `messageGroup` and `queue`.
2637
+ #
2638
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue
2639
+ # throughput quota applies to the entire queue or per message group.
2640
+ # Valid values are `perQueue` and `perMessageGroupId`. The
2641
+ # `perMessageGroupId` value is allowed only when the value for
2642
+ # `DeduplicationScope` is `messageGroup`.
2643
+ #
2644
+ # To enable high throughput for FIFO queues, do the following:
2645
+ #
2646
+ # * Set `DeduplicationScope` to `messageGroup`.
2647
+ #
2648
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
2649
+ #
2650
+ # If you set these attributes to anything other than the values shown
2651
+ # for enabling high throughput, normal throughput is in effect and
2652
+ # deduplication occurs as specified.
2653
+ #
2654
+ # For information on throughput quotas, see [Quotas related to
2655
+ # messages][14] in the *Amazon SQS Developer Guide*.
2656
+ #
2302
2657
  #
2303
2658
  #
2304
2659
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
2305
- # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
2306
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
2660
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
2661
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
2307
2662
  # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
2308
2663
  # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
2309
2664
  # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
2310
2665
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
2311
2666
  # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
2312
- # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
2313
- # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
2667
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
2668
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
2669
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
2670
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
2671
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
2672
+ # [14]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
2314
2673
  # @return [Hash<String,String>]
2315
2674
  #
2316
2675
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/SetQueueAttributesRequest AWS API Documentation
@@ -2322,16 +2681,54 @@ module Aws::SQS
2322
2681
  include Aws::Structure
2323
2682
  end
2324
2683
 
2325
- # @note When making an API call, you may pass TagQueueRequest
2326
- # data as a hash:
2684
+ # @!attribute [rw] source_arn
2685
+ # The ARN of the queue that contains the messages to be moved to
2686
+ # another queue. Currently, only ARNs of dead-letter queues (DLQs)
2687
+ # whose sources are other Amazon SQS queues are accepted. DLQs whose
2688
+ # sources are non-SQS queues, such as Lambda or Amazon SNS topics, are
2689
+ # not currently supported.
2690
+ # @return [String]
2691
+ #
2692
+ # @!attribute [rw] destination_arn
2693
+ # The ARN of the queue that receives the moved messages. You can use
2694
+ # this field to specify the destination queue where you would like to
2695
+ # redrive messages. If this field is left blank, the messages will be
2696
+ # redriven back to their respective original source queues.
2697
+ # @return [String]
2698
+ #
2699
+ # @!attribute [rw] max_number_of_messages_per_second
2700
+ # The number of messages to be moved per second (the message movement
2701
+ # rate). You can use this field to define a fixed message movement
2702
+ # rate. The maximum value for messages per second is 500. If this
2703
+ # field is left blank, the system will optimize the rate based on the
2704
+ # queue message backlog size, which may vary throughout the duration
2705
+ # of the message movement task.
2706
+ # @return [Integer]
2707
+ #
2708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/StartMessageMoveTaskRequest AWS API Documentation
2709
+ #
2710
+ class StartMessageMoveTaskRequest < Struct.new(
2711
+ :source_arn,
2712
+ :destination_arn,
2713
+ :max_number_of_messages_per_second)
2714
+ SENSITIVE = []
2715
+ include Aws::Structure
2716
+ end
2717
+
2718
+ # @!attribute [rw] task_handle
2719
+ # An identifier associated with a message movement task. You can use
2720
+ # this identifier to cancel a specified message movement task using
2721
+ # the `CancelMessageMoveTask` action.
2722
+ # @return [String]
2327
2723
  #
2328
- # {
2329
- # queue_url: "String", # required
2330
- # tags: { # required
2331
- # "TagKey" => "TagValue",
2332
- # },
2333
- # }
2724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/StartMessageMoveTaskResult AWS API Documentation
2334
2725
  #
2726
+ class StartMessageMoveTaskResult < Struct.new(
2727
+ :task_handle)
2728
+ SENSITIVE = []
2729
+ include Aws::Structure
2730
+ end
2731
+
2335
2732
  # @!attribute [rw] queue_url
2336
2733
  # The URL of the queue.
2337
2734
  # @return [String]
@@ -2351,24 +2748,30 @@ module Aws::SQS
2351
2748
 
2352
2749
  # The batch request contains more entries than permissible.
2353
2750
  #
2751
+ # @!attribute [rw] message
2752
+ # @return [String]
2753
+ #
2354
2754
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/TooManyEntriesInBatchRequest AWS API Documentation
2355
2755
  #
2356
- class TooManyEntriesInBatchRequest < Aws::EmptyStructure; end
2756
+ class TooManyEntriesInBatchRequest < Struct.new(
2757
+ :message)
2758
+ SENSITIVE = []
2759
+ include Aws::Structure
2760
+ end
2357
2761
 
2358
2762
  # Error code 400. Unsupported operation.
2359
2763
  #
2764
+ # @!attribute [rw] message
2765
+ # @return [String]
2766
+ #
2360
2767
  # @see http://docs.aws.amazon.com/goto/WebAPI/sqs-2012-11-05/UnsupportedOperation AWS API Documentation
2361
2768
  #
2362
- class UnsupportedOperation < Aws::EmptyStructure; end
2769
+ class UnsupportedOperation < Struct.new(
2770
+ :message)
2771
+ SENSITIVE = []
2772
+ include Aws::Structure
2773
+ end
2363
2774
 
2364
- # @note When making an API call, you may pass UntagQueueRequest
2365
- # data as a hash:
2366
- #
2367
- # {
2368
- # queue_url: "String", # required
2369
- # tag_keys: ["TagKey"], # required
2370
- # }
2371
- #
2372
2775
  # @!attribute [rw] queue_url
2373
2776
  # The URL of the queue.
2374
2777
  # @return [String]
@@ -2388,3 +2791,4 @@ module Aws::SQS
2388
2791
 
2389
2792
  end
2390
2793
  end
2794
+