aws-sdk-sqs 1.0.0.rc2 → 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,220 +1,229 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module SQS
10
- class Resource
8
+ module Aws::SQS
9
+ class Resource
11
10
 
12
- # @param options ({})
13
- # @option options [Client] :client
14
- def initialize(options = {})
15
- @client = options[:client] || Client.new(options)
16
- end
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
17
16
 
18
- # @return [Client]
19
- def client
20
- @client
21
- end
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
22
21
 
23
- # @!group Actions
22
+ # @!group Actions
24
23
 
25
- # @example Request syntax with placeholder values
26
- #
27
- # queue = sqs.create_queue({
28
- # queue_name: "String", # required
29
- # attributes: {
30
- # "All" => "String",
31
- # },
32
- # })
33
- # @param [Hash] options ({})
34
- # @option options [required, String] :queue_name
35
- # The name of the new queue. The following limits apply to this name:
36
- #
37
- # * A queue name can have up to 80 characters.
38
- #
39
- # * The following are accepted: alphanumeric chatacters, hyphens (`-`),
40
- # and underscores (`_`).
41
- #
42
- # * A FIFO queue name must end with the `.fifo` suffix.
43
- #
44
- # Queue names are case-sensitive.
45
- # @option options [Hash<String,String>] :attributes
46
- # A map of attributes with their corresponding values.
47
- #
48
- # The following lists the names, descriptions, and values of the special
49
- # request parameters that the `CreateQueue` action uses:
50
- #
51
- # * `DelaySeconds` - The number of seconds for which the delivery of all
52
- # messages in the queue is delayed. An integer from 0 to 900 (15
53
- # minutes). The default is 0 (zero).
54
- #
55
- # * `MaximumMessageSize` - The limit of how many bytes a message can
56
- # contain before Amazon SQS rejects it. An integer from 1,024 bytes (1
57
- # KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256
58
- # KiB).
59
- #
60
- # * `MessageRetentionPeriod` - The number of seconds for which Amazon
61
- # SQS retains a message. An integer representing seconds, from 60 (1
62
- # minute) to 120,9600 (14 days). The default is 345,600 (4 days).
63
- #
64
- # * `Policy` - The queue's policy. A valid AWS policy. For more
65
- # information about policy structure, see [Overview of AWS IAM
66
- # Policies][1] in the *Amazon IAM User Guide*.
67
- #
68
- # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which a
69
- # ReceiveMessage action will wait for a message to arrive. An integer
70
- # from 0 to 20 (seconds). The default is 0.
71
- #
72
- # * `RedrivePolicy` - The parameters for the dead letter queue
73
- # functionality of the source queue. For more information about the
74
- # redrive policy and dead letter queues, see [Using Amazon SQS Dead
75
- # Letter Queues][2] in the *Amazon SQS Developer Guide*.
76
- #
77
- # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
78
- # Similarly, the dead letter queue of a standard queue must also be a
79
- # standard queue.
80
- #
81
- # </note>
82
- #
83
- # * `VisibilityTimeout` - The visibility timeout for the queue. An
84
- # integer from 0 to 43200 (12 hours). The default is 30. For more
85
- # information about the visibility timeout, see [Visibility
86
- # Timeout][3] in the *Amazon SQS Developer Guide*.
87
- #
88
- # The following attributes apply only to [FIFO (first-in-first-out)
89
- # queues][4]\:
90
- #
91
- # * `FifoQueue` - Designates a queue as FIFO. You can provide this
92
- # attribute only during queue creation; you can't change it for an
93
- # existing queue. When you set this attribute, you must provide a
94
- # `MessageGroupId` explicitly.
95
- #
96
- # For more information, see [FIFO Queue Logic][5] in the *Amazon SQS
97
- # Developer Guide*.
98
- #
99
- # * `ContentBasedDeduplication` - Enables content-based deduplication.
100
- # For more information, see [Exactly-Once Processing][6] in the
101
- # *Amazon SQS Developer Guide*.
102
- #
103
- # * Every message must have a unique `MessageDeduplicationId`,
104
- #
105
- # * You may provide a `MessageDeduplicationId` explicitly.
106
- #
107
- # * If you aren't able to provide a `MessageDeduplicationId` and
108
- # you enable `ContentBasedDeduplication` for your queue, Amazon
109
- # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
110
- # using the body of the message (but not the attributes of the
111
- # message).
112
- #
113
- # * If you don't provide a `MessageDeduplicationId` and the queue
114
- # doesn't have `ContentBasedDeduplication` set, the action fails
115
- # with an error.
116
- #
117
- # * If the queue has `ContentBasedDeduplication` set, your
118
- # `MessageDeduplicationId` overrides the generated one.
119
- #
120
- # * When `ContentBasedDeduplication` is in effect, messages with
121
- # identical content sent within the deduplication interval are
122
- # treated as duplicates and only one copy of the message is
123
- # delivered.
124
- #
125
- # * You can also use `ContentBasedDeduplication` for messages with
126
- # identical content to be treated as duplicates.
127
- #
128
- # * If you send one message with `ContentBasedDeduplication` enabled
129
- # and then another message with a `MessageDeduplicationId` that is
130
- # the same as the one generated for the first
131
- # `MessageDeduplicationId`, the two messages are treated as
132
- # duplicates and only one copy of the message is delivered.
133
- #
134
- # Any other valid special request parameters that are specified (such as
135
- # `ApproximateNumberOfMessages`, `ApproximateNumberOfMessagesDelayed`,
136
- # `ApproximateNumberOfMessagesNotVisible`, `CreatedTimestamp`,
137
- # `LastModifiedTimestamp`, and `QueueArn`) will be ignored.
138
- #
139
- #
140
- #
141
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
142
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
143
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
144
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
145
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
146
- # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
147
- # @return [Queue]
148
- def create_queue(options = {})
149
- resp = @client.create_queue(options)
150
- Queue.new(
151
- url: resp.data.queue_url,
152
- client: @client
153
- )
154
- end
24
+ # @example Request syntax with placeholder values
25
+ #
26
+ # queue = sqs.create_queue({
27
+ # queue_name: "String", # required
28
+ # attributes: {
29
+ # "All" => "String",
30
+ # },
31
+ # })
32
+ # @param [Hash] options ({})
33
+ # @option options [required, String] :queue_name
34
+ # The name of the new queue. The following limits apply to this name:
35
+ #
36
+ # * A queue name can have up to 80 characters.
37
+ #
38
+ # * Valid values: alphanumeric characters, hyphens (`-`), and
39
+ # underscores (`_`).
40
+ #
41
+ # * A FIFO queue name must end with the `.fifo` suffix.
42
+ #
43
+ # Queue names are case-sensitive.
44
+ # @option options [Hash<String,String>] :attributes
45
+ # A map of attributes with their corresponding values.
46
+ #
47
+ # The following lists the names, descriptions, and values of the special
48
+ # request parameters that the `CreateQueue` action uses:
49
+ #
50
+ # * `DelaySeconds` - The number of seconds for which the delivery of all
51
+ # messages in the queue is delayed. Valid values: An integer from 0 to
52
+ # 900 seconds (15 minutes). The default is 0 (zero).
53
+ #
54
+ # * `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
57
+ # 262,144 (256 KiB).
58
+ #
59
+ # * `MessageRetentionPeriod` - The number of seconds for which Amazon
60
+ # SQS retains a message. Valid values: An integer from 60 seconds (1
61
+ # minute) to 1,209,600 seconds (14 days). The default is 345,600 (4
62
+ # days).
63
+ #
64
+ # * `Policy` - The queue's policy. A valid AWS policy. For more
65
+ # information about policy structure, see [Overview of AWS IAM
66
+ # Policies][1] in the *Amazon IAM User Guide*.
67
+ #
68
+ # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which a
69
+ # ` ReceiveMessage ` action waits for a message to arrive. Valid
70
+ # values: An integer from 0 to 20 (seconds). The default is 0 (zero).
71
+ #
72
+ # * `RedrivePolicy` - The parameters for the dead letter queue
73
+ # functionality of the source queue. For more information about the
74
+ # redrive policy and dead letter queues, see [Using Amazon SQS Dead
75
+ # Letter Queues][2] in the *Amazon SQS Developer Guide*.
76
+ #
77
+ # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
78
+ # Similarly, the dead letter queue of a standard queue must also be a
79
+ # standard queue.
80
+ #
81
+ # </note>
82
+ #
83
+ # * `VisibilityTimeout` - The visibility timeout for the queue. Valid
84
+ # values: An integer from 0 to 43,200 (12 hours). The default is 30.
85
+ # For more information about the visibility timeout, see [Visibility
86
+ # Timeout][3] in the *Amazon SQS Developer Guide*.
87
+ #
88
+ # The following attributes apply only to [FIFO (first-in-first-out)
89
+ # queues][4]\:
90
+ #
91
+ # * `FifoQueue` - Designates a queue as FIFO. You can provide this
92
+ # attribute only during queue creation. You can't change it for an
93
+ # existing queue. When you set this attribute, you must provide a
94
+ # `MessageGroupId` explicitly.
95
+ #
96
+ # For more information, see [FIFO Queue Logic][5] in the *Amazon SQS
97
+ # Developer Guide*.
98
+ #
99
+ # * `ContentBasedDeduplication` - Enables content-based deduplication.
100
+ # For more information, see [Exactly-Once Processing][6] in the
101
+ # *Amazon SQS Developer Guide*.
102
+ #
103
+ # * Every message must have a unique `MessageDeduplicationId`,
104
+ #
105
+ # * You may provide a `MessageDeduplicationId` explicitly.
106
+ #
107
+ # * If you aren't able to provide a `MessageDeduplicationId` and
108
+ # you enable `ContentBasedDeduplication` for your queue, Amazon
109
+ # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
110
+ # using the body of the message (but not the attributes of the
111
+ # message).
112
+ #
113
+ # * If you don't provide a `MessageDeduplicationId` and the queue
114
+ # doesn't have `ContentBasedDeduplication` set, the action fails
115
+ # with an error.
116
+ #
117
+ # * If the queue has `ContentBasedDeduplication` set, your
118
+ # `MessageDeduplicationId` overrides the generated one.
119
+ #
120
+ # * When `ContentBasedDeduplication` is in effect, messages with
121
+ # identical content sent within the deduplication interval are
122
+ # treated as duplicates and only one copy of the message is
123
+ # delivered.
124
+ #
125
+ # * You can also use `ContentBasedDeduplication` for messages with
126
+ # identical content to be treated as duplicates.
127
+ #
128
+ # * If you send one message with `ContentBasedDeduplication` enabled
129
+ # and then another message with a `MessageDeduplicationId` that is
130
+ # the same as the one generated for the first
131
+ # `MessageDeduplicationId`, the two messages are treated as
132
+ # duplicates and only one copy of the message is delivered.
133
+ #
134
+ # Any other valid special request parameters (such as the following) are
135
+ # ignored:
136
+ #
137
+ # * `ApproximateNumberOfMessages`
138
+ #
139
+ # * `ApproximateNumberOfMessagesDelayed`
140
+ #
141
+ # * `ApproximateNumberOfMessagesNotVisible`
142
+ #
143
+ # * `CreatedTimestamp`
144
+ #
145
+ # * `LastModifiedTimestamp`
146
+ #
147
+ # * `QueueArn`
148
+ #
149
+ #
150
+ #
151
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
152
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
153
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
154
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
155
+ # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
156
+ # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
157
+ # @return [Queue]
158
+ def create_queue(options = {})
159
+ resp = @client.create_queue(options)
160
+ Queue.new(
161
+ url: resp.data.queue_url,
162
+ client: @client
163
+ )
164
+ end
155
165
 
156
- # @example Request syntax with placeholder values
157
- #
158
- # queue = sqs.get_queue_by_name({
159
- # queue_name: "String", # required
160
- # queue_owner_aws_account_id: "String",
161
- # })
162
- # @param [Hash] options ({})
163
- # @option options [required, String] :queue_name
164
- # The name of the queue whose URL must be fetched. Maximum 80
165
- # characters; alphanumeric characters, hyphens (-), and underscores (\_)
166
- # are allowed.
167
- #
168
- # Queue names are case-sensitive.
169
- # @option options [String] :queue_owner_aws_account_id
170
- # The AWS account ID of the account that created the queue.
171
- # @return [Queue]
172
- def get_queue_by_name(options = {})
173
- resp = @client.get_queue_url(options)
174
- Queue.new(
175
- url: resp.data.queue_url,
176
- client: @client
177
- )
178
- end
166
+ # @example Request syntax with placeholder values
167
+ #
168
+ # queue = sqs.get_queue_by_name({
169
+ # queue_name: "String", # required
170
+ # queue_owner_aws_account_id: "String",
171
+ # })
172
+ # @param [Hash] options ({})
173
+ # @option options [required, String] :queue_name
174
+ # The name of the queue whose URL must be fetched. Maximum 80
175
+ # characters. Valid values: alphanumeric characters, hyphens (`-`), and
176
+ # underscores (`_`).
177
+ #
178
+ # Queue names are case-sensitive.
179
+ # @option options [String] :queue_owner_aws_account_id
180
+ # The AWS account ID of the account that created the queue.
181
+ # @return [Queue]
182
+ def get_queue_by_name(options = {})
183
+ resp = @client.get_queue_url(options)
184
+ Queue.new(
185
+ url: resp.data.queue_url,
186
+ client: @client
187
+ )
188
+ end
179
189
 
180
- # @!group Associations
190
+ # @!group Associations
181
191
 
182
- # @param [String] url
183
- # @return [Queue]
184
- def queue(url)
185
- Queue.new(
186
- url: url,
187
- client: @client
188
- )
189
- end
192
+ # @param [String] url
193
+ # @return [Queue]
194
+ def queue(url)
195
+ Queue.new(
196
+ url: url,
197
+ client: @client
198
+ )
199
+ end
190
200
 
191
- # @example Request syntax with placeholder values
192
- #
193
- # queues = sqs.queues({
194
- # queue_name_prefix: "String",
195
- # })
196
- # @param [Hash] options ({})
197
- # @option options [String] :queue_name_prefix
198
- # A string to use for filtering the list results. Only those queues
199
- # whose name begins with the specified string are returned.
200
- #
201
- # Queue names are case-sensitive.
202
- # @return [Queue::Collection]
203
- def queues(options = {})
204
- batches = Enumerator.new do |y|
205
- batch = []
206
- resp = @client.list_queues(options)
207
- resp.data.queue_urls.each do |q|
208
- batch << Queue.new(
209
- url: q,
210
- client: @client
211
- )
212
- end
213
- y.yield(batch)
201
+ # @example Request syntax with placeholder values
202
+ #
203
+ # queues = sqs.queues({
204
+ # queue_name_prefix: "String",
205
+ # })
206
+ # @param [Hash] options ({})
207
+ # @option options [String] :queue_name_prefix
208
+ # A string to use for filtering the list results. Only those queues
209
+ # whose name begins with the specified string are returned.
210
+ #
211
+ # Queue names are case-sensitive.
212
+ # @return [Queue::Collection]
213
+ def queues(options = {})
214
+ batches = Enumerator.new do |y|
215
+ batch = []
216
+ resp = @client.list_queues(options)
217
+ resp.data.queue_urls.each do |q|
218
+ batch << Queue.new(
219
+ url: q,
220
+ client: @client
221
+ )
214
222
  end
215
- Queue::Collection.new(batches)
223
+ y.yield(batch)
216
224
  end
217
-
225
+ Queue::Collection.new(batches)
218
226
  end
227
+
219
228
  end
220
229
  end
@@ -1,1642 +1,1798 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module SQS
10
- module Types
8
+ module Aws::SQS
9
+ module Types
11
10
 
