@aws-solutions-constructs/aws-iot-sqs 2.51.0 → 2.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/.eslintignore +3 -1
  2. package/.jsii +49 -4
  3. package/integ.config.json +7 -0
  4. package/lib/index.js +1 -1
  5. package/package.json +9 -8
  6. package/test/integ.iotsqs-custom-max-receive-count.js +5 -2
  7. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/cdk.out +1 -0
  8. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/integ.json +12 -0
  9. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/iotsqs-custom-max-receive-count.assets.json +19 -0
  10. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/iotsqs-custom-max-receive-count.template.json +362 -0
  11. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/iotsqscustommaxreceivecountIntegDefaultTestDeployAssert73D6F7FF.assets.json +19 -0
  12. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/iotsqscustommaxreceivecountIntegDefaultTestDeployAssert73D6F7FF.template.json +36 -0
  13. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/manifest.json +161 -0
  14. package/test/integ.iotsqs-custom-max-receive-count.js.snapshot/tree.json +570 -0
  15. package/test/integ.iotsqs-dead-letter-queue-off.js +5 -2
  16. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/cdk.out +1 -0
  17. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/integ.json +12 -0
  18. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/iotsqs-dead-letter-queue-off.assets.json +19 -0
  19. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/iotsqs-dead-letter-queue-off.template.json +273 -0
  20. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/iotsqsdeadletterqueueoffIntegDefaultTestDeployAssertDAEB8150.assets.json +19 -0
  21. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/iotsqsdeadletterqueueoffIntegDefaultTestDeployAssertDAEB8150.template.json +36 -0
  22. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/manifest.json +149 -0
  23. package/test/integ.iotsqs-dead-letter-queue-off.js.snapshot/tree.json +447 -0
  24. package/test/integ.iotsqs-default-arguments.js +5 -2
  25. package/test/integ.iotsqs-default-arguments.js.snapshot/cdk.out +1 -0
  26. package/test/integ.iotsqs-default-arguments.js.snapshot/integ.json +12 -0
  27. package/test/integ.iotsqs-default-arguments.js.snapshot/iotsqs-default-arguments.assets.json +19 -0
  28. package/test/integ.iotsqs-default-arguments.js.snapshot/iotsqs-default-arguments.template.json +360 -0
  29. package/test/integ.iotsqs-default-arguments.js.snapshot/iotsqsdefaultargumentsIntegDefaultTestDeployAssertB545C643.assets.json +19 -0
  30. package/test/integ.iotsqs-default-arguments.js.snapshot/iotsqsdefaultargumentsIntegDefaultTestDeployAssertB545C643.template.json +36 -0
  31. package/test/integ.iotsqs-default-arguments.js.snapshot/manifest.json +161 -0
  32. package/test/integ.iotsqs-default-arguments.js.snapshot/tree.json +568 -0
  33. package/test/integ.iotsqs-existing-queue.js +5 -2
  34. package/test/integ.iotsqs-existing-queue.js.snapshot/cdk.out +1 -0
  35. package/test/integ.iotsqs-existing-queue.js.snapshot/integ.json +12 -0
  36. package/test/integ.iotsqs-existing-queue.js.snapshot/iotsqs-existing-queue.assets.json +19 -0
  37. package/test/integ.iotsqs-existing-queue.js.snapshot/iotsqs-existing-queue.template.json +120 -0
  38. package/test/integ.iotsqs-existing-queue.js.snapshot/iotsqsexistingqueueIntegDefaultTestDeployAssertC1833CEE.assets.json +19 -0
  39. package/test/integ.iotsqs-existing-queue.js.snapshot/iotsqsexistingqueueIntegDefaultTestDeployAssertC1833CEE.template.json +36 -0
  40. package/test/integ.iotsqs-existing-queue.js.snapshot/manifest.json +131 -0
  41. package/test/integ.iotsqs-existing-queue.js.snapshot/tree.json +260 -0
  42. package/test/integ.iotsqs-use-kms-key-props.js +5 -2
  43. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/cdk.out +1 -0
  44. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/integ.json +12 -0
  45. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/iotsqs-use-kms-key-props.assets.json +19 -0
  46. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/iotsqs-use-kms-key-props.template.json +372 -0
  47. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/iotsqsusekmskeypropsIntegDefaultTestDeployAssert4B209F6F.assets.json +19 -0
  48. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/iotsqsusekmskeypropsIntegDefaultTestDeployAssert4B209F6F.template.json +36 -0
  49. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/manifest.json +167 -0
  50. package/test/integ.iotsqs-use-kms-key-props.js.snapshot/tree.json +598 -0
  51. package/test/integ.iotsqs-use-queue-props.js +5 -2
  52. package/test/integ.iotsqs-use-queue-props.js.snapshot/cdk.out +1 -0
  53. package/test/integ.iotsqs-use-queue-props.js.snapshot/integ.json +12 -0
  54. package/test/integ.iotsqs-use-queue-props.js.snapshot/iotsqs-use-queue-props.assets.json +19 -0
  55. package/test/integ.iotsqs-use-queue-props.js.snapshot/iotsqs-use-queue-props.template.json +362 -0
  56. package/test/integ.iotsqs-use-queue-props.js.snapshot/iotsqsusequeuepropsIntegDefaultTestDeployAssertE88E6656.assets.json +19 -0
  57. package/test/integ.iotsqs-use-queue-props.js.snapshot/iotsqsusequeuepropsIntegDefaultTestDeployAssertE88E6656.template.json +36 -0
  58. package/test/integ.iotsqs-use-queue-props.js.snapshot/manifest.json +161 -0
  59. package/test/integ.iotsqs-use-queue-props.js.snapshot/tree.json +570 -0
  60. package/test/integ.iotsqs-with-existing-key.js +5 -2
  61. package/test/integ.iotsqs-with-existing-key.js.snapshot/cdk.out +1 -0
  62. package/test/integ.iotsqs-with-existing-key.js.snapshot/integ.json +12 -0
  63. package/test/integ.iotsqs-with-existing-key.js.snapshot/iotsqs-with-existing-key.assets.json +19 -0
  64. package/test/integ.iotsqs-with-existing-key.js.snapshot/iotsqs-with-existing-key.template.json +372 -0
  65. package/test/integ.iotsqs-with-existing-key.js.snapshot/iotsqswithexistingkeyIntegDefaultTestDeployAssert7A2CD336.assets.json +19 -0
  66. package/test/integ.iotsqs-with-existing-key.js.snapshot/iotsqswithexistingkeyIntegDefaultTestDeployAssert7A2CD336.template.json +36 -0
  67. package/test/integ.iotsqs-with-existing-key.js.snapshot/manifest.json +167 -0
  68. package/test/integ.iotsqs-with-existing-key.js.snapshot/tree.json +598 -0
  69. package/test/integ.iotsqs-without-create-kms-key.js +5 -2
  70. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/cdk.out +1 -0
  71. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/integ.json +12 -0
  72. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/iotsqs-without-create-kms-key.assets.json +19 -0
  73. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/iotsqs-without-create-kms-key.template.json +278 -0
  74. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/iotsqswithoutcreatekmskeyIntegDefaultTestDeployAssertF21DB5E1.assets.json +19 -0
  75. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/iotsqswithoutcreatekmskeyIntegDefaultTestDeployAssertF21DB5E1.template.json +36 -0
  76. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/manifest.json +149 -0
  77. package/test/integ.iotsqs-without-create-kms-key.js.snapshot/tree.json +470 -0
  78. package/test/integ.iotsqs-custom-max-receive-count.expected.json +0 -376
  79. package/test/integ.iotsqs-dead-letter-queue-off.expected.json +0 -287
  80. package/test/integ.iotsqs-default-arguments.expected.json +0 -374
  81. package/test/integ.iotsqs-existing-queue.expected.json +0 -120
  82. package/test/integ.iotsqs-use-kms-key-props.expected.json +0 -386
  83. package/test/integ.iotsqs-use-queue-props.expected.json +0 -376
  84. package/test/integ.iotsqs-with-existing-key.expected.json +0 -386
  85. package/test/integ.iotsqs-without-create-kms-key.expected.json +0 -278
