1
+ {
2
+ "Description" : " Integration Test for aws-sns-sqs Standard Queue" ,
3
+ "Resources" : {
4
+ "TestTopic339EC197" : {
5
+ "Type" : " AWS::SNS::Topic" ,
6
+ "Properties" : {
7
+ "DisplayName" : " Customer subscription topic" ,
8
+ "FifoTopic" : false ,
9
+ "KmsMasterKeyId" : {
10
+ "Fn::Join" : [
11
+ " " ,
12
+ [
13
+ " arn:" ,
14
+ {
15
+ "Ref" : " AWS::Partition"
16
+ },
17
+ " :kms:" ,
18
+ {
19
+ "Ref" : " AWS::Region"
20
+ },
21
+ " :" ,
22
+ {
23
+ "Ref" : " AWS::AccountId"
24
+ },
25
+ " :alias/aws/sns"
26
+ ]
27
+ ]
28
+ },
29
+ "TopicName" : " testTopic"
30
+ }
31
+ },
32
+ "ImportedEncryptionKeyBE10B2FC" : {
33
+ "Type" : " AWS::KMS::Key" ,
34
+ "Properties" : {
35
+ "KeyPolicy" : {
36
+ "Statement" : [
37
+ {
38
+ "Action" : [
39
+ " kms:Create*" ,
40
+ " kms:Describe*" ,
41
+ " kms:Enable*" ,
42
+ " kms:List*" ,
43
+ " kms:Put*" ,
44
+ " kms:Update*" ,
45
+ " kms:Revoke*" ,
46
+ " kms:Disable*" ,
47
+ " kms:Get*" ,
48
+ " kms:Delete*" ,
49
+ " kms:ScheduleKeyDeletion" ,
50
+ " kms:CancelKeyDeletion" ,
51
+ " kms:GenerateDataKey" ,
52
+ " kms:TagResource" ,
53
+ " kms:UntagResource"
54
+ ],
55
+ "Effect" : " Allow" ,
56
+ "Principal" : {
57
+ "AWS" : {
58
+ "Fn::Join" : [
59
+ " " ,
60
+ [
61
+ " arn:" ,
62
+ {
63
+ "Ref" : " AWS::Partition"
64
+ },
65
+ " :iam::" ,
66
+ {
67
+ "Ref" : " AWS::AccountId"
68
+ },
69
+ " :root"
70
+ ]
71
+ ]
72
+ }
73
+ },
74
+ "Resource" : " *"
75
+ },
76
+ {
77
+ "Action" : [
78
+ " kms:Decrypt" ,
79
+ " kms:GenerateDataKey"
80
+ ],
81
+ "Effect" : " Allow" ,
82
+ "Principal" : {
83
+ "Service" : " sns.amazonaws.com"
84
+ },
85
+ "Resource" : " *"
86
+ },
87
+ {
88
+ "Action" : [
89
+ " kms:Decrypt" ,
90
+ " kms:GenerateDataKey*"
91
+ ],
92
+ "Effect" : " Allow" ,
93
+ "Principal" : {
94
+ "Service" : " sns.amazonaws.com"
95
+ },
96
+ "Resource" : " *"
97
+ }
98
+ ],
99
+ "Version" : " 2012-10-17"
100
+ },
101
+ "EnableKeyRotation" : true
102
+ },
103
+ "UpdateReplacePolicy" : " Retain" ,
104
+ "DeletionPolicy" : " Retain"
105
+ },
106
+ "ImportedDLQEncryptionKeyDE178CD5" : {
107
+ "Type" : " AWS::KMS::Key" ,
108
+ "Properties" : {
109
+ "KeyPolicy" : {
110
+ "Statement" : [
111
+ {
112
+ "Action" : [
113
+ " kms:Create*" ,
114
+ " kms:Describe*" ,
115
+ " kms:Enable*" ,
116
+ " kms:List*" ,
117
+ " kms:Put*" ,
118
+ " kms:Update*" ,
119
+ " kms:Revoke*" ,
120
+ " kms:Disable*" ,
121
+ " kms:Get*" ,
122
+ " kms:Delete*" ,
123
+ " kms:ScheduleKeyDeletion" ,
124
+ " kms:CancelKeyDeletion" ,
125
+ " kms:GenerateDataKey" ,
126
+ " kms:TagResource" ,
127
+ " kms:UntagResource"
128
+ ],
129
+ "Effect" : " Allow" ,
130
+ "Principal" : {
131
+ "AWS" : {
132
+ "Fn::Join" : [
133
+ " " ,
134
+ [
135
+ " arn:" ,
136
+ {
137
+ "Ref" : " AWS::Partition"
138
+ },
139
+ " :iam::" ,
140
+ {
141
+ "Ref" : " AWS::AccountId"
142
+ },
143
+ " :root"
144
+ ]
145
+ ]
146
+ }
147
+ },
148
+ "Resource" : " *"
149
+ }
150
+ ],
151
+ "Version" : " 2012-10-17"
152
+ },
153
+ "EnableKeyRotation" : true
154
+ },
155
+ "UpdateReplacePolicy" : " Retain" ,
156
+ "DeletionPolicy" : " Retain"
157
+ },
158
+ "testsnssqsdeadLetterQueue8DACC0A1" : {
159
+ "Type" : " AWS::SQS::Queue" ,
160
+ "Properties" : {
161
+ "KmsMasterKeyId" : {
162
+ "Fn::GetAtt" : [
163
+ " ImportedDLQEncryptionKeyDE178CD5" ,
164
+ " Arn"
165
+ ]
166
+ }
167
+ },
168
+ "UpdateReplacePolicy" : " Delete" ,
169
+ "DeletionPolicy" : " Delete"
170
+ },
171
+ "testsnssqsdeadLetterQueuePolicyAB8A9883" : {
172
+ "Type" : " AWS::SQS::QueuePolicy" ,
173
+ "Properties" : {
174
+ "PolicyDocument" : {
175
+ "Statement" : [
176
+ {
177
+ "Action" : [
178
+ " sqs:DeleteMessage" ,
179
+ " sqs:ReceiveMessage" ,
180
+ " sqs:SendMessage" ,
181
+ " sqs:GetQueueAttributes" ,
182
+ " sqs:RemovePermission" ,
183
+ " sqs:AddPermission" ,
184
+ " sqs:SetQueueAttributes"
185
+ ],
186
+ "Effect" : " Allow" ,
187
+ "Principal" : {
188
+ "AWS" : {
189
+ "Fn::Join" : [
190
+ " " ,
191
+ [
192
+ " arn:" ,
193
+ {
194
+ "Ref" : " AWS::Partition"
195
+ },
196
+ " :iam::" ,
197
+ {
198
+ "Ref" : " AWS::AccountId"
199
+ },
200
+ " :root"
201
+ ]
202
+ ]
203
+ }
204
+ },
205
+ "Resource" : {
206
+ "Fn::GetAtt" : [
207
+ " testsnssqsdeadLetterQueue8DACC0A1" ,
208
+ " Arn"
209
+ ]
210
+ },
211
+ "Sid" : " QueueOwnerOnlyAccess"
212
+ },
213
+ {
214
+ "Action" : " SQS:*" ,
215
+ "Condition" : {
216
+ "Bool" : {
217
+ "aws:SecureTransport" : " false"
218
+ }
219
+ },
220
+ "Effect" : " Deny" ,
221
+ "Principal" : {
222
+ "AWS" : " *"
223
+ },
224
+ "Resource" : {
225
+ "Fn::GetAtt" : [
226
+ " testsnssqsdeadLetterQueue8DACC0A1" ,
227
+ " Arn"
228
+ ]
229
+ },
230
+ "Sid" : " HttpsOnly"
231
+ }
232
+ ],
233
+ "Version" : " 2012-10-17"
234
+ },
235
+ "Queues" : [
236
+ {
237
+ "Ref" : " testsnssqsdeadLetterQueue8DACC0A1"
238
+ }
239
+ ]
240
+ }
241
+ },
242
+ "testsnssqsqueueB02504BF" : {
243
+ "Type" : " AWS::SQS::Queue" ,
244
+ "Properties" : {
245
+ "KmsMasterKeyId" : {
246
+ "Fn::GetAtt" : [
247
+ " ImportedEncryptionKeyBE10B2FC" ,
248
+ " Arn"
249
+ ]
250
+ },
251
+ "RedrivePolicy" : {
252
+ "deadLetterTargetArn" : {
253
+ "Fn::GetAtt" : [
254
+ " testsnssqsdeadLetterQueue8DACC0A1" ,
255
+ " Arn"
256
+ ]
257
+ },
258
+ "maxReceiveCount" : 15
259
+ }
260
+ },
261
+ "UpdateReplacePolicy" : " Delete" ,
262
+ "DeletionPolicy" : " Delete"
263
+ },
264
+ "testsnssqsqueuePolicyE64464B6" : {
265
+ "Type" : " AWS::SQS::QueuePolicy" ,
266
+ "Properties" : {
267
+ "PolicyDocument" : {
268
+ "Statement" : [
269
+ {
270
+ "Action" : [
271
+ " sqs:DeleteMessage" ,
272
+ " sqs:ReceiveMessage" ,
273
+ " sqs:SendMessage" ,
274
+ " sqs:GetQueueAttributes" ,
275
+ " sqs:RemovePermission" ,
276
+ " sqs:AddPermission" ,
277
+ " sqs:SetQueueAttributes"
278
+ ],
279
+ "Effect" : " Allow" ,
280
+ "Principal" : {
281
+ "AWS" : {
282
+ "Fn::Join" : [
283
+ " " ,
284
+ [
285
+ " arn:" ,
286
+ {
287
+ "Ref" : " AWS::Partition"
288
+ },
289
+ " :iam::" ,
290
+ {
291
+ "Ref" : " AWS::AccountId"
292
+ },
293
+ " :root"
294
+ ]
295
+ ]
296
+ }
297
+ },
298
+ "Resource" : {
299
+ "Fn::GetAtt" : [
300
+ " testsnssqsqueueB02504BF" ,
301
+ " Arn"
302
+ ]
303
+ },
304
+ "Sid" : " QueueOwnerOnlyAccess"
305
+ },
306
+ {
307
+ "Action" : " SQS:*" ,
308
+ "Condition" : {
309
+ "Bool" : {
310
+ "aws:SecureTransport" : " false"
311
+ }
312
+ },
313
+ "Effect" : " Deny" ,
314
+ "Principal" : {
315
+ "AWS" : " *"
316
+ },
317
+ "Resource" : {
318
+ "Fn::GetAtt" : [
319
+ " testsnssqsqueueB02504BF" ,
320
+ " Arn"
321
+ ]
322
+ },
323
+ "Sid" : " HttpsOnly"
324
+ },
325
+ {
326
+ "Action" : " sqs:SendMessage" ,
327
+ "Condition" : {
328
+ "ArnEquals" : {
329
+ "aws:SourceArn" : {
330
+ "Ref" : " TestTopic339EC197"
331
+ }
332
+ }
333
+ },
334
+ "Effect" : " Allow" ,
335
+ "Principal" : {
336
+ "Service" : " sns.amazonaws.com"
337
+ },
338
+ "Resource" : {
339
+ "Fn::GetAtt" : [
340
+ " testsnssqsqueueB02504BF" ,
341
+ " Arn"
342
+ ]
343
+ }
344
+ }
345
+ ],
346
+ "Version" : " 2012-10-17"
347
+ },
348
+ "Queues" : [
349
+ {
350
+ "Ref" : " testsnssqsqueueB02504BF"
351
+ }
352
+ ]
353
+ }
354
+ },
355
+ "testsnssqsqueuedeployStandardQueueTestTopic883C28A0E3343345" : {
356
+ "Type" : " AWS::SNS::Subscription" ,
357
+ "Properties" : {
358
+ "Protocol" : " sqs" ,
359
+ "TopicArn" : {
360
+ "Ref" : " TestTopic339EC197"
361
+ },
362
+ "Endpoint" : {
363
+ "Fn::GetAtt" : [
364
+ " testsnssqsqueueB02504BF" ,
365
+ " Arn"
366
+ ]
367
+ }
368
+ }
369
+ }
370
+ }
371
+ }
0 commit comments