12
- # @note When making an API call, pass AddPermissionRequest
13
- # data as a hash:
14
- #
15
- # {
16
- # queue_url: "String", # required
17
- # label: "String", # required
18
- # aws_account_ids: ["String"], # required
19
- # actions: ["String"], # required
20
- # }
21
- # @!attribute [rw] queue_url
22
- # The URL of the Amazon SQS queue to take action on.
23
- #
24
- # Queue URLs are case-sensitive.
25
- # @return [String]
26
- #
27
- # @!attribute [rw] label
28
- # The unique identification of the permission you're setting (e.g.,
29
- # `AliceSendMessage`). Constraints: Maximum 80 characters;
30
- # alphanumeric characters, hyphens (-), and underscores (\_) are
31
- # allowed.
32
- # @return [String]
33
- #
34
- # @!attribute [rw] aws_account_ids
35
- # The AWS account number of the [principal][1] who will be given
36
- # permission. The principal must have an AWS account, but does not
37
- # need to be signed up for Amazon SQS. For information about locating
38
- # the AWS account identification, see [Your AWS Identifiers][2] in the
39
- # *Amazon SQS Developer Guide*.
40
- #
41
- #
42
- #
43
- # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
44
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AWSCredentials.html
45
- # @return [Array<String>]
46
- #
47
- # @!attribute [rw] actions
48
- # The action the client wants to allow for the specified principal.
49
- # The following are valid values: `* | SendMessage | ReceiveMessage |
50
- # DeleteMessage | ChangeMessageVisibility | GetQueueAttributes |
51
- # GetQueueUrl`. For more information about these actions, see
52
- # [Understanding Permissions][1] in the *Amazon SQS Developer Guide*.
53
- #
54
- # Specifying `SendMessage`, `DeleteMessage`, or
55
- # `ChangeMessageVisibility` for the `ActionName.n` also grants
56
- # permissions for the corresponding batch versions of those actions:
57
- # `SendMessageBatch`, `DeleteMessageBatch`, and
58
- # `ChangeMessageVisibilityBatch`.
59
- #
60
- #
61
- #
62
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html#PermissionTypes
63
- # @return [Array<String>]
64
- class AddPermissionRequest < Struct.new(
65
- :queue_url,
66
- :label,
67
- :aws_account_ids,
68
- :actions)
69
- include Aws::Structure
70
- end
71
-
72
- # This is used in the responses of batch API to give a detailed
73
- # description of the result of an action on each entry in the request.
74
- # @!attribute [rw] id
75
- # The id of an entry in a batch request.
76
- # @return [String]
77
- #
78
- # @!attribute [rw] sender_fault
79
- # Whether the error happened due to the sender's fault.
80
- # @return [Boolean]
81
- #
82
- # @!attribute [rw] code
83
- # An error code representing why the action failed on this entry.
84
- # @return [String]
85
- #
86
- # @!attribute [rw] message
87
- # A message explaining why the action failed on this entry.
88
- # @return [String]
89
- class BatchResultErrorEntry < Struct.new(
90
- :id,
91
- :sender_fault,
92
- :code,
93
- :message)
94
- include Aws::Structure
95
- end
11
+ # @note When making an API call, you may pass AddPermissionRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # queue_url: "String", # required
16
+ # label: "String", # required
17
+ # aws_account_ids: ["String"], # required
18
+ # actions: ["String"], # required
19
+ # }
20
+ #
21
+ # @!attribute [rw] queue_url
22
+ # The URL of the Amazon SQS queue to which permissions are added.
23
+ #
24
+ # Queue URLs are case-sensitive.
25
+ # @return [String]
26
+ #
27
+ # @!attribute [rw] label
28
+ # The unique identification of the permission you're setting (for
29
+ # example, `AliceSendMessage`). Maximum 80 characters. Allowed
30
+ # characters include alphanumeric characters, hyphens (`-`), and
31
+ # underscores (`_`).
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] aws_account_ids
35
+ # The AWS account number of the [principal][1] who is given
36
+ # permission. The principal must have an AWS account, but does not
37
+ # need to be signed up for Amazon SQS. For information about locating
38
+ # the AWS account identification, see [Your AWS Identifiers][2] in the
39
+ # *Amazon SQS Developer Guide*.
40
+ #
41
+ #
42
+ #
43
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P
44
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AWSCredentials.html
45
+ # @return [Array<String>]
46
+ #
47
+ # @!attribute [rw] actions
48
+ # The action the client wants to allow for the specified principal.
49
+ # The following values are valid:
50
+ #
51
+ # * `*`
52
+ #
53
+ # * `ChangeMessageVisibility`
54
+ #
55
+ # * `DeleteMessage`
56
+ #
57
+ # * `GetQueueAttributes`
58
+ #
59
+ # * `GetQueueUrl`
60
+ #
61
+ # * `ReceiveMessage`
62
+ #
63
+ # * `SendMessage`
64
+ #
65
+ # For more information about these actions, see [Understanding
66
+ # Permissions][1] in the *Amazon SQS Developer Guide*.
67
+ #
68
+ # Specifying `SendMessage`, `DeleteMessage`, or
69
+ # `ChangeMessageVisibility` for `ActionName.n` also grants permissions
70
+ # for the corresponding batch versions of those actions:
71
+ # `SendMessageBatch`, `DeleteMessageBatch`, and
72
+ # `ChangeMessageVisibilityBatch`.
73
+ #
74
+ #
75
+ #
76
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html#PermissionTypes
77
+ # @return [Array<String>]
78
+ #
79
+ class AddPermissionRequest < Struct.new(
80
+ :queue_url,
81
+ :label,
82
+ :aws_account_ids,
83
+ :actions)
84
+ include Aws::Structure
85
+ end
96
86
 
97
- # @note When making an API call, pass ChangeMessageVisibilityBatchRequest
98
- # data as a hash:
99
- #
100
- # {
101
- # queue_url: "String", # required
102
- # entries: [ # required
103
- # {
104
- # id: "String", # required
105
- # receipt_handle: "String", # required
106
- # visibility_timeout: 1,
107
- # },
108
- # ],
109
- # }
110
- # @!attribute [rw] queue_url
111
- # The URL of the Amazon SQS queue to take action on.
112
- #
113
- # Queue URLs are case-sensitive.
114
- # @return [String]
115
- #
116
- # @!attribute [rw] entries
117
- # A list of receipt handles of the messages for which the visibility
118
- # timeout must be changed.
119
- # @return [Array<Types::ChangeMessageVisibilityBatchRequestEntry>]
120
- class ChangeMessageVisibilityBatchRequest < Struct.new(
121
- :queue_url,
122
- :entries)
123
- include Aws::Structure
124
- end
87
+ # This is used in the responses of batch API to give a detailed
88
+ # description of the result of an action on each entry in the request.
89
+ #
90
+ # @!attribute [rw] id
91
+ # The `Id` of an entry in a batch request.
92
+ # @return [String]
93
+ #
94
+ # @!attribute [rw] sender_fault
95
+ # Specifies whether the error happened due to the sender's fault.
96
+ # @return [Boolean]
97
+ #
98
+ # @!attribute [rw] code
99
+ # An error code representing why the action failed on this entry.
100
+ # @return [String]
101
+ #
102
+ # @!attribute [rw] message
103
+ # A message explaining why the action failed on this entry.
104
+ # @return [String]
105
+ #
106
+ class BatchResultErrorEntry < Struct.new(
107
+ :id,
108
+ :sender_fault,
109
+ :code,
110
+ :message)
111
+ include Aws::Structure
112
+ end
125
113
 
126
- # Encloses a receipt handle and an entry id for each message in
127
- # ChangeMessageVisibilityBatch.
128
- #
129
- # All of the following parameters are list parameters that must be
130
- # prefixed with `ChangeMessageVisibilityBatchRequestEntry.n`, where `n`
131
- # is an integer value starting with 1. For example, a parameter list for
132
- # this action might look like this:
133
- #
134
- # `&amp;ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2`
135
- #
136
- # `&amp;ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=<replaceable>Your_Receipt_Handle</replaceable>`
137
- #
138
- # `&amp;ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45`
139
- # @note When making an API call, pass ChangeMessageVisibilityBatchRequestEntry
140
- # data as a hash:
141
- #
142
- # {
143
- # id: "String", # required
144
- # receipt_handle: "String", # required
145
- # visibility_timeout: 1,
146
- # }
147
- # @!attribute [rw] id
148
- # An identifier for this particular receipt handle. This is used to
149
- # communicate the result. Note that the `Id`s of a batch request need
150
- # to be unique within the request.
151
- # @return [String]
152
- #
153
- # @!attribute [rw] receipt_handle
154
- # A receipt handle.
155
- # @return [String]
156
- #
157
- # @!attribute [rw] visibility_timeout
158
- # The new value (in seconds) for the message's visibility timeout.
159
- # @return [Integer]
160
- class ChangeMessageVisibilityBatchRequestEntry < Struct.new(
161
- :id,
162
- :receipt_handle,
163
- :visibility_timeout)
164
- include Aws::Structure
165
- end
114
+ # @note When making an API call, you may pass ChangeMessageVisibilityBatchRequest
115
+ # data as a hash:
116
+ #
117
+ # {
118
+ # queue_url: "String", # required
119
+ # entries: [ # required
120
+ # {
121
+ # id: "String", # required
122
+ # receipt_handle: "String", # required
123
+ # visibility_timeout: 1,
124
+ # },
125
+ # ],
126
+ # }
127
+ #
128
+ # @!attribute [rw] queue_url
129
+ # The URL of the Amazon SQS queue whose messages' visibility is
130
+ # changed.
131
+ #
132
+ # Queue URLs are case-sensitive.
133
+ # @return [String]
134
+ #
135
+ # @!attribute [rw] entries
136
+ # A list of receipt handles of the messages for which the visibility
137
+ # timeout must be changed.
138
+ # @return [Array<Types::ChangeMessageVisibilityBatchRequestEntry>]
139
+ #
140
+ class ChangeMessageVisibilityBatchRequest < Struct.new(
141
+ :queue_url,
142
+ :entries)
143
+ include Aws::Structure
144
+ end
166
145
 
167
- # For each message in the batch, the response contains a
168
- # ChangeMessageVisibilityBatchResultEntry tag if the message succeeds or
169
- # a BatchResultErrorEntry tag if the message fails.
170
- # @!attribute [rw] successful
171
- # A list of ChangeMessageVisibilityBatchResultEntry items.
172
- # @return [Array<Types::ChangeMessageVisibilityBatchResultEntry>]
173
- #
174
- # @!attribute [rw] failed
175
- # A list of BatchResultErrorEntry items.
176
- # @return [Array<Types::BatchResultErrorEntry>]
177
- class ChangeMessageVisibilityBatchResult < Struct.new(
178
- :successful,
179
- :failed)
180
- include Aws::Structure
181
- end
146
+ # Encloses a receipt handle and an entry id for each message in `
147
+ # ChangeMessageVisibilityBatch `.
148
+ #
149
+ # All of the following list parameters must be prefixed with
150
+ # `ChangeMessageVisibilityBatchRequestEntry.n`, where `n` is an integer
151
+ # value starting with `1`. For example, a parameter list for this action
152
+ # might look like this:
153
+ #
154
+ # `&amp;ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2`
155
+ #
156
+ # `&amp;ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=<replaceable>Your_Receipt_Handle</replaceable>`
157
+ #
158
+ # `&amp;ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45`
159
+ #
160
+ # @note When making an API call, you may pass ChangeMessageVisibilityBatchRequestEntry
161
+ # data as a hash:
162
+ #
163
+ # {
164
+ # id: "String", # required
165
+ # receipt_handle: "String", # required
166
+ # visibility_timeout: 1,
167
+ # }
168
+ #
169
+ # @!attribute [rw] id
170
+ # An identifier for this particular receipt handle used to communicate
171
+ # the result.
172
+ #
173
+ # <note markdown="1"> The `Id`s of a batch request need to be unique within a request
174
+ #
175
+ # </note>
176
+ # @return [String]
177
+ #
178
+ # @!attribute [rw] receipt_handle
179
+ # A receipt handle.
180
+ # @return [String]
181
+ #
182
+ # @!attribute [rw] visibility_timeout
183
+ # The new value (in seconds) for the message's visibility timeout.
184
+ # @return [Integer]
185
+ #
186
+ class ChangeMessageVisibilityBatchRequestEntry < Struct.new(
187
+ :id,
188
+ :receipt_handle,
189
+ :visibility_timeout)
190
+ include Aws::Structure
191
+ end
182
192
 
183
- # Encloses the id of an entry in ChangeMessageVisibilityBatch.
184
- # @!attribute [rw] id
185
- # Represents a message whose visibility timeout has been changed
186
- # successfully.
187
- # @return [String]
188
- class ChangeMessageVisibilityBatchResultEntry < Struct.new(
189
- :id)
190
- include Aws::Structure
191
- end
193
+ # For each message in the batch, the response contains a `
194
+ # ChangeMessageVisibilityBatchResultEntry ` tag if the message succeeds
195
+ # or a ` BatchResultErrorEntry ` tag if the message fails.
196
+ #
197
+ # @!attribute [rw] successful
198
+ # A list of ` ChangeMessageVisibilityBatchResultEntry ` items.
199
+ # @return [Array<Types::ChangeMessageVisibilityBatchResultEntry>]
200
+ #
201
+ # @!attribute [rw] failed
202
+ # A list of ` BatchResultErrorEntry ` items.
203
+ # @return [Array<Types::BatchResultErrorEntry>]
204
+ #
205
+ class ChangeMessageVisibilityBatchResult < Struct.new(
206
+ :successful,
207
+ :failed)
208
+ include Aws::Structure
209
+ end
192
210
 
193
- # @note When making an API call, pass ChangeMessageVisibilityRequest
194
- # data as a hash:
195
- #
196
- # {
197
- # queue_url: "String", # required
198
- # receipt_handle: "String", # required
199
- # visibility_timeout: 1, # required
200
- # }
201
- # @!attribute [rw] queue_url
202
- # The URL of the Amazon SQS queue to take action on.
203
- #
204
- # Queue URLs are case-sensitive.
205
- # @return [String]
206
- #
207
- # @!attribute [rw] receipt_handle
208
- # The receipt handle associated with the message whose visibility
209
- # timeout should be changed. This parameter is returned by the
210
- # ReceiveMessage action.
211
- # @return [String]
212
- #
213
- # @!attribute [rw] visibility_timeout
214
- # The new value (in seconds - from 0 to 43200 - maximum 12 hours) for
215
- # the message's visibility timeout.
216
- # @return [Integer]
217
- class ChangeMessageVisibilityRequest < Struct.new(
218
- :queue_url,
219
- :receipt_handle,
220
- :visibility_timeout)
221
- include Aws::Structure
222
- end
211
+ # Encloses the `Id` of an entry in ` ChangeMessageVisibilityBatch `.
212
+ #
213
+ # @!attribute [rw] id
214
+ # Represents a message whose visibility timeout has been changed
215
+ # successfully.
216
+ # @return [String]
217
+ #
218
+ class ChangeMessageVisibilityBatchResultEntry < Struct.new(
219
+ :id)
220
+ include Aws::Structure
221
+ end
223
222
 
224
- # @note When making an API call, pass CreateQueueRequest
225
- # data as a hash:
226
- #
227
- # {
228
- # queue_name: "String", # required
229
- # attributes: {
230
- # "All" => "String",
231
- # },
232
- # }
233
- # @!attribute [rw] queue_name
234
- # The name of the new queue. The following limits apply to this name:
235
- #
236
- # * A queue name can have up to 80 characters.
237
- #
238
- # * The following are accepted: alphanumeric chatacters, hyphens
239
- # (`-`), and underscores (`_`).
240
- #
241
- # * A FIFO queue name must end with the `.fifo` suffix.
242
- #
243
- # Queue names are case-sensitive.
244
- # @return [String]
245
- #
246
- # @!attribute [rw] attributes
247
- # A map of attributes with their corresponding values.
248
- #
249
- # The following lists the names, descriptions, and values of the
250
- # special request parameters that the `CreateQueue` action uses:
251
- #
252
- # * `DelaySeconds` - The number of seconds for which the delivery of
253
- # all messages in the queue is delayed. An integer from 0 to 900 (15
254
- # minutes). The default is 0 (zero).
255
- #
256
- # * `MaximumMessageSize` - The limit of how many bytes a message can
257
- # contain before Amazon SQS rejects it. An integer from 1,024 bytes
258
- # (1 KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256
259
- # KiB).
260
- #
261
- # * `MessageRetentionPeriod` - The number of seconds for which Amazon
262
- # SQS retains a message. An integer representing seconds, from 60 (1
263
- # minute) to 120,9600 (14 days). The default is 345,600 (4 days).
264
- #
265
- # * `Policy` - The queue's policy. A valid AWS policy. For more
266
- # information about policy structure, see [Overview of AWS IAM
267
- # Policies][1] in the *Amazon IAM User Guide*.
268
- #
269
- # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which
270
- # a ReceiveMessage action will wait for a message to arrive. An
271
- # integer from 0 to 20 (seconds). The default is 0.
272
- #
273
- # * `RedrivePolicy` - The parameters for the dead letter queue
274
- # functionality of the source queue. For more information about the
275
- # redrive policy and dead letter queues, see [Using Amazon SQS Dead
276
- # Letter Queues][2] in the *Amazon SQS Developer Guide*.
277
- #
278
- # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
279
- # Similarly, the dead letter queue of a standard queue must also be
280
- # a standard queue.
281
- #
282
- # </note>
283
- #
284
- # * `VisibilityTimeout` - The visibility timeout for the queue. An
285
- # integer from 0 to 43200 (12 hours). The default is 30. For more
286
- # information about the visibility timeout, see [Visibility
287
- # Timeout][3] in the *Amazon SQS Developer Guide*.
288
- #
289
- # The following attributes apply only to [FIFO (first-in-first-out)
290
- # queues][4]\:
291
- #
292
- # * `FifoQueue` - Designates a queue as FIFO. You can provide this
293
- # attribute only during queue creation; you can't change it for an
294
- # existing queue. When you set this attribute, you must provide a
295
- # `MessageGroupId` explicitly.
296
- #
297
- # For more information, see [FIFO Queue Logic][5] in the *Amazon SQS
298
- # Developer Guide*.
299
- #
300
- # * `ContentBasedDeduplication` - Enables content-based deduplication.
301
- # For more information, see [Exactly-Once Processing][6] in the
302
- # *Amazon SQS Developer Guide*.
303
- #
304
- # * Every message must have a unique `MessageDeduplicationId`,
305
- #
306
- # * You may provide a `MessageDeduplicationId` explicitly.
307
- #
308
- # * If you aren't able to provide a `MessageDeduplicationId` and
309
- # you enable `ContentBasedDeduplication` for your queue, Amazon
310
- # SQS uses a SHA-256 hash to generate the
311
- # `MessageDeduplicationId` using the body of the message (but
312
- # not the attributes of the message).
313
- #
314
- # * If you don't provide a `MessageDeduplicationId` and the queue
315
- # doesn't have `ContentBasedDeduplication` set, the action
316
- # fails with an error.
317
- #
318
- # * If the queue has `ContentBasedDeduplication` set, your
319
- # `MessageDeduplicationId` overrides the generated one.
320
- #
321
- # * When `ContentBasedDeduplication` is in effect, messages with
322
- # identical content sent within the deduplication interval are
323
- # treated as duplicates and only one copy of the message is
324
- # delivered.
325
- #
326
- # * You can also use `ContentBasedDeduplication` for messages with
327
- # identical content to be treated as duplicates.
328
- #
329
- # * If you send one message with `ContentBasedDeduplication` enabled
330
- # and then another message with a `MessageDeduplicationId` that is
331
- # the same as the one generated for the first
332
- # `MessageDeduplicationId`, the two messages are treated as
333
- # duplicates and only one copy of the message is delivered.
334
- #
335
- # Any other valid special request parameters that are specified (such
336
- # as `ApproximateNumberOfMessages`,
337
- # `ApproximateNumberOfMessagesDelayed`,
338
- # `ApproximateNumberOfMessagesNotVisible`, `CreatedTimestamp`,
339
- # `LastModifiedTimestamp`, and `QueueArn`) will be ignored.
340
- #
341
- #
342
- #
343
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
344
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
345
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
346
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
347
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
348
- # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
349
- # @return [Hash<String,String>]
350
- class CreateQueueRequest < Struct.new(
351
- :queue_name,
352
- :attributes)
353
- include Aws::Structure
354
- end
223
+ # @note When making an API call, you may pass ChangeMessageVisibilityRequest
224
+ # data as a hash:
225
+ #
226
+ # {
227
+ # queue_url: "String", # required
228
+ # receipt_handle: "String", # required
229
+ # visibility_timeout: 1, # required
230
+ # }
231
+ #
232
+ # @!attribute [rw] queue_url
233
+ # The URL of the Amazon SQS queue whose message's visibility is
234
+ # changed.
235
+ #
236
+ # Queue URLs are case-sensitive.
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] receipt_handle
240
+ # The receipt handle associated with the message whose visibility
241
+ # timeout is changed. This parameter is returned by the `
242
+ # ReceiveMessage ` action.
243
+ # @return [String]
244
+ #
245
+ # @!attribute [rw] visibility_timeout
246
+ # The new value for the message's visibility timeout (in seconds).
247
+ # Values values: `0` to `43200`. Maximum: 12 hours.
248
+ # @return [Integer]
249
+ #
250
+ class ChangeMessageVisibilityRequest < Struct.new(
251
+ :queue_url,
252
+ :receipt_handle,
253
+ :visibility_timeout)
254
+ include Aws::Structure
255
+ end
355
256
 
