/** * 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 CreateQueueRequest : public SQSRequest { public: AWS_SQS_API CreateQueueRequest(); // 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 "CreateQueue"; } AWS_SQS_API Aws::String SerializePayload() const override; protected: AWS_SQS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline const Aws::String& GetQueueName() const{ return m_queueName; } /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline bool QueueNameHasBeenSet() const { return m_queueNameHasBeenSet; } /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline void SetQueueName(const Aws::String& value) { m_queueNameHasBeenSet = true; m_queueName = value; } /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline void SetQueueName(Aws::String&& value) { m_queueNameHasBeenSet = true; m_queueName = std::move(value); } /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline void SetQueueName(const char* value) { m_queueNameHasBeenSet = true; m_queueName.assign(value); } /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline CreateQueueRequest& WithQueueName(const Aws::String& value) { SetQueueName(value); return *this;} /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline CreateQueueRequest& WithQueueName(Aws::String&& value) { SetQueueName(std::move(value)); return *this;} /** *

The name of the new queue. The following limits apply to this name:

    *
  • A queue name can have up to 80 characters.

  • Valid * values: alphanumeric characters, hyphens (-), and underscores * (_).

  • A FIFO queue name must end with the * .fifo suffix.

Queue URLs and names are * case-sensitive.

*/ inline CreateQueueRequest& WithQueueName(const char* value) { SetQueueName(value); return *this;} /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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::Map& GetAttributes() const{ return m_attributes; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& AddAttributes(const QueueAttributeName& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& AddAttributes(QueueAttributeName&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& AddAttributes(const QueueAttributeName& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& AddAttributes(QueueAttributeName&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& AddAttributes(QueueAttributeName&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of attributes with their corresponding values.

The following * lists the names, descriptions, and values of the special request parameters that * the CreateQueue action uses:

  • * DelaySeconds – The length of time, in seconds, for which the * delivery of all messages in the queue is delayed. Valid values: An integer from * 0 to 900 seconds (15 minutes). Default: 0.

  • * MaximumMessageSize – The limit of how many bytes a message can * contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes * (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

  • *

    MessageRetentionPeriod – The length of time, in seconds, for * which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 * minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). 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 – The * queue's policy. A valid Amazon Web Services policy. For more information about * policy structure, see Overview * of Amazon Web Services IAM Policies in the IAM User Guide.

  • *
  • ReceiveMessageWaitTimeSeconds – The length of time, in * seconds, for which a ReceiveMessage action waits for a * message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0. *

  • VisibilityTimeout – The visibility timeout for * the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). * Default: 30. 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 – 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. While the alias of the Amazon Web Services managed CMK for Amazon SQS * is always alias/aws/sqs, the alias of a custom CMK can, for * example, be alias/MyAlias . For more examples, see KeyId * in the Key Management Service API Reference.

  • * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for * which Amazon SQS can reuse a data * key to encrypt or decrypt messages before calling KMS again. An integer * representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 * hours). Default: 300 (5 minutes). A shorter time period provides better security * but results in more calls to KMS which might incur charges after Free Tier. For * more information, see How * Does the Data Key Reuse Period Work?

  • * SqsManagedSseEnabled – Enables server-side queue 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 – * Designates a queue as FIFO. Valid values are true and * false. If you don't specify the FifoQueue attribute, * Amazon SQS creates a standard queue. You can provide this attribute only during * queue creation. You can't change it for an existing queue. When you set this * attribute, you must also provide the MessageGroupId for your * messages explicitly.

    For more information, see FIFO * queue logic in the Amazon SQS Developer Guide.

  • * ContentBasedDeduplication – Enables content-based deduplication. * Valid values are true and false. For more information, * see Exactly-once * processing in the Amazon SQS Developer Guide. Note the following: *

    • Every message must have a unique * MessageDeduplicationId.

      • You may provide a * MessageDeduplicationId explicitly.

      • If you aren't * able to provide a MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 * hash to generate the MessageDeduplicationId using the body of the * message (but not the attributes of the message).

      • If you don't * provide a MessageDeduplicationId and the queue doesn't have * ContentBasedDeduplication set, the action fails with an error.

        *
      • If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one.

      *
    • When ContentBasedDeduplication is in effect, messages * with identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered.

    • If * you send one message with ContentBasedDeduplication enabled and * then another message with a MessageDeduplicationId that is the same * as the one generated for the first MessageDeduplicationId, the two * messages are treated as duplicates and only one copy of the message is * delivered.

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 CreateQueueRequest& AddAttributes(const QueueAttributeName& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Add cost allocation tags to the specified Amazon SQS queue. For an overview, * see Tagging * Your Amazon SQS Queues in the Amazon SQS Developer Guide.

When * you use queue tags, keep the following guidelines in mind:

  • *

    Adding more than 50 tags to a queue isn't recommended.

  • Tags * don't have any semantic meaning. Amazon SQS interprets tags as character * strings.

  • Tags are case-sensitive.

  • A new tag * with a key identical to that of an existing tag overwrites the existing tag.

    *

For a full list of tag restrictions, see Quotas * related to queues in the Amazon SQS Developer Guide.

To * be able to tag a queue on creation, you must have the * sqs:CreateQueue and sqs:TagQueue permissions.

*

Cross-account permissions don't apply to this action. For more information, * see Grant * cross-account permissions to a role and a username in the Amazon SQS * Developer Guide.

*/ inline CreateQueueRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_queueName; bool m_queueNameHasBeenSet = false; Aws::Map m_attributes; bool m_attributesHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace SQS } // namespace Aws