/* * 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; /** *
* Creates a new standard or FIFO queue or returns the URL of an existing queue. * You can pass one or more attributes in the request. *
*
* If you don't specify the FifoQueue
attribute, Amazon SQS creates
* a standard queue.
*
* You can't change the queue type after you create it and you can't convert an * existing standard queue into a FIFO queue. You must either create a new FIFO * queue for your application or delete your existing standard queue and * recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon SQS * Developer Guide. *
** If you don't provide a value for an attribute, the queue is created with the * default value for the attribute. *
** If you delete a queue, you must wait at least 60 seconds before creating a * queue with the same name. *
** To successfully create a new queue, you must provide a queue name that * adheres to the limits related to queues and is unique within the scope of your queues. *
*
* To get the queue URL, use the GetQueueUrl action. GetQueueUrl
* requires only the QueueName
parameter.
*
* If you provide the name of an existing queue along with the exact names and
* values of all the queue's attributes, CreateQueue
returns the
* queue URL for the existing queue.
*
* If the queue name, attribute names, or attribute values don't match an
* existing queue, CreateQueue
returns an error.
*
* Some API actions take lists of parameters. Specify these lists using the
* param.n
notation. Values of n
are integers starting
* from 1. The following is an example of a parameter list with two elements:
*
* &Attribute.1=this
*
* &Attribute.2=that
*
* The name of the new queue. The following limits apply to this name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
*/ private String queueName; /** ** A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the special
* request parameters that the CreateQueue
action uses:
*
* DelaySeconds
- The 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can provide this
* attribute only during queue creation; you can't change it for an existing
* queue. When you set this attribute, you must provide a
* MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *
*
* 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 name of the new queue. The following limits apply to this * name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
*/ public CreateQueueRequest(String queueName) { setQueueName(queueName); } /** ** The name of the new queue. The following limits apply to this name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
* * @return* The name of the new queue. The following limits apply to this * name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
*/ public String getQueueName() { return queueName; } /** ** The name of the new queue. The following limits apply to this name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
* * @param queueName* The name of the new queue. The following limits apply to this * name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
*/ public void setQueueName(String queueName) { this.queueName = queueName; } /** ** The name of the new queue. The following limits apply to this name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
** Returns a reference to this object so that method calls can be chained * together. * * @param queueName
* The name of the new queue. The following limits apply to this * name: *
** A queue name can have up to 80 characters. *
*
* The following are accepted: alphanumeric chatacters, hyphens (
* -
), and underscores (_
).
*
* A FIFO queue name must end with the .fifo
suffix.
*
* Queue names are case-sensitive. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateQueueRequest withQueueName(String queueName) { this.queueName = queueName; return this; } /** ** A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the special
* request parameters that the CreateQueue
action uses:
*
* DelaySeconds
- The 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can provide this
* attribute only during queue creation; you can't change it for an existing
* queue. When you set this attribute, you must provide a
* MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *
*
* 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.
*
* A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the
* special request parameters that the CreateQueue
* action uses:
*
* DelaySeconds
- The 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can
* provide this attribute only during queue creation; you can't
* change it for an existing queue. When you set this attribute, you
* must provide a MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *
*
* 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.
*
* A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the special
* request parameters that the CreateQueue
action uses:
*
* DelaySeconds
- The 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can provide this
* attribute only during queue creation; you can't change it for an existing
* queue. When you set this attribute, you must provide a
* MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *
*
* 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.
*
* A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the
* special request parameters that the CreateQueue
* action uses:
*
* DelaySeconds
- The 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can
* provide this attribute only during queue creation; you can't
* change it for an existing queue. When you set this attribute,
* you must provide a MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer * Guide. *
*
* 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.
*
* A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the special
* request parameters that the CreateQueue
action uses:
*
* DelaySeconds
- The 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can provide this
* attribute only during queue creation; you can't change it for an existing
* queue. When you set this attribute, you must provide a
* MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *
*
* 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 with their corresponding values. *
*
* The following lists the names, descriptions, and values of the
* special request parameters that the CreateQueue
* 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can
* provide this attribute only during queue creation; you can't
* change it for an existing queue. When you set this attribute,
* you must provide a MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer * Guide. *
*
* 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.
*
* A map of attributes with their corresponding values. *
*
* The following lists the names, descriptions, and values of the special
* request parameters that the CreateQueue
action uses:
*
* DelaySeconds
- The 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 attributes apply only to FIFO (first-in-first-out) queues: *
*
* FifoQueue
- Designates a queue as FIFO. You can provide this
* attribute only during queue creation; you can't change it for an existing
* queue. When you set this attribute, you must provide a
* MessageGroupId
explicitly.
*
* For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *
*
* 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 CreateQueueRequest addAttributesEntry(String key, String value) {
if (null == this.attributes) {
this.attributes = new java.util.HashMap
* Returns a reference to this object so that method calls can be chained
* together.
*/
public CreateQueueRequest 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 (getQueueName() != null)
sb.append("QueueName: " + getQueueName() + ",");
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 + ((getQueueName() == null) ? 0 : getQueueName().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 CreateQueueRequest == false)
return false;
CreateQueueRequest other = (CreateQueueRequest) obj;
if (other.getQueueName() == null ^ this.getQueueName() == null)
return false;
if (other.getQueueName() != null
&& other.getQueueName().equals(this.getQueueName()) == 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;
}
}