356
- # Returns the QueueUrl element of the created queue.
357
- # @!attribute [rw] queue_url
358
- # The URL for the created Amazon SQS queue.
359
- # @return [String]
360
- class CreateQueueResult < Struct.new(
361
- :queue_url)
362
- include Aws::Structure
363
- end
257
+ # @note When making an API call, you may pass CreateQueueRequest
258
+ # data as a hash:
259
+ #
260
+ # {
261
+ # queue_name: "String", # required
262
+ # attributes: {
263
+ # "All" => "String",
264
+ # },
265
+ # }
266
+ #
267
+ # @!attribute [rw] queue_name
268
+ # The name of the new queue. The following limits apply to this name:
269
+ #
270
+ # * A queue name can have up to 80 characters.
271
+ #
272
+ # * Valid values: alphanumeric characters, hyphens (`-`), and
273
+ # underscores (`_`).
274
+ #
275
+ # * A FIFO queue name must end with the `.fifo` suffix.
276
+ #
277
+ # Queue names are case-sensitive.
278
+ # @return [String]
279
+ #
280
+ # @!attribute [rw] attributes
281
+ # A map of attributes with their corresponding values.
282
+ #
283
+ # The following lists the names, descriptions, and values of the
284
+ # special request parameters that the `CreateQueue` action uses:
285
+ #
286
+ # * `DelaySeconds` - The number of seconds for which the delivery of
287
+ # all messages in the queue is delayed. Valid values: An integer
288
+ # from 0 to 900 seconds (15 minutes). The default is 0 (zero).
289
+ #
290
+ # * `MaximumMessageSize` - The limit of how many bytes a message can
291
+ # contain before Amazon SQS rejects it. Valid values: An integer
292
+ # from 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). The default
293
+ # is 262,144 (256 KiB).
294
+ #
295
+ # * `MessageRetentionPeriod` - The number of seconds for which Amazon
296
+ # SQS retains a message. Valid values: An integer from 60 seconds (1
297
+ # minute) to 1,209,600 seconds (14 days). The default is 345,600 (4
298
+ # days).
299
+ #
300
+ # * `Policy` - The queue's policy. A valid AWS policy. For more
301
+ # information about policy structure, see [Overview of AWS IAM
302
+ # Policies][1] in the *Amazon IAM User Guide*.
303
+ #
304
+ # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which
305
+ # a ` ReceiveMessage ` action waits for a message to arrive. Valid
306
+ # values: An integer from 0 to 20 (seconds). The default is 0
307
+ # (zero).
308
+ #
309
+ # * `RedrivePolicy` - The parameters for the dead letter queue
310
+ # functionality of the source queue. For more information about the
311
+ # redrive policy and dead letter queues, see [Using Amazon SQS Dead
312
+ # Letter Queues][2] in the *Amazon SQS Developer Guide*.
313
+ #
314
+ # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
315
+ # Similarly, the dead letter queue of a standard queue must also be
316
+ # a standard queue.
317
+ #
318
+ # </note>
319
+ #
320
+ # * `VisibilityTimeout` - The visibility timeout for the queue. Valid
321
+ # values: An integer from 0 to 43,200 (12 hours). The default is 30.
322
+ # For more information about the visibility timeout, see [Visibility
323
+ # Timeout][3] in the *Amazon SQS Developer Guide*.
324
+ #
325
+ # The following attributes apply only to [FIFO (first-in-first-out)
326
+ # queues][4]\:
327
+ #
328
+ # * `FifoQueue` - Designates a queue as FIFO. You can provide this
329
+ # attribute only during queue creation. You can't change it for an
330
+ # existing queue. When you set this attribute, you must provide a
331
+ # `MessageGroupId` explicitly.
332
+ #
333
+ # For more information, see [FIFO Queue Logic][5] in the *Amazon SQS
334
+ # Developer Guide*.
335
+ #
336
+ # * `ContentBasedDeduplication` - Enables content-based deduplication.
337
+ # For more information, see [Exactly-Once Processing][6] in the
338
+ # *Amazon SQS Developer Guide*.
339
+ #
340
+ # * Every message must have a unique `MessageDeduplicationId`,
341
+ #
342
+ # * You may provide a `MessageDeduplicationId` explicitly.
343
+ #
344
+ # * If you aren't able to provide a `MessageDeduplicationId` and
345
+ # you enable `ContentBasedDeduplication` for your queue, Amazon
346
+ # SQS uses a SHA-256 hash to generate the
347
+ # `MessageDeduplicationId` using the body of the message (but
348
+ # not the attributes of the message).
349
+ #
350
+ # * If you don't provide a `MessageDeduplicationId` and the queue
351
+ # doesn't have `ContentBasedDeduplication` set, the action
352
+ # fails with an error.
353
+ #
354
+ # * If the queue has `ContentBasedDeduplication` set, your
355
+ # `MessageDeduplicationId` overrides the generated one.
356
+ #
357
+ # * When `ContentBasedDeduplication` is in effect, messages with
358
+ # identical content sent within the deduplication interval are
359
+ # treated as duplicates and only one copy of the message is
360
+ # delivered.
361
+ #
362
+ # * You can also use `ContentBasedDeduplication` for messages with
363
+ # identical content to be treated as duplicates.
364
+ #
365
+ # * If you send one message with `ContentBasedDeduplication` enabled
366
+ # and then another message with a `MessageDeduplicationId` that is
367
+ # the same as the one generated for the first
368
+ # `MessageDeduplicationId`, the two messages are treated as
369
+ # duplicates and only one copy of the message is delivered.
370
+ #
371
+ # Any other valid special request parameters (such as the following)
372
+ # are ignored:
373
+ #
374
+ # * `ApproximateNumberOfMessages`
375
+ #
376
+ # * `ApproximateNumberOfMessagesDelayed`
377
+ #
378
+ # * `ApproximateNumberOfMessagesNotVisible`
379
+ #
380
+ # * `CreatedTimestamp`
381
+ #
382
+ # * `LastModifiedTimestamp`
383
+ #
384
+ # * `QueueArn`
385
+ #
386
+ #
387
+ #
388
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
389
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
390
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
391
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
392
+ # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
393
+ # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
394
+ # @return [Hash<String,String>]
395
+ #
396
+ class CreateQueueRequest < Struct.new(
397
+ :queue_name,
398
+ :attributes)
399
+ include Aws::Structure
400
+ end
364
401
 
365
- # @note When making an API call, pass DeleteMessageBatchRequest
366
- # data as a hash:
367
- #
368
- # {
369
- # queue_url: "String", # required
370
- # entries: [ # required
371
- # {
372
- # id: "String", # required
373
- # receipt_handle: "String", # required
374
- # },
375
- # ],
376
- # }
377
- # @!attribute [rw] queue_url
378
- # The URL of the Amazon SQS queue to take action on.
379
- #
380
- # Queue URLs are case-sensitive.
381
- # @return [String]
382
- #
383
- # @!attribute [rw] entries
384
- # A list of receipt handles for the messages to be deleted.
385
- # @return [Array<Types::DeleteMessageBatchRequestEntry>]
386
- class DeleteMessageBatchRequest < Struct.new(
387
- :queue_url,
388
- :entries)
389
- include Aws::Structure
390
- end
402
+ # Returns the `QueueUrl` attribute of the created queue.
403
+ #
404
+ # @!attribute [rw] queue_url
405
+ # The URL of the created Amazon SQS queue.
406
+ # @return [String]
407
+ #
408
+ class CreateQueueResult < Struct.new(
409
+ :queue_url)
410
+ include Aws::Structure
411
+ end
391
412
 
392
- # Encloses a receipt handle and an identifier for it.
393
- # @note When making an API call, pass DeleteMessageBatchRequestEntry
394
- # data as a hash:
395
- #
396
- # {
397
- # id: "String", # required
398
- # receipt_handle: "String", # required
399
- # }
400
- # @!attribute [rw] id
401
- # An identifier for this particular receipt handle. This is used to
402
- # communicate the result. Note that the `Id`s of a batch request need
403
- # to be unique within the request.
404
- # @return [String]
405
- #
406
- # @!attribute [rw] receipt_handle
407
- # A receipt handle.
408
- # @return [String]
409
- class DeleteMessageBatchRequestEntry < Struct.new(
410
- :id,
411
- :receipt_handle)
412
- include Aws::Structure
413
- end
413
+ # @note When making an API call, you may pass DeleteMessageBatchRequest
414
+ # data as a hash:
415
+ #
416
+ # {
417
+ # queue_url: "String", # required
418
+ # entries: [ # required
419
+ # {
420
+ # id: "String", # required
421
+ # receipt_handle: "String", # required
422
+ # },
423
+ # ],
424
+ # }
425
+ #
426
+ # @!attribute [rw] queue_url
427
+ # The URL of the Amazon SQS queue from which messages are deleted.
428
+ #
429
+ # Queue URLs are case-sensitive.
430
+ # @return [String]
431
+ #
432
+ # @!attribute [rw] entries
433
+ # A list of receipt handles for the messages to be deleted.
434
+ # @return [Array<Types::DeleteMessageBatchRequestEntry>]
435
+ #
436
+ class DeleteMessageBatchRequest < Struct.new(
437
+ :queue_url,
438
+ :entries)
439
+ include Aws::Structure
440
+ end
414
441
 
415
- # For each message in the batch, the response contains a
416
- # DeleteMessageBatchResultEntry tag if the message is deleted or a
417
- # BatchResultErrorEntry tag if the message can't be deleted.
418
- # @!attribute [rw] successful
419
- # A list of DeleteMessageBatchResultEntry items.
420
- # @return [Array<Types::DeleteMessageBatchResultEntry>]
421
- #
422
- # @!attribute [rw] failed
423
- # A list of BatchResultErrorEntry items.
424
- # @return [Array<Types::BatchResultErrorEntry>]
425
- class DeleteMessageBatchResult < Struct.new(
426
- :successful,
427
- :failed)
428
- include Aws::Structure
429
- end
442
+ # Encloses a receipt handle and an identifier for it.
443
+ #
444
+ # @note When making an API call, you may pass DeleteMessageBatchRequestEntry
445
+ # data as a hash:
446
+ #
447
+ # {
448
+ # id: "String", # required
449
+ # receipt_handle: "String", # required
450
+ # }
451
+ #
452
+ # @!attribute [rw] id
453
+ # An identifier for this particular receipt handle. This is used to
454
+ # communicate the result.
455
+ #
456
+ # <note markdown="1"> The `Id`s of a batch request need to be unique within a request
457
+ #
458
+ # </note>
459
+ # @return [String]
460
+ #
461
+ # @!attribute [rw] receipt_handle
462
+ # A receipt handle.
463
+ # @return [String]
464
+ #
465
+ class DeleteMessageBatchRequestEntry < Struct.new(
466
+ :id,
467
+ :receipt_handle)
468
+ include Aws::Structure
469
+ end
430
470
 
431
- # Encloses the id an entry in DeleteMessageBatch.
432
- # @!attribute [rw] id
433
- # Represents a successfully deleted message.
434
- # @return [String]
435
- class DeleteMessageBatchResultEntry < Struct.new(
436
- :id)
437
- include Aws::Structure
438
- end
471
+ # For each message in the batch, the response contains a `
472
+ # DeleteMessageBatchResultEntry ` tag if the message is deleted or a `
473
+ # BatchResultErrorEntry ` tag if the message can't be deleted.
474
+ #
475
+ # @!attribute [rw] successful
476
+ # A list of ` DeleteMessageBatchResultEntry ` items.
477
+ # @return [Array<Types::DeleteMessageBatchResultEntry>]
478
+ #
479
+ # @!attribute [rw] failed
480
+ # A list of ` BatchResultErrorEntry ` items.
481
+ # @return [Array<Types::BatchResultErrorEntry>]
482
+ #
483
+ class DeleteMessageBatchResult < Struct.new(
484
+ :successful,
485
+ :failed)
486
+ include Aws::Structure
487
+ end
439
488
 
440
- # @note When making an API call, pass DeleteMessageRequest
441
- # data as a hash:
442
- #
443
- # {
444
- # queue_url: "String", # required
445
- # receipt_handle: "String", # required
446
- # }
447
- # @!attribute [rw] queue_url
448
- # The URL of the Amazon SQS queue to take action on.
449
- #
450
- # Queue URLs are case-sensitive.
451
- # @return [String]
452
- #
453
- # @!attribute [rw] receipt_handle
454
- # The receipt handle associated with the message to delete.
455
- # @return [String]
456
- class DeleteMessageRequest < Struct.new(
457
- :queue_url,
458
- :receipt_handle)
459
- include Aws::Structure
460
- end
489
+ # Encloses the `Id` of an entry in ` DeleteMessageBatch `.
490
+ #
491
+ # @!attribute [rw] id
492
+ # Represents a successfully deleted message.
493
+ # @return [String]
494
+ #
495
+ class DeleteMessageBatchResultEntry < Struct.new(
496
+ :id)
497
+ include Aws::Structure
498
+ end
461
499
 
462
- # @note When making an API call, pass DeleteQueueRequest
463
- # data as a hash:
464
- #
465
- # {
466
- # queue_url: "String", # required
467
- # }
468
- # @!attribute [rw] queue_url
469
- # The URL of the Amazon SQS queue to take action on.
470
- #
471
- # Queue URLs are case-sensitive.
472
- # @return [String]
473
- class DeleteQueueRequest < Struct.new(
474
- :queue_url)
475
- include Aws::Structure
476
- end
500
+ # @note When making an API call, you may pass DeleteMessageRequest
501
+ # data as a hash:
502
+ #
503
+ # {
504
+ # queue_url: "String", # required
505
+ # receipt_handle: "String", # required
506
+ # }
507
+ #
508
+ # @!attribute [rw] queue_url
509
+ # The URL of the Amazon SQS queue from which messages are deleted.
510
+ #
511
+ # Queue URLs are case-sensitive.
512
+ # @return [String]
513
+ #
514
+ # @!attribute [rw] receipt_handle
515
+ # The receipt handle associated with the message to delete.
516
+ # @return [String]
517
+ #
518
+ class DeleteMessageRequest < Struct.new(
519
+ :queue_url,
520
+ :receipt_handle)
521
+ include Aws::Structure
522
+ end
477
523
 
478
- # @note When making an API call, pass GetQueueAttributesRequest
479
- # data as a hash:
480
- #
481
- # {
482
- # queue_url: "String", # required
483
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
484
- # }
485
- # @!attribute [rw] queue_url
486
- # The URL of the Amazon SQS queue to take action on.
487
- #
488
- # Queue URLs are case-sensitive.
489
- # @return [String]
490
- #
491
- # @!attribute [rw] attribute_names
492
- # A list of attributes for which to retrieve information.
493
- #
494
- # <note markdown="1"> Going forward, new attributes might be added. If you are writing
495
- # code that calls this action, we recommend that you structure your
496
- # code so that it can handle new attributes gracefully.
497
- #
498
- # </note>
499
- #
500
- # The following attributes are supported:
501
- #
502
- # * `All` - Returns all values.
503
- #
504
- # * `ApproximateNumberOfMessages` - Returns the approximate number of
505
- # visible messages in a queue. For more information, see [Resources
506
- # Required to Process Messages][1] in the *Amazon SQS Developer
507
- # Guide*.
508
- #
509
- # * `ApproximateNumberOfMessagesDelayed` - Returns the approximate
510
- # number of messages that are waiting to be added to the queue.
511
- #
512
- # * `ApproximateNumberOfMessagesNotVisible` - Returns the approximate
513
- # number of messages that have not timed-out and are not deleted.
514
- # For more information, see [Resources Required to Process
515
- # Messages][1] in the *Amazon SQS Developer Guide*.
516
- #
517
- # * `CreatedTimestamp` - Returns the time when the queue was created
518
- # in seconds (epoch time).
519
- #
520
- # * `DelaySeconds` - Returns the default delay on the queue in
521
- # seconds.
522
- #
523
- # * `LastModifiedTimestamp` - Returns the time when the queue was last
524
- # changed in seconds (epoch time).
525
- #
526
- # * `MaximumMessageSize` - Returns the limit of how many bytes a
527
- # message can contain before Amazon SQS rejects it.
528
- #
529
- # * `MessageRetentionPeriod` - Returns the number of seconds for which
530
- # Amazon SQS retains a message.
531
- #
532
- # * `Policy` - Returns the policy of the queue.
533
- #
534
- # * `QueueArn` - Returns the Amazon resource name (ARN) of the queue.
535
- #
536
- # * `ReceiveMessageWaitTimeSeconds` - Returns the number of seconds
537
- # for which ReceiveMessage call will wait for a message to arrive.
538
- #
539
- # * `RedrivePolicy` - Returns the parameters for dead letter queue
540
- # functionality of the source queue. For more information about the
541
- # redrive policy and dead letter queues, see [Using Amazon SQS Dead
542
- # Letter Queues][2] in the *Amazon SQS Developer Guide*.
543
- #
544
- # * `VisibilityTimeout` - Returns the visibility timeout for the
545
- # queue. For more information about the visibility timeout, see
546
- # [Visibility Timeout][3] in the *Amazon SQS Developer Guide*.
547
- #
548
- # The following attributes apply only to [FIFO (first-in-first-out)
549
- # queues][4]\:
550
- #
551
- # * `FifoQueue` - Returns whether the queue is FIFO. For more
552
- # information, see [FIFO Queue Logic][5] in the *Amazon SQS
553
- # Developer Guide*.
554
- #
555
- # * `ContentBasedDeduplication` - Returns whether content-based
556
- # deduplication is enabled for the queue. For more information, see
557
- # [Exactly-Once Processing][6] in the *Amazon SQS Developer Guide*.
558
- #
559
- #
560
- #
561
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-resources-required-process-messages.html
562
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
563
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
564
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
565
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
566
- # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
567
- # @return [Array<String>]
568
- class GetQueueAttributesRequest < Struct.new(
569
- :queue_url,
570
- :attribute_names)
571
- include Aws::Structure
572
- end
524
+ # @note When making an API call, you may pass DeleteQueueRequest
525
+ # data as a hash:
526
+ #
527
+ # {
528
+ # queue_url: "String", # required
529
+ # }
530
+ #
531
+ # @!attribute [rw] queue_url
532
+ # The URL of the Amazon SQS queue to delete.
533
+ #
534
+ # Queue URLs are case-sensitive.
535
+ # @return [String]
536
+ #
537
+ class DeleteQueueRequest < Struct.new(
538
+ :queue_url)
539
+ include Aws::Structure
540
+ end
573
541
 
