File Coverage

blib/lib/Paws/SQS/CreateQueue.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1              
2             package Paws::SQS::CreateQueue;
3 1     1   802 use Moose;
  1     2   4  
  1         12  
  2         1377  
  2         5  
  2         21  
4             has Attributes => (is => 'ro', isa => 'Paws::SQS::QueueAttributeMap', traits => ['NameInRequest'], request_name => 'Attribute' );
5             has QueueName => (is => 'ro', isa => 'Str', required => 1);
6              
7 1     1   8211 use MooseX::ClassAttribute;
  1     2   4  
  1         12  
  2         15607  
  2         8  
  2         23  
8              
9             class_has _api_call => (isa => 'Str', is => 'ro', default => 'CreateQueue');
10             class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::SQS::CreateQueueResult');
11             class_has _result_key => (isa => 'Str', is => 'ro', default => 'CreateQueueResult');
12             1;
13              
14             ### main pod documentation begin ###
15              
16             =head1 NAME
17              
18             Paws::SQS::CreateQueue - Arguments for method CreateQueue on Paws::SQS
19              
20             =head1 DESCRIPTION
21              
22             This class represents the parameters used for calling the method CreateQueue on the
23             Amazon Simple Queue Service service. Use the attributes of this class
24             as arguments to method CreateQueue.
25              
26             You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateQueue.
27              
28             As an example:
29              
30             $service_obj->CreateQueue(Att1 => $value1, Att2 => $value2, ...);
31              
32             Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object.
33              
34             =head1 ATTRIBUTES
35              
36              
37             =head2 Attributes => L<Paws::SQS::QueueAttributeMap>
38              
39             A map of attributes with their corresponding values.
40              
41             The following lists the names, descriptions, and values of the special
42             request parameters that the C<CreateQueue> action uses:
43              
44             =over
45              
46             =item *
47              
48             C<DelaySeconds> - The length of time, in seconds, for which the
49             delivery of all messages in the queue is delayed. Valid values: An
50             integer from 0 to 900 seconds (15 minutes). The default is 0 (zero).
51              
52             =item *
53              
54             C<MaximumMessageSize> - The limit of how many bytes a message can
55             contain before Amazon SQS rejects it. Valid values: An integer from
56             1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). The default is 262,144
57             (256 KiB).
58              
59             =item *
60              
61             C<MessageRetentionPeriod> - The length of time, in seconds, for which
62             Amazon SQS retains a message. Valid values: An integer from 60 seconds
63             (1 minute) to 1,209,600 seconds (14 days). The default is 345,600 (4
64             days).
65              
66             =item *
67              
68             C<Policy> - The queue's policy. A valid AWS policy. For more
69             information about policy structure, see Overview of AWS IAM Policies in
70             the I<Amazon IAM User Guide>.
71              
72             =item *
73              
74             C<ReceiveMessageWaitTimeSeconds> - The length of time, in seconds, for
75             which a C< ReceiveMessage > action waits for a message to arrive. Valid
76             values: An integer from 0 to 20 (seconds). The default is 0 (zero).
77              
78             =item *
79              
80             C<RedrivePolicy> - The parameters for the dead letter queue
81             functionality of the source queue. For more information about the
82             redrive policy and dead letter queues, see Using Amazon SQS Dead Letter
83             Queues in the I<Amazon SQS Developer Guide>.
84              
85             The dead letter queue of a FIFO queue must also be a FIFO queue.
86             Similarly, the dead letter queue of a standard queue must also be a
87             standard queue.
88              
89             =item *
90              
91             C<VisibilityTimeout> - The visibility timeout for the queue. Valid
92             values: An integer from 0 to 43,200 (12 hours). The default is 30. For
93             more information about the visibility timeout, see Visibility Timeout
94             in the I<Amazon SQS Developer Guide>.
95              
96             =back
97              
98             The following attributes apply only to server-side-encryption:
99              
100             =over
101              
102             =item *
103              
104             C<KmsMasterKeyId> - The ID of an AWS-managed customer master key (CMK)
105             for Amazon SQS or a custom CMK. For more information, see Key Terms.
106             While the alias of the AWS-managed CMK for Amazon SQS is always
107             C<alias/aws/sqs>, the alias of a custom CMK can, for example, be
108             C<alias/aws/sqs>. For more examples, see KeyId in the I<AWS Key
109             Management Service API Reference>.
110              
111             =item *
112              
113             C<KmsDataKeyReusePeriodSeconds> - The length of time, in seconds, for
114             which Amazon SQS can reuse a data key to encrypt or decrypt messages
115             before calling AWS KMS again. An integer representing seconds, between
116             60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300
117             (5 minutes). A shorter time period provides better security but results
118             in more calls to KMS which incur charges after Free Tier. For more
119             information, see How Does the Data Key Reuse Period Work?.
120              
121             =back
122              
123             The following attributes apply only to FIFO (first-in-first-out)
124             queues:
125              
126             =over
127              
128             =item *
129              
130             C<FifoQueue> - Designates a queue as FIFO. Valid values: C<true>,
131             C<false>. You can provide this attribute only during queue creation.
132             You can't change it for an existing queue. When you set this attribute,
133             you must also provide the C<MessageGroupId> for your messages
134             explicitly.
135              
136             For more information, see FIFO Queue Logic in the I<Amazon SQS
137             Developer Guide>.
138              
139             =item *
140              
141             C<ContentBasedDeduplication> - Enables content-based deduplication.
142             Valid values: C<true>, C<false>. For more information, see Exactly-Once
143             Processing in the I<Amazon SQS Developer Guide>.
144              
145             =over
146              
147             =item *
148              
149             Every message must have a unique C<MessageDeduplicationId>,
150              
151             =over
152              
153             =item *
154              
155             You may provide a C<MessageDeduplicationId> explicitly.
156              
157             =item *
158              
159             If you aren't able to provide a C<MessageDeduplicationId> and you
160             enable C<ContentBasedDeduplication> for your queue, Amazon SQS uses a
161             SHA-256 hash to generate the C<MessageDeduplicationId> using the body
162             of the message (but not the attributes of the message).
163              
164             =item *
165              
166             If you don't provide a C<MessageDeduplicationId> and the queue doesn't
167             have C<ContentBasedDeduplication> set, the action fails with an error.
168              
169             =item *
170              
171             If the queue has C<ContentBasedDeduplication> set, your
172             C<MessageDeduplicationId> overrides the generated one.
173              
174             =back
175              
176             =item *
177              
178             When C<ContentBasedDeduplication> is in effect, messages with identical
179             content sent within the deduplication interval are treated as
180             duplicates and only one copy of the message is delivered.
181              
182             =item *
183              
184             If you send one message with C<ContentBasedDeduplication> enabled and
185             then another message with a C<MessageDeduplicationId> that is the same
186             as the one generated for the first C<MessageDeduplicationId>, the two
187             messages are treated as duplicates and only one copy of the message is
188             delivered.
189              
190             =back
191              
192             =back
193              
194             Any other valid special request parameters (such as the following) are
195             ignored:
196              
197             =over
198              
199             =item *
200              
201             C<ApproximateNumberOfMessages>
202              
203             =item *
204              
205             C<ApproximateNumberOfMessagesDelayed>
206              
207             =item *
208              
209             C<ApproximateNumberOfMessagesNotVisible>
210              
211             =item *
212              
213             C<CreatedTimestamp>
214              
215             =item *
216              
217             C<LastModifiedTimestamp>
218              
219             =item *
220              
221             C<QueueArn>
222              
223             =back
224              
225              
226              
227              
228             =head2 B<REQUIRED> QueueName => Str
229              
230             The name of the new queue. The following limits apply to this name:
231              
232             =over
233              
234             =item *
235              
236             A queue name can have up to 80 characters.
237              
238             =item *
239              
240             Valid values: alphanumeric characters, hyphens (C<->), and underscores
241             (C<_>).
242              
243             =item *
244              
245             A FIFO queue name must end with the C<.fifo> suffix.
246              
247             =back
248              
249             Queue names are case-sensitive.
250              
251              
252              
253              
254             =head1 SEE ALSO
255              
256             This class forms part of L<Paws>, documenting arguments for method CreateQueue in L<Paws::SQS>
257              
258             =head1 BUGS and CONTRIBUTIONS
259              
260             The source code is located here: https://github.com/pplu/aws-sdk-perl
261              
262             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
263              
264             =cut
265