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