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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs * and names are case-sensitive.

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

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& AddAttributes(const QueueAttributeName& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& AddAttributes(QueueAttributeName&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& AddAttributes(const QueueAttributeName& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& AddAttributes(QueueAttributeName&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& AddAttributes(QueueAttributeName&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of attributes to set.

The following lists the names, * descriptions, and values of the special request parameters that the * SetQueueAttributes 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 (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) up 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 representing * seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). *

  • Policy – The queue's policy. A valid AWS * policy. For more information about policy structure, see Overview * of AWS IAM Policies in the Amazon 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.

  • *
  • RedrivePolicy – The string that includes the parameters * for the dead-letter queue functionality of the source queue as a JSON object. * For more information about the redrive policy and dead-letter queues, see Using * Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service * Developer Guide.

    • 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. When * the ReceiveCount for a message exceeds the * maxReceiveCount for a queue, Amazon SQS moves the message to the * dead-letter-queue.

    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.

  • * 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 Simple Queue Service Developer Guide.

  • *

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

*
  • KmsMasterKeyId – The ID of an AWS-managed customer * master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key * Terms. While the alias of the AWS-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 AWS 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 AWS 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?.

The following * attribute applies only to FIFO * (first-in-first-out) queues:

  • * ContentBasedDeduplication – Enables content-based deduplication. * For more information, see Exactly-Once * Processing in the Amazon Simple Queue Service Developer Guide.

    *
    • 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.

*/ inline SetQueueAttributesRequest& AddAttributes(const QueueAttributeName& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } private: Aws::String m_queueUrl; bool m_queueUrlHasBeenSet; Aws::Map m_attributes; bool m_attributesHasBeenSet; }; } // namespace Model } // namespace SQS } // namespace Aws