@@ -1,386 +0,0 @@
1
- {
2
- "Description": "Integration Test for aws-iot-sqs",
3
- "Resources": {
4
- "existingkey205DFC01": {
5
- "Type": "AWS::KMS::Key",
6
- "Properties": {
7
- "EnableKeyRotation": true,
8
- "KeyPolicy": {
9
- "Statement": [
10
- {
11
- "Action": "kms:*",
12
- "Effect": "Allow",
13
- "Principal": {
14
- "AWS": {
15
- "Fn::Join": [
16
- "",
17
- [
18
- "arn:",
19
- {
20
- "Ref": "AWS::Partition"
21
- },
22
- ":iam::",
23
- {
24
- "Ref": "AWS::AccountId"
25
- },
26
- ":root"
27
- ]
28
- ]
29
- }
30
- },
31
- "Resource": "*"
32
- },
33
- {
34
- "Action": [
35
- "kms:Encrypt",
36
- "kms:Decrypt"
37
- ],
38
- "Effect": "Allow",
39
- "Principal": {
40
- "AWS": {
41
- "Fn::Join": [
42
- "",
43
- [
44
- "arn:",
45
- {
46
- "Ref": "AWS::Partition"
47
- },
48
- ":iam::",
49
- {
50
- "Ref": "AWS::AccountId"
51
- },
52
- ":root"
53
- ]
54
- ]
55
- }
56
- },
57
- "Resource": "*"
58
- }
59
- ],
60
- "Version": "2012-10-17"
61
- }
62
- },
63
- "UpdateReplacePolicy": "Retain",
64
- "DeletionPolicy": "Retain"
65
- },
66
- "existingkeyAliasE18FEC67": {
67
- "Type": "AWS::KMS::Alias",
68
- "Properties": {
69
- "AliasName": "alias/existing-key-alias",
70
- "TargetKeyId": {
71
- "Fn::GetAtt": [
72
- "existingkey205DFC01",
73
- "Arn"
74
- ]
75
- }
76
- }
77
- },
78
- "testiotsqsstackdeadLetterQueueA417EB97": {
79
- "Type": "AWS::SQS::Queue",
80
- "Properties": {
81
- "KmsMasterKeyId": "alias/aws/sqs"
82
- },
83
- "UpdateReplacePolicy": "Delete",
84
- "DeletionPolicy": "Delete"
85
- },
86
- "testiotsqsstackdeadLetterQueuePolicyD0F4B7D3": {
87
- "Type": "AWS::SQS::QueuePolicy",
88
- "Properties": {
89
- "PolicyDocument": {
90
- "Statement": [
91
- {
92
- "Action": [
93
- "sqs:DeleteMessage",
94
- "sqs:ReceiveMessage",
95
- "sqs:SendMessage",
96
- "sqs:GetQueueAttributes",
97
- "sqs:RemovePermission",
98
- "sqs:AddPermission",
99
- "sqs:SetQueueAttributes"
100
- ],
101
- "Effect": "Allow",
102
- "Principal": {
103
- "AWS": {
104
- "Fn::Join": [
105
- "",
106
- [
107
- "arn:",
108
- {
109
- "Ref": "AWS::Partition"
110
- },
111
- ":iam::",
112
- {
113
- "Ref": "AWS::AccountId"
114
- },
115
- ":root"
116
- ]
117
- ]
118
- }
119
- },
120
- "Resource": {
121
- "Fn::GetAtt": [
122
- "testiotsqsstackdeadLetterQueueA417EB97",
123
- "Arn"
124
- ]
125
- },
126
- "Sid": "QueueOwnerOnlyAccess"
127
- },
128
- {
129
- "Action": "SQS:*",
130
- "Condition": {
131
- "Bool": {
132
- "aws:SecureTransport": "false"
133
- }
134
- },
135
- "Effect": "Deny",
136
- "Principal": {
137
- "AWS": "*"
138
- },
139
- "Resource": {
140
- "Fn::GetAtt": [
141
- "testiotsqsstackdeadLetterQueueA417EB97",
142
- "Arn"
143
- ]
144
- },
145
- "Sid": "HttpsOnly"
146
- }
147
- ],
148
- "Version": "2012-10-17"
149
- },
150
- "Queues": [
151
- {
152
- "Ref": "testiotsqsstackdeadLetterQueueA417EB97"
153
- }
154
- ]
155
- }
156
- },
157
- "testiotsqsstackqueue3DEA94EF": {
158
- "Type": "AWS::SQS::Queue",
159
- "Properties": {
160
- "KmsMasterKeyId": {
161
- "Fn::GetAtt": [
162
- "existingkey205DFC01",
163
- "Arn"
164
- ]
165
- },
166
- "RedrivePolicy": {
167
- "deadLetterTargetArn": {
168
- "Fn::GetAtt": [
169
- "testiotsqsstackdeadLetterQueueA417EB97",
170
- "Arn"
171
- ]
172
- },
173
- "maxReceiveCount": 15
174
- }
175
- },
176
- "UpdateReplacePolicy": "Delete",
177
- "DeletionPolicy": "Delete"
178
- },
179
- "testiotsqsstackqueuePolicy76FA6440": {
180
- "Type": "AWS::SQS::QueuePolicy",
181
- "Properties": {
182
- "PolicyDocument": {
183
- "Statement": [
184
- {
185
- "Action": [
186
- "sqs:DeleteMessage",
187
- "sqs:ReceiveMessage",
188
- "sqs:SendMessage",
189
- "sqs:GetQueueAttributes",
190
- "sqs:RemovePermission",
191
- "sqs:AddPermission",
192
- "sqs:SetQueueAttributes"
193
- ],
194
- "Effect": "Allow",
195
- "Principal": {
196
- "AWS": {
197
- "Fn::Join": [
198
- "",
199
- [
200
- "arn:",
201
- {
202
- "Ref": "AWS::Partition"
203
- },
204
- ":iam::",
205
- {
206
- "Ref": "AWS::AccountId"
207
- },
208
- ":root"
209
- ]
210
- ]
211
- }
212
- },
213
- "Resource": {
214
- "Fn::GetAtt": [
215
- "testiotsqsstackqueue3DEA94EF",
216
- "Arn"
217
- ]
218
- },
219
- "Sid": "QueueOwnerOnlyAccess"
220
- },
221
- {
222
- "Action": "SQS:*",
223
- "Condition": {
224
- "Bool": {
225
- "aws:SecureTransport": "false"
226
- }
227
- },
228
- "Effect": "Deny",
229
- "Principal": {
230
- "AWS": "*"
231
- },
232
- "Resource": {
233
- "Fn::GetAtt": [
234
- "testiotsqsstackqueue3DEA94EF",
235
- "Arn"
236
- ]
237
- },
238
- "Sid": "HttpsOnly"
239
- }
240
- ],
241
- "Version": "2012-10-17"
242
- },
243
- "Queues": [
244
- {
245
- "Ref": "testiotsqsstackqueue3DEA94EF"
246
- }
247
- ]
248
- }
249
- },
250
- "testiotsqsstackiotactionsrole5F8821AA": {
251
- "Type": "AWS::IAM::Role",
252
- "Properties": {
253
- "AssumeRolePolicyDocument": {
254
- "Statement": [
255
- {
256
- "Action": "sts:AssumeRole",
257
- "Effect": "Allow",
258
- "Principal": {
259
- "Service": "iot.amazonaws.com"
260
- }
261
- }
262
- ],
263
- "Version": "2012-10-17"
264
- }
265
- }
266
- },
267
- "testiotsqsstackiotactionsroleDefaultPolicy02ED7F00": {
268
- "Type": "AWS::IAM::Policy",
269
- "Properties": {
270
- "PolicyDocument": {
271
- "Statement": [
272
- {
273
- "Action": [
274
- "sqs:SendMessage",
275
- "sqs:GetQueueAttributes",
276
- "sqs:GetQueueUrl"
277
- ],
278
- "Effect": "Allow",
279
- "Resource": {
280
- "Fn::GetAtt": [
281
- "testiotsqsstackqueue3DEA94EF",
282
- "Arn"
283
- ]
284
- }
285
- },
286
- {
287
- "Action": [
288
- "kms:Decrypt",
289
- "kms:Encrypt",
290
- "kms:ReEncrypt*",
291
- "kms:GenerateDataKey*"
292
- ],
293
- "Effect": "Allow",
294
- "Resource": {
295
- "Fn::GetAtt": [
296
- "existingkey205DFC01",
297
- "Arn"
298
- ]
299
- }
300
- },
301
- {
302
- "Action": [
303
- "kms:Encrypt",
304
- "kms:ReEncrypt*",
305
- "kms:GenerateDataKey*"
306
- ],
307
- "Effect": "Allow",
308
- "Resource": {
309
- "Fn::GetAtt": [
310
- "existingkey205DFC01",
311
- "Arn"
312
- ]
313
- }
314
- }
315
- ],
316
- "Version": "2012-10-17"
317
- },
318
- "PolicyName": "testiotsqsstackiotactionsroleDefaultPolicy02ED7F00",
319
- "Roles": [
320
- {
321
- "Ref": "testiotsqsstackiotactionsrole5F8821AA"
322
- }
323
- ]
324
- }
325
- },
326
- "testiotsqsstackIotTopicRule02F8F602": {
327
- "Type": "AWS::IoT::TopicRule",
328
- "Properties": {
329
- "TopicRulePayload": {
330
- "Actions": [
331
- {
332
- "Sqs": {
333
- "QueueUrl": {
334
- "Ref": "testiotsqsstackqueue3DEA94EF"
335
- },
336
- "RoleArn": {
337
- "Fn::GetAtt": [
338
- "testiotsqsstackiotactionsrole5F8821AA",
339
- "Arn"
340
- ]
341
- }
342
- }
343
- }
344
- ],
345
- "Description": "Processing messages from IoT devices or factory machines",
346
- "RuleDisabled": false,
347
- "Sql": "SELECT * FROM 'test/topic/#'"
348
- }
349
- }
350
- }
351
- },
352
- "Parameters": {
353
- "BootstrapVersion": {
354
- "Type": "AWS::SSM::Parameter::Value<String>",
355
- "Default": "/cdk-bootstrap/hnb659fds/version",
356
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
357
- }
358
- },
359
- "Rules": {
360
- "CheckBootstrapVersion": {
361
- "Assertions": [
362
- {
363
- "Assert": {
364
- "Fn::Not": [
365
- {
366
- "Fn::Contains": [
367
- [
368
- "1",
369
- "2",
370
- "3",
371
- "4",
372
- "5"
373
- ],
374
- {
375
- "Ref": "BootstrapVersion"
376
- }
377
- ]
378
- }
379
- ]
380
- },
381
- "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
382
- }
383
- ]
384
- }
385
- }
386
- }
@@ -1,278 +0,0 @@
1
- {
2
- "Description": "Integration Test for aws-iot-sqs",
3
- "Resources": {
4
- "testiotsqsstackdeadLetterQueueA417EB97": {
5
- "Type": "AWS::SQS::Queue",
6
- "Properties": {
7
- "KmsMasterKeyId": "alias/aws/sqs"
8
- },
9
- "UpdateReplacePolicy": "Delete",
10
- "DeletionPolicy": "Delete"
11
- },
12
- "testiotsqsstackdeadLetterQueuePolicyD0F4B7D3": {
13
- "Type": "AWS::SQS::QueuePolicy",
14
- "Properties": {
15
- "PolicyDocument": {
16
- "Statement": [
17
- {
18
- "Action": [
19
- "sqs:DeleteMessage",
20
- "sqs:ReceiveMessage",
21
- "sqs:SendMessage",
22
- "sqs:GetQueueAttributes",
23
- "sqs:RemovePermission",
24
- "sqs:AddPermission",
25
- "sqs:SetQueueAttributes"
26
- ],
27
- "Effect": "Allow",
28
- "Principal": {
29
- "AWS": {
30
- "Fn::Join": [
31
- "",
32
- [
33
- "arn:",
34
- {
35
- "Ref": "AWS::Partition"
36
- },
37
- ":iam::",
38
- {
39
- "Ref": "AWS::AccountId"
40
- },
41
- ":root"
42
- ]
43
- ]
44
- }
45
- },
46
- "Resource": {
47
- "Fn::GetAtt": [
48
- "testiotsqsstackdeadLetterQueueA417EB97",
49
- "Arn"
50
- ]
51
- },
52
- "Sid": "QueueOwnerOnlyAccess"
53
- },
54
- {
55
- "Action": "SQS:*",
56
- "Condition": {
57
- "Bool": {
58
- "aws:SecureTransport": "false"
59
- }
60
- },
61
- "Effect": "Deny",
62
- "Principal": {
63
- "AWS": "*"
64
- },
65
- "Resource": {
66
- "Fn::GetAtt": [
67
- "testiotsqsstackdeadLetterQueueA417EB97",
68
- "Arn"
69
- ]
70
- },
71
- "Sid": "HttpsOnly"
72
- }
73
- ],
74
- "Version": "2012-10-17"
75
- },
76
- "Queues": [
77
- {
78
- "Ref": "testiotsqsstackdeadLetterQueueA417EB97"
79
- }
80
- ]
81
- }
82
- },
83
- "testiotsqsstackqueue3DEA94EF": {
84
- "Type": "AWS::SQS::Queue",
85
- "Properties": {
86
- "KmsMasterKeyId": "alias/aws/sqs",
87
- "RedrivePolicy": {
88
- "deadLetterTargetArn": {
89
- "Fn::GetAtt": [
90
- "testiotsqsstackdeadLetterQueueA417EB97",
91
- "Arn"
92
- ]
93
- },
94
- "maxReceiveCount": 15
95
- }
96
- },
97
- "UpdateReplacePolicy": "Delete",
98
- "DeletionPolicy": "Delete"
99
- },
100
- "testiotsqsstackqueuePolicy76FA6440": {
101
- "Type": "AWS::SQS::QueuePolicy",
102
- "Properties": {
103
- "PolicyDocument": {
104
- "Statement": [
105
- {
106
- "Action": [
107
- "sqs:DeleteMessage",
108
- "sqs:ReceiveMessage",
109
- "sqs:SendMessage",
110
- "sqs:GetQueueAttributes",
111
- "sqs:RemovePermission",
112
- "sqs:AddPermission",
113
- "sqs:SetQueueAttributes"
114
- ],
115
- "Effect": "Allow",
116
- "Principal": {
117
- "AWS": {
118
- "Fn::Join": [
119
- "",
120
- [
121
- "arn:",
122
- {
123
- "Ref": "AWS::Partition"
124
- },
125
- ":iam::",
126
- {
127
- "Ref": "AWS::AccountId"
128
- },
129
- ":root"
130
- ]
131
- ]
132
- }
133
- },
134
- "Resource": {
135
- "Fn::GetAtt": [
136
- "testiotsqsstackqueue3DEA94EF",
137
- "Arn"
138
- ]
139
- },
140
- "Sid": "QueueOwnerOnlyAccess"
141
- },
142
- {
143
- "Action": "SQS:*",
144
- "Condition": {
145
- "Bool": {
146
- "aws:SecureTransport": "false"
147
- }
148
- },
149
- "Effect": "Deny",
150
- "Principal": {
151
- "AWS": "*"
152
- },
153
- "Resource": {
154
- "Fn::GetAtt": [
155
- "testiotsqsstackqueue3DEA94EF",
156
- "Arn"
157
- ]
158
- },
159
- "Sid": "HttpsOnly"
160
- }
161
- ],
162
- "Version": "2012-10-17"
163
- },
164
- "Queues": [
165
- {
166
- "Ref": "testiotsqsstackqueue3DEA94EF"
167
- }
168
- ]
169
- }
170
- },
171
- "testiotsqsstackiotactionsrole5F8821AA": {
172
- "Type": "AWS::IAM::Role",
173
- "Properties": {
174
- "AssumeRolePolicyDocument": {
175
- "Statement": [
176
- {
177
- "Action": "sts:AssumeRole",
178
- "Effect": "Allow",
179
- "Principal": {
180
- "Service": "iot.amazonaws.com"
181
- }
182
- }
183
- ],
184
- "Version": "2012-10-17"
185
- }
186
- }
187
- },
188
- "testiotsqsstackiotactionsroleDefaultPolicy02ED7F00": {
189
- "Type": "AWS::IAM::Policy",
190
- "Properties": {
191
- "PolicyDocument": {
192
- "Statement": [
193
- {
194
- "Action": [
195
- "sqs:SendMessage",
196
- "sqs:GetQueueAttributes",
197
- "sqs:GetQueueUrl"
198
- ],
199
- "Effect": "Allow",
200
- "Resource": {
201
- "Fn::GetAtt": [
202
- "testiotsqsstackqueue3DEA94EF",
203
- "Arn"
204
- ]
205
- }
206
- }
207
- ],
208
- "Version": "2012-10-17"
209
- },
210
- "PolicyName": "testiotsqsstackiotactionsroleDefaultPolicy02ED7F00",
211
- "Roles": [
212
- {
213
- "Ref": "testiotsqsstackiotactionsrole5F8821AA"
214
- }
215
- ]
216
- }
217
- },
218
- "testiotsqsstackIotTopicRule02F8F602": {
219
- "Type": "AWS::IoT::TopicRule",
220
- "Properties": {
221
- "TopicRulePayload": {
222
- "Actions": [
223
- {
224
- "Sqs": {
225
- "QueueUrl": {
226
- "Ref": "testiotsqsstackqueue3DEA94EF"
227
- },
228
- "RoleArn": {
229
- "Fn::GetAtt": [
230
- "testiotsqsstackiotactionsrole5F8821AA",
231
- "Arn"
232
- ]
233
- }
234
- }
235
- }
236
- ],
237
- "Description": "Processing messages from IoT devices or factory machines",
238
- "RuleDisabled": false,
239
- "Sql": "SELECT * FROM 'test/topic/#'"
240
- }
241
- }
242
- }
243
- },
244
- "Parameters": {
245
- "BootstrapVersion": {
246
- "Type": "AWS::SSM::Parameter::Value<String>",
247
- "Default": "/cdk-bootstrap/hnb659fds/version",
248
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
249
- }
250
- },
251
- "Rules": {
252
- "CheckBootstrapVersion": {
253
- "Assertions": [
254
- {
255
- "Assert": {
256
- "Fn::Not": [
257
- {
258
- "Fn::Contains": [
259
- [
260
- "1",
261
- "2",
262
- "3",
263
- "4",
264
- "5"
265
- ],
266
- {
267
- "Ref": "BootstrapVersion"
268
- }
269
- ]
270
- }
271
- ]
272
- },
273
- "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
274
- }
275
- ]
276
- }
277
- }
278
- }