@aws-solutions-constructs/aws-sqs-pipes-stepfunctions 2.73.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 (92) hide show
  1. package/.eslintignore +7 -0
  2. package/.jsii +4457 -0
  3. package/README.md +100 -0
  4. package/architecture.png +0 -0
  5. package/integ.config.json +0 -0
  6. package/lib/index.d.ts +140 -0
  7. package/lib/index.js +77 -0
  8. package/package.json +96 -0
  9. package/test/integ.sqspstp-custom-log-level.d.ts +13 -0
  10. package/test/integ.sqspstp-custom-log-level.js +33 -0
  11. package/test/integ.sqspstp-custom-log-level.js.snapshot/cdk.out +1 -0
  12. package/test/integ.sqspstp-custom-log-level.js.snapshot/integ.json +12 -0
  13. package/test/integ.sqspstp-custom-log-level.js.snapshot/manifest.json +205 -0
  14. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstp-custom-log-level.assets.json +19 -0
  15. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstp-custom-log-level.template.json +654 -0
  16. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstpcustomloglevelIntegDefaultTestDeployAssertD542618D.assets.json +19 -0
  17. package/test/integ.sqspstp-custom-log-level.js.snapshot/sqspstpcustomloglevelIntegDefaultTestDeployAssertD542618D.template.json +36 -0
  18. package/test/integ.sqspstp-custom-log-level.js.snapshot/tree.json +957 -0
  19. package/test/integ.sqspstp-existing-queue.d.ts +13 -0
  20. package/test/integ.sqspstp-existing-queue.js +35 -0
  21. package/test/integ.sqspstp-existing-queue.js.snapshot/cdk.out +1 -0
  22. package/test/integ.sqspstp-existing-queue.js.snapshot/integ.json +12 -0
  23. package/test/integ.sqspstp-existing-queue.js.snapshot/manifest.json +205 -0
  24. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstp-existing-queue.assets.json +19 -0
  25. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstp-existing-queue.template.json +654 -0
  26. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstpexistingqueueIntegDefaultTestDeployAssert6DA9FDD7.assets.json +19 -0
  27. package/test/integ.sqspstp-existing-queue.js.snapshot/sqspstpexistingqueueIntegDefaultTestDeployAssert6DA9FDD7.template.json +36 -0
  28. package/test/integ.sqspstp-existing-queue.js.snapshot/tree.json +957 -0
  29. package/test/integ.sqspstp-filter.d.ts +13 -0
  30. package/test/integ.sqspstp-filter.js +44 -0
  31. package/test/integ.sqspstp-filter.js.snapshot/cdk.out +1 -0
  32. package/test/integ.sqspstp-filter.js.snapshot/integ.json +12 -0
  33. package/test/integ.sqspstp-filter.js.snapshot/manifest.json +205 -0
  34. package/test/integ.sqspstp-filter.js.snapshot/sqspstp-filter.assets.json +19 -0
  35. package/test/integ.sqspstp-filter.js.snapshot/sqspstp-filter.template.json +662 -0
  36. package/test/integ.sqspstp-filter.js.snapshot/sqspstpfilterIntegDefaultTestDeployAssert0C52837E.assets.json +19 -0
  37. package/test/integ.sqspstp-filter.js.snapshot/sqspstpfilterIntegDefaultTestDeployAssert0C52837E.template.json +36 -0
  38. package/test/integ.sqspstp-filter.js.snapshot/tree.json +965 -0
  39. package/test/integ.sqspstp-lambda-function-enrichment.d.ts +13 -0
  40. package/test/integ.sqspstp-lambda-function-enrichment.js +40 -0
  41. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/asset.33adcab38bd8c4e154734b436a40ee81920a89cd6c787ce62302c33df5e1dfcb/index.js +9 -0
  42. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/cdk.out +1 -0
  43. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/integ.json +12 -0
  44. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/manifest.json +223 -0
  45. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstp-lambda-function-enrichment.assets.json +32 -0
  46. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstp-lambda-function-enrichment.template.json +757 -0
  47. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstplambdafunctionenrichmentIntegDefaultTestDeployAssert1F2A8125.assets.json +19 -0
  48. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/sqspstplambdafunctionenrichmentIntegDefaultTestDeployAssert1F2A8125.template.json +36 -0
  49. package/test/integ.sqspstp-lambda-function-enrichment.js.snapshot/tree.json +1127 -0
  50. package/test/integ.sqspstp-logs-off.d.ts +13 -0
  51. package/test/integ.sqspstp-logs-off.js +33 -0
  52. package/test/integ.sqspstp-logs-off.js.snapshot/cdk.out +1 -0
  53. package/test/integ.sqspstp-logs-off.js.snapshot/integ.json +12 -0
  54. package/test/integ.sqspstp-logs-off.js.snapshot/manifest.json +199 -0
  55. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstp-logs-off.assets.json +19 -0
  56. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstp-logs-off.template.json +601 -0
  57. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstplogsoffIntegDefaultTestDeployAssert25C29ACD.assets.json +19 -0
  58. package/test/integ.sqspstp-logs-off.js.snapshot/sqspstplogsoffIntegDefaultTestDeployAssert25C29ACD.template.json +36 -0
  59. package/test/integ.sqspstp-logs-off.js.snapshot/tree.json +902 -0
  60. package/test/integ.sqspstp-no-arguments.d.ts +13 -0
  61. package/test/integ.sqspstp-no-arguments.js +32 -0
  62. package/test/integ.sqspstp-no-arguments.js.snapshot/cdk.out +1 -0
  63. package/test/integ.sqspstp-no-arguments.js.snapshot/integ.json +12 -0
  64. package/test/integ.sqspstp-no-arguments.js.snapshot/manifest.json +205 -0
  65. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstp-no-arguments.assets.json +19 -0
  66. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstp-no-arguments.template.json +654 -0
  67. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstpnoargumentsIntegDefaultTestDeployAssert83953622.assets.json +19 -0
  68. package/test/integ.sqspstp-no-arguments.js.snapshot/sqspstpnoargumentsIntegDefaultTestDeployAssert83953622.template.json +36 -0
  69. package/test/integ.sqspstp-no-arguments.js.snapshot/tree.json +957 -0
  70. package/test/integ.sqspstp-set-queue-batch-size.d.ts +13 -0
  71. package/test/integ.sqspstp-set-queue-batch-size.js +39 -0
  72. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/cdk.out +1 -0
  73. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/integ.json +12 -0
  74. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/manifest.json +205 -0
  75. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstp-set-queue-batch-size.assets.json +19 -0
  76. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstp-set-queue-batch-size.template.json +658 -0
  77. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstpsetqueuebatchsizeIntegDefaultTestDeployAssertA1752E9D.assets.json +19 -0
  78. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/sqspstpsetqueuebatchsizeIntegDefaultTestDeployAssertA1752E9D.template.json +36 -0
  79. package/test/integ.sqspstp-set-queue-batch-size.js.snapshot/tree.json +961 -0
  80. package/test/integ.sqspstp-state-machine-enrichment.d.ts +13 -0
  81. package/test/integ.sqspstp-state-machine-enrichment.js +39 -0
  82. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/cdk.out +1 -0
  83. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/integ.json +12 -0
  84. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/manifest.json +241 -0
  85. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstp-state-machine-enrichment.assets.json +19 -0
  86. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstp-state-machine-enrichment.template.json +868 -0
  87. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstpstatemachineenrichmentIntegDefaultTestDeployAssert47A5DE6D.assets.json +19 -0
  88. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/sqspstpstatemachineenrichmentIntegDefaultTestDeployAssert47A5DE6D.template.json +36 -0
  89. package/test/integ.sqspstp-state-machine-enrichment.js.snapshot/tree.json +1252 -0
  90. package/test/lambda/index.js +9 -0
  91. package/test/sqs-pipes-stepfunctions.test.d.ts +13 -0
  92. package/test/sqs-pipes-stepfunctions.test.js +394 -0
