/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace SQS { namespace Model { /** *

See Also:

AWS * API Reference

*/ class GetQueueAttributesRequest : public SQSRequest { public: AWS_SQS_API GetQueueAttributesRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetQueueAttributes"; } AWS_SQS_API Aws::String SerializePayload() const override; protected: AWS_SQS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline const Aws::String& GetQueueUrl() const{ return m_queueUrl; } /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline bool QueueUrlHasBeenSet() const { return m_queueUrlHasBeenSet; } /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline void SetQueueUrl(const Aws::String& value) { m_queueUrlHasBeenSet = true; m_queueUrl = value; } /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline void SetQueueUrl(Aws::String&& value) { m_queueUrlHasBeenSet = true; m_queueUrl = std::move(value); } /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline void SetQueueUrl(const char* value) { m_queueUrlHasBeenSet = true; m_queueUrl.assign(value); } /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline GetQueueAttributesRequest& WithQueueUrl(const Aws::String& value) { SetQueueUrl(value); return *this;} /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline GetQueueAttributesRequest& WithQueueUrl(Aws::String&& value) { SetQueueUrl(std::move(value)); return *this;} /** *

The URL of the Amazon SQS queue whose attribute information is retrieved.

*

Queue URLs and names are case-sensitive.

*/ inline GetQueueAttributesRequest& WithQueueUrl(const char* value) { SetQueueUrl(value); return *this;} /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline const Aws::Vector& GetAttributeNames() const{ return m_attributeNames; } /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline bool AttributeNamesHasBeenSet() const { return m_attributeNamesHasBeenSet; } /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline void SetAttributeNames(const Aws::Vector& value) { m_attributeNamesHasBeenSet = true; m_attributeNames = value; } /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline void SetAttributeNames(Aws::Vector&& value) { m_attributeNamesHasBeenSet = true; m_attributeNames = std::move(value); } /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline GetQueueAttributesRequest& WithAttributeNames(const Aws::Vector& value) { SetAttributeNames(value); return *this;} /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline GetQueueAttributesRequest& WithAttributeNames(Aws::Vector&& value) { SetAttributeNames(std::move(value)); return *this;} /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline GetQueueAttributesRequest& AddAttributeNames(const QueueAttributeName& value) { m_attributeNamesHasBeenSet = true; m_attributeNames.push_back(value); return *this; } /** *

A list of attributes for which to retrieve information.

The * AttributeNames parameter is optional, but if you don't specify * values for this parameter, the request returns empty results.

In * the future, new attributes might be added. If you write code that calls this * action, we recommend that you structure your code so that it can handle new * attributes gracefully.

The following attributes are * supported:

The * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, and * ApproximateNumberOfMessages metrics may not achieve consistency * until at least 1 minute after the producers stop sending messages. This period * is required for the queue metadata to reach eventual consistency.

*
  • All – Returns all values.

  • *
  • ApproximateNumberOfMessages – Returns the approximate * number of messages available for retrieval from the queue.

  • * ApproximateNumberOfMessagesDelayed – Returns the approximate number * of messages in the queue that are delayed and not available for reading * immediately. This can happen when the queue is configured as a delay queue or * when a message has been sent with a delay parameter.

  • * ApproximateNumberOfMessagesNotVisible – Returns the approximate * number of messages that are in flight. Messages are considered to be in * flight if they have been sent to a client but have not yet been deleted or * have not yet reached the end of their visibility window.

  • * CreatedTimestamp – Returns the time when the queue was created in * seconds (epoch time).

    *
  • DelaySeconds – Returns the default delay on the * queue in seconds.

  • LastModifiedTimestamp – * Returns the time when the queue was last changed in seconds (epoch time).

  • *

    MaximumMessageSize – Returns the limit of how many bytes a * message can contain before Amazon SQS rejects it.

  • * MessageRetentionPeriod – Returns the length of time, in seconds, * for which Amazon SQS retains a message. When you change a queue's attributes, * the change can take up to 60 seconds for most of the attributes to propagate * throughout the Amazon SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes and will * impact existing messages in the queue potentially causing them to be expired and * deleted if the MessageRetentionPeriod is reduced below the age of * existing messages.

  • Policy – Returns the policy * of the queue.

  • QueueArn – Returns the Amazon * resource name (ARN) of the queue.

  • * ReceiveMessageWaitTimeSeconds – Returns the length of time, in * seconds, for which the ReceiveMessage action waits for a message to * arrive.

  • VisibilityTimeout – Returns the * visibility timeout for the queue. For more information about the visibility * timeout, see Visibility * Timeout in the Amazon SQS Developer Guide.

The * following attributes apply only to dead-letter * queues:

  • RedrivePolicy – The string that * includes the parameters for the dead-letter queue functionality of the source * queue as a JSON object. The parameters are as follows:

    • * deadLetterTargetArn – The Amazon Resource Name (ARN) of the * dead-letter queue to which Amazon SQS moves messages after the value of * maxReceiveCount is exceeded.

    • * maxReceiveCount – The number of times a message is delivered to the * source queue before being moved to the dead-letter queue. Default: 10. When the * ReceiveCount for a message exceeds the maxReceiveCount * for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • *
  • RedriveAllowPolicy – The string that includes * the parameters for the permissions for the dead-letter queue redrive permission * and which source queues can specify dead-letter queues as a JSON object. The * parameters are as follows:

    • redrivePermission – * The permission type that defines which source queues can specify the current * queue as the dead-letter queue. Valid values are:

      • * allowAll – (Default) Any source queues in this Amazon Web Services * account in the same Region can specify this queue as the dead-letter queue.

        *
      • denyAll – No source queues can specify this queue as * the dead-letter queue.

      • byQueue – Only queues * specified by the sourceQueueArns parameter can specify this queue * as the dead-letter queue.

    • * sourceQueueArns – The Amazon Resource Names (ARN)s of the source * queues that can specify this queue as the dead-letter queue and redrive * messages. You can specify this parameter only when the * redrivePermission parameter is set to byQueue. You can * specify up to 10 source queue ARNs. To allow more than 10 source queues to * specify dead-letter queues, set the redrivePermission parameter to * allowAll.

The dead-letter * queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter * queue of a standard queue must also be a standard queue.

The * following attributes apply only to server-side-encryption:

*
  • KmsMasterKeyId – Returns the ID of an Amazon Web * Services managed customer master key (CMK) for Amazon SQS or a custom CMK. For * more information, see Key * Terms.

  • KmsDataKeyReusePeriodSeconds – * Returns the length of time, in seconds, for which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. For more * information, see How * Does the Data Key Reuse Period Work?.

  • * SqsManagedSseEnabled – Returns information about whether the queue * is using SSE-SQS encryption using SQS owned encryption keys. Only one * server-side encryption option is supported per queue (for example, SSE-KMS * or SSE-SQS).

    *

The following attributes apply only to FIFO * (first-in-first-out) queues:

  • FifoQueue – * Returns information about whether the queue is FIFO. For more information, see * FIFO * queue logic in the Amazon SQS Developer Guide.

    To * determine whether a queue is FIFO, * you can check whether QueueName ends with the .fifo * suffix.

  • ContentBasedDeduplication – * Returns whether content-based deduplication is enabled for the queue. For more * information, see Exactly-once * processing in the Amazon SQS Developer Guide.

The * following attributes apply only to high * throughput for FIFO queues:

  • * DeduplicationScope – Specifies whether message deduplication occurs * at the message group or queue level. Valid values are messageGroup * and queue.

  • FifoThroughputLimit – * Specifies whether the FIFO queue throughput quota applies to the entire queue or * per message group. Valid values are perQueue and * perMessageGroupId. The perMessageGroupId value is * allowed only when the value for DeduplicationScope is * messageGroup.

To enable high throughput for FIFO * queues, do the following:

  • Set DeduplicationScope * to messageGroup.

  • Set * FifoThroughputLimit to perMessageGroupId.

  • *

If you set these attributes to anything other than the values shown for * enabling high throughput, normal throughput is in effect and deduplication * occurs as specified.

For information on throughput quotas, see Quotas * related to messages in the Amazon SQS Developer Guide.

*/ inline GetQueueAttributesRequest& AddAttributeNames(QueueAttributeName&& value) { m_attributeNamesHasBeenSet = true; m_attributeNames.push_back(std::move(value)); return *this; } private: Aws::String m_queueUrl; bool m_queueUrlHasBeenSet = false; Aws::Vector m_attributeNames; bool m_attributeNamesHasBeenSet = false; }; } // namespace Model } // namespace SQS } // namespace Aws