/
types.go
369 lines (317 loc) · 14.7 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
// Gives a detailed description of the result of an action on each entry in the
// request.
type BatchResultErrorEntry struct {
// An error code representing why the action failed on this entry.
//
// This member is required.
Code *string
// The Id of an entry in a batch request.
//
// This member is required.
Id *string
// Specifies whether the error happened due to the caller of the batch API action.
//
// This member is required.
SenderFault bool
// A message explaining why the action failed on this entry.
Message *string
}
// Encloses a receipt handle and an entry id for each message in
// ChangeMessageVisibilityBatch. All of the following list parameters must be
// prefixed with ChangeMessageVisibilityBatchRequestEntry.n, where n is an integer
// value starting with 1. For example, a parameter list for this action might look
// like this:
// &ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2
//
// &ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=your_receipt_handle
//
//
// &ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45
type ChangeMessageVisibilityBatchRequestEntry struct {
// An identifier for this particular receipt handle used to communicate the result.
// The Ids of a batch request need to be unique within a request. This identifier
// can have up to 80 characters. The following characters are accepted:
// alphanumeric characters, hyphens(-), and underscores (_).
//
// This member is required.
Id *string
// A receipt handle.
//
// This member is required.
ReceiptHandle *string
// The new value (in seconds) for the message's visibility timeout.
VisibilityTimeout int32
}
// Encloses the Id of an entry in ChangeMessageVisibilityBatch.
type ChangeMessageVisibilityBatchResultEntry struct {
// Represents a message whose visibility timeout has been changed successfully.
//
// This member is required.
Id *string
}
// Encloses a receipt handle and an identifier for it.
type DeleteMessageBatchRequestEntry struct {
// An identifier for this particular receipt handle. This is used to communicate
// the result. The Ids of a batch request need to be unique within a request. This
// identifier can have up to 80 characters. The following characters are accepted:
// alphanumeric characters, hyphens(-), and underscores (_).
//
// This member is required.
Id *string
// A receipt handle.
//
// This member is required.
ReceiptHandle *string
}
// Encloses the Id of an entry in DeleteMessageBatch.
type DeleteMessageBatchResultEntry struct {
// Represents a successfully deleted message.
//
// This member is required.
Id *string
}
// An Amazon SQS message.
type Message struct {
// A map of the attributes requested in ReceiveMessage to their respective values.
// Supported attributes:
//
// * ApproximateReceiveCount
//
// *
// ApproximateFirstReceiveTimestamp
//
// * MessageDeduplicationId
//
// * MessageGroupId
//
// *
// SenderId
//
// * SentTimestamp
//
// * SequenceNumber
//
// ApproximateFirstReceiveTimestamp
// and SentTimestamp are each returned as an integer representing the epoch time
// (http://en.wikipedia.org/wiki/Unix_time) in milliseconds.
Attributes map[string]string
// The message's contents (not URL-encoded).
Body *string
// An MD5 digest of the non-URL-encoded message body string.
MD5OfBody *string
// An MD5 digest of the non-URL-encoded message attribute string. You can use this
// attribute to verify that Amazon SQS received the message correctly. Amazon SQS
// URL-decodes the message before creating the MD5 digest. For information about
// MD5, see RFC1321 (https://www.ietf.org/rfc/rfc1321.txt).
MD5OfMessageAttributes *string
// Each message attribute consists of a Name, Type, and Value. For more
// information, see Amazon SQS Message Attributes
// (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes)
// in the Amazon Simple Queue Service Developer Guide.
MessageAttributes map[string]MessageAttributeValue
// A unique identifier for the message. A MessageIdis considered unique across all
// AWS accounts for an extended period of time.
MessageId *string
// An identifier associated with the act of receiving the message. A new receipt
// handle is returned every time you receive a message. When deleting a message,
// you provide the last received receipt handle to delete the message.
ReceiptHandle *string
}
// The user-specified message attribute value. For string data types, the Value
// attribute has the same restrictions on the content as the message body. For more
// information, see SendMessage.Name, type, value and the message body must not be
// empty or null. All parts of the message attribute, including Name, Type, and
// Value, are part of the message size restriction (256 KB or 262,144 bytes).
type MessageAttributeValue struct {
// Amazon SQS supports the following logical data types: String, Number, and
// Binary. For the Number data type, you must use StringValue. You can also append
// custom labels. For more information, see Amazon SQS Message Attributes
// (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes)
// in the Amazon Simple Queue Service Developer Guide.
//
// This member is required.
DataType *string
// Not implemented. Reserved for future use.
BinaryListValues [][]byte
// Binary type attributes can store any binary data, such as compressed data,
// encrypted data, or images.
BinaryValue []byte
// Not implemented. Reserved for future use.
StringListValues []string
// Strings are Unicode with UTF-8 binary encoding. For a list of code values, see
// ASCII Printable Characters
// (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
StringValue *string
}
// The user-specified message system attribute value. For string data types, the
// Value attribute has the same restrictions on the content as the message body.
// For more information, see SendMessage.Name, type, value and the message body
// must not be empty or null.
type MessageSystemAttributeValue struct {
// Amazon SQS supports the following logical data types: String, Number, and
// Binary. For the Number data type, you must use StringValue. You can also append
// custom labels. For more information, see Amazon SQS Message Attributes
// (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes)
// in the Amazon Simple Queue Service Developer Guide.
//
// This member is required.
DataType *string
// Not implemented. Reserved for future use.
BinaryListValues [][]byte
// Binary type attributes can store any binary data, such as compressed data,
// encrypted data, or images.
BinaryValue []byte
// Not implemented. Reserved for future use.
StringListValues []string
// Strings are Unicode with UTF-8 binary encoding. For a list of code values, see
// ASCII Printable Characters
// (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
StringValue *string
}
// Contains the details of a single Amazon SQS message along with an Id.
type SendMessageBatchRequestEntry struct {
// An identifier for a message in this batch used to communicate the result. The
// Ids of a batch request need to be unique within a request. This identifier can
// have up to 80 characters. The following characters are accepted: alphanumeric
// characters, hyphens(-), and underscores (_).
//
// This member is required.
Id *string
// The body of the message.
//
// This member is required.
MessageBody *string
// The length of time, in seconds, for which a specific message is delayed. Valid
// values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds
// value become available for processing after the delay period is finished. If you
// don't specify a value, the default value for the queue is applied. When you set
// FifoQueue, you can't set DelaySeconds per message. You can set this parameter
// only on a queue level.
DelaySeconds int32
// Each message attribute consists of a Name, Type, and Value. For more
// information, see Amazon SQS Message Attributes
// (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes)
// in the Amazon Simple Queue Service Developer Guide.
MessageAttributes map[string]MessageAttributeValue
// This parameter applies only to FIFO (first-in-first-out) queues. The token used
// for deduplication of messages within a 5-minute minimum deduplication interval.
// If a message with a particular MessageDeduplicationId is sent successfully,
// subsequent messages with the same MessageDeduplicationId are accepted
// successfully but aren't delivered. For more information, see Exactly-Once
// Processing
// (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing)
// in the Amazon Simple Queue Service Developer Guide.
//
// * Every message must have a
// unique MessageDeduplicationId,
//
// * You may provide a MessageDeduplicationId
// explicitly.
//
// * If you aren't able to provide a MessageDeduplicationId and you
// enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash
// to generate the MessageDeduplicationId using the body of the message (but not
// the attributes of the message).
//
// * If you don't provide a MessageDeduplicationId
// and the queue doesn't have ContentBasedDeduplication set, the action fails with
// an error.
//
// * If the queue has ContentBasedDeduplication set, your
// MessageDeduplicationId overrides the generated one.
//
// * When
// ContentBasedDeduplication is in effect, messages with identical content sent
// within the deduplication interval are treated as duplicates and only one copy of
// the message is delivered.
//
// * If you send one message with
// ContentBasedDeduplication enabled and then another message with a
// MessageDeduplicationId that is the same as the one generated for the first
// MessageDeduplicationId, the two messages are treated as duplicates and only one
// copy of the message is delivered.
//
// The MessageDeduplicationId is available to
// the consumer of the message (this can be useful for troubleshooting delivery
// issues). If a message is sent successfully but the acknowledgement is lost and
// the message is resent with the same MessageDeduplicationId after the
// deduplication interval, Amazon SQS can't detect duplicate messages. Amazon SQS
// continues to keep track of the message deduplication ID even after the message
// is received and deleted. The length of MessageDeduplicationId is 128 characters.
// MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and
// punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). For best practices of using
// MessageDeduplicationId, see Using the MessageDeduplicationId Property
// (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html)
// in the Amazon Simple Queue Service Developer Guide.
MessageDeduplicationId *string
// This parameter applies only to FIFO (first-in-first-out) queues. The tag that
// specifies that a message belongs to a specific message group. Messages that
// belong to the same message group are processed in a FIFO manner (however,
// messages in different message groups might be processed out of order). To
// interleave multiple ordered streams within a single queue, use MessageGroupId
// values (for example, session data for multiple users). In this scenario,
// multiple consumers can process the queue, but the session data of each user is
// processed in a FIFO fashion.
//
// * You must associate a non-empty MessageGroupId
// with a message. If you don't provide a MessageGroupId, the action fails.
//
// *
// ReceiveMessage might return messages with multiple MessageGroupId values. For
// each MessageGroupId, the messages are sorted by time sent. The caller can't
// specify a MessageGroupId.
//
// The length of MessageGroupId is 128 characters. Valid
// values: alphanumeric characters and punctuation
// (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). For best practices of using MessageGroupId,
// see Using the MessageGroupId Property
// (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html)
// in the Amazon Simple Queue Service Developer Guide. MessageGroupId is required
// for FIFO queues. You can't use it for Standard queues.
MessageGroupId *string
// The message system attribute to send Each message system attribute consists of a
// Name, Type, and Value.
//
// * Currently, the only supported message system attribute
// is AWSTraceHeader. Its type must be String and its value must be a correctly
// formatted AWS X-Ray trace header string.
//
// * The size of a message system
// attribute doesn't count towards the total size of a message.
MessageSystemAttributes map[string]MessageSystemAttributeValue
}
// Encloses a MessageId for a successfully-enqueued message in a SendMessageBatch.
type SendMessageBatchResultEntry struct {
// An identifier for the message in this batch.
//
// This member is required.
Id *string
// An MD5 digest of the non-URL-encoded message body string. You can use this
// attribute to verify that Amazon SQS received the message correctly. Amazon SQS
// URL-decodes the message before creating the MD5 digest. For information about
// MD5, see RFC1321 (https://www.ietf.org/rfc/rfc1321.txt).
//
// This member is required.
MD5OfMessageBody *string
// An identifier for the message.
//
// This member is required.
MessageId *string
// An MD5 digest of the non-URL-encoded message attribute string. You can use this
// attribute to verify that Amazon SQS received the message correctly. Amazon SQS
// URL-decodes the message before creating the MD5 digest. For information about
// MD5, see RFC1321 (https://www.ietf.org/rfc/rfc1321.txt).
MD5OfMessageAttributes *string
// An MD5 digest of the non-URL-encoded message system attribute string. You can
// use this attribute to verify that Amazon SQS received the message correctly.
// Amazon SQS URL-decodes the message before creating the MD5 digest. For
// information about MD5, see RFC1321 (https://www.ietf.org/rfc/rfc1321.txt).
MD5OfMessageSystemAttributes *string
// This parameter applies only to FIFO (first-in-first-out) queues. The large,
// non-consecutive number that Amazon SQS assigns to each message. The length of
// SequenceNumber is 128 bits. As SequenceNumber continues to increase for a
// particular MessageGroupId.
SequenceNumber *string
}