aws-sdk-sqs 1.30.0 → 1.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -54,10 +54,12 @@ module Aws::SQS
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = @client.get_queue_attributes(
57
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
58
+ @client.get_queue_attributes(
58
59
  queue_url: @url,
59
60
  attribute_names: ["All"]
60
61
  )
62
+ end
61
63
  @data = resp.data
62
64
  self
63
65
  end
@@ -94,11 +96,10 @@ module Aws::SQS
94
96
  # characters include alphanumeric characters, hyphens (`-`), and
95
97
  # underscores (`_`).
96
98
  # @option options [required, Array<String>] :aws_account_ids
97
- # The AWS account number of the [principal][1] who is given permission.
98
- # The principal must have an AWS account, but does not need to be signed
99
- # up for Amazon SQS. For information about locating the AWS account
100
- # identification, see [Your AWS Identifiers][2] in the *Amazon Simple
101
- # Queue Service Developer Guide*.
99
+ # The Amazon Web Services account numbers of the [principals][1] who are
100
+ # to receive permission. For information about locating the Amazon Web
101
+ # Services account identification, see [Your Amazon Web Services
102
+ # Identifiers][2] in the *Amazon SQS Developer Guide*.
102
103
  #
103
104
  #
104
105
  #
@@ -110,7 +111,7 @@ module Aws::SQS
110
111
  #
111
112
  # For more information about these actions, see [Overview of Managing
112
113
  # Access Permissions to Your Amazon Simple Queue Service Resource][1] in
113
- # the *Amazon Simple Queue Service Developer Guide*.
114
+ # the *Amazon SQS Developer Guide*.
114
115
  #
115
116
  # Specifying `SendMessage`, `DeleteMessage`, or
116
117
  # `ChangeMessageVisibility` for `ActionName.n` also grants permissions
@@ -124,7 +125,9 @@ module Aws::SQS
124
125
  # @return [EmptyStructure]
125
126
  def add_permission(options = {})
126
127
  options = options.merge(queue_url: @url)
127
- resp = @client.add_permission(options)
128
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
129
+ @client.add_permission(options)
130
+ end
128
131
  resp.data
129
132
  end
130
133
 
@@ -141,12 +144,14 @@ module Aws::SQS
141
144
  # })
142
145
  # @param [Hash] options ({})
143
146
  # @option options [required, Array<Types::ChangeMessageVisibilityBatchRequestEntry>] :entries
144
- # A list of receipt handles of the messages for which the visibility
147
+ # Lists the receipt handles of the messages for which the visibility
145
148
  # timeout must be changed.
146
149
  # @return [Types::ChangeMessageVisibilityBatchResult]
147
150
  def change_message_visibility_batch(options = {})
148
151
  options = options.merge(queue_url: @url)
149
- resp = @client.change_message_visibility_batch(options)
152
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
153
+ @client.change_message_visibility_batch(options)
154
+ end
150
155
  resp.data
151
156
  end
152
157
 
@@ -157,7 +162,9 @@ module Aws::SQS
157
162
  # @return [EmptyStructure]
158
163
  def delete(options = {})
159
164
  options = options.merge(queue_url: @url)
160
- resp = @client.delete_queue(options)
165
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
166
+ @client.delete_queue(options)
167
+ end
161
168
  resp.data
162
169
  end
163
170
 
@@ -173,11 +180,13 @@ module Aws::SQS
173
180
  # })
174
181
  # @param [Hash] options ({})
175
182
  # @option options [required, Array<Types::DeleteMessageBatchRequestEntry>] :entries
176
- # A list of receipt handles for the messages to be deleted.
183
+ # Lists the receipt handles for the messages to be deleted.
177
184
  # @return [Types::DeleteMessageBatchResult]
178
185
  def delete_messages(options = {})
179
186
  options = options.merge(queue_url: @url)
180
- resp = @client.delete_message_batch(options)
187
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
188
+ @client.delete_message_batch(options)
189
+ end
181
190
  resp.data
182
191
  end
183
192
 
@@ -188,14 +197,17 @@ module Aws::SQS
188
197
  # @return [EmptyStructure]
189
198
  def purge(options = {})
190
199
  options = options.merge(queue_url: @url)
191
- resp = @client.purge_queue(options)
200
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
201
+ @client.purge_queue(options)
202
+ end
192
203
  resp.data
193
204
  end
194
205
 
195
206
  # @example Request syntax with placeholder values
196
207
  #
197
208
  # message = queue.receive_messages({
198
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds
209
+ # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds, DeduplicationScope, FifoThroughputLimit, RedriveAllowPolicy, SqsManagedSseEnabled
210
+ # message_system_attribute_names: ["All"], # accepts All, SenderId, SentTimestamp, ApproximateReceiveCount, ApproximateFirstReceiveTimestamp, SequenceNumber, MessageDeduplicationId, MessageGroupId, AWSTraceHeader, DeadLetterQueueSourceArn
199
211
  # message_attribute_names: ["MessageAttributeName"],
200
212
  # max_number_of_messages: 1,
201
213
  # visibility_timeout: 1,
@@ -204,6 +216,10 @@ module Aws::SQS
204
216
  # })
205
217
  # @param [Hash] options ({})
206
218
  # @option options [Array<String>] :attribute_names
219
+ # This parameter has been deprecated but will be supported for backward
220
+ # compatibility. To provide attribute names, you are encouraged to use
221
+ # `MessageSystemAttributeNames`.
222
+ #
207
223
  # A list of attributes that need to be returned along with each message.
208
224
  # These attributes include:
209
225
  #
@@ -215,19 +231,64 @@ module Aws::SQS
215
231
  # * `ApproximateReceiveCount` – Returns the number of times a message
216
232
  # has been received across all queues but not deleted.
217
233
  #
218
- # * `AWSTraceHeader` – Returns the AWS X-Ray trace header string.
234
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
219
235
  #
220
236
  # * `SenderId`
221
237
  #
222
- # * For an IAM user, returns the IAM user ID, for example
238
+ # * For a user, returns the user ID, for example
223
239
  # `ABCDEFGHI1JKLMNOPQ23R`.
224
240
  #
225
241
  # * For an IAM role, returns the IAM role ID, for example
226
242
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
243
+ # * `SentTimestamp` – Returns the time the message was sent to the queue
244
+ # ([epoch time][1] in milliseconds).
245
+ #
246
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
247
+ # SQS owned encryption keys. Only one server-side encryption option is
248
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
249
+ #
250
+ # * `MessageDeduplicationId` – Returns the value provided by the
251
+ # producer that calls the ` SendMessage ` action.
252
+ #
253
+ # * `MessageGroupId` – Returns the value provided by the producer that
254
+ # calls the ` SendMessage ` action. Messages with the same
255
+ # `MessageGroupId` are returned in sequence.
256
+ #
257
+ # * `SequenceNumber` – Returns the value provided by Amazon SQS.
258
+ #
259
+ #
260
+ #
261
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
262
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
263
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
264
+ # @option options [Array<String>] :message_system_attribute_names
265
+ # A list of attributes that need to be returned along with each message.
266
+ # These attributes include:
267
+ #
268
+ # * `All` – Returns all values.
269
+ #
270
+ # * `ApproximateFirstReceiveTimestamp` – Returns the time the message
271
+ # was first received from the queue ([epoch time][1] in milliseconds).
272
+ #
273
+ # * `ApproximateReceiveCount` – Returns the number of times a message
274
+ # has been received across all queues but not deleted.
275
+ #
276
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
277
+ #
278
+ # * `SenderId`
279
+ #
280
+ # * For a user, returns the user ID, for example
281
+ # `ABCDEFGHI1JKLMNOPQ23R`.
227
282
  #
283
+ # * For an IAM role, returns the IAM role ID, for example
284
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
228
285
  # * `SentTimestamp` – Returns the time the message was sent to the queue
229
286
  # ([epoch time][1] in milliseconds).
230
287
  #
288
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
289
+ # SQS owned encryption keys. Only one server-side encryption option is
290
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
291
+ #
231
292
  # * `MessageDeduplicationId` – Returns the value provided by the
232
293
  # producer that calls the ` SendMessage ` action.
233
294
  #
@@ -240,6 +301,8 @@ module Aws::SQS
240
301
  #
241
302
  #
242
303
  # [1]: http://en.wikipedia.org/wiki/Unix_time
304
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
305
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
243
306
  # @option options [Array<String>] :message_attribute_names
244
307
  # The name of the message attribute, where *N* is the index.
245
308
  #
@@ -273,8 +336,8 @@ module Aws::SQS
273
336
  # The duration (in seconds) for which the call waits for a message to
274
337
  # arrive in the queue before returning. If a message is available, the
275
338
  # call returns sooner than `WaitTimeSeconds`. If no messages are
276
- # available and the wait time expires, the call returns successfully
277
- # with an empty list of messages.
339
+ # available and the wait time expires, the call does not return a
340
+ # message list.
278
341
  #
279
342
  # To avoid HTTP errors, ensure that the HTTP response timeout for
280
343
  # `ReceiveMessage` requests is longer than the `WaitTimeSeconds`
@@ -302,10 +365,6 @@ module Aws::SQS
302
365
  # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
303
366
  # can provide a `ReceiveRequestAttemptId` explicitly.
304
367
  #
305
- # * If a caller of the `ReceiveMessage` action doesn't provide a
306
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
307
- # `ReceiveRequestAttemptId`.
308
- #
309
368
  # * It is possible to retry the `ReceiveMessage` action with the same
310
369
  # `ReceiveRequestAttemptId` if none of the messages have been modified
311
370
  # (deleted or had their visibility changes).
@@ -314,7 +373,7 @@ module Aws::SQS
314
373
  # `ReceiveRequestAttemptId` return the same messages and receipt
315
374
  # handles. If a retry occurs within the deduplication interval, it
316
375
  # resets the visibility timeout. For more information, see [Visibility
317
- # Timeout][1] in the *Amazon Simple Queue Service Developer Guide*.
376
+ # Timeout][1] in the *Amazon SQS Developer Guide*.
318
377
  #
319
378
  # If a caller of the `ReceiveMessage` action still processes messages
320
379
  # when the visibility timeout expires and messages become visible,
@@ -339,12 +398,12 @@ module Aws::SQS
339
398
  #
340
399
  # The maximum length of `ReceiveRequestAttemptId` is 128 characters.
341
400
  # `ReceiveRequestAttemptId` can contain alphanumeric characters (`a-z`,
342
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
401
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
343
402
  # ``).
344
403
  #
345
404
  # For best practices of using `ReceiveRequestAttemptId`, see [Using the
346
- # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon Simple
347
- # Queue Service Developer Guide*.
405
+ # ReceiveRequestAttemptId Request Parameter][2] in the *Amazon SQS
406
+ # Developer Guide*.
348
407
  #
349
408
  #
350
409
  #
@@ -354,7 +413,9 @@ module Aws::SQS
354
413
  def receive_messages(options = {})
355
414
  batch = []
356
415
  options = options.merge(queue_url: @url)
357
- resp = @client.receive_message(options)
416
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
417
+ @client.receive_message(options)
418
+ end
358
419
  resp.data.messages.each do |m|
359
420
  batch << Message.new(
360
421
  queue_url: @url,
@@ -378,7 +439,9 @@ module Aws::SQS
378
439
  # @return [EmptyStructure]
379
440
  def remove_permission(options = {})
380
441
  options = options.merge(queue_url: @url)
381
- resp = @client.remove_permission(options)
442
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
443
+ @client.remove_permission(options)
444
+ end
382
445
  resp.data
383
446
  end
384
447
 
@@ -410,16 +473,21 @@ module Aws::SQS
410
473
  # })
411
474
  # @param [Hash] options ({})
412
475
  # @option options [required, String] :message_body
413
- # The message to send. The maximum string size is 256 KB.
476
+ # The message to send. The minimum size is one character. The maximum
477
+ # size is 256 KiB.
414
478
  #
415
479
  # A message can include only XML, JSON, and unformatted text. The
416
- # following Unicode characters are allowed:
480
+ # following Unicode characters are allowed. For more information, see
481
+ # the [W3C specification for characters][1].
417
482
  #
418
483
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
419
484
  # \| `#x10000` to `#x10FFFF`
420
485
  #
421
- # Any characters not included in this list will be rejected. For more
422
- # information, see the [W3C specification for characters][1].
486
+ # Amazon SQS does not throw an exception or completely reject the
487
+ # message if it contains invalid characters. Instead, it replaces those
488
+ # invalid characters with `U+FFFD` before storing the message in the
489
+ # queue, as long as the message body contains at least one valid
490
+ # character.
423
491
  #
424
492
  #
425
493
  #
@@ -437,19 +505,19 @@ module Aws::SQS
437
505
  # </note>
438
506
  # @option options [Hash<String,Types::MessageAttributeValue>] :message_attributes
439
507
  # Each message attribute consists of a `Name`, `Type`, and `Value`. For
440
- # more information, see [Amazon SQS Message Attributes][1] in the
441
- # *Amazon Simple Queue Service Developer Guide*.
508
+ # more information, see [Amazon SQS message attributes][1] in the
509
+ # *Amazon SQS Developer Guide*.
442
510
  #
443
511
  #
444
512
  #
445
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html
513
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
446
514
  # @option options [Hash<String,Types::MessageSystemAttributeValue>] :message_system_attributes
447
515
  # The message system attribute to send. Each message system attribute
448
516
  # consists of a `Name`, `Type`, and `Value`.
449
517
  #
450
518
  # * Currently, the only supported message system attribute is
451
519
  # `AWSTraceHeader`. Its type must be `String` and its value must be a
452
- # correctly formatted AWS X-Ray trace header string.
520
+ # correctly formatted X-Ray trace header string.
453
521
  #
454
522
  # * The size of a message system attribute doesn't count towards the
455
523
  # total size of a message.
@@ -460,8 +528,8 @@ module Aws::SQS
460
528
  # particular `MessageDeduplicationId` is sent successfully, any messages
461
529
  # sent with the same `MessageDeduplicationId` are accepted successfully
462
530
  # but aren't delivered during the 5-minute deduplication interval. For
463
- # more information, see [ Exactly-Once Processing][1] in the *Amazon
464
- # Simple Queue Service Developer Guide*.
531
+ # more information, see [ Exactly-once processing][1] in the *Amazon SQS
532
+ # Developer Guide*.
465
533
  #
466
534
  # * Every message must have a unique `MessageDeduplicationId`,
467
535
  #
@@ -478,7 +546,6 @@ module Aws::SQS
478
546
  #
479
547
  # * If the queue has `ContentBasedDeduplication` set, your
480
548
  # `MessageDeduplicationId` overrides the generated one.
481
- #
482
549
  # * When `ContentBasedDeduplication` is in effect, messages with
483
550
  # identical content sent within the deduplication interval are treated
484
551
  # as duplicates and only one copy of the message is delivered.
@@ -503,16 +570,16 @@ module Aws::SQS
503
570
  #
504
571
  # The maximum length of `MessageDeduplicationId` is 128 characters.
505
572
  # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
506
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
573
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
507
574
  # ``).
508
575
  #
509
576
  # For best practices of using `MessageDeduplicationId`, see [Using the
510
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
511
- # Service Developer Guide*.
577
+ # MessageDeduplicationId Property][2] in the *Amazon SQS Developer
578
+ # Guide*.
512
579
  #
513
580
  #
514
581
  #
515
- # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
582
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
516
583
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
517
584
  # @option options [String] :message_group_id
518
585
  # This parameter applies only to FIFO (first-in-first-out) queues.
@@ -533,13 +600,12 @@ module Aws::SQS
533
600
  # `MessageGroupId` values. For each `MessageGroupId`, the messages are
534
601
  # sorted by time sent. The caller can't specify a `MessageGroupId`.
535
602
  #
536
- # The length of `MessageGroupId` is 128 characters. Valid values:
537
- # alphanumeric characters and punctuation ``
538
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
603
+ # The maximum length of `MessageGroupId` is 128 characters. Valid
604
+ # values: alphanumeric characters and punctuation ``
605
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
539
606
  #
540
607
  # For best practices of using `MessageGroupId`, see [Using the
541
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
542
- # Developer Guide*.
608
+ # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
543
609
  #
544
610
  # `MessageGroupId` is required for FIFO queues. You can't use it for
545
611
  # Standard queues.
@@ -550,7 +616,9 @@ module Aws::SQS
550
616
  # @return [Types::SendMessageResult]
551
617
  def send_message(options = {})
552
618
  options = options.merge(queue_url: @url)
553
- resp = @client.send_message(options)
619
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
620
+ @client.send_message(options)
621
+ end
554
622
  resp.data
555
623
  end
556
624
 
@@ -591,7 +659,9 @@ module Aws::SQS
591
659
  # @return [Types::SendMessageBatchResult]
592
660
  def send_messages(options = {})
593
661
  options = options.merge(queue_url: @url)
594
- resp = @client.send_message_batch(options)
662
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
663
+ @client.send_message_batch(options)
664
+ end
595
665
  resp.data
596
666
  end
597
667
 
@@ -621,69 +691,105 @@ module Aws::SQS
621
691
  # * `MessageRetentionPeriod` – The length of time, in seconds, for which
622
692
  # Amazon SQS retains a message. Valid values: An integer representing
623
693
  # seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600
624
- # (4 days).
625
- #
626
- # * `Policy` The queue's policy. A valid AWS policy. For more
627
- # information about policy structure, see [Overview of AWS IAM
628
- # Policies][1] in the *Amazon IAM User Guide*.
694
+ # (4 days). When you change a queue's attributes, the change can take
695
+ # up to 60 seconds for most of the attributes to propagate throughout
696
+ # the Amazon SQS system. Changes made to the `MessageRetentionPeriod`
697
+ # attribute can take up to 15 minutes and will impact existing
698
+ # messages in the queue potentially causing them to be expired and
699
+ # deleted if the `MessageRetentionPeriod` is reduced below the age of
700
+ # existing messages.
701
+ #
702
+ # * `Policy` – The queue's policy. A valid Amazon Web Services policy.
703
+ # For more information about policy structure, see [Overview of Amazon
704
+ # Web Services IAM Policies][1] in the *Identity and Access Management
705
+ # User Guide*.
629
706
  #
630
707
  # * `ReceiveMessageWaitTimeSeconds` – The length of time, in seconds,
631
708
  # for which a ` ReceiveMessage ` action waits for a message to arrive.
632
709
  # Valid values: An integer from 0 to 20 (seconds). Default: 0.
633
710
  #
711
+ # * `VisibilityTimeout` – The visibility timeout for the queue, in
712
+ # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
713
+ # Default: 30. For more information about the visibility timeout, see
714
+ # [Visibility Timeout][2] in the *Amazon SQS Developer Guide*.
715
+ #
716
+ # The following attributes apply only to [dead-letter queues:][3]
717
+ #
634
718
  # * `RedrivePolicy` – The string that includes the parameters for the
635
719
  # dead-letter queue functionality of the source queue as a JSON
636
- # object. For more information about the redrive policy and
637
- # dead-letter queues, see [Using Amazon SQS Dead-Letter Queues][2] in
638
- # the *Amazon Simple Queue Service Developer Guide*.
720
+ # object. The parameters are as follows:
639
721
  #
640
722
  # * `deadLetterTargetArn` – The Amazon Resource Name (ARN) of the
641
723
  # dead-letter queue to which Amazon SQS moves messages after the
642
724
  # value of `maxReceiveCount` is exceeded.
643
725
  #
644
726
  # * `maxReceiveCount` – The number of times a message is delivered to
645
- # the source queue before being moved to the dead-letter queue. When
646
- # the `ReceiveCount` for a message exceeds the `maxReceiveCount` for
647
- # a queue, Amazon SQS moves the message to the dead-letter-queue.
727
+ # the source queue before being moved to the dead-letter queue.
728
+ # Default: 10. When the `ReceiveCount` for a message exceeds the
729
+ # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
730
+ # dead-letter-queue.
731
+ # * `RedriveAllowPolicy` – The string that includes the parameters for
732
+ # the permissions for the dead-letter queue redrive permission and
733
+ # which source queues can specify dead-letter queues as a JSON object.
734
+ # The parameters are as follows:
735
+ #
736
+ # * `redrivePermission` – The permission type that defines which
737
+ # source queues can specify the current queue as the dead-letter
738
+ # queue. Valid values are:
739
+ #
740
+ # * `allowAll` – (Default) Any source queues in this Amazon Web
741
+ # Services account in the same Region can specify this queue as
742
+ # the dead-letter queue.
743
+ #
744
+ # * `denyAll` – No source queues can specify this queue as the
745
+ # dead-letter queue.
746
+ #
747
+ # * `byQueue` – Only queues specified by the `sourceQueueArns`
748
+ # parameter can specify this queue as the dead-letter queue.
749
+ # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
750
+ # queues that can specify this queue as the dead-letter queue and
751
+ # redrive messages. You can specify this parameter only when the
752
+ # `redrivePermission` parameter is set to `byQueue`. You can specify
753
+ # up to 10 source queue ARNs. To allow more than 10 source queues to
754
+ # specify dead-letter queues, set the `redrivePermission` parameter
755
+ # to `allowAll`.
756
+ #
757
+ # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
758
+ # Similarly, the dead-letter queue of a standard queue must also be a
759
+ # standard queue.
648
760
  #
649
- # <note markdown="1"> The dead-letter queue of a FIFO queue must also be a FIFO queue.
650
- # Similarly, the dead-letter queue of a standard queue must also be a
651
- # standard queue.
652
- #
653
- # </note>
654
- #
655
- # * `VisibilityTimeout` – The visibility timeout for the queue, in
656
- # seconds. Valid values: An integer from 0 to 43,200 (12 hours).
657
- # Default: 30. For more information about the visibility timeout, see
658
- # [Visibility Timeout][3] in the *Amazon Simple Queue Service
659
- # Developer Guide*.
761
+ # </note>
660
762
  #
661
- # The following attributes apply only to [server-side-encryption][4]\:
763
+ # The following attributes apply only to [server-side-encryption][4]:
662
764
  #
663
- # * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
664
- # (CMK) for Amazon SQS or a custom CMK. For more information, see [Key
665
- # Terms][5]. While the alias of the AWS-managed CMK for Amazon SQS is
666
- # always `alias/aws/sqs`, the alias of a custom CMK can, for example,
667
- # be `alias/MyAlias `. For more examples, see [KeyId][6] in the *AWS
668
- # Key Management Service API Reference*.
765
+ # * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
766
+ # master key (CMK) for Amazon SQS or a custom CMK. For more
767
+ # information, see [Key Terms][5]. While the alias of the AWS-managed
768
+ # CMK for Amazon SQS is always `alias/aws/sqs`, the alias of a custom
769
+ # CMK can, for example, be `alias/MyAlias `. For more examples, see
770
+ # [KeyId][6] in the *Key Management Service API Reference*.
669
771
  #
670
772
  # * `KmsDataKeyReusePeriodSeconds` – The length of time, in seconds, for
671
773
  # which Amazon SQS can reuse a [data key][7] to encrypt or decrypt
672
- # messages before calling AWS KMS again. An integer representing
673
- # seconds, between 60 seconds (1 minute) and 86,400 seconds (24
674
- # hours). Default: 300 (5 minutes). A shorter time period provides
675
- # better security but results in more calls to KMS which might incur
676
- # charges after Free Tier. For more information, see [How Does the
677
- # Data Key Reuse Period Work?][8].
774
+ # messages before calling KMS again. An integer representing seconds,
775
+ # between 60 seconds (1 minute) and 86,400 seconds (24 hours).
776
+ # Default: 300 (5 minutes). A shorter time period provides better
777
+ # security but results in more calls to KMS which might incur charges
778
+ # after Free Tier. For more information, see [How Does the Data Key
779
+ # Reuse Period Work?][8].
780
+ #
781
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
782
+ # SQS owned encryption keys. Only one server-side encryption option is
783
+ # supported per queue (for example, [SSE-KMS][9] or [SSE-SQS][10]).
678
784
  #
679
785
  # The following attribute applies only to [FIFO (first-in-first-out)
680
- # queues][9]\:
786
+ # queues][11]:
681
787
  #
682
788
  # * `ContentBasedDeduplication` – Enables content-based deduplication.
683
- # For more information, see [Exactly-Once Processing][10] in the
684
- # *Amazon Simple Queue Service Developer Guide*.
789
+ # For more information, see [Exactly-once processing][12] in the
790
+ # *Amazon SQS Developer Guide*. Note the following:
685
791
  #
686
- # * Every message must have a unique `MessageDeduplicationId`,
792
+ # * Every message must have a unique `MessageDeduplicationId`.
687
793
  #
688
794
  # * You may provide a `MessageDeduplicationId` explicitly.
689
795
  #
@@ -699,7 +805,6 @@ module Aws::SQS
699
805
  #
700
806
  # * If the queue has `ContentBasedDeduplication` set, your
701
807
  # `MessageDeduplicationId` overrides the generated one.
702
- #
703
808
  # * When `ContentBasedDeduplication` is in effect, messages with
704
809
  # identical content sent within the deduplication interval are
705
810
  # treated as duplicates and only one copy of the message is
@@ -711,22 +816,54 @@ module Aws::SQS
711
816
  # `MessageDeduplicationId`, the two messages are treated as
712
817
  # duplicates and only one copy of the message is delivered.
713
818
  #
819
+ # The following attributes apply only to [high throughput for FIFO
820
+ # queues][13]:
821
+ #
822
+ # * `DeduplicationScope` – Specifies whether message deduplication
823
+ # occurs at the message group or queue level. Valid values are
824
+ # `messageGroup` and `queue`.
825
+ #
826
+ # * `FifoThroughputLimit` – Specifies whether the FIFO queue throughput
827
+ # quota applies to the entire queue or per message group. Valid values
828
+ # are `perQueue` and `perMessageGroupId`. The `perMessageGroupId`
829
+ # value is allowed only when the value for `DeduplicationScope` is
830
+ # `messageGroup`.
831
+ #
832
+ # To enable high throughput for FIFO queues, do the following:
833
+ #
834
+ # * Set `DeduplicationScope` to `messageGroup`.
835
+ #
836
+ # * Set `FifoThroughputLimit` to `perMessageGroupId`.
837
+ #
838
+ # If you set these attributes to anything other than the values shown
839
+ # for enabling high throughput, normal throughput is in effect and
840
+ # deduplication occurs as specified.
841
+ #
842
+ # For information on throughput quotas, see [Quotas related to
843
+ # messages][14] in the *Amazon SQS Developer Guide*.
844
+ #
714
845
  #
715
846
  #
716
847
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
717
- # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
718
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
848
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
849
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
719
850
  # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html
720
851
  # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms
721
852
  # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
722
853
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
723
854
  # [8]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work
724
- # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
725
- # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
855
+ # [9]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
856
+ # [10]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
857
+ # [11]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
858
+ # [12]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html
859
+ # [13]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
860
+ # [14]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
726
861
  # @return [EmptyStructure]
727
862
  def set_attributes(options = {})
728
863
  options = options.merge(queue_url: @url)
729
- resp = @client.set_queue_attributes(options)
864
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
865
+ @client.set_queue_attributes(options)
866
+ end
730
867
  resp.data
731
868
  end
732
869
 
@@ -740,7 +877,9 @@ module Aws::SQS
740
877
  def dead_letter_source_queues(options = {})
741
878
  batches = Enumerator.new do |y|
742
879
  options = options.merge(queue_url: @url)
743
- resp = @client.list_dead_letter_source_queues(options)
880
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
881
+ @client.list_dead_letter_source_queues(options)
882
+ end
744
883
  resp.each_page do |page|
745
884
  batch = []
746
885
  page.data.queue_urls.each do |q|