574
- # A list of returned queue attributes.
575
- # @!attribute [rw] attributes
576
- # A map of attributes to the respective values.
577
- # @return [Hash<String,String>]
578
- class GetQueueAttributesResult < Struct.new(
579
- :attributes)
580
- include Aws::Structure
581
- end
542
+ # @note When making an API call, you may pass GetQueueAttributesRequest
543
+ # data as a hash:
544
+ #
545
+ # {
546
+ # queue_url: "String", # required
547
+ # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
548
+ # }
549
+ #
550
+ # @!attribute [rw] queue_url
551
+ # The URL of the Amazon SQS queue whose attribute information is
552
+ # retrieved.
553
+ #
554
+ # Queue URLs are case-sensitive.
555
+ # @return [String]
556
+ #
557
+ # @!attribute [rw] attribute_names
558
+ # A list of attributes for which to retrieve information.
559
+ #
560
+ # <note markdown="1"> In the future, new attributes might be added. If you write code that
561
+ # calls this action, we recommend that you structure your code so that
562
+ # it can handle new attributes gracefully.
563
+ #
564
+ # </note>
565
+ #
566
+ # The following attributes are supported:
567
+ #
568
+ # * `All` - Returns all values.
569
+ #
570
+ # * `ApproximateNumberOfMessages` - Returns the approximate number of
571
+ # visible messages in a queue. For more information, see [Resources
572
+ # Required to Process Messages][1] in the *Amazon SQS Developer
573
+ # Guide*.
574
+ #
575
+ # * `ApproximateNumberOfMessagesDelayed` - Returns the approximate
576
+ # number of messages that are waiting to be added to the queue.
577
+ #
578
+ # * `ApproximateNumberOfMessagesNotVisible` - Returns the approximate
579
+ # number of messages that have not timed-out and aren't deleted.
580
+ # For more information, see [Resources Required to Process
581
+ # Messages][1] in the *Amazon SQS Developer Guide*.
582
+ #
583
+ # * `CreatedTimestamp` - Returns the time when the queue was created
584
+ # in seconds ([epoch time][2]).
585
+ #
586
+ # * `DelaySeconds` - Returns the default delay on the queue in
587
+ # seconds.
588
+ #
589
+ # * `LastModifiedTimestamp` - Returns the time when the queue was last
590
+ # changed in seconds ([epoch time][2]).
591
+ #
592
+ # * `MaximumMessageSize` - Returns the limit of how many bytes a
593
+ # message can contain before Amazon SQS rejects it.
594
+ #
595
+ # * `MessageRetentionPeriod` - Returns the number of seconds for which
596
+ # Amazon SQS retains a message.
597
+ #
598
+ # * `Policy` - Returns the policy of the queue.
599
+ #
600
+ # * `QueueArn` - Returns the Amazon resource name (ARN) of the queue.
601
+ #
602
+ # * `ReceiveMessageWaitTimeSeconds` - Returns the number of seconds
603
+ # for which the `ReceiveMessage` action waits for a message to
604
+ # arrive.
605
+ #
606
+ # * `RedrivePolicy` - Returns the parameters for dead letter queue
607
+ # functionality of the source queue. For more information about the
608
+ # redrive policy and dead letter queues, see [Using Amazon SQS Dead
609
+ # Letter Queues][3] in the *Amazon SQS Developer Guide*.
610
+ #
611
+ # * `VisibilityTimeout` - Returns the visibility timeout for the
612
+ # queue. For more information about the visibility timeout, see
613
+ # [Visibility Timeout][4] in the *Amazon SQS Developer Guide*.
614
+ #
615
+ # The following attributes apply only to [FIFO (first-in-first-out)
616
+ # queues][5]\:
617
+ #
618
+ # * `FifoQueue` - Returns whether the queue is FIFO. For more
619
+ # information, see [FIFO Queue Logic][6] in the *Amazon SQS
620
+ # Developer Guide*.
621
+ #
622
+ # * `ContentBasedDeduplication` - Returns whether content-based
623
+ # deduplication is enabled for the queue. For more information, see
624
+ # [Exactly-Once Processing][7] in the *Amazon SQS Developer Guide*.
625
+ #
626
+ #
627
+ #
628
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-resources-required-process-messages.html
629
+ # [2]: http://en.wikipedia.org/wiki/Unix_time
630
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
631
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
632
+ # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
633
+ # [6]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic
634
+ # [7]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
635
+ # @return [Array<String>]
636
+ #
637
+ class GetQueueAttributesRequest < Struct.new(
638
+ :queue_url,
639
+ :attribute_names)
640
+ include Aws::Structure
641
+ end
582
642
 
583
- # @note When making an API call, pass GetQueueUrlRequest
584
- # data as a hash:
585
- #
586
- # {
587
- # queue_name: "String", # required
588
- # queue_owner_aws_account_id: "String",
589
- # }
590
- # @!attribute [rw] queue_name
591
- # The name of the queue whose URL must be fetched. Maximum 80
592
- # characters; alphanumeric characters, hyphens (-), and underscores
593
- # (\_) are allowed.
594
- #
595
- # Queue names are case-sensitive.
596
- # @return [String]
597
- #
598
- # @!attribute [rw] queue_owner_aws_account_id
599
- # The AWS account ID of the account that created the queue.
600
- # @return [String]
601
- class GetQueueUrlRequest < Struct.new(
602
- :queue_name,
603
- :queue_owner_aws_account_id)
604
- include Aws::Structure
605
- end
643
+ # A list of returned queue attributes.
644
+ #
645
+ # @!attribute [rw] attributes
646
+ # A map of attributes to their respective values.
647
+ # @return [Hash<String,String>]
648
+ #
649
+ class GetQueueAttributesResult < Struct.new(
650
+ :attributes)
651
+ include Aws::Structure
652
+ end
606
653
 
607
- # For more information, see [Responses][1] in the *Amazon SQS Developer
608
- # Guide*.
609
- #
610
- #
611
- #
612
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/UnderstandingResponses.html
613
- # @!attribute [rw] queue_url
614
- # The URL for the queue.
615
- # @return [String]
616
- class GetQueueUrlResult < Struct.new(
617
- :queue_url)
618
- include Aws::Structure
619
- end
654
+ # @note When making an API call, you may pass GetQueueUrlRequest
655
+ # data as a hash:
656
+ #
657
+ # {
658
+ # queue_name: "String", # required
659
+ # queue_owner_aws_account_id: "String",
660
+ # }
661
+ #
662
+ # @!attribute [rw] queue_name
663
+ # The name of the queue whose URL must be fetched. Maximum 80
664
+ # characters. Valid values: alphanumeric characters, hyphens (`-`),
665
+ # and underscores (`_`).
666
+ #
667
+ # Queue names are case-sensitive.
668
+ # @return [String]
669
+ #
670
+ # @!attribute [rw] queue_owner_aws_account_id
671
+ # The AWS account ID of the account that created the queue.
672
+ # @return [String]
673
+ #
674
+ class GetQueueUrlRequest < Struct.new(
675
+ :queue_name,
676
+ :queue_owner_aws_account_id)
677
+ include Aws::Structure
678
+ end
620
679
 
621
- # @note When making an API call, pass ListDeadLetterSourceQueuesRequest
622
- # data as a hash:
623
- #
624
- # {
625
- # queue_url: "String", # required
626
- # }
627
- # @!attribute [rw] queue_url
628
- # The queue URL of a dead letter queue.
629
- #
630
- # Queue URLs are case-sensitive.
631
- # @return [String]
632
- class ListDeadLetterSourceQueuesRequest < Struct.new(
633
- :queue_url)
634
- include Aws::Structure
635
- end
680
+ # For more information, see [Responses][1] in the *Amazon SQS Developer
681
+ # Guide*.
682
+ #
683
+ #
684
+ #
685
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/UnderstandingResponses.html
686
+ #
687
+ # @!attribute [rw] queue_url
688
+ # The URL of the queue.
689
+ # @return [String]
690
+ #
691
+ class GetQueueUrlResult < Struct.new(
692
+ :queue_url)
693
+ include Aws::Structure
694
+ end
636
695
 
637
- # A list of your dead letter source queues.
638
- # @!attribute [rw] queue_urls
639
- # A list of source queue URLs that have the RedrivePolicy queue
640
- # attribute configured with a dead letter queue.
641
- # @return [Array<String>]
642
- class ListDeadLetterSourceQueuesResult < Struct.new(
643
- :queue_urls)
644
- include Aws::Structure
645
- end
696
+ # @note When making an API call, you may pass ListDeadLetterSourceQueuesRequest
697
+ # data as a hash:
698
+ #
699
+ # {
700
+ # queue_url: "String", # required
701
+ # }
702
+ #
703
+ # @!attribute [rw] queue_url
704
+ # The URL of a dead letter queue.
705
+ #
706
+ # Queue URLs are case-sensitive.
707
+ # @return [String]
708
+ #
709
+ class ListDeadLetterSourceQueuesRequest < Struct.new(
710
+ :queue_url)
711
+ include Aws::Structure
712
+ end
646
713
 
647
- # @note When making an API call, pass ListQueuesRequest
648
- # data as a hash:
649
- #
650
- # {
651
- # queue_name_prefix: "String",
652
- # }
653
- # @!attribute [rw] queue_name_prefix
654
- # A string to use for filtering the list results. Only those queues
655
- # whose name begins with the specified string are returned.
656
- #
657
- # Queue names are case-sensitive.
658
- # @return [String]
659
- class ListQueuesRequest < Struct.new(
660
- :queue_name_prefix)
661
- include Aws::Structure
662
- end
714
+ # A list of your dead letter source queues.
715
+ #
716
+ # @!attribute [rw] queue_urls
717
+ # A list of source queue URLs that have the `RedrivePolicy` queue
718
+ # attribute configured with a dead letter queue.
719
+ # @return [Array<String>]
720
+ #
721
+ class ListDeadLetterSourceQueuesResult < Struct.new(
722
+ :queue_urls)
723
+ include Aws::Structure
724
+ end
663
725
 
664
- # A list of your queues.
665
- # @!attribute [rw] queue_urls
666
- # A list of queue URLs, up to 1000 entries.
667
- # @return [Array<String>]
668
- class ListQueuesResult < Struct.new(
669
- :queue_urls)
670
- include Aws::Structure
671
- end
726
+ # @note When making an API call, you may pass ListQueuesRequest
727
+ # data as a hash:
728
+ #
729
+ # {
730
+ # queue_name_prefix: "String",
731
+ # }
732
+ #
733
+ # @!attribute [rw] queue_name_prefix
734
+ # A string to use for filtering the list results. Only those queues
735
+ # whose name begins with the specified string are returned.
736
+ #
737
+ # Queue names are case-sensitive.
738
+ # @return [String]
739
+ #
740
+ class ListQueuesRequest < Struct.new(
741
+ :queue_name_prefix)
742
+ include Aws::Structure
743
+ end
672
744
 
673
- # An Amazon SQS message.
674
- # @!attribute [rw] message_id
675
- # A unique identifier for the message. Message IDs are considered
676
- # unique across all AWS accounts for an extended period of time.
677
- # @return [String]
678
- #
679
- # @!attribute [rw] receipt_handle
680
- # An identifier associated with the act of receiving the message. A
681
- # new receipt handle is returned every time you receive a message.
682
- # When deleting a message, you provide the last received receipt
683
- # handle to delete the message.
684
- # @return [String]
685
- #
686
- # @!attribute [rw] md5_of_body
687
- # An MD5 digest of the non-URL-encoded message body string.
688
- # @return [String]
689
- #
690
- # @!attribute [rw] body
691
- # The message's contents (not URL-encoded).
692
- # @return [String]
693
- #
694
- # @!attribute [rw] attributes
695
- # `SenderId`, `SentTimestamp`, `ApproximateReceiveCount`, and/or
696
- # `ApproximateFirstReceiveTimestamp`. `SentTimestamp` and
697
- # `ApproximateFirstReceiveTimestamp` are each returned as an integer
698
- # representing the [epoch time][1] in milliseconds.
699
- #
700
- #
701
- #
702
- # [1]: http://en.wikipedia.org/wiki/Unix_time
703
- # @return [Hash<String,String>]
704
- #
705
- # @!attribute [rw] md5_of_message_attributes
706
- # An MD5 digest of the non-URL-encoded message attribute string. This
707
- # can be used to verify that Amazon SQS received the message
708
- # correctly. Amazon SQS first URL decodes the message before creating
709
- # the MD5 digest. For information about MD5, see [RFC1321][1].
710
- #
711
- #
712
- #
713
- # [1]: https://www.ietf.org/rfc/rfc1321.txt
714
- # @return [String]
715
- #
716
- # @!attribute [rw] message_attributes
717
- # Each message attribute consists of a Name, Type, and Value. For more
718
- # information, see [Message Attribute Items and Validation][1] in the
719
- # *Amazon SQS Developer Guide*.
720
- #
721
- #
722
- #
723
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
724
- # @return [Hash<String,Types::MessageAttributeValue>]
725
- class Message < Struct.new(
726
- :message_id,
727
- :receipt_handle,
728
- :md5_of_body,
729
- :body,
730
- :attributes,
731
- :md5_of_message_attributes,
732
- :message_attributes)
733
- include Aws::Structure
734
- end
745
+ # A list of your queues.
746
+ #
747
+ # @!attribute [rw] queue_urls
748
+ # A list of queue URLs, up to 1,000 entries.
749
+ # @return [Array<String>]
750
+ #
751
+ class ListQueuesResult < Struct.new(
752
+ :queue_urls)
753
+ include Aws::Structure
754
+ end
735
755
 
736
- # The user-specified message attribute value. For string data types, the
737
- # value attribute has the same restrictions on the content as the
738
- # message body. For more information, see SendMessage.
739
- #
740
- # Name, type, and value must not be empty or null. In addition, the
741
- # message body should not be empty or null. All parts of the message
742
- # attribute, including name, type, and value, are included in the
743
- # message size restriction, which is currently 256 KB (262,144 bytes).
744
- # @note When making an API call, pass MessageAttributeValue
745
- # data as a hash:
746
- #
747
- # {
748
- # string_value: "String",
749
- # binary_value: "data",
750
- # string_list_values: ["String"],
751
- # binary_list_values: ["data"],
752
- # data_type: "String", # required
753
- # }
754
- # @!attribute [rw] string_value
755
- # Strings are Unicode with UTF8 binary encoding. For a list of code
756
- # values, see [ASCII Printable Characters][1].
757
- #
758
- #
759
- #
760
- # [1]: http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
761
- # @return [String]
762
- #
763
- # @!attribute [rw] binary_value
764
- # Binary type attributes can store any binary data, for example,
765
- # compressed data, encrypted data, or images.
766
- # @return [String]
767
- #
768
- # @!attribute [rw] string_list_values
769
- # Not implemented. Reserved for future use.
770
- # @return [Array<String>]
771
- #
772
- # @!attribute [rw] binary_list_values
773
- # Not implemented. Reserved for future use.
774
- # @return [Array<String>]
775
- #
776
- # @!attribute [rw] data_type
777
- # Amazon SQS supports the following logical data types: String,
778
- # Number, and Binary. For the Number data type, you must use
779
- # StringValue.
780
- #
781
- # You can also append custom labels. For more information, see
782
- # [Message Attribute Data Types and Validation][1] in the *Amazon SQS
783
- # Developer Guide*.
784
- #
785
- #
786
- #
787
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-data-types-validation
788
- # @return [String]
789
- class MessageAttributeValue < Struct.new(
790
- :string_value,
791
- :binary_value,
792
- :string_list_values,
793
- :binary_list_values,
794
- :data_type)
795
- include Aws::Structure
796
- end
756
+ # An Amazon SQS message.
757
+ #
758
+ # @!attribute [rw] message_id
759
+ # A unique identifier for the message. A `MessageId`is considered
760
+ # unique across all AWS accounts for an extended period of time.
761
+ # @return [String]
762
+ #
763
+ # @!attribute [rw] receipt_handle
764
+ # An identifier associated with the act of receiving the message. A
765
+ # new receipt handle is returned every time you receive a message.
766
+ # When deleting a message, you provide the last received receipt
767
+ # handle to delete the message.
768
+ # @return [String]
769
+ #
770
+ # @!attribute [rw] md5_of_body
771
+ # An MD5 digest of the non-URL-encoded message body string.
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] body
775
+ # The message's contents (not URL-encoded).
776
+ # @return [String]
777
+ #
778
+ # @!attribute [rw] attributes
779
+ # `SenderId`, `SentTimestamp`, `ApproximateReceiveCount`, and/or
780
+ # `ApproximateFirstReceiveTimestamp`. `SentTimestamp` and
781
+ # `ApproximateFirstReceiveTimestamp` are each returned as an integer
782
+ # representing the [epoch time][1] in milliseconds.
783
+ #
784
+ #
785
+ #
786
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
787
+ # @return [Hash<String,String>]
788
+ #
789
+ # @!attribute [rw] md5_of_message_attributes
790
+ # An MD5 digest of the non-URL-encoded message attribute string. You
791
+ # can use this attribute to verify that Amazon SQS received the
792
+ # message correctly. Amazon SQS URL-decodes the message before
793
+ # creating the MD5 digest. For information on MD5, see [RFC1321][1].
794
+ #
795
+ #
796
+ #
797
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
798
+ # @return [String]
799
+ #
800
+ # @!attribute [rw] message_attributes
801
+ # Each message attribute consists of a `Name`, `Type`, and `Value`.
802
+ # For more information, see [Message Attribute Items and
803
+ # Validation][1] in the *Amazon SQS Developer Guide*.
804
+ #
805
+ #
806
+ #
807
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
808
+ # @return [Hash<String,Types::MessageAttributeValue>]
809
+ #
810
+ class Message < Struct.new(
811
+ :message_id,
812
+ :receipt_handle,
813
+ :md5_of_body,
814
+ :body,
815
+ :attributes,
816
+ :md5_of_message_attributes,
817
+ :message_attributes)
818
+ include Aws::Structure
819
+ end
797
820
 
