/* * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.sqs.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *

* Sets the value of one or more queue attributes. When you change a queue's * attributes, the change can take up to 60 seconds for most of the attributes * to propagate throughout the SQS system. Changes made to the * MessageRetentionPeriod attribute can take up to 15 minutes. *

* *

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

*
*/ public class SetQueueAttributesRequest extends AmazonWebServiceRequest implements Serializable { /** *

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

*/ private String queueUrl; /** *

* A map of attributes to set. *

*

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

* *

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

* *

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

*/ private java.util.Map attributes = new java.util.HashMap(); /** * Default constructor for SetQueueAttributesRequest object. Callers should * use the setter or fluent setter (with...) methods to initialize any * additional object members. */ public SetQueueAttributesRequest() { } /** * Constructs a new SetQueueAttributesRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize any additional * object members. * * @param queueUrl

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

* @param 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: *

* *

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

* *

* Any other valid special request parameters that are specified * (such as ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, * LastModifiedTimestamp, and QueueArn) * will be ignored. *

*/ public SetQueueAttributesRequest(String queueUrl, java.util.Map attributes) { setQueueUrl(queueUrl); setAttributes(attributes); } /** *

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

* * @return

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

*/ public String getQueueUrl() { return queueUrl; } /** *

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

* * @param queueUrl

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

*/ public void setQueueUrl(String queueUrl) { this.queueUrl = queueUrl; } /** *

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param queueUrl

* The URL of the Amazon SQS queue to take action on. *

*

* Queue URLs are case-sensitive. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SetQueueAttributesRequest withQueueUrl(String queueUrl) { this.queueUrl = queueUrl; 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 number of seconds for which the delivery * of all messages in the queue is delayed. An integer from 0 to 900 (15 * minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a message * can contain before Amazon SQS rejects it. An integer from 1,024 bytes (1 * KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for which * Amazon SQS retains a message. An integer representing seconds, from 60 (1 * minute) to 120,9600 (14 days). The default is 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 number of seconds for * which a ReceiveMessage action will wait for a message to arrive. * An integer from 0 to 20 (seconds). The default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter queue * functionality of the source queue. For more information about the redrive * policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer * Guide. *

    * *

    * 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. An * integer from 0 to 43200 (12 hours). The default is 30. For more * information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

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

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for messages with * identical content to be treated as duplicates. *

      *
    • *
    • *

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

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

* * @return

* 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 number of seconds for which the * delivery of all messages in the queue is delayed. An integer from * 0 to 900 (15 minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a * message can contain before Amazon SQS rejects it. An integer from * 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The default is * 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for * which Amazon SQS retains a message. An integer representing * seconds, from 60 (1 minute) to 120,9600 (14 days). The default is * 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 number of * seconds for which a ReceiveMessage action will wait for a * message to arrive. An integer from 0 to 20 (seconds). The default * is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter * queue functionality of the source queue. For more information * about the redrive policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS * Developer Guide. *

    * *

    * 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. An integer from 0 to 43200 (12 hours). The default is 30. * For more information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

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

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for * messages with identical content to be treated as duplicates. *

      *
    • *
    • *

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

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified * (such as ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp * , and QueueArn) will be ignored. *

*/ public java.util.Map getAttributes() { return 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 number of seconds for which the delivery * of all messages in the queue is delayed. An integer from 0 to 900 (15 * minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a message * can contain before Amazon SQS rejects it. An integer from 1,024 bytes (1 * KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for which * Amazon SQS retains a message. An integer representing seconds, from 60 (1 * minute) to 120,9600 (14 days). The default is 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 number of seconds for * which a ReceiveMessage action will wait for a message to arrive. * An integer from 0 to 20 (seconds). The default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter queue * functionality of the source queue. For more information about the redrive * policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer * Guide. *

    * *

    * 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. An * integer from 0 to 43200 (12 hours). The default is 30. For more * information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

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

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for messages with * identical content to be treated as duplicates. *

      *
    • *
    • *

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

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

* * @param 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 number of seconds for which * the delivery of all messages in the queue is delayed. An * integer from 0 to 900 (15 minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes * a message can contain before Amazon SQS rejects it. An integer * from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The * default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds * for which Amazon SQS retains a message. An integer * representing seconds, from 60 (1 minute) to 120,9600 (14 * days). The default is 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 number of * seconds for which a ReceiveMessage action will wait for * a message to arrive. An integer from 0 to 20 (seconds). The * default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead * letter queue functionality of the source queue. For more * information about the redrive policy and dead letter queues, * see Using Amazon SQS Dead Letter Queues in the Amazon SQS * Developer Guide. *

    * *

    * 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. An integer from 0 to 43200 (12 hours). The default * is 30. For more information about the visibility timeout, see * Visibility Timeout in the Amazon SQS Developer * Guide. *

    *
  • *
*

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

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for * messages with identical content to be treated as duplicates. *

      *
    • *
    • *

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

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified * (such as ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, * LastModifiedTimestamp, and QueueArn) * will be ignored. *

*/ public void setAttributes(java.util.Map attributes) { this.attributes = 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 number of seconds for which the delivery * of all messages in the queue is delayed. An integer from 0 to 900 (15 * minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a message * can contain before Amazon SQS rejects it. An integer from 1,024 bytes (1 * KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for which * Amazon SQS retains a message. An integer representing seconds, from 60 (1 * minute) to 120,9600 (14 days). The default is 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 number of seconds for * which a ReceiveMessage action will wait for a message to arrive. * An integer from 0 to 20 (seconds). The default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter queue * functionality of the source queue. For more information about the redrive * policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer * Guide. *

    * *

    * 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. An * integer from 0 to 43200 (12 hours). The default is 30. For more * information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

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

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for messages with * identical content to be treated as duplicates. *

      *
    • *
    • *

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

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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 number of seconds for which * the delivery of all messages in the queue is delayed. An * integer from 0 to 900 (15 minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes * a message can contain before Amazon SQS rejects it. An integer * from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The * default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds * for which Amazon SQS retains a message. An integer * representing seconds, from 60 (1 minute) to 120,9600 (14 * days). The default is 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 number of * seconds for which a ReceiveMessage action will wait for * a message to arrive. An integer from 0 to 20 (seconds). The * default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead * letter queue functionality of the source queue. For more * information about the redrive policy and dead letter queues, * see Using Amazon SQS Dead Letter Queues in the Amazon SQS * Developer Guide. *

    * *

    * 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. An integer from 0 to 43200 (12 hours). The default * is 30. For more information about the visibility timeout, see * Visibility Timeout in the Amazon SQS Developer * Guide. *

    *
  • *
*

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

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for * messages with identical content to be treated as duplicates. *

      *
    • *
    • *

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

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified * (such as ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, * LastModifiedTimestamp, and QueueArn) * will be ignored. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SetQueueAttributesRequest withAttributes(java.util.Map attributes) { this.attributes = attributes; 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 number of seconds for which the delivery * of all messages in the queue is delayed. An integer from 0 to 900 (15 * minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a message * can contain before Amazon SQS rejects it. An integer from 1,024 bytes (1 * KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for which * Amazon SQS retains a message. An integer representing seconds, from 60 (1 * minute) to 120,9600 (14 days). The default is 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 number of seconds for * which a ReceiveMessage action will wait for a message to arrive. * An integer from 0 to 20 (seconds). The default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter queue * functionality of the source queue. For more information about the redrive * policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer * Guide. *

    * *

    * 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. An * integer from 0 to 43200 (12 hours). The default is 30. For more * information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

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

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for messages with * identical content to be treated as duplicates. *

      *
    • *
    • *

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

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

*

* The method adds a new key-value pair into Attributes parameter, and * returns a reference to this object so that method calls can be chained * together. * * @param key The key of the entry to be added into Attributes. * @param value The corresponding value of the entry to be added into * Attributes. * @return A reference to this updated object so that method calls can be * chained together. */ public SetQueueAttributesRequest addAttributesEntry(String key, String value) { if (null == this.attributes) { this.attributes = new java.util.HashMap(); } if (this.attributes.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.attributes.put(key, value); return this; } /** * Removes all the entries added into Attributes. *

* Returns a reference to this object so that method calls can be chained * together. */ public SetQueueAttributesRequest clearAttributesEntries() { this.attributes = null; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getQueueUrl() != null) sb.append("QueueUrl: " + getQueueUrl() + ","); if (getAttributes() != null) sb.append("Attributes: " + getAttributes()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getQueueUrl() == null) ? 0 : getQueueUrl().hashCode()); hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SetQueueAttributesRequest == false) return false; SetQueueAttributesRequest other = (SetQueueAttributesRequest) obj; if (other.getQueueUrl() == null ^ this.getQueueUrl() == null) return false; if (other.getQueueUrl() != null && other.getQueueUrl().equals(this.getQueueUrl()) == false) return false; if (other.getAttributes() == null ^ this.getAttributes() == null) return false; if (other.getAttributes() != null && other.getAttributes().equals(this.getAttributes()) == false) return false; return true; } }