@@ -0,0 +1,868 @@
1
+ {
2
+ "Resources": {
3
+ "lambdatempServiceRoleA1A0368B": {
4
+ "Type": "AWS::IAM::Role",
5
+ "Properties": {
6
+ "AssumeRolePolicyDocument": {
7
+ "Statement": [
8
+ {
9
+ "Action": "sts:AssumeRole",
10
+ "Effect": "Allow",
11
+ "Principal": {
12
+ "Service": "lambda.amazonaws.com"
13
+ }
14
+ }
15
+ ],
16
+ "Version": "2012-10-17"
17
+ },
18
+ "ManagedPolicyArns": [
19
+ {
20
+ "Fn::Join": [
21
+ "",
22
+ [
23
+ "arn:",
24
+ {
25
+ "Ref": "AWS::Partition"
26
+ },
27
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
28
+ ]
29
+ ]
30
+ }
31
+ ]
32
+ }
33
+ },
34
+ "lambdatemp1CD2462E": {
35
+ "Type": "AWS::Lambda::Function",
36
+ "Properties": {
37
+ "Code": {
38
+ "ZipFile": "exports.handler = async (event) => console.log(event)"
39
+ },
40
+ "Handler": "index.handler",
41
+ "Role": {
42
+ "Fn::GetAtt": [
43
+ "lambdatempServiceRoleA1A0368B",
44
+ "Arn"
45
+ ]
46
+ },
47
+ "Runtime": "nodejs20.x"
48
+ },
49
+ "DependsOn": [
50
+ "lambdatempServiceRoleA1A0368B"
51
+ ],
52
+ "Metadata": {
53
+ "cfn_nag": {
54
+ "rules_to_suppress": [
55
+ {
56
+ "id": "W58",
57
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
58
+ },
59
+ {
60
+ "id": "W89",
61
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
62
+ },
63
+ {
64
+ "id": "W92",
65
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
66
+ },
67
+ {
68
+ "id": "W58",
69
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
70
+ },
71
+ {
72
+ "id": "W89",
73
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
74
+ },
75
+ {
76
+ "id": "W92",
77
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
78
+ }
79
+ ]
80
+ }
81
+ }
82
+ },
83
+ "tempRole0DF4072C": {
84
+ "Type": "AWS::IAM::Role",
85
+ "Properties": {
86
+ "AssumeRolePolicyDocument": {
87
+ "Statement": [
88
+ {
89
+ "Action": "sts:AssumeRole",
90
+ "Effect": "Allow",
91
+ "Principal": {
92
+ "Service": "states.amazonaws.com"
93
+ }
94
+ }
95
+ ],
96
+ "Version": "2012-10-17"
97
+ }
98
+ }
99
+ },
100
+ "tempRoleDefaultPolicy6B471CA6": {
101
+ "Type": "AWS::IAM::Policy",
102
+ "Properties": {
103
+ "PolicyDocument": {
104
+ "Statement": [
105
+ {
106
+ "Action": "lambda:InvokeFunction",
107
+ "Effect": "Allow",
108
+ "Resource": [
109
+ {
110
+ "Fn::GetAtt": [
111
+ "lambdatemp1CD2462E",
112
+ "Arn"
113
+ ]
114
+ },
115
+ {
116
+ "Fn::Join": [
117
+ "",
118
+ [
119
+ {
120
+ "Fn::GetAtt": [
121
+ "lambdatemp1CD2462E",
122
+ "Arn"
123
+ ]
124
+ },
125
+ ":*"
126
+ ]
127
+ ]
128
+ }
129
+ ]
130
+ }
131
+ ],
132
+ "Version": "2012-10-17"
133
+ },
134
+ "PolicyName": "tempRoleDefaultPolicy6B471CA6",
135
+ "Roles": [
136
+ {
137
+ "Ref": "tempRole0DF4072C"
138
+ }
139
+ ]
140
+ }
141
+ },
142
+ "temp3A4F7567": {
143
+ "Type": "AWS::StepFunctions::StateMachine",
144
+ "Properties": {
145
+ "DefinitionString": {
146
+ "Fn::Join": [
147
+ "",
148
+ [
149
+ "{\"StartAt\":\"tasktemp\",\"States\":{\"tasktemp\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"Lambda.ClientExecutionTimeoutException\",\"Lambda.ServiceException\",\"Lambda.AWSLambdaException\",\"Lambda.SdkClientException\"],\"IntervalSeconds\":2,\"MaxAttempts\":6,\"BackoffRate\":2}],\"Type\":\"Task\",\"Resource\":\"arn:",
150
+ {
151
+ "Ref": "AWS::Partition"
152
+ },
153
+ ":states:::lambda:invoke\",\"Parameters\":{\"FunctionName\":\"",
154
+ {
155
+ "Fn::GetAtt": [
156
+ "lambdatemp1CD2462E",
157
+ "Arn"
158
+ ]
159
+ },
160
+ "\",\"Payload.$\":\"$\"}}}}"
161
+ ]
162
+ ]
163
+ },
164
+ "RoleArn": {
165
+ "Fn::GetAtt": [
166
+ "tempRole0DF4072C",
167
+ "Arn"
168
+ ]
169
+ },
170
+ "StateMachineType": "EXPRESS"
171
+ },
172
+ "DependsOn": [
173
+ "tempRoleDefaultPolicy6B471CA6",
174
+ "tempRole0DF4072C"
175
+ ],
176
+ "UpdateReplacePolicy": "Delete",
177
+ "DeletionPolicy": "Delete"
178
+ },
179
+ "lambdas3stptestServiceRoleF17BB6C7": {
180
+ "Type": "AWS::IAM::Role",
181
+ "Properties": {
182
+ "AssumeRolePolicyDocument": {
183
+ "Statement": [
184
+ {
185
+ "Action": "sts:AssumeRole",
186
+ "Effect": "Allow",
187
+ "Principal": {
188
+ "Service": "lambda.amazonaws.com"
189
+ }
190
+ }
191
+ ],
192
+ "Version": "2012-10-17"
193
+ },
194
+ "ManagedPolicyArns": [
195
+ {
196
+ "Fn::Join": [
197
+ "",
198
+ [
199
+ "arn:",
200
+ {
201
+ "Ref": "AWS::Partition"
202
+ },
203
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
204
+ ]
205
+ ]
206
+ }
207
+ ]
208
+ }
209
+ },
210
+ "lambdas3stptest9FBDC6CE": {
211
+ "Type": "AWS::Lambda::Function",
212
+ "Properties": {
213
+ "Code": {
214
+ "ZipFile": "exports.handler = async (event) => console.log(event)"
215
+ },
216
+ "Handler": "index.handler",
217
+ "Role": {
218
+ "Fn::GetAtt": [
219
+ "lambdas3stptestServiceRoleF17BB6C7",
220
+ "Arn"
221
+ ]
222
+ },
223
+ "Runtime": "nodejs20.x"
224
+ },
225
+ "DependsOn": [
226
+ "lambdas3stptestServiceRoleF17BB6C7"
227
+ ],
228
+ "Metadata": {
229
+ "cfn_nag": {
230
+ "rules_to_suppress": [
231
+ {
232
+ "id": "W58",
233
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
234
+ },
235
+ {
236
+ "id": "W89",
237
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
238
+ },
239
+ {
240
+ "id": "W92",
241
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
242
+ },
243
+ {
244
+ "id": "W58",
245
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
246
+ },
247
+ {
248
+ "id": "W89",
249
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
250
+ },
251
+ {
252
+ "id": "W92",
253
+ "reason": "This Lambda Function is created for integration testing purposes only and is not part of an actual construct"
254
+ }
255
+ ]
256
+ }
257
+ }
258
+ },
259
+ "testsqspipesstatesconstructqueuedlq420A82FD": {
260
+ "Type": "AWS::SQS::Queue",
261
+ "Properties": {
262
+ "KmsMasterKeyId": "alias/aws/sqs"
263
+ },
264
+ "UpdateReplacePolicy": "Delete",
265
+ "DeletionPolicy": "Delete"
266
+ },
267
+ "testsqspipesstatesconstructqueuedlqPolicyB1D70483": {
268
+ "Type": "AWS::SQS::QueuePolicy",
269
+ "Properties": {
270
+ "PolicyDocument": {
271
+ "Statement": [
272
+ {
273
+ "Action": [
274
+ "sqs:AddPermission",
275
+ "sqs:DeleteMessage",
276
+ "sqs:GetQueueAttributes",
277
+ "sqs:ReceiveMessage",
278
+ "sqs:RemovePermission",
279
+ "sqs:SendMessage",
280
+ "sqs:SetQueueAttributes"
281
+ ],
282
+ "Effect": "Allow",
283
+ "Principal": {
284
+ "AWS": {
285
+ "Fn::Join": [
286
+ "",
287
+ [
288
+ "arn:",
289
+ {
290
+ "Ref": "AWS::Partition"
291
+ },
292
+ ":iam::",
293
+ {
294
+ "Ref": "AWS::AccountId"
295
+ },
296
+ ":root"
297
+ ]
298
+ ]
299
+ }
300
+ },
301
+ "Resource": {
302
+ "Fn::GetAtt": [
303
+ "testsqspipesstatesconstructqueuedlq420A82FD",
304
+ "Arn"
305
+ ]
306
+ },
307
+ "Sid": "QueueOwnerOnlyAccess"
308
+ },
309
+ {
310
+ "Action": "SQS:*",
311
+ "Condition": {
312
+ "Bool": {
313
+ "aws:SecureTransport": "false"
314
+ }
315
+ },
316
+ "Effect": "Deny",
317
+ "Principal": {
318
+ "AWS": "*"
319
+ },
320
+ "Resource": {
321
+ "Fn::GetAtt": [
322
+ "testsqspipesstatesconstructqueuedlq420A82FD",
323
+ "Arn"
324
+ ]
325
+ },
326
+ "Sid": "HttpsOnly"
327
+ }
328
+ ],
329
+ "Version": "2012-10-17"
330
+ },
331
+ "Queues": [
332
+ {
333
+ "Ref": "testsqspipesstatesconstructqueuedlq420A82FD"
334
+ }
335
+ ]
336
+ }
337
+ },
338
+ "testsqspipesstatesconstructqueueA7C76715": {
339
+ "Type": "AWS::SQS::Queue",
340
+ "Properties": {
341
+ "KmsMasterKeyId": "alias/aws/sqs",
342
+ "RedrivePolicy": {
343
+ "deadLetterTargetArn": {
344
+ "Fn::GetAtt": [
345
+ "testsqspipesstatesconstructqueuedlq420A82FD",
346
+ "Arn"
347
+ ]
348
+ },
349
+ "maxReceiveCount": 15
350
+ }
351
+ },
352
+ "UpdateReplacePolicy": "Delete",
353
+ "DeletionPolicy": "Delete"
354
+ },
355
+ "testsqspipesstatesconstructqueuePolicyFD32B562": {
356
+ "Type": "AWS::SQS::QueuePolicy",
357
+ "Properties": {
358
+ "PolicyDocument": {
359
+ "Statement": [
360
+ {
361
+ "Action": [
362
+ "sqs:AddPermission",
363
+ "sqs:DeleteMessage",
364
+ "sqs:GetQueueAttributes",
365
+ "sqs:ReceiveMessage",
366
+ "sqs:RemovePermission",
367
+ "sqs:SendMessage",
368
+ "sqs:SetQueueAttributes"
369
+ ],
370
+ "Effect": "Allow",
371
+ "Principal": {
372
+ "AWS": {
373
+ "Fn::Join": [
374
+ "",
375
+ [
376
+ "arn:",
377
+ {
378
+ "Ref": "AWS::Partition"
379
+ },
380
+ ":iam::",
381
+ {
382
+ "Ref": "AWS::AccountId"
383
+ },
384
+ ":root"
385
+ ]
386
+ ]
387
+ }
388
+ },
389
+ "Resource": {
390
+ "Fn::GetAtt": [
391
+ "testsqspipesstatesconstructqueueA7C76715",
392
+ "Arn"
393
+ ]
394
+ },
395
+ "Sid": "QueueOwnerOnlyAccess"
396
+ },
397
+ {
398
+ "Action": "SQS:*",
399
+ "Condition": {
400
+ "Bool": {
401
+ "aws:SecureTransport": "false"
402
+ }
403
+ },
404
+ "Effect": "Deny",
405
+ "Principal": {
406
+ "AWS": "*"
407
+ },
408
+ "Resource": {
409
+ "Fn::GetAtt": [
410
+ "testsqspipesstatesconstructqueueA7C76715",
411
+ "Arn"
412
+ ]
413
+ },
414
+ "Sid": "HttpsOnly"
415
+ }
416
+ ],
417
+ "Version": "2012-10-17"
418
+ },
419
+ "Queues": [
420
+ {
421
+ "Ref": "testsqspipesstatesconstructqueueA7C76715"
422
+ }
423
+ ]
424
+ }
425
+ },
426
+ "testsqspipesstatesconstructStateMachineLogGroupADE94F1D": {
427
+ "Type": "AWS::Logs::LogGroup",
428
+ "Properties": {
429
+ "LogGroupName": {
430
+ "Fn::Join": [
431
+ "",
432
+ [
433
+ "/aws/vendedlogs/states/constructs/sqspstp-state-machine-enrichmenttest-sqs-pipes-states-constructStateMachineLog-",
434
+ {
435
+ "Fn::Select": [
436
+ 2,
437
+ {
438
+ "Fn::Split": [
439
+ "/",
440
+ {
441
+ "Ref": "AWS::StackId"
442
+ }
443
+ ]
444
+ }
445
+ ]
446
+ }
447
+ ]
448
+ ]
449
+ }
450
+ },
451
+ "UpdateReplacePolicy": "Retain",
452
+ "DeletionPolicy": "Retain",
453
+ "Metadata": {
454
+ "cfn_nag": {
455
+ "rules_to_suppress": [
456
+ {
457
+ "id": "W86",
458
+ "reason": "Retention period for CloudWatchLogs LogGroups are set to 'Never Expire' to preserve customer data indefinitely"
459
+ },
460
+ {
461
+ "id": "W84",
462
+ "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)"
463
+ }
464
+ ]
465
+ }
466
+ }
467
+ },
468
+ "testsqspipesstatesconstructStateMachineRoleBF97BFC0": {
469
+ "Type": "AWS::IAM::Role",
470
+ "Properties": {
471
+ "AssumeRolePolicyDocument": {
472
+ "Statement": [
473
+ {
474
+ "Action": "sts:AssumeRole",
475
+ "Effect": "Allow",
476
+ "Principal": {
477
+ "Service": "states.amazonaws.com"
478
+ }
479
+ }
480
+ ],
481
+ "Version": "2012-10-17"
482
+ }
483
+ }
484
+ },
485
+ "testsqspipesstatesconstructStateMachineRoleDefaultPolicyD1BA2BF2": {
486
+ "Type": "AWS::IAM::Policy",
487
+ "Properties": {
488
+ "PolicyDocument": {
489
+ "Statement": [
490
+ {
491
+ "Action": "lambda:InvokeFunction",
492
+ "Effect": "Allow",
493
+ "Resource": [
494
+ {
495
+ "Fn::GetAtt": [
496
+ "lambdas3stptest9FBDC6CE",
497
+ "Arn"
498
+ ]
499
+ },
500
+ {
501
+ "Fn::Join": [
502
+ "",
503
+ [
504
+ {
505
+ "Fn::GetAtt": [
506
+ "lambdas3stptest9FBDC6CE",
507
+ "Arn"
508
+ ]
509
+ },
510
+ ":*"
511
+ ]
512
+ ]
513
+ }
514
+ ]
515
+ },
516
+ {
517
+ "Action": [
518
+ "logs:CreateLogDelivery",
519
+ "logs:DeleteLogDelivery",
520
+ "logs:DescribeLogGroups",
521
+ "logs:DescribeResourcePolicies",
522
+ "logs:GetLogDelivery",
523
+ "logs:ListLogDeliveries",
524
+ "logs:PutResourcePolicy",
525
+ "logs:UpdateLogDelivery"
526
+ ],
527
+ "Effect": "Allow",
528
+ "Resource": "*"
529
+ }
530
+ ],
531
+ "Version": "2012-10-17"
532
+ },
533
+ "PolicyName": "testsqspipesstatesconstructStateMachineRoleDefaultPolicyD1BA2BF2",
534
+ "Roles": [
535
+ {
536
+ "Ref": "testsqspipesstatesconstructStateMachineRoleBF97BFC0"
537
+ }
538
+ ]
539
+ },
540
+ "Metadata": {
541
+ "cfn_nag": {
542
+ "rules_to_suppress": [
543
+ {
544
+ "id": "W12",
545
+ "reason": "These are CDK defaults. The 'LogDelivery' actions do not support resource-level authorizations. Any logging is done by State Machine code"
546
+ }
547
+ ]
548
+ }
549
+ }
550
+ },
551
+ "testsqspipesstatesconstructStateMachine29272AA9": {
552
+ "Type": "AWS::StepFunctions::StateMachine",
553
+ "Properties": {
554
+ "DefinitionString": {
555
+ "Fn::Join": [
556
+ "",
557
+ [
558
+ "{\"StartAt\":\"tasks3stp-test\",\"States\":{\"tasks3stp-test\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"Lambda.ClientExecutionTimeoutException\",\"Lambda.ServiceException\",\"Lambda.AWSLambdaException\",\"Lambda.SdkClientException\"],\"IntervalSeconds\":2,\"MaxAttempts\":6,\"BackoffRate\":2}],\"Type\":\"Task\",\"Resource\":\"arn:",
559
+ {
560
+ "Ref": "AWS::Partition"
561
+ },
562
+ ":states:::lambda:invoke\",\"Parameters\":{\"FunctionName\":\"",
563
+ {
564
+ "Fn::GetAtt": [
565
+ "lambdas3stptest9FBDC6CE",
566
+ "Arn"
567
+ ]
568
+ },
569
+ "\",\"Payload.$\":\"$\"}}}}"
570
+ ]
571
+ ]
572
+ },
573
+ "LoggingConfiguration": {
574
+ "Destinations": [
575
+ {
576
+ "CloudWatchLogsLogGroup": {
577
+ "LogGroupArn": {
578
+ "Fn::GetAtt": [
579
+ "testsqspipesstatesconstructStateMachineLogGroupADE94F1D",
580
+ "Arn"
581
+ ]
582
+ }
583
+ }
584
+ }
585
+ ],
586
+ "Level": "ERROR"
587
+ },
588
+ "RoleArn": {
589
+ "Fn::GetAtt": [
590
+ "testsqspipesstatesconstructStateMachineRoleBF97BFC0",
591
+ "Arn"
592
+ ]
593
+ }
594
+ },
595
+ "DependsOn": [
596
+ "testsqspipesstatesconstructStateMachineRoleDefaultPolicyD1BA2BF2",
597
+ "testsqspipesstatesconstructStateMachineRoleBF97BFC0"
598
+ ],
599
+ "UpdateReplacePolicy": "Delete",
600
+ "DeletionPolicy": "Delete"
601
+ },
602
+ "testsqspipesstatesconstructExecutionFailedAlarm1002FF55": {
603
+ "Type": "AWS::CloudWatch::Alarm",
604
+ "Properties": {
605
+ "AlarmDescription": "Alarm for the number of executions that failed exceeded the threshold of 1. ",
606
+ "ComparisonOperator": "GreaterThanOrEqualToThreshold",
607
+ "Dimensions": [
608
+ {
609
+ "Name": "StateMachineArn",
610
+ "Value": {
611
+ "Ref": "testsqspipesstatesconstructStateMachine29272AA9"
612
+ }
613
+ }
614
+ ],
615
+ "EvaluationPeriods": 1,
616
+ "MetricName": "ExecutionsFailed",
617
+ "Namespace": "AWS/States",
618
+ "Period": 300,
619
+ "Statistic": "Sum",
620
+ "Threshold": 1
621
+ }
622
+ },
623
+ "testsqspipesstatesconstructExecutionThrottledAlarm0242B01A": {
624
+ "Type": "AWS::CloudWatch::Alarm",
625
+ "Properties": {
626
+ "AlarmDescription": "Alarm for the number of executions that throttled exceeded the threshold of 1. ",
627
+ "ComparisonOperator": "GreaterThanOrEqualToThreshold",
628
+ "Dimensions": [
629
+ {
630
+ "Name": "StateMachineArn",
631
+ "Value": {
632
+ "Ref": "testsqspipesstatesconstructStateMachine29272AA9"
633
+ }
634
+ }
635
+ ],
636
+ "EvaluationPeriods": 1,
637
+ "MetricName": "ExecutionThrottled",
638
+ "Namespace": "AWS/States",
639
+ "Period": 300,
640
+ "Statistic": "Sum",
641
+ "Threshold": 1
642
+ }
643
+ },
644
+ "testsqspipesstatesconstructExecutionAbortedAlarm14349A7B": {
645
+ "Type": "AWS::CloudWatch::Alarm",
646
+ "Properties": {
647
+ "AlarmDescription": "Alarm for the number of executions that aborted exceeded the threshold of 1. ",
648
+ "ComparisonOperator": "GreaterThanOrEqualToThreshold",
649
+ "Dimensions": [
650
+ {
651
+ "Name": "StateMachineArn",
652
+ "Value": {
653
+ "Ref": "testsqspipesstatesconstructStateMachine29272AA9"
654
+ }
655
+ }
656
+ ],
657
+ "EvaluationPeriods": 1,
658
+ "MetricName": "ExecutionsAborted",
659
+ "Namespace": "AWS/States",
660
+ "Period": 300,
661
+ "Statistic": "Maximum",
662
+ "Threshold": 1
663
+ }
664
+ },
665
+ "testsqspipesstatesconstructPipeRoletestsqspipesstatesconstruct2CC9A13C": {
666
+ "Type": "AWS::IAM::Role",
667
+ "Properties": {
668
+ "AssumeRolePolicyDocument": {
669
+ "Statement": [
670
+ {
671
+ "Action": "sts:AssumeRole",
672
+ "Effect": "Allow",
673
+ "Principal": {
674
+ "Service": "pipes.amazonaws.com"
675
+ }
676
+ }
677
+ ],
678
+ "Version": "2012-10-17"
679
+ },
680
+ "Policies": [
681
+ {
682
+ "PolicyDocument": {
683
+ "Statement": [
684
+ {
685
+ "Action": [
686
+ "sqs:DeleteMessage",
687
+ "sqs:GetQueueAttributes",
688
+ "sqs:ReceiveMessage"
689
+ ],
690
+ "Effect": "Allow",
691
+ "Resource": {
692
+ "Fn::GetAtt": [
693
+ "testsqspipesstatesconstructqueueA7C76715",
694
+ "Arn"
695
+ ]
696
+ }
697
+ }
698
+ ],
699
+ "Version": "2012-10-17"
700
+ },
701
+ "PolicyName": "sourcePolicy"
702
+ },
703
+ {
704
+ "PolicyDocument": {
705
+ "Statement": [
706
+ {
707
+ "Action": "states:StartExecution",
708
+ "Effect": "Allow",
709
+ "Resource": {
710
+ "Ref": "testsqspipesstatesconstructStateMachine29272AA9"
711
+ }
712
+ }
713
+ ],
714
+ "Version": "2012-10-17"
715
+ },
716
+ "PolicyName": "targetPolicy"
717
+ }
718
+ ]
719
+ },
720
+ "Metadata": {
721
+ "guard": {
722
+ "SuppressedRules": [
723
+ "IAM_NO_INLINE_POLICY_CHECK"
724
+ ]
725
+ }
726
+ }
727
+ },
728
+ "testsqspipesstatesconstructenrichmentpolicytestsqspipesstatesconstructC752476A": {
729
+ "Type": "AWS::IAM::Policy",
730
+ "Properties": {
731
+ "PolicyDocument": {
732
+ "Statement": [
733
+ {
734
+ "Action": "states:StartSyncExecution",
735
+ "Effect": "Allow",
736
+ "Resource": {
737
+ "Ref": "temp3A4F7567"
738
+ }
739
+ }
740
+ ],
741
+ "Version": "2012-10-17"
742
+ },
743
+ "PolicyName": "testsqspipesstatesconstructenrichmentpolicytestsqspipesstatesconstructC752476A",
744
+ "Roles": [
745
+ {
746
+ "Ref": "testsqspipesstatesconstructPipeRoletestsqspipesstatesconstruct2CC9A13C"
747
+ }
748
+ ]
749
+ }
750
+ },
751
+ "testsqspipesstatesconstructLogGrouptestsqspipesstatesconstructF827FE15": {
752
+ "Type": "AWS::Logs::LogGroup",
753
+ "Properties": {
754
+ "LogGroupName": {
755
+ "Fn::Join": [
756
+ "",
757
+ [
758
+ "/aws/vendedlogs/pipes/constructs/sqspstp-state-machine-enrichmenttest-sqs-pipes-states-constructPipesLog-",
759
+ {
760
+ "Fn::Select": [
761
+ 2,
762
+ {
763
+ "Fn::Split": [
764
+ "/",
765
+ {
766
+ "Ref": "AWS::StackId"
767
+ }
768
+ ]
769
+ }
770
+ ]
771
+ }
772
+ ]
773
+ ]
774
+ }
775
+ },
776
+ "UpdateReplacePolicy": "Retain",
777
+ "DeletionPolicy": "Retain",
778
+ "Metadata": {
779
+ "cfn_nag": {
780
+ "rules_to_suppress": [
781
+ {
782
+ "id": "W86",
783
+ "reason": "Retention period for CloudWatchLogs LogGroups are set to 'Never Expire' to preserve customer data indefinitely"
784
+ },
785
+ {
786
+ "id": "W84",
787
+ "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)"
788
+ }
789
+ ]
790
+ }
791
+ }
792
+ },
793
+ "testsqspipesstatesconstructpipetestsqspipesstatesconstruct71A64A15": {
794
+ "Type": "AWS::Pipes::Pipe",
795
+ "Properties": {
796
+ "Enrichment": {
797
+ "Ref": "temp3A4F7567"
798
+ },
799
+ "LogConfiguration": {
800
+ "CloudwatchLogsLogDestination": {
801
+ "LogGroupArn": {
802
+ "Fn::GetAtt": [
803
+ "testsqspipesstatesconstructLogGrouptestsqspipesstatesconstructF827FE15",
804
+ "Arn"
805
+ ]
806
+ }
807
+ },
808
+ "Level": "TRACE"
809
+ },
810
+ "RoleArn": {
811
+ "Fn::GetAtt": [
812
+ "testsqspipesstatesconstructPipeRoletestsqspipesstatesconstruct2CC9A13C",
813
+ "Arn"
814
+ ]
815
+ },
816
+ "Source": {
817
+ "Fn::GetAtt": [
818
+ "testsqspipesstatesconstructqueueA7C76715",
819
+ "Arn"
820
+ ]
821
+ },
822
+ "SourceParameters": {},
823
+ "Target": {
824
+ "Ref": "testsqspipesstatesconstructStateMachine29272AA9"
825
+ },
826
+ "TargetParameters": {
827
+ "StepFunctionStateMachineParameters": {
828
+ "InvocationType": "FIRE_AND_FORGET"
829
+ }
830
+ }
831
+ }
832
+ }
833
+ },
834
+ "Parameters": {
835
+ "BootstrapVersion": {
836
+ "Type": "AWS::SSM::Parameter::Value<String>",
837
+ "Default": "/cdk-bootstrap/hnb659fds/version",
838
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
839
+ }
840
+ },
841
+ "Rules": {
842
+ "CheckBootstrapVersion": {
843
+ "Assertions": [
844
+ {
845
+ "Assert": {
846
+ "Fn::Not": [
847
+ {
848
+ "Fn::Contains": [
849
+ [
850
+ "1",
851
+ "2",
852
+ "3",
853
+ "4",
854
+ "5"
855
+ ],
856
+ {
857
+ "Ref": "BootstrapVersion"
858
+ }
859
+ ]
860
+ }
861
+ ]
862
+ },
863
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
864
+ }
865
+ ]
866
+ }
867
+ }
868
+ }