798
- # @note When making an API call, pass PurgeQueueRequest
799
- # data as a hash:
800
- #
801
- # {
802
- # queue_url: "String", # required
803
- # }
804
- # @!attribute [rw] queue_url
805
- # The queue URL of the queue to delete the messages from when using
806
- # the `PurgeQueue` API.
807
- #
808
- # Queue URLs are case-sensitive.
809
- # @return [String]
810
- class PurgeQueueRequest < Struct.new(
811
- :queue_url)
812
- include Aws::Structure
813
- end
821
+ # The user-specified message attribute value. For string data types, the
822
+ # `Value` attribute has the same restrictions on the content as the
823
+ # message body. For more information, see ` SendMessage `.
824
+ #
825
+ # `Name`, `type`, `value` and the message body must not be empty or
826
+ # null. All parts of the message attribute, including `Name`, `Type`,
827
+ # and `Value`, are part of the message size restriction (256 KB or
828
+ # 262,144 bytes).
829
+ #
830
+ # @note When making an API call, you may pass MessageAttributeValue
831
+ # data as a hash:
832
+ #
833
+ # {
834
+ # string_value: "String",
835
+ # binary_value: "data",
836
+ # string_list_values: ["String"],
837
+ # binary_list_values: ["data"],
838
+ # data_type: "String", # required
839
+ # }
840
+ #
841
+ # @!attribute [rw] string_value
842
+ # Strings are Unicode with UTF-8 binary encoding. For a list of code
843
+ # values, see [ASCII Printable Characters][1].
844
+ #
845
+ #
846
+ #
847
+ # [1]: http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
848
+ # @return [String]
849
+ #
850
+ # @!attribute [rw] binary_value
851
+ # Binary type attributes can store any binary data, such as compressed
852
+ # data, encrypted data, or images.
853
+ # @return [String]
854
+ #
855
+ # @!attribute [rw] string_list_values
856
+ # Not implemented. Reserved for future use.
857
+ # @return [Array<String>]
858
+ #
859
+ # @!attribute [rw] binary_list_values
860
+ # Not implemented. Reserved for future use.
861
+ # @return [Array<String>]
862
+ #
863
+ # @!attribute [rw] data_type
864
+ # Amazon SQS supports the following logical data types: `String`,
865
+ # `Number`, and `Binary`. For the `Number` data type, you must use
866
+ # `StringValue`.
867
+ #
868
+ # You can also append custom labels. For more information, see
869
+ # [Message Attribute Data Types and Validation][1] in the *Amazon SQS
870
+ # Developer Guide*.
871
+ #
872
+ #
873
+ #
874
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-data-types-validation
875
+ # @return [String]
876
+ #
877
+ class MessageAttributeValue < Struct.new(
878
+ :string_value,
879
+ :binary_value,
880
+ :string_list_values,
881
+ :binary_list_values,
882
+ :data_type)
883
+ include Aws::Structure
884
+ end
814
885
 
815
- # @note When making an API call, pass ReceiveMessageRequest
816
- # data as a hash:
817
- #
818
- # {
819
- # queue_url: "String", # required
820
- # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
821
- # message_attribute_names: ["MessageAttributeName"],
822
- # max_number_of_messages: 1,
823
- # visibility_timeout: 1,
824
- # wait_time_seconds: 1,
825
- # receive_request_attempt_id: "String",
826
- # }
827
- # @!attribute [rw] queue_url
828
- # The URL of the Amazon SQS queue to take action on.
829
- #
830
- # Queue URLs are case-sensitive.
831
- # @return [String]
832
- #
833
- # @!attribute [rw] attribute_names
834
- # A list of attributes that need to be returned along with each
835
- # message. These attributes include:
836
- #
837
- # * `All` - Returns all values.
838
- #
839
- # * `ApproximateFirstReceiveTimestamp` - Returns the time the message
840
- # was first received from the queue (epoch time in milliseconds).
841
- #
842
- # * `ApproximateReceiveCount` - Returns the number of times a message
843
- # has been received from the queue but not deleted.
844
- #
845
- # * `SenderId`
846
- #
847
- # * For an IAM user, returns the IAM user ID, for example
848
- # `ABCDEFGHI1JKLMNOPQ23R`.
849
- #
850
- # * For an IAM role, returns the IAM role ID, for example
851
- # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
852
- #
853
- # * `SentTimestamp` - Returns the time the message was sent to the
854
- # queue (epoch time in milliseconds).
855
- #
856
- # * `MessageDeduplicationId` - Returns the value provided by the
857
- # sender that calls the ` SendMessage ` action.
858
- #
859
- # * `MessageGroupId` - Returns the value provided by the sender that
860
- # calls the ` SendMessage ` action. Messages with the same
861
- # `MessageGroupId` are returned in sequence.
862
- #
863
- # * `SequenceNumber` - Returns the value provided by Amazon SQS.
864
- #
865
- # Any other valid special request parameters (such as the following)
866
- # that are specified are ignored:
867
- #
868
- # * `ApproximateNumberOfMessages`
869
- #
870
- # * `ApproximateNumberOfMessagesDelayed`
871
- #
872
- # * `ApproximateNumberOfMessagesNotVisible`
873
- #
874
- # * `CreatedTimestamp`
875
- #
876
- # * `ContentBasedDeduplication`
877
- #
878
- # * `DelaySeconds`
879
- #
880
- # * `LastModifiedTimestamp`
881
- #
882
- # * `MaximumMessageSize`
883
- #
884
- # * `MessageRetentionPeriod`
885
- #
886
- # * `Policy`
887
- #
888
- # * `QueueArn`,
889
- #
890
- # * `ReceiveMessageWaitTimeSeconds`
891
- #
892
- # * `RedrivePolicy`
893
- #
894
- # * `FifoQueue`
895
- #
896
- # * `VisibilityTimeout`
897
- # @return [Array<String>]
898
- #
899
- # @!attribute [rw] message_attribute_names
900
- # The name of the message attribute, where *N* is the index. The
901
- # message attribute name can contain the following characters: A-Z,
902
- # a-z, 0-9, underscore (\_), hyphen (-), and period (.). The name must
903
- # not start or end with a period, and it should not have successive
904
- # periods. The name is case sensitive and must be unique among all
905
- # attribute names for the message. The name can be up to 256
906
- # characters long. The name can't start with "AWS." or "Amazon."
907
- # (or any variations in casing), because these prefixes are reserved
908
- # for use by Amazon Web Services.
909
- #
910
- # When using `ReceiveMessage`, you can send a list of attribute names
911
- # to receive, or you can return all of the attributes by specifying
912
- # "All" or ".*" in your request. You can also use "bar.*" to
913
- # return all message attributes starting with the "bar" prefix.
914
- # @return [Array<String>]
915
- #
916
- # @!attribute [rw] max_number_of_messages
917
- # The maximum number of messages to return. Amazon SQS never returns
918
- # more messages than this value but might return fewer. Values can be
919
- # from 1 to 10. Default is 1.
920
- #
921
- # All of the messages are not necessarily returned.
922
- # @return [Integer]
923
- #
924
- # @!attribute [rw] visibility_timeout
925
- # The duration (in seconds) that the received messages are hidden from
926
- # subsequent retrieve requests after being retrieved by a
927
- # `ReceiveMessage` request.
928
- # @return [Integer]
929
- #
930
- # @!attribute [rw] wait_time_seconds
931
- # The duration (in seconds) for which the call will wait for a message
932
- # to arrive in the queue before returning. If a message is available,
933
- # the call will return sooner than WaitTimeSeconds.
934
- # @return [Integer]
935
- #
936
- # @!attribute [rw] receive_request_attempt_id
937
- # This parameter applies only to FIFO (first-in-first-out) queues.
938
- #
939
- # The token used for deduplication of `ReceiveMessage` calls. If a
940
- # networking issue occurs after a `ReceiveMessage` action, and instead
941
- # of a response you receive a generic error, you can retry the same
942
- # action with an identical `ReceiveRequestAttemptId` to retrieve the
943
- # same set of messages, even if their visibility timeout has not yet
944
- # expired.
945
- #
946
- # * You can use `ReceiveRequestAttemptId` only for 5 minutes after a
947
- # `ReceiveMessage` action.
948
- #
949
- # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
950
- # can provide a `ReceiveRequestAttemptId` explicitly.
951
- #
952
- # * If a caller of the `ReceiveMessage` action doesn't provide a
953
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
954
- # `ReceiveRequestAttemptId`.
955
- #
956
- # * You can retry the `ReceiveMessage` action with the same
957
- # `ReceiveRequestAttemptId` if none of the messages have been
958
- # modified (deleted or had their visibility changes).
959
- #
960
- # * During a visibility timeout, subsequent calls with the same
961
- # `ReceiveRequestAttemptId` return the same messages and receipt
962
- # handles. If a retry occurs within the deduplication interval, it
963
- # resets the visibility timeout. For more information, see
964
- # [Visibility Timeout][1] in the *Amazon Simple Queue Service
965
- # Developer Guide*.
966
- #
967
- # If a caller of the `ReceiveMessage` action is still processing
968
- # messages when the visibility timeout expires and messages become
969
- # visible, another worker reading from the same queue can receive
970
- # the same messages and therefore process duplicates. Also, if a
971
- # reader whose message processing time is longer than the visibility
972
- # timeout tries to delete the processed messages, the action fails
973
- # with an error.
974
- #
975
- # To mitigate this effect, ensure that your application observes a
976
- # safe threshold before the visibility timeout expires and extend
977
- # the visibility timeout as necessary.
978
- #
979
- # * While messages with a particular `MessageGroupId` are invisible,
980
- # no more messages belonging to the same `MessageGroupId` are
981
- # returned until the visibility timeout expires. You can still
982
- # receive messages with another `MessageGroupId` as long as it is
983
- # also visible.
984
- #
985
- # * If a caller of `ReceiveMessage` can't track the
986
- # `ReceiveRequestAttemptId`, no retries will work until the original
987
- # visibility timeout expires. As a result, delays might occur but
988
- # the messages in the queue will remain in a strict order.
989
- #
990
- # The length of `ReceiveRequestAttemptId` is 128 characters.
991
- # `ReceiveRequestAttemptId` can contain alphanumeric characters
992
- # (`a-z`, `A-Z`, `0-9`) and punctuation (``
993
- # !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~ ``).
994
- #
995
- # For best practices of using `ReceiveRequestAttemptId`, see [Using
996
- # the ReceiveRequestAttemptId Request Parameter][2] in the *Amazon
997
- # Simple Queue Service Developer Guide*.
998
- #
999
- #
1000
- #
1001
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1002
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-receiverequestattemptid-request-parameter
1003
- # @return [String]
1004
- class ReceiveMessageRequest < Struct.new(
1005
- :queue_url,
1006
- :attribute_names,
1007
- :message_attribute_names,
1008
- :max_number_of_messages,
1009
- :visibility_timeout,
1010
- :wait_time_seconds,
1011
- :receive_request_attempt_id)
1012
- include Aws::Structure
1013
- end
886
+ # @note When making an API call, you may pass PurgeQueueRequest
887
+ # data as a hash:
888
+ #
889
+ # {
890
+ # queue_url: "String", # required
891
+ # }
892
+ #
893
+ # @!attribute [rw] queue_url
894
+ # The URL of the queue from which the `PurgeQueue` action deletes
895
+ # messages.
896
+ #
897
+ # Queue URLs are case-sensitive.
898
+ # @return [String]
899
+ #
900
+ class PurgeQueueRequest < Struct.new(
901
+ :queue_url)
902
+ include Aws::Structure
903
+ end
1014
904
 
1015
- # A list of received messages.
1016
- # @!attribute [rw] messages
1017
- # A list of messages.
1018
- # @return [Array<Types::Message>]
1019
- class ReceiveMessageResult < Struct.new(
1020
- :messages)
1021
- include Aws::Structure
1022
- end
905
+ # @note When making an API call, you may pass ReceiveMessageRequest
906
+ # data as a hash:
907
+ #
908
+ # {
909
+ # queue_url: "String", # required
910
+ # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication
911
+ # message_attribute_names: ["MessageAttributeName"],
912
+ # max_number_of_messages: 1,
913
+ # visibility_timeout: 1,
914
+ # wait_time_seconds: 1,
915
+ # receive_request_attempt_id: "String",
916
+ # }
917
+ #
918
+ # @!attribute [rw] queue_url
919
+ # The URL of the Amazon SQS queue from which messages are received.
920
+ #
921
+ # Queue URLs are case-sensitive.
922
+ # @return [String]
923
+ #
924
+ # @!attribute [rw] attribute_names
925
+ # A list of attributes that need to be returned along with each
926
+ # message. These attributes include:
927
+ #
928
+ # * `All` - Returns all values.
929
+ #
930
+ # * `ApproximateFirstReceiveTimestamp` - Returns the time the message
931
+ # was first received from the queue ([epoch time][1] in
932
+ # milliseconds).
933
+ #
934
+ # * `ApproximateReceiveCount` - Returns the number of times a message
935
+ # has been received from the queue but not deleted.
936
+ #
937
+ # * `SenderId`
938
+ #
939
+ # * For an IAM user, returns the IAM user ID, for example
940
+ # `ABCDEFGHI1JKLMNOPQ23R`.
941
+ #
942
+ # * For an IAM role, returns the IAM role ID, for example
943
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
944
+ #
945
+ # * `SentTimestamp` - Returns the time the message was sent to the
946
+ # queue ([epoch time][1] in milliseconds).
947
+ #
948
+ # * `MessageDeduplicationId` - Returns the value provided by the
949
+ # sender that calls the ` SendMessage ` action.
950
+ #
951
+ # * `MessageGroupId` - Returns the value provided by the sender that
952
+ # calls the ` SendMessage ` action. Messages with the same
953
+ # `MessageGroupId` are returned in sequence.
954
+ #
955
+ # * `SequenceNumber` - Returns the value provided by Amazon SQS.
956
+ #
957
+ # Any other valid special request parameters (such as the following)
958
+ # are ignored:
959
+ #
960
+ # * `ApproximateNumberOfMessages`
961
+ #
962
+ # * `ApproximateNumberOfMessagesDelayed`
963
+ #
964
+ # * `ApproximateNumberOfMessagesNotVisible`
965
+ #
966
+ # * `CreatedTimestamp`
967
+ #
968
+ # * `ContentBasedDeduplication`
969
+ #
970
+ # * `DelaySeconds`
971
+ #
972
+ # * `FifoQueue`
973
+ #
974
+ # * `LastModifiedTimestamp`
975
+ #
976
+ # * `MaximumMessageSize`
977
+ #
978
+ # * `MessageRetentionPeriod`
979
+ #
980
+ # * `Policy`
981
+ #
982
+ # * `QueueArn`,
983
+ #
984
+ # * `ReceiveMessageWaitTimeSeconds`
985
+ #
986
+ # * `RedrivePolicy`
987
+ #
988
+ # * `VisibilityTimeout`
989
+ #
990
+ #
991
+ #
992
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
993
+ # @return [Array<String>]
994
+ #
995
+ # @!attribute [rw] message_attribute_names
996
+ # The name of the message attribute, where *N* is the index.
997
+ #
998
+ # * The name can contain alphanumeric characters and the underscore
999
+ # (`_`), hyphen (`-`), and period (`.`).
1000
+ #
1001
+ # * The name is case-sensitive and must be unique among all attribute
1002
+ # names for the message.
1003
+ #
1004
+ # * The name must not start with AWS-reserved prefixes such as `AWS.`
1005
+ # or `Amazon.` (or any casing variants).
1006
+ #
1007
+ # * The name must not start or end with a period (`.`), and it should
1008
+ # not have periods in succession (`..`).
1009
+ #
1010
+ # * The name can be up to 256 characters long.
1011
+ #
1012
+ # When using `ReceiveMessage`, you can send a list of attribute names
1013
+ # to receive, or you can return all of the attributes by specifying
1014
+ # `All` or `.*` in your request. You can also use all message
1015
+ # attributes starting with a prefix, for example `bar.*`.
1016
+ # @return [Array<String>]
1017
+ #
1018
+ # @!attribute [rw] max_number_of_messages
1019
+ # The maximum number of messages to return. Amazon SQS never returns
1020
+ # more messages than this value (however, fewer messages might be
1021
+ # returned). Valid values are 1 to 10. Default is 1.
1022
+ # @return [Integer]
1023
+ #
1024
+ # @!attribute [rw] visibility_timeout
1025
+ # The duration (in seconds) that the received messages are hidden from
1026
+ # subsequent retrieve requests after being retrieved by a
1027
+ # `ReceiveMessage` request.
1028
+ # @return [Integer]
1029
+ #
1030
+ # @!attribute [rw] wait_time_seconds
1031
+ # The duration (in seconds) for which the call waits for a message to
1032
+ # arrive in the queue before returning. If a message is available, the
1033
+ # call returns sooner than `WaitTimeSeconds`.
1034
+ # @return [Integer]
1035
+ #
1036
+ # @!attribute [rw] receive_request_attempt_id
1037
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1038
+ #
1039
+ # The token used for deduplication of `ReceiveMessage` calls. If a
1040
+ # networking issue occurs after a `ReceiveMessage` action, and instead
1041
+ # of a response you receive a generic error, you can retry the same
1042
+ # action with an identical `ReceiveRequestAttemptId` to retrieve the
1043
+ # same set of messages, even if their visibility timeout has not yet
1044
+ # expired.
1045
+ #
1046
+ # * You can use `ReceiveRequestAttemptId` only for 5 minutes after a
1047
+ # `ReceiveMessage` action.
1048
+ #
1049
+ # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1050
+ # can provide a `ReceiveRequestAttemptId` explicitly.
1051
+ #
1052
+ # * If a caller of the `ReceiveMessage` action doesn't provide a
1053
+ # `ReceiveRequestAttemptId`, Amazon SQS generates a
1054
+ # `ReceiveRequestAttemptId`.
1055
+ #
1056
+ # * You can retry the `ReceiveMessage` action with the same
1057
+ # `ReceiveRequestAttemptId` if none of the messages have been
1058
+ # modified (deleted or had their visibility changes).
1059
+ #
1060
+ # * During a visibility timeout, subsequent calls with the same
1061
+ # `ReceiveRequestAttemptId` return the same messages and receipt
1062
+ # handles. If a retry occurs within the deduplication interval, it
1063
+ # resets the visibility timeout. For more information, see
1064
+ # [Visibility Timeout][1] in the *Amazon Simple Queue Service
1065
+ # Developer Guide*.
1066
+ #
1067
+ # If a caller of the `ReceiveMessage` action is still processing
1068
+ # messages when the visibility timeout expires and messages become
1069
+ # visible, another worker reading from the same queue can receive
1070
+ # the same messages and therefore process duplicates. Also, if a
1071
+ # reader whose message processing time is longer than the visibility
1072
+ # timeout tries to delete the processed messages, the action fails
1073
+ # with an error.
1074
+ #
1075
+ # To mitigate this effect, ensure that your application observes a
1076
+ # safe threshold before the visibility timeout expires and extend
1077
+ # the visibility timeout as necessary.
1078
+ #
1079
+ # * While messages with a particular `MessageGroupId` are invisible,
1080
+ # no more messages belonging to the same `MessageGroupId` are
1081
+ # returned until the visibility timeout expires. You can still
1082
+ # receive messages with another `MessageGroupId` as long as it is
1083
+ # also visible.
1084
+ #
1085
+ # * If a caller of `ReceiveMessage` can't track the
1086
+ # `ReceiveRequestAttemptId`, no retries work until the original
1087
+ # visibility timeout expires. As a result, delays might occur but
1088
+ # the messages in the queue remain in a strict order.
1089
+ #
1090
+ # The length of `ReceiveRequestAttemptId` is 128 characters.
1091
+ # `ReceiveRequestAttemptId` can contain alphanumeric characters
1092
+ # (`a-z`, `A-Z`, `0-9`) and punctuation (``
1093
+ # !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~ ``).
1094
+ #
1095
+ # For best practices of using `ReceiveRequestAttemptId`, see [Using
1096
+ # the ReceiveRequestAttemptId Request Parameter][2] in the *Amazon
1097
+ # Simple Queue Service Developer Guide*.
1098
+ #
1099
+ #
1100
+ #
1101
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1102
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-receiverequestattemptid-request-parameter
1103
+ # @return [String]
1104
+ #
1105
+ class ReceiveMessageRequest < Struct.new(
1106
+ :queue_url,
1107
+ :attribute_names,
1108
+ :message_attribute_names,
1109
+ :max_number_of_messages,
1110
+ :visibility_timeout,
1111
+ :wait_time_seconds,
1112
+ :receive_request_attempt_id)
1113
+ include Aws::Structure
1114
+ end
1023
1115
 
1024
- # @note When making an API call, pass RemovePermissionRequest
1025
- # data as a hash:
1026
- #
1027
- # {
1028
- # queue_url: "String", # required
1029
- # label: "String", # required
1030
- # }
1031
- # @!attribute [rw] queue_url
1032
- # The URL of the Amazon SQS queue to take action on.
1033
- #
1034
- # Queue URLs are case-sensitive.
1035
- # @return [String]
1036
- #
1037
- # @!attribute [rw] label
1038
- # The identification of the permission to remove. This is the label
1039
- # added with the AddPermission action.
1040
- # @return [String]
1041
- class RemovePermissionRequest < Struct.new(
1042
- :queue_url,
1043
- :label)
1044
- include Aws::Structure
1045
- end
1116
+ # A list of received messages.
1117
+ #
1118
+ # @!attribute [rw] messages
1119
+ # A list of messages.
1120
+ # @return [Array<Types::Message>]
1121
+ #
1122
+ class ReceiveMessageResult < Struct.new(
1123
+ :messages)
1124
+ include Aws::Structure
1125
+ end
1046
1126
 
1047
- # @note When making an API call, pass SendMessageBatchRequest
1048
- # data as a hash:
1049
- #
1050
- # {
1051
- # queue_url: "String", # required
1052
- # entries: [ # required
1053
- # {
1054
- # id: "String", # required
1055
- # message_body: "String", # required
1056
- # delay_seconds: 1,
1057
- # message_attributes: {
1058
- # "String" => {
1059
- # string_value: "String",
1060
- # binary_value: "data",
1061
- # string_list_values: ["String"],
1062
- # binary_list_values: ["data"],
1063
- # data_type: "String", # required
1064
- # },
1065
- # },
1066
- # message_deduplication_id: "String",
1067
- # message_group_id: "String",
1068
- # },
1069
- # ],
1070
- # }
1071
- # @!attribute [rw] queue_url
1072
- # The URL of the Amazon SQS queue to take action on.
1073
- #
1074
- # Queue URLs are case-sensitive.
1075
- # @return [String]
1076
- #
1077
- # @!attribute [rw] entries
1078
- # A list of SendMessageBatchRequestEntry items.
1079
- # @return [Array<Types::SendMessageBatchRequestEntry>]
1080
- class SendMessageBatchRequest < Struct.new(
1081
- :queue_url,
1082
- :entries)
1083
- include Aws::Structure
1084
- end
1127
+ # @note When making an API call, you may pass RemovePermissionRequest
1128
+ # data as a hash:
1129
+ #
1130
+ # {
1131
+ # queue_url: "String", # required
1132
+ # label: "String", # required
1133
+ # }
1134
+ #
1135
+ # @!attribute [rw] queue_url
1136
+ # The URL of the Amazon SQS queue from which permissions are removed.
1137
+ #
1138
+ # Queue URLs are case-sensitive.
1139
+ # @return [String]
1140
+ #
1141
+ # @!attribute [rw] label
1142
+ # The identification of the permission to remove. This is the label
1143
+ # added using the ` AddPermission ` action.
1144
+ # @return [String]
1145
+ #
1146
+ class RemovePermissionRequest < Struct.new(
1147
+ :queue_url,
1148
+ :label)
1149
+ include Aws::Structure
1150
+ end
1085
1151
 
1086
- # Contains the details of a single Amazon SQS message along with a `Id`.
1087
- # @note When making an API call, pass SendMessageBatchRequestEntry
1088
- # data as a hash:
1089
- #
1090
- # {
1091
- # id: "String", # required
1092
- # message_body: "String", # required
1093
- # delay_seconds: 1,
1094
- # message_attributes: {
1095
- # "String" => {
1096
- # string_value: "String",
1097
- # binary_value: "data",
1098
- # string_list_values: ["String"],
1099
- # binary_list_values: ["data"],
1100
- # data_type: "String", # required
1101
- # },
1102
- # },
1103
- # message_deduplication_id: "String",
1104
- # message_group_id: "String",
1105
- # }
1106
- # @!attribute [rw] id
1107
- # An identifier for the message in this batch. This is used to
1108
- # communicate the result. Note that the `Id`s of a batch request need
1109
- # to be unique within the request.
1110
- # @return [String]
1111
- #
1112
- # @!attribute [rw] message_body
1113
- # Body of the message.
1114
- # @return [String]
1115
- #
1116
- # @!attribute [rw] delay_seconds
1117
- # The number of seconds (0 to 900 - 15 minutes) to delay a specific
1118
- # message. Messages with a positive `DelaySeconds` value become
1119
- # available for processing after the delay time is finished. If you
1120
- # don't specify a value, the default value for the queue applies.
1121
- #
1122
- # <note markdown="1"> When you set `FifoQueue`, you can't set `DelaySeconds` per message.
1123
- # You can set this parameter only on a queue level.
1124
- #
1125
- # </note>
1126
- # @return [Integer]
1127
- #
1128
- # @!attribute [rw] message_attributes
1129
- # Each message attribute consists of a Name, Type, and Value. For more
1130
- # information, see [Message Attribute Items and Validation][1] in the
1131
- # *Amazon SQS Developer Guide*.
1132
- #
1133
- #
1134
- #
1135
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
1136
- # @return [Hash<String,Types::MessageAttributeValue>]
1137
- #
1138
- # @!attribute [rw] message_deduplication_id
1139
- # This parameter applies only to FIFO (first-in-first-out) queues.
1140
- #
1141
- # The token used for deduplication of messages within a 5-minute
1142
- # minimum deduplication interval. If a message with a particular
1143
- # `MessageDeduplicationId` is sent successfully, subsequent messages
1144
- # with the same `MessageDeduplicationId` are accepted successfully but
1145
- # aren't delivered. For more information, see [ Exactly-Once
1146
- # Processing][1] in the *Amazon SQS Developer Guide*.
1147
- #
1148
- # * Every message must have a unique `MessageDeduplicationId`,
1149
- #
1150
- # * You may provide a `MessageDeduplicationId` explicitly.
1151
- #
1152
- # * If you aren't able to provide a `MessageDeduplicationId` and
1153
- # you enable `ContentBasedDeduplication` for your queue, Amazon
1154
- # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
1155
- # using the body of the message (but not the attributes of the
1156
- # message).
1157
- #
1158
- # * If you don't provide a `MessageDeduplicationId` and the queue
1159
- # doesn't have `ContentBasedDeduplication` set, the action fails
1160
- # with an error.
1161
- #
1162
- # * If the queue has `ContentBasedDeduplication` set, your
1163
- # `MessageDeduplicationId` overrides the generated one.
1164
- #
1165
- # * When `ContentBasedDeduplication` is in effect, messages with
1166
- # identical content sent within the deduplication interval are
1167
- # treated as duplicates and only one copy of the message is
1168
- # delivered.
1169
- #
1170
- # * You can also use `ContentBasedDeduplication` for messages with
1171
- # identical content to be treated as duplicates.
1172
- #
1173
- # * If you send one message with `ContentBasedDeduplication` enabled
1174
- # and then another message with a `MessageDeduplicationId` that is
1175
- # the same as the one generated for the first
1176
- # `MessageDeduplicationId`, the two messages are treated as
1177
- # duplicates and only one copy of the message is delivered.
1178
- #
1179
- # <note markdown="1"> The `MessageDeduplicationId` is available to the recipient of the
1180
- # message (this can be useful for troubleshooting delivery issues).
1181
- #
1182
- # If a message is sent successfully but the acknowledgement is lost
1183
- # and the message is resent with the same `MessageDeduplicationId`
1184
- # after the deduplication interval, Amazon SQS can't detect duplicate
1185
- # messages.
1186
- #
1187
- # </note>
1188
- #
1189
- # The length of `MessageDeduplicationId` is 128 characters.
1190
- # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1191
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1192
- # ``).
1193
- #
1194
- # For best practices of using `MessageDeduplicationId`, see [Using the
1195
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1196
- # Service Developer Guide*.
1197
- #
1198
- #
1199
- #
1200
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1201
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagededuplicationid-property
1202
- # @return [String]
1203
- #
1204
- # @!attribute [rw] message_group_id
1205
- # This parameter applies only to FIFO (first-in-first-out) queues.
1206
- #
1207
- # The tag that specifies that a message belongs to a specific message
1208
- # group. Messages that belong to the same message group are processed
1209
- # in a FIFO manner (however, messages in different message groups
1210
- # might be processed out of order). To interleave multiple ordered
1211
- # streams within a single queue, use `MessageGroupId` values (for
1212
- # example, session data for multiple users). In this scenario,
1213
- # multiple readers can process the queue, but the session data of each
1214
- # user is processed in a FIFO fashion.
1215
- #
1216
- # * You must associate a non-empty `MessageGroupId` with a message. If
1217
- # you don't provide a `MessageGroupId`, the action fails.
1218
- #
1219
- # * `ReceiveMessage` might return messages with multiple
1220
- # `MessageGroupId` values. For each `MessageGroupId`, the messages
1221
- # are sorted by time sent. The caller can't specify a
1222
- # `MessageGroupId`.
1223
- #
1224
- # The length of `MessageGroupId` is 128 characters. Valid values are
1225
- # alphanumeric characters and punctuation ``
1226
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1227
- #
1228
- # For best practices of using `MessageGroupId`, see [Using the
1229
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1230
- # Developer Guide*.
1231
- #
1232
- #
1233
- #
1234
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagegroupid-property
1235
- # @return [String]
1236
- class SendMessageBatchRequestEntry < Struct.new(
1237
- :id,
1238
- :message_body,
1239
- :delay_seconds,
1240
- :message_attributes,
1241
- :message_deduplication_id,
1242
- :message_group_id)
1243
- include Aws::Structure
1244
- end
1152
+ # @note When making an API call, you may pass SendMessageBatchRequest
1153
+ # data as a hash:
1154
+ #
1155
+ # {
1156
+ # queue_url: "String", # required
1157
+ # entries: [ # required
1158
+ # {
1159
+ # id: "String", # required
1160
+ # message_body: "String", # required
1161
+ # delay_seconds: 1,
1162
+ # message_attributes: {
1163
+ # "String" => {
1164
+ # string_value: "String",
1165
+ # binary_value: "data",
1166
+ # string_list_values: ["String"],
1167
+ # binary_list_values: ["data"],
1168
+ # data_type: "String", # required
1169
+ # },
1170
+ # },
1171
+ # message_deduplication_id: "String",
1172
+ # message_group_id: "String",
1173
+ # },
1174
+ # ],
1175
+ # }
1176
+ #
1177
+ # @!attribute [rw] queue_url
1178
+ # The URL of the Amazon SQS queue to which batched messages are sent.
1179
+ #
1180
+ # Queue URLs are case-sensitive.
1181
+ # @return [String]
1182
+ #
1183
+ # @!attribute [rw] entries
1184
+ # A list of ` SendMessageBatchRequestEntry ` items.
1185
+ # @return [Array<Types::SendMessageBatchRequestEntry>]
1186
+ #
1187
+ class SendMessageBatchRequest < Struct.new(
1188
+ :queue_url,
1189
+ :entries)
1190
+ include Aws::Structure
1191
+ end
1245
1192
 
1246
- # For each message in the batch, the response contains a
1247
- # SendMessageBatchResultEntry tag if the message succeeds or a
1248
- # BatchResultErrorEntry tag if the message fails.
1249
- # @!attribute [rw] successful
1250
- # A list of SendMessageBatchResultEntry items.
1251
- # @return [Array<Types::SendMessageBatchResultEntry>]
1252
- #
1253
- # @!attribute [rw] failed
1254
- # A list of BatchResultErrorEntry items with the error detail about
1255
- # each message that could not be enqueued.
1256
- # @return [Array<Types::BatchResultErrorEntry>]
1257
- class SendMessageBatchResult < Struct.new(
1258
- :successful,
1259
- :failed)
1260
- include Aws::Structure
1261
- end
1193
+ # Contains the details of a single Amazon SQS message along with an
1194
+ # `Id`.
1195
+ #
1196
+ # @note When making an API call, you may pass SendMessageBatchRequestEntry
1197
+ # data as a hash:
1198
+ #
1199
+ # {
1200
+ # id: "String", # required
1201
+ # message_body: "String", # required
1202
+ # delay_seconds: 1,
1203
+ # message_attributes: {
1204
+ # "String" => {
1205
+ # string_value: "String",
1206
+ # binary_value: "data",
1207
+ # string_list_values: ["String"],
1208
+ # binary_list_values: ["data"],
1209
+ # data_type: "String", # required
1210
+ # },
1211
+ # },
1212
+ # message_deduplication_id: "String",
1213
+ # message_group_id: "String",
1214
+ # }
1215
+ #
1216
+ # @!attribute [rw] id
1217
+ # An identifier for a message in this batch used to communicate the
1218
+ # result.
1219
+ #
1220
+ # <note markdown="1"> The `Id`s of a batch request need to be unique within a request
1221
+ #
1222
+ # </note>
1223
+ # @return [String]
1224
+ #
1225
+ # @!attribute [rw] message_body
1226
+ # The body of the message.
1227
+ # @return [String]
1228
+ #
1229
+ # @!attribute [rw] delay_seconds
1230
+ # The number of seconds for which a specific message is delayed. Valid
1231
+ # values: 0 to 900. Maximum: 15 minutes. Messages with a positive
1232
+ # `DelaySeconds` value become available for processing after the delay
1233
+ # period is finished. If you don't specify a value, the default value
1234
+ # for the queue is applied.
1235
+ #
1236
+ # <note markdown="1"> When you set `FifoQueue`, you can't set `DelaySeconds` per message.
1237
+ # You can set this parameter only on a queue level.
1238
+ #
1239
+ # </note>
1240
+ # @return [Integer]
1241
+ #
1242
+ # @!attribute [rw] message_attributes
1243
+ # Each message attribute consists of a `Name`, `Type`, and `Value`.
1244
+ # For more information, see [Message Attribute Items and
1245
+ # Validation][1] in the *Amazon SQS Developer Guide*.
1246
+ #
1247
+ #
1248
+ #
1249
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
1250
+ # @return [Hash<String,Types::MessageAttributeValue>]
1251
+ #
1252
+ # @!attribute [rw] message_deduplication_id
1253
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1254
+ #
1255
+ # The token used for deduplication of messages within a 5-minute
1256
+ # minimum deduplication interval. If a message with a particular
1257
+ # `MessageDeduplicationId` is sent successfully, subsequent messages
1258
+ # with the same `MessageDeduplicationId` are accepted successfully but
1259
+ # aren't delivered. For more information, see [ Exactly-Once
1260
+ # Processing][1] in the *Amazon SQS Developer Guide*.
1261
+ #
1262
+ # * Every message must have a unique `MessageDeduplicationId`,
1263
+ #
1264
+ # * You may provide a `MessageDeduplicationId` explicitly.
1265
+ #
1266
+ # * If you aren't able to provide a `MessageDeduplicationId` and
1267
+ # you enable `ContentBasedDeduplication` for your queue, Amazon
1268
+ # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
1269
+ # using the body of the message (but not the attributes of the
1270
+ # message).
1271
+ #
1272
+ # * If you don't provide a `MessageDeduplicationId` and the queue
1273
+ # doesn't have `ContentBasedDeduplication` set, the action fails
1274
+ # with an error.
1275
+ #
1276
+ # * If the queue has `ContentBasedDeduplication` set, your
1277
+ # `MessageDeduplicationId` overrides the generated one.
1278
+ #
1279
+ # * When `ContentBasedDeduplication` is in effect, messages with
1280
+ # identical content sent within the deduplication interval are
1281
+ # treated as duplicates and only one copy of the message is
1282
+ # delivered.
1283
+ #
1284
+ # * You can also use `ContentBasedDeduplication` for messages with
1285
+ # identical content to be treated as duplicates.
1286
+ #
1287
+ # * If you send one message with `ContentBasedDeduplication` enabled
1288
+ # and then another message with a `MessageDeduplicationId` that is
1289
+ # the same as the one generated for the first
1290
+ # `MessageDeduplicationId`, the two messages are treated as
1291
+ # duplicates and only one copy of the message is delivered.
1292
+ #
1293
+ # <note markdown="1"> The `MessageDeduplicationId` is available to the recipient of the
1294
+ # message (this can be useful for troubleshooting delivery issues).
1295
+ #
1296
+ # If a message is sent successfully but the acknowledgement is lost
1297
+ # and the message is resent with the same `MessageDeduplicationId`
1298
+ # after the deduplication interval, Amazon SQS can't detect duplicate
1299
+ # messages.
1300
+ #
1301
+ # </note>
1302
+ #
1303
+ # The length of `MessageDeduplicationId` is 128 characters.
1304
+ # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1305
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1306
+ # ``).
1307
+ #
1308
+ # For best practices of using `MessageDeduplicationId`, see [Using the
1309
+ # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1310
+ # Service Developer Guide*.
1311
+ #
1312
+ #
1313
+ #
1314
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1315
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagededuplicationid-property
1316
+ # @return [String]
1317
+ #
1318
+ # @!attribute [rw] message_group_id
1319
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1320
+ #
1321
+ # The tag that specifies that a message belongs to a specific message
1322
+ # group. Messages that belong to the same message group are processed
1323
+ # in a FIFO manner (however, messages in different message groups
1324
+ # might be processed out of order). To interleave multiple ordered
1325
+ # streams within a single queue, use `MessageGroupId` values (for
1326
+ # example, session data for multiple users). In this scenario,
1327
+ # multiple readers can process the queue, but the session data of each
1328
+ # user is processed in a FIFO fashion.
1329
+ #
1330
+ # * You must associate a non-empty `MessageGroupId` with a message. If
1331
+ # you don't provide a `MessageGroupId`, the action fails.
1332
+ #
1333
+ # * `ReceiveMessage` might return messages with multiple
1334
+ # `MessageGroupId` values. For each `MessageGroupId`, the messages
1335
+ # are sorted by time sent. The caller can't specify a
1336
+ # `MessageGroupId`.
1337
+ #
1338
+ # The length of `MessageGroupId` is 128 characters. Valid values are
1339
+ # alphanumeric characters and punctuation ``
1340
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1341
+ #
1342
+ # For best practices of using `MessageGroupId`, see [Using the
1343
+ # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1344
+ # Developer Guide*.
1345
+ #
1346
+ #
1347
+ #
1348
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagegroupid-property
1349
+ # @return [String]
1350
+ #
1351
+ class SendMessageBatchRequestEntry < Struct.new(
1352
+ :id,
1353
+ :message_body,
1354
+ :delay_seconds,
1355
+ :message_attributes,
1356
+ :message_deduplication_id,
1357
+ :message_group_id)
1358
+ include Aws::Structure
1359
+ end
1262
1360
 
1263
- # Encloses a message ID for successfully enqueued message of a
1264
- # SendMessageBatch.
1265
- # @!attribute [rw] id
1266
- # An identifier for the message in this batch.
1267
- # @return [String]
1268
- #
1269
- # @!attribute [rw] message_id
1270
- # An identifier for the message.
1271
- # @return [String]
1272
- #
1273
- # @!attribute [rw] md5_of_message_body
1274
- # An MD5 digest of the non-URL-encoded message body string. This can
1275
- # be used to verify that Amazon SQS received the message correctly.
1276
- # Amazon SQS first URL decodes the message before creating the MD5
1277
- # digest. For information about MD5, see [RFC1321][1].
1278
- #
1279
- #
1280
- #
1281
- # [1]: https://www.ietf.org/rfc/rfc1321.txt
1282
- # @return [String]
1283
- #
1284
- # @!attribute [rw] md5_of_message_attributes
1285
- # An MD5 digest of the non-URL-encoded message attribute string. This
1286
- # can be used to verify that Amazon SQS received the message batch
1287
- # correctly. Amazon SQS first URL decodes the message before creating
1288
- # the MD5 digest. For information about MD5, see [RFC1321][1].
1289
- #
1290
- #
1291
- #
1292
- # [1]: https://www.ietf.org/rfc/rfc1321.txt
1293
- # @return [String]
1294
- #
1295
- # @!attribute [rw] sequence_number
1296
- # *This element applies only to FIFO (first-in-first-out) queues.*
1297
- #
1298
- # A large, non-consecutive number that Amazon SQS assigns to each
1299
- # message.
1300
- #
1301
- # The length of `SequenceNumber` is 128 bits. As `SequenceNumber`
1302
- # continues to increase for a particular `MessageGroupId`.
1303
- # @return [String]
1304
- class SendMessageBatchResultEntry < Struct.new(
1305
- :id,
1306
- :message_id,
1307
- :md5_of_message_body,
1308
- :md5_of_message_attributes,
1309
- :sequence_number)
1310
- include Aws::Structure
1311
- end
1361
+ # For each message in the batch, the response contains a `
1362
+ # SendMessageBatchResultEntry ` tag if the message succeeds or a `
1363
+ # BatchResultErrorEntry ` tag if the message fails.
1364
+ #
1365
+ # @!attribute [rw] successful
1366
+ # A list of ` SendMessageBatchResultEntry ` items.
1367
+ # @return [Array<Types::SendMessageBatchResultEntry>]
1368
+ #
1369
+ # @!attribute [rw] failed
1370
+ # A list of ` BatchResultErrorEntry ` items with error details about
1371
+ # each message that can't be enqueued.
1372
+ # @return [Array<Types::BatchResultErrorEntry>]
1373
+ #
1374
+ class SendMessageBatchResult < Struct.new(
1375
+ :successful,
1376
+ :failed)
1377
+ include Aws::Structure
1378
+ end
1312
1379
 
1313
- # @note When making an API call, pass SendMessageRequest
1314
- # data as a hash:
1315
- #
1316
- # {
1317
- # queue_url: "String", # required
1318
- # message_body: "String", # required
1319
- # delay_seconds: 1,
1320
- # message_attributes: {
1321
- # "String" => {
1322
- # string_value: "String",
1323
- # binary_value: "data",
1324
- # string_list_values: ["String"],
1325
- # binary_list_values: ["data"],
1326
- # data_type: "String", # required
1327
- # },
1328
- # },
1329
- # message_deduplication_id: "String",
1330
- # message_group_id: "String",
1331
- # }
1332
- # @!attribute [rw] queue_url
1333
- # The URL of the Amazon SQS queue to take action on.
1334
- #
1335
- # Queue URLs are case-sensitive.
1336
- # @return [String]
1337
- #
1338
- # @!attribute [rw] message_body
1339
- # The message to send. String maximum 256 KB in size. For a list of
1340
- # allowed characters, see the preceding note.
1341
- # @return [String]
1342
- #
1343
- # @!attribute [rw] delay_seconds
1344
- # The number of seconds (0 to 900 - 15 minutes) to delay a specific
1345
- # message. Messages with a positive `DelaySeconds` value become
1346
- # available for processing after the delay time is finished. If you
1347
- # don't specify a value, the default value for the queue applies.
1348
- #
1349
- # <note markdown="1"> When you set `FifoQueue`, you can't set `DelaySeconds` per message.
1350
- # You can set this parameter only on a queue level.
1351
- #
1352
- # </note>
1353
- # @return [Integer]
1354
- #
1355
- # @!attribute [rw] message_attributes
1356
- # Each message attribute consists of a Name, Type, and Value. For more
1357
- # information, see [Message Attribute Items and Validation][1] in the
1358
- # *Amazon SQS Developer Guide*.
1359
- #
1360
- #
1361
- #
1362
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
1363
- # @return [Hash<String,Types::MessageAttributeValue>]
1364
- #
1365
- # @!attribute [rw] message_deduplication_id
1366
- # This parameter applies only to FIFO (first-in-first-out) queues.
1367
- #
1368
- # The token used for deduplication of sent messages. If a message with
1369
- # a particular `MessageDeduplicationId` is sent successfully, any
1370
- # messages sent with the same `MessageDeduplicationId` are accepted
1371
- # successfully but aren't delivered during the 5-minute deduplication
1372
- # interval. For more information, see [ Exactly-Once Processing][1] in
1373
- # the *Amazon SQS Developer Guide*.
1374
- #
1375
- # * Every message must have a unique `MessageDeduplicationId`,
1376
- #
1377
- # * You may provide a `MessageDeduplicationId` explicitly.
1378
- #
1379
- # * If you aren't able to provide a `MessageDeduplicationId` and
1380
- # you enable `ContentBasedDeduplication` for your queue, Amazon
1381
- # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
1382
- # using the body of the message (but not the attributes of the
1383
- # message).
1384
- #
1385
- # * If you don't provide a `MessageDeduplicationId` and the queue
1386
- # doesn't have `ContentBasedDeduplication` set, the action fails
1387
- # with an error.
1388
- #
1389
- # * If the queue has `ContentBasedDeduplication` set, your
1390
- # `MessageDeduplicationId` overrides the generated one.
1391
- #
1392
- # * When `ContentBasedDeduplication` is in effect, messages with
1393
- # identical content sent within the deduplication interval are
1394
- # treated as duplicates and only one copy of the message is
1395
- # delivered.
1396
- #
1397
- # * You can also use `ContentBasedDeduplication` for messages with
1398
- # identical content to be treated as duplicates.
1399
- #
1400
- # * If you send one message with `ContentBasedDeduplication` enabled
1401
- # and then another message with a `MessageDeduplicationId` that is
1402
- # the same as the one generated for the first
1403
- # `MessageDeduplicationId`, the two messages are treated as
1404
- # duplicates and only one copy of the message is delivered.
1405
- #
1406
- # <note markdown="1"> The `MessageDeduplicationId` is available to the recipient of the
1407
- # message (this can be useful for troubleshooting delivery issues).
1408
- #
1409
- # If a message is sent successfully but the acknowledgdment is lost
1410
- # and the message is resent with the same `MessageDeduplicationId`
1411
- # after the deduplication interval, Amazon SQS can't detect duplicate
1412
- # messages.
1413
- #
1414
- # </note>
1415
- #
1416
- # The length of `MessageDeduplicationId` is 128 characters.
1417
- # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1418
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1419
- # ``).
1420
- #
1421
- # For best practices of using `MessageDeduplicationId`, see [Using the
1422
- # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1423
- # Service Developer Guide*.
1424
- #
1425
- #
1426
- #
1427
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1428
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagededuplicationid-property
1429
- # @return [String]
1430
- #
1431
- # @!attribute [rw] message_group_id
1432
- # This parameter applies only to FIFO (first-in-first-out) queues.
1433
- #
1434
- # The tag that specifies that a message belongs to a specific message
1435
- # group. Messages that belong to the same message group are processed
1436
- # in a FIFO manner (however, messages in different message groups
1437
- # might be processed out of order). To interleave multiple ordered
1438
- # streams within a single queue, use `MessageGroupId` values (for
1439
- # example, session data for multiple users). In this scenario,
1440
- # multiple readers can process the queue, but the session data of each
1441
- # user is processed in a FIFO fashion.
1442
- #
1443
- # * You must associate a non-empty `MessageGroupId` with a message. If
1444
- # you don't provide a `MessageGroupId`, the action fails.
1445
- #
1446
- # * `ReceiveMessage` might return messages with multiple
1447
- # `MessageGroupId` values. For each `MessageGroupId`, the messages
1448
- # are sorted by time sent. The caller can't specify a
1449
- # `MessageGroupId`.
1450
- #
1451
- # The length of `MessageGroupId` is 128 characters. Valid values are
1452
- # alphanumeric characters and punctuation ``
1453
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1454
- #
1455
- # For best practices of using `MessageGroupId`, see [Using the
1456
- # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1457
- # Developer Guide*.
1458
- #
1459
- #
1460
- #
1461
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagegroupid-property
1462
- # @return [String]
1463
- class SendMessageRequest < Struct.new(
1464
- :queue_url,
1465
- :message_body,
1466
- :delay_seconds,
1467
- :message_attributes,
1468
- :message_deduplication_id,
1469
- :message_group_id)
1470
- include Aws::Structure
1471
- end
1380
+ # Encloses a `MessageId` for a successfully-enqueued message in a `
1381
+ # SendMessageBatch `.
1382
+ #
1383
+ # @!attribute [rw] id
1384
+ # An identifier for the message in this batch.
1385
+ # @return [String]
1386
+ #
1387
+ # @!attribute [rw] message_id
1388
+ # An identifier for the message.
1389
+ # @return [String]
1390
+ #
1391
+ # @!attribute [rw] md5_of_message_body
1392
+ # An MD5 digest of the non-URL-encoded message attribute string. You
1393
+ # can use this attribute to verify that Amazon SQS received the
1394
+ # message correctly. Amazon SQS URL-decodes the message before
1395
+ # creating the MD5 digest. For information on MD5, see [RFC1321][1].
1396
+ #
1397
+ #
1398
+ #
1399
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1400
+ # @return [String]
1401
+ #
1402
+ # @!attribute [rw] md5_of_message_attributes
1403
+ # An MD5 digest of the non-URL-encoded message attribute string. You
1404
+ # can use this attribute to verify that Amazon SQS received the
1405
+ # message correctly. Amazon SQS URL-decodes the message before
1406
+ # creating the MD5 digest. For information on MD5, see [RFC1321][1].
1407
+ #
1408
+ #
1409
+ #
1410
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1411
+ # @return [String]
1412
+ #
1413
+ # @!attribute [rw] sequence_number
1414
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1415
+ #
1416
+ # A large, non-consecutive number that Amazon SQS assigns to each
1417
+ # message.
1418
+ #
1419
+ # The length of `SequenceNumber` is 128 bits. As `SequenceNumber`
1420
+ # continues to increase for a particular `MessageGroupId`.
1421
+ # @return [String]
1422
+ #
1423
+ class SendMessageBatchResultEntry < Struct.new(
1424
+ :id,
1425
+ :message_id,
1426
+ :md5_of_message_body,
1427
+ :md5_of_message_attributes,
1428
+ :sequence_number)
1429
+ include Aws::Structure
1430
+ end
1472
1431
 
1473
- # The MD5OfMessageBody and MessageId elements.
1474
- # @!attribute [rw] md5_of_message_body
1475
- # An MD5 digest of the non-URL-encoded message body string. This can
1476
- # be used to verify that Amazon SQS received the message correctly.
1477
- # Amazon SQS first URL decodes the message before creating the MD5
1478
- # digest. For information about MD5, see [RFC1321][1].
1479
- #
1480
- #
1481
- #
1482
- # [1]: https://www.ietf.org/rfc/rfc1321.txt
1483
- # @return [String]
1484
- #
1485
- # @!attribute [rw] md5_of_message_attributes
1486
- # An MD5 digest of the non-URL-encoded message attribute string. This
1487
- # can be used to verify that Amazon SQS received the message
1488
- # correctly. Amazon SQS first URL decodes the message before creating
1489
- # the MD5 digest. For information about MD5, see [RFC1321][1].
1490
- #
1491
- #
1492
- #
1493
- # [1]: https://www.ietf.org/rfc/rfc1321.txt
1494
- # @return [String]
1495
- #
1496
- # @!attribute [rw] message_id
1497
- # An element containing the message ID of the message sent to the
1498
- # queue. For more information, see [Queue and Message Identifiers][1]
1499
- # in the *Amazon SQS Developer Guide*.
1500
- #
1501
- #
1502
- #
1503
- # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
1504
- # @return [String]
1505
- #
1506
- # @!attribute [rw] sequence_number
1507
- # *This element applies only to FIFO (first-in-first-out) queues.*
1508
- #
1509
- # A large, non-consecutive number that Amazon SQS assigns to each
1510
- # message.
1511
- #
1512
- # The length of `SequenceNumber` is 128 bits. `SequenceNumber`
1513
- # continues to increase for a particular `MessageGroupId`.
1514
- # @return [String]
1515
- class SendMessageResult < Struct.new(
1516
- :md5_of_message_body,
1517
- :md5_of_message_attributes,
1518
- :message_id,
1519
- :sequence_number)
1520
- include Aws::Structure
1521
- end
1432
+ # @note When making an API call, you may pass SendMessageRequest
1433
+ # data as a hash:
1434
+ #
1435
+ # {
1436
+ # queue_url: "String", # required
1437
+ # message_body: "String", # required
1438
+ # delay_seconds: 1,
1439
+ # message_attributes: {
1440
+ # "String" => {
1441
+ # string_value: "String",
1442
+ # binary_value: "data",
1443
+ # string_list_values: ["String"],
1444
+ # binary_list_values: ["data"],
1445
+ # data_type: "String", # required
1446
+ # },
1447
+ # },
1448
+ # message_deduplication_id: "String",
1449
+ # message_group_id: "String",
1450
+ # }
1451
+ #
1452
+ # @!attribute [rw] queue_url
1453
+ # The URL of the Amazon SQS queue to which a message is sent.
1454
+ #
1455
+ # Queue URLs are case-sensitive.
1456
+ # @return [String]
1457
+ #
1458
+ # @!attribute [rw] message_body
1459
+ # The message to send. The maximum string size is 256 KB.
1460
+ #
1461
+ # The following list shows the characters (in Unicode) that are
1462
+ # allowed in your message, according to the W3C XML specification:
1463
+ #
1464
+ # * `#x9`
1465
+ #
1466
+ # * `#xA`
1467
+ #
1468
+ # * `#xD`
1469
+ #
1470
+ # * `#x20` to `#xD7FF`
1471
+ #
1472
+ # * `#xE000` to `#xFFFD`
1473
+ #
1474
+ # * `#x10000` to `#x10FFFF`
1475
+ #
1476
+ # For more information, see [RFC1321][1]. If you send any characters
1477
+ # that aren't included in this list, your request is rejected.
1478
+ #
1479
+ #
1480
+ #
1481
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1482
+ # @return [String]
1483
+ #
1484
+ # @!attribute [rw] delay_seconds
1485
+ # The number of seconds to delay a specific message. Valid values: 0
1486
+ # to 900. Maximum: 15 minutes. Messages with a positive `DelaySeconds`
1487
+ # value become available for processing after the delay period is
1488
+ # finished. If you don't specify a value, the default value for the
1489
+ # queue applies.
1490
+ #
1491
+ # <note markdown="1"> When you set `FifoQueue`, you can't set `DelaySeconds` per message.
1492
+ # You can set this parameter only on a queue level.
1493
+ #
1494
+ # </note>
1495
+ # @return [Integer]
1496
+ #
1497
+ # @!attribute [rw] message_attributes
1498
+ # Each message attribute consists of a `Name`, `Type`, and `Value`.
1499
+ # For more information, see [Message Attribute Items and
1500
+ # Validation][1] in the *Amazon SQS Developer Guide*.
1501
+ #
1502
+ #
1503
+ #
1504
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-attributes.html#message-attributes-items-validation
1505
+ # @return [Hash<String,Types::MessageAttributeValue>]
1506
+ #
1507
+ # @!attribute [rw] message_deduplication_id
1508
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1509
+ #
1510
+ # The token used for deduplication of sent messages. If a message with
1511
+ # a particular `MessageDeduplicationId` is sent successfully, any
1512
+ # messages sent with the same `MessageDeduplicationId` are accepted
1513
+ # successfully but aren't delivered during the 5-minute deduplication
1514
+ # interval. For more information, see [ Exactly-Once Processing][1] in
1515
+ # the *Amazon SQS Developer Guide*.
1516
+ #
1517
+ # * Every message must have a unique `MessageDeduplicationId`,
1518
+ #
1519
+ # * You may provide a `MessageDeduplicationId` explicitly.
1520
+ #
1521
+ # * If you aren't able to provide a `MessageDeduplicationId` and
1522
+ # you enable `ContentBasedDeduplication` for your queue, Amazon
1523
+ # SQS uses a SHA-256 hash to generate the `MessageDeduplicationId`
1524
+ # using the body of the message (but not the attributes of the
1525
+ # message).
1526
+ #
1527
+ # * If you don't provide a `MessageDeduplicationId` and the queue
1528
+ # doesn't have `ContentBasedDeduplication` set, the action fails
1529
+ # with an error.
1530
+ #
1531
+ # * If the queue has `ContentBasedDeduplication` set, your
1532
+ # `MessageDeduplicationId` overrides the generated one.
1533
+ #
1534
+ # * When `ContentBasedDeduplication` is in effect, messages with
1535
+ # identical content sent within the deduplication interval are
1536
+ # treated as duplicates and only one copy of the message is
1537
+ # delivered.
1538
+ #
1539
+ # * You can also use `ContentBasedDeduplication` for messages with
1540
+ # identical content to be treated as duplicates.
1541
+ #
1542
+ # * If you send one message with `ContentBasedDeduplication` enabled
1543
+ # and then another message with a `MessageDeduplicationId` that is
1544
+ # the same as the one generated for the first
1545
+ # `MessageDeduplicationId`, the two messages are treated as
1546
+ # duplicates and only one copy of the message is delivered.
1547
+ #
1548
+ # <note markdown="1"> The `MessageDeduplicationId` is available to the recipient of the
1549
+ # message (this can be useful for troubleshooting delivery issues).
1550
+ #
1551
+ # If a message is sent successfully but the acknowledgement is lost
1552
+ # and the message is resent with the same `MessageDeduplicationId`
1553
+ # after the deduplication interval, Amazon SQS can't detect duplicate
1554
+ # messages.
1555
+ #
1556
+ # </note>
1557
+ #
1558
+ # The length of `MessageDeduplicationId` is 128 characters.
1559
+ # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
1560
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
1561
+ # ``).
1562
+ #
1563
+ # For best practices of using `MessageDeduplicationId`, see [Using the
1564
+ # MessageDeduplicationId Property][2] in the *Amazon Simple Queue
1565
+ # Service Developer Guide*.
1566
+ #
1567
+ #
1568
+ #
1569
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1570
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagededuplicationid-property
1571
+ # @return [String]
1572
+ #
1573
+ # @!attribute [rw] message_group_id
1574
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1575
+ #
1576
+ # The tag that specifies that a message belongs to a specific message
1577
+ # group. Messages that belong to the same message group are processed
1578
+ # in a FIFO manner (however, messages in different message groups
1579
+ # might be processed out of order). To interleave multiple ordered
1580
+ # streams within a single queue, use `MessageGroupId` values (for
1581
+ # example, session data for multiple users). In this scenario,
1582
+ # multiple readers can process the queue, but the session data of each
1583
+ # user is processed in a FIFO fashion.
1584
+ #
1585
+ # * You must associate a non-empty `MessageGroupId` with a message. If
1586
+ # you don't provide a `MessageGroupId`, the action fails.
1587
+ #
1588
+ # * `ReceiveMessage` might return messages with multiple
1589
+ # `MessageGroupId` values. For each `MessageGroupId`, the messages
1590
+ # are sorted by time sent. The caller can't specify a
1591
+ # `MessageGroupId`.
1592
+ #
1593
+ # The length of `MessageGroupId` is 128 characters. Valid values are
1594
+ # alphanumeric characters and punctuation ``
1595
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
1596
+ #
1597
+ # For best practices of using `MessageGroupId`, see [Using the
1598
+ # MessageGroupId Property][1] in the *Amazon Simple Queue Service
1599
+ # Developer Guide*.
1600
+ #
1601
+ #
1602
+ #
1603
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queue-recommendations.html#using-messagegroupid-property
1604
+ # @return [String]
1605
+ #
1606
+ class SendMessageRequest < Struct.new(
1607
+ :queue_url,
1608
+ :message_body,
1609
+ :delay_seconds,
1610
+ :message_attributes,
1611
+ :message_deduplication_id,
1612
+ :message_group_id)
1613
+ include Aws::Structure
1614
+ end
1522
1615
 
1523
- # @note When making an API call, pass SetQueueAttributesRequest
1524
- # data as a hash:
1525
- #
1526
- # {
1527
- # queue_url: "String", # required
1528
- # attributes: { # required
1529
- # "All" => "String",
1530
- # },
1531
- # }
1532
- # @!attribute [rw] queue_url
1533
- # The URL of the Amazon SQS queue to take action on.
1534
- #
1535
- # Queue URLs are case-sensitive.
1536
- # @return [String]
1537
- #
1538
- # @!attribute [rw] attributes
1539
- # A map of attributes to set.
1540
- #
1541
- # The following lists the names, descriptions, and values of the
1542
- # special request parameters that the `SetQueueAttributes` action
1543
- # uses:
1544
- #
1545
- # * `DelaySeconds` - The number of seconds for which the delivery of
1546
- # all messages in the queue is delayed. An integer from 0 to 900 (15
1547
- # minutes). The default is 0 (zero).
1548
- #
1549
- # * `MaximumMessageSize` - The limit of how many bytes a message can
1550
- # contain before Amazon SQS rejects it. An integer from 1,024 bytes
1551
- # (1 KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256
1552
- # KiB).
1553
- #
1554
- # * `MessageRetentionPeriod` - The number of seconds for which Amazon
1555
- # SQS retains a message. An integer representing seconds, from 60 (1
1556
- # minute) to 120,9600 (14 days). The default is 345,600 (4 days).
1557
- #
1558
- # * `Policy` - The queue's policy. A valid AWS policy. For more
1559
- # information about policy structure, see [Overview of AWS IAM
1560
- # Policies][1] in the *Amazon IAM User Guide*.
1561
- #
1562
- # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which
1563
- # a ReceiveMessage action will wait for a message to arrive. An
1564
- # integer from 0 to 20 (seconds). The default is 0.
1565
- #
1566
- # * `RedrivePolicy` - The parameters for the dead letter queue
1567
- # functionality of the source queue. For more information about the
1568
- # redrive policy and dead letter queues, see [Using Amazon SQS Dead
1569
- # Letter Queues][2] in the *Amazon SQS Developer Guide*.
1570
- #
1571
- # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
1572
- # Similarly, the dead letter queue of a standard queue must also be
1573
- # a standard queue.
1574
- #
1575
- # </note>
1576
- #
1577
- # * `VisibilityTimeout` - The visibility timeout for the queue. An
1578
- # integer from 0 to 43200 (12 hours). The default is 30. For more
1579
- # information about the visibility timeout, see [Visibility
1580
- # Timeout][3] in the *Amazon SQS Developer Guide*.
1581
- #
1582
- # The following attribute applies only to [FIFO (first-in-first-out)
1583
- # queues][4]\:
1584
- #
1585
- # * `ContentBasedDeduplication` - Enables content-based deduplication.
1586
- # For more information, see [Exactly-Once Processing][5] in the
1587
- # *Amazon SQS Developer Guide*.
1588
- #
1589
- # * Every message must have a unique `MessageDeduplicationId`,
1590
- #
1591
- # * You may provide a `MessageDeduplicationId` explicitly.
1592
- #
1593
- # * If you aren't able to provide a `MessageDeduplicationId` and
1594
- # you enable `ContentBasedDeduplication` for your queue, Amazon
1595
- # SQS uses a SHA-256 hash to generate the
1596
- # `MessageDeduplicationId` using the body of the message (but
1597
- # not the attributes of the message).
1598
- #
1599
- # * If you don't provide a `MessageDeduplicationId` and the queue
1600
- # doesn't have `ContentBasedDeduplication` set, the action
1601
- # fails with an error.
1602
- #
1603
- # * If the queue has `ContentBasedDeduplication` set, your
1604
- # `MessageDeduplicationId` overrides the generated one.
1605
- #
1606
- # * When `ContentBasedDeduplication` is in effect, messages with
1607
- # identical content sent within the deduplication interval are
1608
- # treated as duplicates and only one copy of the message is
1609
- # delivered.
1610
- #
1611
- # * You can also use `ContentBasedDeduplication` for messages with
1612
- # identical content to be treated as duplicates.
1613
- #
1614
- # * If you send one message with `ContentBasedDeduplication` enabled
1615
- # and then another message with a `MessageDeduplicationId` that is
1616
- # the same as the one generated for the first
1617
- # `MessageDeduplicationId`, the two messages are treated as
1618
- # duplicates and only one copy of the message is delivered.
1619
- #
1620
- # Any other valid special request parameters that are specified (such
1621
- # as `ApproximateNumberOfMessages`,
1622
- # `ApproximateNumberOfMessagesDelayed`,
1623
- # `ApproximateNumberOfMessagesNotVisible`, `CreatedTimestamp`,
1624
- # `LastModifiedTimestamp`, and `QueueArn`) will be ignored.
1625
- #
1626
- #
1627
- #
1628
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
1629
- # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1630
- # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1631
- # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1632
- # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1633
- # @return [Hash<String,String>]
1634
- class SetQueueAttributesRequest < Struct.new(
1635
- :queue_url,
1636
- :attributes)
1637
- include Aws::Structure
1638
- end
1616
+ # The `MD5OfMessageBody` and `MessageId` elements.
1617
+ #
1618
+ # @!attribute [rw] md5_of_message_body
1619
+ # An MD5 digest of the non-URL-encoded message attribute string. You
1620
+ # can use this attribute to verify that Amazon SQS received the
1621
+ # message correctly. Amazon SQS URL-decodes the message before
1622
+ # creating the MD5 digest. For information on MD5, see [RFC1321][1].
1623
+ #
1624
+ #
1625
+ #
1626
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1627
+ # @return [String]
1628
+ #
1629
+ # @!attribute [rw] md5_of_message_attributes
1630
+ # An MD5 digest of the non-URL-encoded message attribute string. You
1631
+ # can use this attribute to verify that Amazon SQS received the
1632
+ # message correctly. Amazon SQS URL-decodes the message before
1633
+ # creating the MD5 digest. For information on MD5, see [RFC1321][1].
1634
+ #
1635
+ #
1636
+ #
1637
+ # [1]: https://www.ietf.org/rfc/rfc1321.txt
1638
+ # @return [String]
1639
+ #
1640
+ # @!attribute [rw] message_id
1641
+ # An attribute containing the `MessageId` of the message sent to the
1642
+ # queue. For more information, see [Queue and Message Identifiers][1]
1643
+ # in the *Amazon SQS Developer Guide*.
1644
+ #
1645
+ #
1646
+ #
1647
+ # [1]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
1648
+ # @return [String]
1649
+ #
1650
+ # @!attribute [rw] sequence_number
1651
+ # This parameter applies only to FIFO (first-in-first-out) queues.
1652
+ #
1653
+ # A large, non-consecutive number that Amazon SQS assigns to each
1654
+ # message.
1655
+ #
1656
+ # The length of `SequenceNumber` is 128 bits. `SequenceNumber`
1657
+ # continues to increase for a particular `MessageGroupId`.
1658
+ # @return [String]
1659
+ #
1660
+ class SendMessageResult < Struct.new(
1661
+ :md5_of_message_body,
1662
+ :md5_of_message_attributes,
1663
+ :message_id,
1664
+ :sequence_number)
1665
+ include Aws::Structure
1666
+ end
1639
1667
 
1668
+ # @note When making an API call, you may pass SetQueueAttributesRequest
1669
+ # data as a hash:
1670
+ #
1671
+ # {
1672
+ # queue_url: "String", # required
1673
+ # attributes: { # required
1674
+ # "All" => "String",
1675
+ # },
1676
+ # }
1677
+ #
1678
+ # @!attribute [rw] queue_url
1679
+ # The URL of the Amazon SQS queue whose attributes are set.
1680
+ #
1681
+ # Queue URLs are case-sensitive.
1682
+ # @return [String]
1683
+ #
1684
+ # @!attribute [rw] attributes
1685
+ # A map of attributes to set.
1686
+ #
1687
+ # The following lists the names, descriptions, and values of the
1688
+ # special request parameters that the `SetQueueAttributes` action
1689
+ # uses:
1690
+ #
1691
+ # * `DelaySeconds` - The number of seconds for which the delivery of
1692
+ # all messages in the queue is delayed. Valid values: An integer
1693
+ # from 0 to 900 (15 minutes). The default is 0 (zero).
1694
+ #
1695
+ # * `MaximumMessageSize` - The limit of how many bytes a message can
1696
+ # contain before Amazon SQS rejects it. Valid values: An integer
1697
+ # from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The
1698
+ # default is 262,144 (256 KiB).
1699
+ #
1700
+ # * `MessageRetentionPeriod` - The number of seconds for which Amazon
1701
+ # SQS retains a message. Valid values: An integer representing
1702
+ # seconds, from 60 (1 minute) to 1,209,600 (14 days). The default is
1703
+ # 345,600 (4 days).
1704
+ #
1705
+ # * `Policy` - The queue's policy. A valid AWS policy. For more
1706
+ # information about policy structure, see [Overview of AWS IAM
1707
+ # Policies][1] in the *Amazon IAM User Guide*.
1708
+ #
1709
+ # * `ReceiveMessageWaitTimeSeconds` - The number of seconds for which
1710
+ # a ` ReceiveMessage ` action waits for a message to arrive. Valid
1711
+ # values: an integer from 0 to 20 (seconds). The default is 0.
1712
+ #
1713
+ # * `RedrivePolicy` - The parameters for the dead letter queue
1714
+ # functionality of the source queue. For more information about the
1715
+ # redrive policy and dead letter queues, see [Using Amazon SQS Dead
1716
+ # Letter Queues][2] in the *Amazon SQS Developer Guide*.
1717
+ #
1718
+ # <note markdown="1"> The dead letter queue of a FIFO queue must also be a FIFO queue.
1719
+ # Similarly, the dead letter queue of a standard queue must also be
1720
+ # a standard queue.
1721
+ #
1722
+ # </note>
1723
+ #
1724
+ # * `VisibilityTimeout` - The visibility timeout for the queue. Valid
1725
+ # values: an integer from 0 to 43,200 (12 hours). The default is 30.
1726
+ # For more information about the visibility timeout, see [Visibility
1727
+ # Timeout][3] in the *Amazon SQS Developer Guide*.
1728
+ #
1729
+ # The following attribute applies only to [FIFO (first-in-first-out)
1730
+ # queues][4]\:
1731
+ #
1732
+ # * `ContentBasedDeduplication` - Enables content-based deduplication.
1733
+ # For more information, see [Exactly-Once Processing][5] in the
1734
+ # *Amazon SQS Developer Guide*.
1735
+ #
1736
+ # * Every message must have a unique `MessageDeduplicationId`,
1737
+ #
1738
+ # * You may provide a `MessageDeduplicationId` explicitly.
1739
+ #
1740
+ # * If you aren't able to provide a `MessageDeduplicationId` and
1741
+ # you enable `ContentBasedDeduplication` for your queue, Amazon
1742
+ # SQS uses a SHA-256 hash to generate the
1743
+ # `MessageDeduplicationId` using the body of the message (but
1744
+ # not the attributes of the message).
1745
+ #
1746
+ # * If you don't provide a `MessageDeduplicationId` and the queue
1747
+ # doesn't have `ContentBasedDeduplication` set, the action
1748
+ # fails with an error.
1749
+ #
1750
+ # * If the queue has `ContentBasedDeduplication` set, your
1751
+ # `MessageDeduplicationId` overrides the generated one.
1752
+ #
1753
+ # * When `ContentBasedDeduplication` is in effect, messages with
1754
+ # identical content sent within the deduplication interval are
1755
+ # treated as duplicates and only one copy of the message is
1756
+ # delivered.
1757
+ #
1758
+ # * You can also use `ContentBasedDeduplication` for messages with
1759
+ # identical content to be treated as duplicates.
1760
+ #
1761
+ # * If you send one message with `ContentBasedDeduplication` enabled
1762
+ # and then another message with a `MessageDeduplicationId` that is
1763
+ # the same as the one generated for the first
1764
+ # `MessageDeduplicationId`, the two messages are treated as
1765
+ # duplicates and only one copy of the message is delivered.
1766
+ #
1767
+ # Any other valid special request parameters (such as the following)
1768
+ # are ignored:
1769
+ #
1770
+ # * `ApproximateNumberOfMessages`
1771
+ #
1772
+ # * `ApproximateNumberOfMessagesDelayed`
1773
+ #
1774
+ # * `ApproximateNumberOfMessagesNotVisible`
1775
+ #
1776
+ # * `CreatedTimestamp`
1777
+ #
1778
+ # * `LastModifiedTimestamp`
1779
+ #
1780
+ # * `QueueArn`
1781
+ #
1782
+ #
1783
+ #
1784
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html
1785
+ # [2]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html
1786
+ # [3]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1787
+ # [4]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
1788
+ # [5]: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing
1789
+ # @return [Hash<String,String>]
1790
+ #
1791
+ class SetQueueAttributesRequest < Struct.new(
1792
+ :queue_url,
1793
+ :attributes)
1794
+ include Aws::Structure
1640
1795
  end
1796
+
1641
1797
  end
1642
1798
  end