@mavogel/awscdk-rootmail 0.0.17 → 0.0.19

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 (41) hide show
  1. package/.jsii +57 -19
  2. package/API.md +117 -2
  3. package/README.md +91 -2
  4. package/docs/img/cloudformation-tpl-min.png +0 -0
  5. package/integ-tests/functions/custom-ses-receive-function.ts +92 -0
  6. package/integ-tests/integ.rootmail-custom-santa.ts +143 -0
  7. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +162 -0
  8. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +4541 -0
  9. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +32 -0
  10. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +249 -0
  11. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.0649b5bfaa322d6bd173d2daef3177389cf0778b556b300ac6bf451704cc3a49/index.js +37981 -0
  12. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60/index.js +106 -0
  13. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196/index.js +215 -0
  14. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js +31981 -0
  15. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.d.ts +14 -0
  16. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.js +1 -0
  17. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377/index.js +61 -0
  18. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5/index.js +83 -0
  19. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438/index.js +47 -0
  20. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.b8448324ef2c7d5bfa362722df2d397079d5aabaae2749f09180ac5bedfa5c89/index.js +105 -0
  21. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855/index.js +85 -0
  22. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/cfn-response.js +1 -0
  23. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/consts.js +1 -0
  24. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/framework.js +3 -0
  25. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/outbound.js +1 -0
  26. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/util.js +1 -0
  27. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f9b17c134d24cf60e1d26c033b5f4f247b759149619ac0aac341b950a10ccf14/index.js +72 -0
  28. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +27 -0
  29. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +742 -0
  30. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +5893 -0
  31. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +2 -2
  32. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +3 -3
  33. package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +1 -1
  34. package/lib/index-cli-synth.js +22 -11
  35. package/lib/index.js +2 -1
  36. package/lib/rootmail.d.ts +5 -1
  37. package/lib/rootmail.js +3 -2
  38. package/lib/scripts/publish-assets.js +18 -22
  39. package/lib/ses-receive.d.ts +5 -1
  40. package/lib/ses-receive.js +36 -14
  41. package/package.json +11 -6
@@ -0,0 +1,4541 @@
1
+ {
2
+ "Description": "This stack includes the application's resources for integration testing.",
3
+ "Resources": {
4
+ "customsesreceivefunctionServiceRole59428503": {
5
+ "Type": "AWS::IAM::Role",
6
+ "Properties": {
7
+ "AssumeRolePolicyDocument": {
8
+ "Statement": [
9
+ {
10
+ "Action": "sts:AssumeRole",
11
+ "Effect": "Allow",
12
+ "Principal": {
13
+ "Service": "lambda.amazonaws.com"
14
+ }
15
+ }
16
+ ],
17
+ "Version": "2012-10-17"
18
+ },
19
+ "ManagedPolicyArns": [
20
+ {
21
+ "Fn::Join": [
22
+ "",
23
+ [
24
+ "arn:",
25
+ {
26
+ "Ref": "AWS::Partition"
27
+ },
28
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
29
+ ]
30
+ ]
31
+ }
32
+ ]
33
+ }
34
+ },
35
+ "customsesreceivefunctionServiceRoleDefaultPolicyA3B235DE": {
36
+ "Type": "AWS::IAM::Policy",
37
+ "Properties": {
38
+ "PolicyDocument": {
39
+ "Statement": [
40
+ {
41
+ "Action": "s3:List*",
42
+ "Effect": "Allow",
43
+ "Resource": "*"
44
+ }
45
+ ],
46
+ "Version": "2012-10-17"
47
+ },
48
+ "PolicyName": "customsesreceivefunctionServiceRoleDefaultPolicyA3B235DE",
49
+ "Roles": [
50
+ {
51
+ "Ref": "customsesreceivefunctionServiceRole59428503"
52
+ }
53
+ ]
54
+ }
55
+ },
56
+ "customsesreceivefunction5B1A9CD4": {
57
+ "Type": "AWS::Lambda::Function",
58
+ "Properties": {
59
+ "Code": {
60
+ "S3Bucket": {
61
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
62
+ },
63
+ "S3Key": "0649b5bfaa322d6bd173d2daef3177389cf0778b556b300ac6bf451704cc3a49.zip"
64
+ },
65
+ "Environment": {
66
+ "Variables": {
67
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
68
+ "EMAIL_BUCKET": {
69
+ "Ref": "testRootmailEmailBucket2A470446"
70
+ },
71
+ "EMAIL_BUCKET_ARN": {
72
+ "Fn::GetAtt": [
73
+ "testRootmailEmailBucket2A470446",
74
+ "Arn"
75
+ ]
76
+ }
77
+ }
78
+ },
79
+ "Handler": "index.handler",
80
+ "Role": {
81
+ "Fn::GetAtt": [
82
+ "customsesreceivefunctionServiceRole59428503",
83
+ "Arn"
84
+ ]
85
+ },
86
+ "Runtime": "nodejs18.x",
87
+ "Timeout": 30
88
+ },
89
+ "DependsOn": [
90
+ "customsesreceivefunctionServiceRoleDefaultPolicyA3B235DE",
91
+ "customsesreceivefunctionServiceRole59428503"
92
+ ]
93
+ },
94
+ "customsesreceivefunctionLogRetention0291B225": {
95
+ "Type": "Custom::LogRetention",
96
+ "Properties": {
97
+ "ServiceToken": {
98
+ "Fn::GetAtt": [
99
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
100
+ "Arn"
101
+ ]
102
+ },
103
+ "LogGroupName": {
104
+ "Fn::Join": [
105
+ "",
106
+ [
107
+ "/aws/lambda/",
108
+ {
109
+ "Ref": "customsesreceivefunction5B1A9CD4"
110
+ }
111
+ ]
112
+ ]
113
+ },
114
+ "RetentionInDays": 1
115
+ }
116
+ },
117
+ "customsesreceivefunctionOpsSantaFunctionSESPermissions3D5DD310": {
118
+ "Type": "AWS::Lambda::Permission",
119
+ "Properties": {
120
+ "Action": "lambda:InvokeFunction",
121
+ "FunctionName": {
122
+ "Fn::GetAtt": [
123
+ "customsesreceivefunction5B1A9CD4",
124
+ "Arn"
125
+ ]
126
+ },
127
+ "Principal": "ses.amazonaws.com",
128
+ "SourceAccount": {
129
+ "Ref": "AWS::AccountId"
130
+ }
131
+ }
132
+ },
133
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB": {
134
+ "Type": "AWS::IAM::Role",
135
+ "Properties": {
136
+ "AssumeRolePolicyDocument": {
137
+ "Statement": [
138
+ {
139
+ "Action": "sts:AssumeRole",
140
+ "Effect": "Allow",
141
+ "Principal": {
142
+ "Service": "lambda.amazonaws.com"
143
+ }
144
+ }
145
+ ],
146
+ "Version": "2012-10-17"
147
+ },
148
+ "ManagedPolicyArns": [
149
+ {
150
+ "Fn::Join": [
151
+ "",
152
+ [
153
+ "arn:",
154
+ {
155
+ "Ref": "AWS::Partition"
156
+ },
157
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
158
+ ]
159
+ ]
160
+ }
161
+ ]
162
+ }
163
+ },
164
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB": {
165
+ "Type": "AWS::IAM::Policy",
166
+ "Properties": {
167
+ "PolicyDocument": {
168
+ "Statement": [
169
+ {
170
+ "Action": [
171
+ "logs:DeleteRetentionPolicy",
172
+ "logs:PutRetentionPolicy"
173
+ ],
174
+ "Effect": "Allow",
175
+ "Resource": "*"
176
+ }
177
+ ],
178
+ "Version": "2012-10-17"
179
+ },
180
+ "PolicyName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB",
181
+ "Roles": [
182
+ {
183
+ "Ref": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"
184
+ }
185
+ ]
186
+ }
187
+ },
188
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A": {
189
+ "Type": "AWS::Lambda::Function",
190
+ "Properties": {
191
+ "Handler": "index.handler",
192
+ "Runtime": "nodejs18.x",
193
+ "Code": {
194
+ "S3Bucket": {
195
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
196
+ },
197
+ "S3Key": "5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e.zip"
198
+ },
199
+ "Role": {
200
+ "Fn::GetAtt": [
201
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB",
202
+ "Arn"
203
+ ]
204
+ }
205
+ },
206
+ "DependsOn": [
207
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB",
208
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"
209
+ ]
210
+ },
211
+ "testRootmailEmailBucket2A470446": {
212
+ "Type": "AWS::S3::Bucket",
213
+ "Properties": {
214
+ "BucketEncryption": {
215
+ "ServerSideEncryptionConfiguration": [
216
+ {
217
+ "ServerSideEncryptionByDefault": {
218
+ "SSEAlgorithm": "AES256"
219
+ }
220
+ }
221
+ ]
222
+ },
223
+ "PublicAccessBlockConfiguration": {
224
+ "BlockPublicAcls": true,
225
+ "BlockPublicPolicy": true,
226
+ "IgnorePublicAcls": true,
227
+ "RestrictPublicBuckets": true
228
+ }
229
+ },
230
+ "UpdateReplacePolicy": "Retain",
231
+ "DeletionPolicy": "Retain",
232
+ "Metadata": {
233
+ "cdk_nag": {
234
+ "rules_to_suppress": [
235
+ {
236
+ "reason": "no server access logs needed",
237
+ "id": "AwsSolutions-S1"
238
+ },
239
+ {
240
+ "reason": "no SSL access needed",
241
+ "id": "AwsSolutions-S10"
242
+ }
243
+ ]
244
+ }
245
+ }
246
+ },
247
+ "testRootmailEmailBucketPolicy5DA39984": {
248
+ "Type": "AWS::S3::BucketPolicy",
249
+ "Properties": {
250
+ "Bucket": {
251
+ "Ref": "testRootmailEmailBucket2A470446"
252
+ },
253
+ "PolicyDocument": {
254
+ "Statement": [
255
+ {
256
+ "Action": [
257
+ "s3:Abort*",
258
+ "s3:PutObject",
259
+ "s3:PutObjectLegalHold",
260
+ "s3:PutObjectRetention",
261
+ "s3:PutObjectTagging",
262
+ "s3:PutObjectVersionTagging"
263
+ ],
264
+ "Effect": "Allow",
265
+ "Principal": {
266
+ "Service": "ses.amazonaws.com"
267
+ },
268
+ "Resource": {
269
+ "Fn::Join": [
270
+ "",
271
+ [
272
+ {
273
+ "Fn::GetAtt": [
274
+ "testRootmailEmailBucket2A470446",
275
+ "Arn"
276
+ ]
277
+ },
278
+ "/RootMail/*"
279
+ ]
280
+ ]
281
+ }
282
+ }
283
+ ],
284
+ "Version": "2012-10-17"
285
+ }
286
+ },
287
+ "Metadata": {
288
+ "cdk_nag": {
289
+ "rules_to_suppress": [
290
+ {
291
+ "reason": "no SSL access needed",
292
+ "id": "AwsSolutions-S10"
293
+ }
294
+ ]
295
+ }
296
+ }
297
+ },
298
+ "testRootmailHostedZone6DFD3C9C": {
299
+ "Type": "AWS::Route53::HostedZone",
300
+ "Properties": {
301
+ "Name": {
302
+ "Fn::Join": [
303
+ "",
304
+ [
305
+ "c23qgsa2-",
306
+ {
307
+ "Ref": "AWS::Region"
308
+ },
309
+ ".rootmail-test.mavogel.xyz."
310
+ ]
311
+ ]
312
+ }
313
+ }
314
+ },
315
+ "testRootmailHostedZoneSSMParameter574DA41C": {
316
+ "Type": "AWS::SSM::Parameter",
317
+ "Properties": {
318
+ "Name": "/rootmail/domain_name_servers",
319
+ "Type": "StringList",
320
+ "Value": {
321
+ "Fn::Join": [
322
+ ",",
323
+ {
324
+ "Fn::GetAtt": [
325
+ "testRootmailHostedZone6DFD3C9C",
326
+ "NameServers"
327
+ ]
328
+ }
329
+ ]
330
+ }
331
+ }
332
+ },
333
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2": {
334
+ "Type": "Custom::HostedZoneDKIMAndVerificationRecords",
335
+ "Properties": {
336
+ "ServiceToken": {
337
+ "Fn::GetAtt": [
338
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEvent801E57DE",
339
+ "Arn"
340
+ ]
341
+ },
342
+ "Domain": {
343
+ "Fn::Join": [
344
+ "",
345
+ [
346
+ "c23qgsa2-",
347
+ {
348
+ "Ref": "AWS::Region"
349
+ },
350
+ ".rootmail-test.mavogel.xyz"
351
+ ]
352
+ ]
353
+ }
354
+ },
355
+ "UpdateReplacePolicy": "Delete",
356
+ "DeletionPolicy": "Delete"
357
+ },
358
+ "testRootmailHostedZoneDkimHostedZoneDKIMTokenRecord07A3BA244": {
359
+ "Type": "AWS::Route53::RecordSet",
360
+ "Properties": {
361
+ "HostedZoneId": {
362
+ "Ref": "testRootmailHostedZone6DFD3C9C"
363
+ },
364
+ "Name": {
365
+ "Fn::Join": [
366
+ "",
367
+ [
368
+ {
369
+ "Fn::Select": [
370
+ 0,
371
+ {
372
+ "Fn::GetAtt": [
373
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2",
374
+ "DkimTokens"
375
+ ]
376
+ }
377
+ ]
378
+ },
379
+ "._domainkey.c23qgsa2-",
380
+ {
381
+ "Ref": "AWS::Region"
382
+ },
383
+ ".rootmail-test.mavogel.xyz."
384
+ ]
385
+ ]
386
+ },
387
+ "ResourceRecords": [
388
+ {
389
+ "Fn::Join": [
390
+ "",
391
+ [
392
+ {
393
+ "Fn::Select": [
394
+ 0,
395
+ {
396
+ "Fn::GetAtt": [
397
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2",
398
+ "DkimTokens"
399
+ ]
400
+ }
401
+ ]
402
+ },
403
+ ".dkim.amazonses.com"
404
+ ]
405
+ ]
406
+ }
407
+ ],
408
+ "TTL": "60",
409
+ "Type": "CNAME"
410
+ }
411
+ },
412
+ "testRootmailHostedZoneDkimHostedZoneDKIMTokenRecord135221F6A": {
413
+ "Type": "AWS::Route53::RecordSet",
414
+ "Properties": {
415
+ "HostedZoneId": {
416
+ "Ref": "testRootmailHostedZone6DFD3C9C"
417
+ },
418
+ "Name": {
419
+ "Fn::Join": [
420
+ "",
421
+ [
422
+ {
423
+ "Fn::Select": [
424
+ 1,
425
+ {
426
+ "Fn::GetAtt": [
427
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2",
428
+ "DkimTokens"
429
+ ]
430
+ }
431
+ ]
432
+ },
433
+ "._domainkey.c23qgsa2-",
434
+ {
435
+ "Ref": "AWS::Region"
436
+ },
437
+ ".rootmail-test.mavogel.xyz."
438
+ ]
439
+ ]
440
+ },
441
+ "ResourceRecords": [
442
+ {
443
+ "Fn::Join": [
444
+ "",
445
+ [
446
+ {
447
+ "Fn::Select": [
448
+ 1,
449
+ {
450
+ "Fn::GetAtt": [
451
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2",
452
+ "DkimTokens"
453
+ ]
454
+ }
455
+ ]
456
+ },
457
+ ".dkim.amazonses.com"
458
+ ]
459
+ ]
460
+ }
461
+ ],
462
+ "TTL": "60",
463
+ "Type": "CNAME"
464
+ }
465
+ },
466
+ "testRootmailHostedZoneDkimHostedZoneDKIMTokenRecord2175A1558": {
467
+ "Type": "AWS::Route53::RecordSet",
468
+ "Properties": {
469
+ "HostedZoneId": {
470
+ "Ref": "testRootmailHostedZone6DFD3C9C"
471
+ },
472
+ "Name": {
473
+ "Fn::Join": [
474
+ "",
475
+ [
476
+ {
477
+ "Fn::Select": [
478
+ 2,
479
+ {
480
+ "Fn::GetAtt": [
481
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2",
482
+ "DkimTokens"
483
+ ]
484
+ }
485
+ ]
486
+ },
487
+ "._domainkey.c23qgsa2-",
488
+ {
489
+ "Ref": "AWS::Region"
490
+ },
491
+ ".rootmail-test.mavogel.xyz."
492
+ ]
493
+ ]
494
+ },
495
+ "ResourceRecords": [
496
+ {
497
+ "Fn::Join": [
498
+ "",
499
+ [
500
+ {
501
+ "Fn::Select": [
502
+ 2,
503
+ {
504
+ "Fn::GetAtt": [
505
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2",
506
+ "DkimTokens"
507
+ ]
508
+ }
509
+ ]
510
+ },
511
+ ".dkim.amazonses.com"
512
+ ]
513
+ ]
514
+ }
515
+ ],
516
+ "TTL": "60",
517
+ "Type": "CNAME"
518
+ }
519
+ },
520
+ "testRootmailHostedZoneDkimHostedZoneMXRecord4446D9D3": {
521
+ "Type": "AWS::Route53::RecordSet",
522
+ "Properties": {
523
+ "HostedZoneId": {
524
+ "Ref": "testRootmailHostedZone6DFD3C9C"
525
+ },
526
+ "Name": {
527
+ "Fn::Join": [
528
+ "",
529
+ [
530
+ "c23qgsa2-",
531
+ {
532
+ "Ref": "AWS::Region"
533
+ },
534
+ ".rootmail-test.mavogel.xyz."
535
+ ]
536
+ ]
537
+ },
538
+ "ResourceRecords": [
539
+ {
540
+ "Fn::Join": [
541
+ "",
542
+ [
543
+ "10 inbound-smtp.",
544
+ {
545
+ "Ref": "AWS::Region"
546
+ },
547
+ ".amazonaws.com"
548
+ ]
549
+ ]
550
+ }
551
+ ],
552
+ "TTL": "60",
553
+ "Type": "MX"
554
+ }
555
+ },
556
+ "testRootmailHostedZoneDkimHostedZoneVerificationTokenRecord80FAE944": {
557
+ "Type": "AWS::Route53::RecordSet",
558
+ "Properties": {
559
+ "HostedZoneId": {
560
+ "Ref": "testRootmailHostedZone6DFD3C9C"
561
+ },
562
+ "Name": {
563
+ "Fn::Join": [
564
+ "",
565
+ [
566
+ "_amazonses.c23qgsa2-",
567
+ {
568
+ "Ref": "AWS::Region"
569
+ },
570
+ ".rootmail-test.mavogel.xyz."
571
+ ]
572
+ ]
573
+ },
574
+ "ResourceRecords": [
575
+ {
576
+ "Fn::Join": [
577
+ "",
578
+ [
579
+ "\"",
580
+ {
581
+ "Fn::GetAtt": [
582
+ "testRootmailHostedZoneDkimHostedZoneDKIMAndVerificationRecords3C4650B2",
583
+ "VerificationToken"
584
+ ]
585
+ },
586
+ "\""
587
+ ]
588
+ ]
589
+ }
590
+ ],
591
+ "TTL": "60",
592
+ "Type": "TXT"
593
+ }
594
+ },
595
+ "testRootmailHostedZoneDkimRootmailAutowireDnsAutoWireR53ChangeInfoId609129D7": {
596
+ "Type": "AWS::SSM::Parameter",
597
+ "Properties": {
598
+ "Name": "/rootmail/auto_wire_r53_changeinfo_id",
599
+ "Type": "String",
600
+ "Value": "dummy"
601
+ }
602
+ },
603
+ "testRootmailHostedZoneDkimRootmailAutowireDnsE60E593E": {
604
+ "Type": "Custom::RootmailAutowireDnsProvider",
605
+ "Properties": {
606
+ "ServiceToken": {
607
+ "Fn::GetAtt": [
608
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventAA9D49B6",
609
+ "Arn"
610
+ ]
611
+ },
612
+ "Domain": "rootmail-test.mavogel.xyz",
613
+ "Subdomain": {
614
+ "Fn::Join": [
615
+ "",
616
+ [
617
+ "c23qgsa2-",
618
+ {
619
+ "Ref": "AWS::Region"
620
+ }
621
+ ]
622
+ ]
623
+ },
624
+ "ParentHostedZoneId": "Z066250529JROZU7IIY3Q",
625
+ "HostedZoneParameterName": {
626
+ "Ref": "testRootmailHostedZoneSSMParameter574DA41C"
627
+ },
628
+ "R53ChangeInfoIdParameterName": {
629
+ "Ref": "testRootmailHostedZoneDkimRootmailAutowireDnsAutoWireR53ChangeInfoId609129D7"
630
+ }
631
+ },
632
+ "UpdateReplacePolicy": "Delete",
633
+ "DeletionPolicy": "Delete"
634
+ },
635
+ "testRootmailHostedZoneDkimHostedZoneDKIMPropagation1F03F92B": {
636
+ "Type": "Custom::HostedZoneDKIMPropagation",
637
+ "Properties": {
638
+ "ServiceToken": {
639
+ "Fn::GetAtt": [
640
+ "rootmailhostedzonedkimpropagationproviderframeworkonEvent15357119",
641
+ "Arn"
642
+ ]
643
+ },
644
+ "Domain": {
645
+ "Fn::Join": [
646
+ "",
647
+ [
648
+ "c23qgsa2-",
649
+ {
650
+ "Ref": "AWS::Region"
651
+ },
652
+ ".rootmail-test.mavogel.xyz"
653
+ ]
654
+ ]
655
+ }
656
+ },
657
+ "UpdateReplacePolicy": "Delete",
658
+ "DeletionPolicy": "Delete"
659
+ },
660
+ "testRootmailSESReceiveOpsSantaFunctionRole82D7297F": {
661
+ "Type": "AWS::IAM::Role",
662
+ "Properties": {
663
+ "AssumeRolePolicyDocument": {
664
+ "Statement": [
665
+ {
666
+ "Action": "sts:AssumeRole",
667
+ "Effect": "Allow",
668
+ "Principal": {
669
+ "Service": "lambda.amazonaws.com"
670
+ }
671
+ }
672
+ ],
673
+ "Version": "2012-10-17"
674
+ },
675
+ "ManagedPolicyArns": [
676
+ {
677
+ "Fn::Join": [
678
+ "",
679
+ [
680
+ "arn:",
681
+ {
682
+ "Ref": "AWS::Partition"
683
+ },
684
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
685
+ ]
686
+ ]
687
+ }
688
+ ],
689
+ "Policies": [
690
+ {
691
+ "PolicyDocument": {
692
+ "Statement": [
693
+ {
694
+ "Action": "s3:GetObject",
695
+ "Effect": "Allow",
696
+ "Resource": {
697
+ "Fn::Join": [
698
+ "",
699
+ [
700
+ {
701
+ "Fn::GetAtt": [
702
+ "testRootmailEmailBucket2A470446",
703
+ "Arn"
704
+ ]
705
+ },
706
+ "/RootMail/*"
707
+ ]
708
+ ]
709
+ }
710
+ },
711
+ {
712
+ "Action": "ssm:CreateOpsItem",
713
+ "Effect": "Allow",
714
+ "Resource": "*"
715
+ },
716
+ {
717
+ "Action": "ssm:PutParameter",
718
+ "Effect": "Allow",
719
+ "Resource": {
720
+ "Fn::Join": [
721
+ "",
722
+ [
723
+ "arn:",
724
+ {
725
+ "Ref": "AWS::Partition"
726
+ },
727
+ ":ssm:",
728
+ {
729
+ "Ref": "AWS::Region"
730
+ },
731
+ ":",
732
+ {
733
+ "Ref": "AWS::AccountId"
734
+ },
735
+ ":parameter/rootmail/*"
736
+ ]
737
+ ]
738
+ }
739
+ }
740
+ ],
741
+ "Version": "2012-10-17"
742
+ },
743
+ "PolicyName": "OpsSantaFunctionRolePolicy"
744
+ }
745
+ ]
746
+ },
747
+ "Metadata": {
748
+ "cdk_nag": {
749
+ "rules_to_suppress": [
750
+ {
751
+ "reason": "no service role restriction needed",
752
+ "id": "AwsSolutions-IAM4"
753
+ },
754
+ {
755
+ "reason": "wildcards are ok as we allow every opsitem to be created",
756
+ "id": "AwsSolutions-IAM5"
757
+ }
758
+ ]
759
+ }
760
+ }
761
+ },
762
+ "testRootmailSESReceiveCustomSesReceiveFunctionPolicy193B75EC": {
763
+ "Type": "AWS::IAM::Policy",
764
+ "Properties": {
765
+ "PolicyDocument": {
766
+ "Statement": [
767
+ {
768
+ "Action": "s3:GetObject",
769
+ "Effect": "Allow",
770
+ "Resource": {
771
+ "Fn::Join": [
772
+ "",
773
+ [
774
+ {
775
+ "Fn::GetAtt": [
776
+ "testRootmailEmailBucket2A470446",
777
+ "Arn"
778
+ ]
779
+ },
780
+ "/RootMail/*"
781
+ ]
782
+ ]
783
+ }
784
+ }
785
+ ],
786
+ "Version": "2012-10-17"
787
+ },
788
+ "PolicyName": "testRootmailSESReceiveCustomSesReceiveFunctionPolicy193B75EC",
789
+ "Roles": [
790
+ {
791
+ "Ref": "customsesreceivefunctionServiceRole59428503"
792
+ }
793
+ ]
794
+ }
795
+ },
796
+ "testRootmailSESReceiveSESReceiptRuleSetActivation75911DB8": {
797
+ "Type": "Custom::SESReceiptRuleSetActivation",
798
+ "Properties": {
799
+ "ServiceToken": {
800
+ "Fn::GetAtt": [
801
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventC514B5CD",
802
+ "Arn"
803
+ ]
804
+ },
805
+ "Domain": "rootmail-test.mavogel.xyz",
806
+ "Subdomain": {
807
+ "Fn::Join": [
808
+ "",
809
+ [
810
+ "c23qgsa2-",
811
+ {
812
+ "Ref": "AWS::Region"
813
+ }
814
+ ]
815
+ ]
816
+ },
817
+ "EmailBucketName": {
818
+ "Ref": "testRootmailEmailBucket2A470446"
819
+ },
820
+ "OpsSantaFunctionArn": {
821
+ "Fn::GetAtt": [
822
+ "customsesreceivefunction5B1A9CD4",
823
+ "Arn"
824
+ ]
825
+ }
826
+ },
827
+ "UpdateReplacePolicy": "Delete",
828
+ "DeletionPolicy": "Delete"
829
+ },
830
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerServiceRole83E5B139": {
831
+ "Type": "AWS::IAM::Role",
832
+ "Properties": {
833
+ "AssumeRolePolicyDocument": {
834
+ "Statement": [
835
+ {
836
+ "Action": "sts:AssumeRole",
837
+ "Effect": "Allow",
838
+ "Principal": {
839
+ "Service": "lambda.amazonaws.com"
840
+ }
841
+ }
842
+ ],
843
+ "Version": "2012-10-17"
844
+ },
845
+ "ManagedPolicyArns": [
846
+ {
847
+ "Fn::Join": [
848
+ "",
849
+ [
850
+ "arn:",
851
+ {
852
+ "Ref": "AWS::Partition"
853
+ },
854
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
855
+ ]
856
+ ]
857
+ }
858
+ ]
859
+ },
860
+ "Metadata": {
861
+ "cdk_nag": {
862
+ "rules_to_suppress": [
863
+ {
864
+ "reason": "no service role restriction needed",
865
+ "id": "AwsSolutions-IAM4"
866
+ },
867
+ {
868
+ "reason": "wildcards are ok for the provider as the function has restrictions",
869
+ "id": "AwsSolutions-IAM5"
870
+ }
871
+ ]
872
+ }
873
+ }
874
+ },
875
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerServiceRoleDefaultPolicy5C0E86C8": {
876
+ "Type": "AWS::IAM::Policy",
877
+ "Properties": {
878
+ "PolicyDocument": {
879
+ "Statement": [
880
+ {
881
+ "Action": [
882
+ "ses:DeleteIdentity",
883
+ "ses:VerifyDomainDkim",
884
+ "ses:VerifyDomainIdentity"
885
+ ],
886
+ "Effect": "Allow",
887
+ "Resource": "*"
888
+ }
889
+ ],
890
+ "Version": "2012-10-17"
891
+ },
892
+ "PolicyName": "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerServiceRoleDefaultPolicy5C0E86C8",
893
+ "Roles": [
894
+ {
895
+ "Ref": "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerServiceRole83E5B139"
896
+ }
897
+ ]
898
+ },
899
+ "Metadata": {
900
+ "cdk_nag": {
901
+ "rules_to_suppress": [
902
+ {
903
+ "reason": "no service role restriction needed",
904
+ "id": "AwsSolutions-IAM4"
905
+ },
906
+ {
907
+ "reason": "wildcards are ok for the provider as the function has restrictions",
908
+ "id": "AwsSolutions-IAM5"
909
+ }
910
+ ]
911
+ }
912
+ }
913
+ },
914
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerADD3C0BE": {
915
+ "Type": "AWS::Lambda::Function",
916
+ "Properties": {
917
+ "Code": {
918
+ "S3Bucket": {
919
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
920
+ },
921
+ "S3Key": "f9b17c134d24cf60e1d26c033b5f4f247b759149619ac0aac341b950a10ccf14.zip"
922
+ },
923
+ "Environment": {
924
+ "Variables": {
925
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
926
+ }
927
+ },
928
+ "Handler": "index.handler",
929
+ "Role": {
930
+ "Fn::GetAtt": [
931
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerServiceRole83E5B139",
932
+ "Arn"
933
+ ]
934
+ },
935
+ "Runtime": "nodejs18.x",
936
+ "Timeout": 200
937
+ },
938
+ "DependsOn": [
939
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerServiceRoleDefaultPolicy5C0E86C8",
940
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerServiceRole83E5B139"
941
+ ],
942
+ "Metadata": {
943
+ "cdk_nag": {
944
+ "rules_to_suppress": [
945
+ {
946
+ "reason": "no service role restriction needed",
947
+ "id": "AwsSolutions-IAM4"
948
+ },
949
+ {
950
+ "reason": "wildcards are ok for the provider as the function has restrictions",
951
+ "id": "AwsSolutions-IAM5"
952
+ }
953
+ ]
954
+ }
955
+ }
956
+ },
957
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerLogRetentionCA165FC4": {
958
+ "Type": "Custom::LogRetention",
959
+ "Properties": {
960
+ "ServiceToken": {
961
+ "Fn::GetAtt": [
962
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
963
+ "Arn"
964
+ ]
965
+ },
966
+ "LogGroupName": {
967
+ "Fn::Join": [
968
+ "",
969
+ [
970
+ "/aws/lambda/",
971
+ {
972
+ "Ref": "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerADD3C0BE"
973
+ }
974
+ ]
975
+ ]
976
+ },
977
+ "RetentionInDays": 3
978
+ },
979
+ "Metadata": {
980
+ "cdk_nag": {
981
+ "rules_to_suppress": [
982
+ {
983
+ "reason": "no service role restriction needed",
984
+ "id": "AwsSolutions-IAM4"
985
+ },
986
+ {
987
+ "reason": "wildcards are ok for the provider as the function has restrictions",
988
+ "id": "AwsSolutions-IAM5"
989
+ }
990
+ ]
991
+ }
992
+ }
993
+ },
994
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventServiceRoleA09812EA": {
995
+ "Type": "AWS::IAM::Role",
996
+ "Properties": {
997
+ "AssumeRolePolicyDocument": {
998
+ "Statement": [
999
+ {
1000
+ "Action": "sts:AssumeRole",
1001
+ "Effect": "Allow",
1002
+ "Principal": {
1003
+ "Service": "lambda.amazonaws.com"
1004
+ }
1005
+ }
1006
+ ],
1007
+ "Version": "2012-10-17"
1008
+ },
1009
+ "ManagedPolicyArns": [
1010
+ {
1011
+ "Fn::Join": [
1012
+ "",
1013
+ [
1014
+ "arn:",
1015
+ {
1016
+ "Ref": "AWS::Partition"
1017
+ },
1018
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1019
+ ]
1020
+ ]
1021
+ }
1022
+ ]
1023
+ },
1024
+ "Metadata": {
1025
+ "cdk_nag": {
1026
+ "rules_to_suppress": [
1027
+ {
1028
+ "reason": "no service role restriction needed",
1029
+ "id": "AwsSolutions-IAM4"
1030
+ },
1031
+ {
1032
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1033
+ "id": "AwsSolutions-IAM5"
1034
+ }
1035
+ ]
1036
+ }
1037
+ }
1038
+ },
1039
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventServiceRoleDefaultPolicy2775D1BA": {
1040
+ "Type": "AWS::IAM::Policy",
1041
+ "Properties": {
1042
+ "PolicyDocument": {
1043
+ "Statement": [
1044
+ {
1045
+ "Action": "lambda:InvokeFunction",
1046
+ "Effect": "Allow",
1047
+ "Resource": [
1048
+ {
1049
+ "Fn::GetAtt": [
1050
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerADD3C0BE",
1051
+ "Arn"
1052
+ ]
1053
+ },
1054
+ {
1055
+ "Fn::Join": [
1056
+ "",
1057
+ [
1058
+ {
1059
+ "Fn::GetAtt": [
1060
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerADD3C0BE",
1061
+ "Arn"
1062
+ ]
1063
+ },
1064
+ ":*"
1065
+ ]
1066
+ ]
1067
+ }
1068
+ ]
1069
+ }
1070
+ ],
1071
+ "Version": "2012-10-17"
1072
+ },
1073
+ "PolicyName": "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventServiceRoleDefaultPolicy2775D1BA",
1074
+ "Roles": [
1075
+ {
1076
+ "Ref": "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventServiceRoleA09812EA"
1077
+ }
1078
+ ]
1079
+ },
1080
+ "Metadata": {
1081
+ "cdk_nag": {
1082
+ "rules_to_suppress": [
1083
+ {
1084
+ "reason": "no service role restriction needed",
1085
+ "id": "AwsSolutions-IAM4"
1086
+ },
1087
+ {
1088
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1089
+ "id": "AwsSolutions-IAM5"
1090
+ }
1091
+ ]
1092
+ }
1093
+ }
1094
+ },
1095
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEvent801E57DE": {
1096
+ "Type": "AWS::Lambda::Function",
1097
+ "Properties": {
1098
+ "Code": {
1099
+ "S3Bucket": {
1100
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
1101
+ },
1102
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
1103
+ },
1104
+ "Description": "AWS CDK resource provider framework - onEvent (RootmailIntegTestStack/rootmail.hosted-zone-dkim-verification-records-provider/hosted-zone-dkim-verification-records-provider)",
1105
+ "Environment": {
1106
+ "Variables": {
1107
+ "USER_ON_EVENT_FUNCTION_ARN": {
1108
+ "Fn::GetAtt": [
1109
+ "rootmailhostedzonedkimverificationrecordsprovideroneventhandlerADD3C0BE",
1110
+ "Arn"
1111
+ ]
1112
+ }
1113
+ }
1114
+ },
1115
+ "Handler": "framework.onEvent",
1116
+ "Role": {
1117
+ "Fn::GetAtt": [
1118
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventServiceRoleA09812EA",
1119
+ "Arn"
1120
+ ]
1121
+ },
1122
+ "Runtime": "nodejs18.x",
1123
+ "Timeout": 900
1124
+ },
1125
+ "DependsOn": [
1126
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventServiceRoleDefaultPolicy2775D1BA",
1127
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventServiceRoleA09812EA"
1128
+ ],
1129
+ "Metadata": {
1130
+ "cdk_nag": {
1131
+ "rules_to_suppress": [
1132
+ {
1133
+ "reason": "no service role restriction needed",
1134
+ "id": "AwsSolutions-IAM4"
1135
+ },
1136
+ {
1137
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1138
+ "id": "AwsSolutions-IAM5"
1139
+ }
1140
+ ]
1141
+ }
1142
+ }
1143
+ },
1144
+ "rootmailhostedzonedkimverificationrecordsproviderframeworkonEventLogRetention64AEF97C": {
1145
+ "Type": "Custom::LogRetention",
1146
+ "Properties": {
1147
+ "ServiceToken": {
1148
+ "Fn::GetAtt": [
1149
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
1150
+ "Arn"
1151
+ ]
1152
+ },
1153
+ "LogGroupName": {
1154
+ "Fn::Join": [
1155
+ "",
1156
+ [
1157
+ "/aws/lambda/",
1158
+ {
1159
+ "Ref": "rootmailhostedzonedkimverificationrecordsproviderframeworkonEvent801E57DE"
1160
+ }
1161
+ ]
1162
+ ]
1163
+ },
1164
+ "RetentionInDays": 3
1165
+ },
1166
+ "Metadata": {
1167
+ "cdk_nag": {
1168
+ "rules_to_suppress": [
1169
+ {
1170
+ "reason": "no service role restriction needed",
1171
+ "id": "AwsSolutions-IAM4"
1172
+ },
1173
+ {
1174
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1175
+ "id": "AwsSolutions-IAM5"
1176
+ }
1177
+ ]
1178
+ }
1179
+ }
1180
+ },
1181
+ "rootmailautowirednsprovideriscompletehandlerServiceRole35CABB06": {
1182
+ "Type": "AWS::IAM::Role",
1183
+ "Properties": {
1184
+ "AssumeRolePolicyDocument": {
1185
+ "Statement": [
1186
+ {
1187
+ "Action": "sts:AssumeRole",
1188
+ "Effect": "Allow",
1189
+ "Principal": {
1190
+ "Service": "lambda.amazonaws.com"
1191
+ }
1192
+ }
1193
+ ],
1194
+ "Version": "2012-10-17"
1195
+ },
1196
+ "ManagedPolicyArns": [
1197
+ {
1198
+ "Fn::Join": [
1199
+ "",
1200
+ [
1201
+ "arn:",
1202
+ {
1203
+ "Ref": "AWS::Partition"
1204
+ },
1205
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1206
+ ]
1207
+ ]
1208
+ }
1209
+ ]
1210
+ },
1211
+ "Metadata": {
1212
+ "cdk_nag": {
1213
+ "rules_to_suppress": [
1214
+ {
1215
+ "reason": "no service role restriction needed",
1216
+ "id": "AwsSolutions-IAM4"
1217
+ },
1218
+ {
1219
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1220
+ "id": "AwsSolutions-IAM5"
1221
+ }
1222
+ ]
1223
+ }
1224
+ }
1225
+ },
1226
+ "rootmailautowirednsprovideriscompletehandlerServiceRoleDefaultPolicy7DA8ECD2": {
1227
+ "Type": "AWS::IAM::Policy",
1228
+ "Properties": {
1229
+ "PolicyDocument": {
1230
+ "Statement": [
1231
+ {
1232
+ "Action": [
1233
+ "route53:GetChange",
1234
+ "route53:ListHostedZonesByName"
1235
+ ],
1236
+ "Effect": "Allow",
1237
+ "Resource": "*"
1238
+ },
1239
+ {
1240
+ "Action": [
1241
+ "ssm:DescribeParameters",
1242
+ "ssm:GetParameter",
1243
+ "ssm:GetParameterHistory",
1244
+ "ssm:GetParameters"
1245
+ ],
1246
+ "Effect": "Allow",
1247
+ "Resource": {
1248
+ "Fn::Join": [
1249
+ "",
1250
+ [
1251
+ "arn:",
1252
+ {
1253
+ "Ref": "AWS::Partition"
1254
+ },
1255
+ ":ssm:",
1256
+ {
1257
+ "Ref": "AWS::Region"
1258
+ },
1259
+ ":",
1260
+ {
1261
+ "Ref": "AWS::AccountId"
1262
+ },
1263
+ ":parameter",
1264
+ {
1265
+ "Ref": "testRootmailHostedZoneDkimRootmailAutowireDnsAutoWireR53ChangeInfoId609129D7"
1266
+ }
1267
+ ]
1268
+ ]
1269
+ }
1270
+ }
1271
+ ],
1272
+ "Version": "2012-10-17"
1273
+ },
1274
+ "PolicyName": "rootmailautowirednsprovideriscompletehandlerServiceRoleDefaultPolicy7DA8ECD2",
1275
+ "Roles": [
1276
+ {
1277
+ "Ref": "rootmailautowirednsprovideriscompletehandlerServiceRole35CABB06"
1278
+ }
1279
+ ]
1280
+ },
1281
+ "Metadata": {
1282
+ "cdk_nag": {
1283
+ "rules_to_suppress": [
1284
+ {
1285
+ "reason": "no service role restriction needed",
1286
+ "id": "AwsSolutions-IAM4"
1287
+ },
1288
+ {
1289
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1290
+ "id": "AwsSolutions-IAM5"
1291
+ }
1292
+ ]
1293
+ }
1294
+ }
1295
+ },
1296
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5": {
1297
+ "Type": "AWS::Lambda::Function",
1298
+ "Properties": {
1299
+ "Code": {
1300
+ "S3Bucket": {
1301
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
1302
+ },
1303
+ "S3Key": "157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60.zip"
1304
+ },
1305
+ "Environment": {
1306
+ "Variables": {
1307
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
1308
+ }
1309
+ },
1310
+ "Handler": "index.handler",
1311
+ "Role": {
1312
+ "Fn::GetAtt": [
1313
+ "rootmailautowirednsprovideriscompletehandlerServiceRole35CABB06",
1314
+ "Arn"
1315
+ ]
1316
+ },
1317
+ "Runtime": "nodejs18.x",
1318
+ "Timeout": 120
1319
+ },
1320
+ "DependsOn": [
1321
+ "rootmailautowirednsprovideriscompletehandlerServiceRoleDefaultPolicy7DA8ECD2",
1322
+ "rootmailautowirednsprovideriscompletehandlerServiceRole35CABB06"
1323
+ ],
1324
+ "Metadata": {
1325
+ "cdk_nag": {
1326
+ "rules_to_suppress": [
1327
+ {
1328
+ "reason": "no service role restriction needed",
1329
+ "id": "AwsSolutions-IAM4"
1330
+ },
1331
+ {
1332
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1333
+ "id": "AwsSolutions-IAM5"
1334
+ }
1335
+ ]
1336
+ }
1337
+ }
1338
+ },
1339
+ "rootmailautowirednsprovideriscompletehandlerLogRetention304C1822": {
1340
+ "Type": "Custom::LogRetention",
1341
+ "Properties": {
1342
+ "ServiceToken": {
1343
+ "Fn::GetAtt": [
1344
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
1345
+ "Arn"
1346
+ ]
1347
+ },
1348
+ "LogGroupName": {
1349
+ "Fn::Join": [
1350
+ "",
1351
+ [
1352
+ "/aws/lambda/",
1353
+ {
1354
+ "Ref": "rootmailautowirednsprovideriscompletehandlerBFD3F7F5"
1355
+ }
1356
+ ]
1357
+ ]
1358
+ },
1359
+ "RetentionInDays": 3
1360
+ },
1361
+ "Metadata": {
1362
+ "cdk_nag": {
1363
+ "rules_to_suppress": [
1364
+ {
1365
+ "reason": "no service role restriction needed",
1366
+ "id": "AwsSolutions-IAM4"
1367
+ },
1368
+ {
1369
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1370
+ "id": "AwsSolutions-IAM5"
1371
+ }
1372
+ ]
1373
+ }
1374
+ }
1375
+ },
1376
+ "rootmailautowirednsprovideroneventhandlerServiceRole6D9F81B0": {
1377
+ "Type": "AWS::IAM::Role",
1378
+ "Properties": {
1379
+ "AssumeRolePolicyDocument": {
1380
+ "Statement": [
1381
+ {
1382
+ "Action": "sts:AssumeRole",
1383
+ "Effect": "Allow",
1384
+ "Principal": {
1385
+ "Service": "lambda.amazonaws.com"
1386
+ }
1387
+ }
1388
+ ],
1389
+ "Version": "2012-10-17"
1390
+ },
1391
+ "ManagedPolicyArns": [
1392
+ {
1393
+ "Fn::Join": [
1394
+ "",
1395
+ [
1396
+ "arn:",
1397
+ {
1398
+ "Ref": "AWS::Partition"
1399
+ },
1400
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1401
+ ]
1402
+ ]
1403
+ }
1404
+ ]
1405
+ }
1406
+ },
1407
+ "rootmailautowirednsprovideroneventhandlerServiceRoleDefaultPolicy4A5BBAB1": {
1408
+ "Type": "AWS::IAM::Policy",
1409
+ "Properties": {
1410
+ "PolicyDocument": {
1411
+ "Statement": [
1412
+ {
1413
+ "Action": [
1414
+ "ssm:DescribeParameters",
1415
+ "ssm:GetParameter",
1416
+ "ssm:GetParameterHistory",
1417
+ "ssm:GetParameters"
1418
+ ],
1419
+ "Effect": "Allow",
1420
+ "Resource": {
1421
+ "Fn::Join": [
1422
+ "",
1423
+ [
1424
+ "arn:",
1425
+ {
1426
+ "Ref": "AWS::Partition"
1427
+ },
1428
+ ":ssm:",
1429
+ {
1430
+ "Ref": "AWS::Region"
1431
+ },
1432
+ ":",
1433
+ {
1434
+ "Ref": "AWS::AccountId"
1435
+ },
1436
+ ":parameter",
1437
+ {
1438
+ "Ref": "testRootmailHostedZoneSSMParameter574DA41C"
1439
+ }
1440
+ ]
1441
+ ]
1442
+ }
1443
+ },
1444
+ {
1445
+ "Action": "ssm:PutParameter",
1446
+ "Effect": "Allow",
1447
+ "Resource": {
1448
+ "Fn::Join": [
1449
+ "",
1450
+ [
1451
+ "arn:",
1452
+ {
1453
+ "Ref": "AWS::Partition"
1454
+ },
1455
+ ":ssm:",
1456
+ {
1457
+ "Ref": "AWS::Region"
1458
+ },
1459
+ ":",
1460
+ {
1461
+ "Ref": "AWS::AccountId"
1462
+ },
1463
+ ":parameter",
1464
+ {
1465
+ "Ref": "testRootmailHostedZoneDkimRootmailAutowireDnsAutoWireR53ChangeInfoId609129D7"
1466
+ }
1467
+ ]
1468
+ ]
1469
+ }
1470
+ },
1471
+ {
1472
+ "Action": [
1473
+ "route53:GetChange",
1474
+ "route53:ListHostedZonesByName"
1475
+ ],
1476
+ "Effect": "Allow",
1477
+ "Resource": "*"
1478
+ },
1479
+ {
1480
+ "Action": [
1481
+ "route53:ChangeResourceRecordSets",
1482
+ "route53:ListResourceRecordSets"
1483
+ ],
1484
+ "Effect": "Allow",
1485
+ "Resource": "arn:aws:route53:::hostedzone/Z066250529JROZU7IIY3Q"
1486
+ }
1487
+ ],
1488
+ "Version": "2012-10-17"
1489
+ },
1490
+ "PolicyName": "rootmailautowirednsprovideroneventhandlerServiceRoleDefaultPolicy4A5BBAB1",
1491
+ "Roles": [
1492
+ {
1493
+ "Ref": "rootmailautowirednsprovideroneventhandlerServiceRole6D9F81B0"
1494
+ }
1495
+ ]
1496
+ }
1497
+ },
1498
+ "rootmailautowirednsprovideroneventhandler2ADE543F": {
1499
+ "Type": "AWS::Lambda::Function",
1500
+ "Properties": {
1501
+ "Code": {
1502
+ "S3Bucket": {
1503
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
1504
+ },
1505
+ "S3Key": "4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196.zip"
1506
+ },
1507
+ "Environment": {
1508
+ "Variables": {
1509
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
1510
+ }
1511
+ },
1512
+ "Handler": "index.handler",
1513
+ "Role": {
1514
+ "Fn::GetAtt": [
1515
+ "rootmailautowirednsprovideroneventhandlerServiceRole6D9F81B0",
1516
+ "Arn"
1517
+ ]
1518
+ },
1519
+ "Runtime": "nodejs18.x",
1520
+ "Timeout": 160
1521
+ },
1522
+ "DependsOn": [
1523
+ "rootmailautowirednsprovideroneventhandlerServiceRoleDefaultPolicy4A5BBAB1",
1524
+ "rootmailautowirednsprovideroneventhandlerServiceRole6D9F81B0"
1525
+ ]
1526
+ },
1527
+ "rootmailautowirednsprovideroneventhandlerLogRetentionA4DB1AD5": {
1528
+ "Type": "Custom::LogRetention",
1529
+ "Properties": {
1530
+ "ServiceToken": {
1531
+ "Fn::GetAtt": [
1532
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
1533
+ "Arn"
1534
+ ]
1535
+ },
1536
+ "LogGroupName": {
1537
+ "Fn::Join": [
1538
+ "",
1539
+ [
1540
+ "/aws/lambda/",
1541
+ {
1542
+ "Ref": "rootmailautowirednsprovideroneventhandler2ADE543F"
1543
+ }
1544
+ ]
1545
+ ]
1546
+ },
1547
+ "RetentionInDays": 3
1548
+ }
1549
+ },
1550
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventServiceRoleECC96780": {
1551
+ "Type": "AWS::IAM::Role",
1552
+ "Properties": {
1553
+ "AssumeRolePolicyDocument": {
1554
+ "Statement": [
1555
+ {
1556
+ "Action": "sts:AssumeRole",
1557
+ "Effect": "Allow",
1558
+ "Principal": {
1559
+ "Service": "lambda.amazonaws.com"
1560
+ }
1561
+ }
1562
+ ],
1563
+ "Version": "2012-10-17"
1564
+ },
1565
+ "ManagedPolicyArns": [
1566
+ {
1567
+ "Fn::Join": [
1568
+ "",
1569
+ [
1570
+ "arn:",
1571
+ {
1572
+ "Ref": "AWS::Partition"
1573
+ },
1574
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1575
+ ]
1576
+ ]
1577
+ }
1578
+ ]
1579
+ },
1580
+ "Metadata": {
1581
+ "cdk_nag": {
1582
+ "rules_to_suppress": [
1583
+ {
1584
+ "reason": "no service role restriction needed",
1585
+ "id": "AwsSolutions-IAM4"
1586
+ },
1587
+ {
1588
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1589
+ "id": "AwsSolutions-IAM5"
1590
+ }
1591
+ ]
1592
+ }
1593
+ }
1594
+ },
1595
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventServiceRoleDefaultPolicy16D799D5": {
1596
+ "Type": "AWS::IAM::Policy",
1597
+ "Properties": {
1598
+ "PolicyDocument": {
1599
+ "Statement": [
1600
+ {
1601
+ "Action": "lambda:InvokeFunction",
1602
+ "Effect": "Allow",
1603
+ "Resource": [
1604
+ {
1605
+ "Fn::GetAtt": [
1606
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1607
+ "Arn"
1608
+ ]
1609
+ },
1610
+ {
1611
+ "Fn::GetAtt": [
1612
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1613
+ "Arn"
1614
+ ]
1615
+ },
1616
+ {
1617
+ "Fn::Join": [
1618
+ "",
1619
+ [
1620
+ {
1621
+ "Fn::GetAtt": [
1622
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1623
+ "Arn"
1624
+ ]
1625
+ },
1626
+ ":*"
1627
+ ]
1628
+ ]
1629
+ },
1630
+ {
1631
+ "Fn::Join": [
1632
+ "",
1633
+ [
1634
+ {
1635
+ "Fn::GetAtt": [
1636
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1637
+ "Arn"
1638
+ ]
1639
+ },
1640
+ ":*"
1641
+ ]
1642
+ ]
1643
+ }
1644
+ ]
1645
+ },
1646
+ {
1647
+ "Action": "states:StartExecution",
1648
+ "Effect": "Allow",
1649
+ "Resource": {
1650
+ "Ref": "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachine81102355"
1651
+ }
1652
+ }
1653
+ ],
1654
+ "Version": "2012-10-17"
1655
+ },
1656
+ "PolicyName": "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventServiceRoleDefaultPolicy16D799D5",
1657
+ "Roles": [
1658
+ {
1659
+ "Ref": "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventServiceRoleECC96780"
1660
+ }
1661
+ ]
1662
+ },
1663
+ "Metadata": {
1664
+ "cdk_nag": {
1665
+ "rules_to_suppress": [
1666
+ {
1667
+ "reason": "no service role restriction needed",
1668
+ "id": "AwsSolutions-IAM4"
1669
+ },
1670
+ {
1671
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1672
+ "id": "AwsSolutions-IAM5"
1673
+ }
1674
+ ]
1675
+ }
1676
+ }
1677
+ },
1678
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventAA9D49B6": {
1679
+ "Type": "AWS::Lambda::Function",
1680
+ "Properties": {
1681
+ "Code": {
1682
+ "S3Bucket": {
1683
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
1684
+ },
1685
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
1686
+ },
1687
+ "Description": "AWS CDK resource provider framework - onEvent (RootmailIntegTestStack/rootmail.autowire-dns-provider/rootmail-autowire-dns-provider)",
1688
+ "Environment": {
1689
+ "Variables": {
1690
+ "USER_ON_EVENT_FUNCTION_ARN": {
1691
+ "Fn::GetAtt": [
1692
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1693
+ "Arn"
1694
+ ]
1695
+ },
1696
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
1697
+ "Fn::GetAtt": [
1698
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1699
+ "Arn"
1700
+ ]
1701
+ },
1702
+ "WAITER_STATE_MACHINE_ARN": {
1703
+ "Ref": "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachine81102355"
1704
+ }
1705
+ }
1706
+ },
1707
+ "Handler": "framework.onEvent",
1708
+ "Role": {
1709
+ "Fn::GetAtt": [
1710
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventServiceRoleECC96780",
1711
+ "Arn"
1712
+ ]
1713
+ },
1714
+ "Runtime": "nodejs18.x",
1715
+ "Timeout": 900
1716
+ },
1717
+ "DependsOn": [
1718
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventServiceRoleDefaultPolicy16D799D5",
1719
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonEventServiceRoleECC96780"
1720
+ ],
1721
+ "Metadata": {
1722
+ "cdk_nag": {
1723
+ "rules_to_suppress": [
1724
+ {
1725
+ "reason": "no service role restriction needed",
1726
+ "id": "AwsSolutions-IAM4"
1727
+ },
1728
+ {
1729
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1730
+ "id": "AwsSolutions-IAM5"
1731
+ }
1732
+ ]
1733
+ }
1734
+ }
1735
+ },
1736
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteServiceRoleD15A96AC": {
1737
+ "Type": "AWS::IAM::Role",
1738
+ "Properties": {
1739
+ "AssumeRolePolicyDocument": {
1740
+ "Statement": [
1741
+ {
1742
+ "Action": "sts:AssumeRole",
1743
+ "Effect": "Allow",
1744
+ "Principal": {
1745
+ "Service": "lambda.amazonaws.com"
1746
+ }
1747
+ }
1748
+ ],
1749
+ "Version": "2012-10-17"
1750
+ },
1751
+ "ManagedPolicyArns": [
1752
+ {
1753
+ "Fn::Join": [
1754
+ "",
1755
+ [
1756
+ "arn:",
1757
+ {
1758
+ "Ref": "AWS::Partition"
1759
+ },
1760
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1761
+ ]
1762
+ ]
1763
+ }
1764
+ ]
1765
+ },
1766
+ "Metadata": {
1767
+ "cdk_nag": {
1768
+ "rules_to_suppress": [
1769
+ {
1770
+ "reason": "no service role restriction needed",
1771
+ "id": "AwsSolutions-IAM4"
1772
+ },
1773
+ {
1774
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1775
+ "id": "AwsSolutions-IAM5"
1776
+ }
1777
+ ]
1778
+ }
1779
+ }
1780
+ },
1781
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteServiceRoleDefaultPolicy5728F288": {
1782
+ "Type": "AWS::IAM::Policy",
1783
+ "Properties": {
1784
+ "PolicyDocument": {
1785
+ "Statement": [
1786
+ {
1787
+ "Action": "lambda:InvokeFunction",
1788
+ "Effect": "Allow",
1789
+ "Resource": [
1790
+ {
1791
+ "Fn::GetAtt": [
1792
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1793
+ "Arn"
1794
+ ]
1795
+ },
1796
+ {
1797
+ "Fn::GetAtt": [
1798
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1799
+ "Arn"
1800
+ ]
1801
+ },
1802
+ {
1803
+ "Fn::Join": [
1804
+ "",
1805
+ [
1806
+ {
1807
+ "Fn::GetAtt": [
1808
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1809
+ "Arn"
1810
+ ]
1811
+ },
1812
+ ":*"
1813
+ ]
1814
+ ]
1815
+ },
1816
+ {
1817
+ "Fn::Join": [
1818
+ "",
1819
+ [
1820
+ {
1821
+ "Fn::GetAtt": [
1822
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1823
+ "Arn"
1824
+ ]
1825
+ },
1826
+ ":*"
1827
+ ]
1828
+ ]
1829
+ }
1830
+ ]
1831
+ }
1832
+ ],
1833
+ "Version": "2012-10-17"
1834
+ },
1835
+ "PolicyName": "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteServiceRoleDefaultPolicy5728F288",
1836
+ "Roles": [
1837
+ {
1838
+ "Ref": "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteServiceRoleD15A96AC"
1839
+ }
1840
+ ]
1841
+ },
1842
+ "Metadata": {
1843
+ "cdk_nag": {
1844
+ "rules_to_suppress": [
1845
+ {
1846
+ "reason": "no service role restriction needed",
1847
+ "id": "AwsSolutions-IAM4"
1848
+ },
1849
+ {
1850
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1851
+ "id": "AwsSolutions-IAM5"
1852
+ }
1853
+ ]
1854
+ }
1855
+ }
1856
+ },
1857
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteC48DABD2": {
1858
+ "Type": "AWS::Lambda::Function",
1859
+ "Properties": {
1860
+ "Code": {
1861
+ "S3Bucket": {
1862
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
1863
+ },
1864
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
1865
+ },
1866
+ "Description": "AWS CDK resource provider framework - isComplete (RootmailIntegTestStack/rootmail.autowire-dns-provider/rootmail-autowire-dns-provider)",
1867
+ "Environment": {
1868
+ "Variables": {
1869
+ "USER_ON_EVENT_FUNCTION_ARN": {
1870
+ "Fn::GetAtt": [
1871
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1872
+ "Arn"
1873
+ ]
1874
+ },
1875
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
1876
+ "Fn::GetAtt": [
1877
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1878
+ "Arn"
1879
+ ]
1880
+ }
1881
+ }
1882
+ },
1883
+ "Handler": "framework.isComplete",
1884
+ "Role": {
1885
+ "Fn::GetAtt": [
1886
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteServiceRoleD15A96AC",
1887
+ "Arn"
1888
+ ]
1889
+ },
1890
+ "Runtime": "nodejs18.x",
1891
+ "Timeout": 900
1892
+ },
1893
+ "DependsOn": [
1894
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteServiceRoleDefaultPolicy5728F288",
1895
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteServiceRoleD15A96AC"
1896
+ ],
1897
+ "Metadata": {
1898
+ "cdk_nag": {
1899
+ "rules_to_suppress": [
1900
+ {
1901
+ "reason": "no service role restriction needed",
1902
+ "id": "AwsSolutions-IAM4"
1903
+ },
1904
+ {
1905
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1906
+ "id": "AwsSolutions-IAM5"
1907
+ }
1908
+ ]
1909
+ }
1910
+ }
1911
+ },
1912
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutServiceRole4383D224": {
1913
+ "Type": "AWS::IAM::Role",
1914
+ "Properties": {
1915
+ "AssumeRolePolicyDocument": {
1916
+ "Statement": [
1917
+ {
1918
+ "Action": "sts:AssumeRole",
1919
+ "Effect": "Allow",
1920
+ "Principal": {
1921
+ "Service": "lambda.amazonaws.com"
1922
+ }
1923
+ }
1924
+ ],
1925
+ "Version": "2012-10-17"
1926
+ },
1927
+ "ManagedPolicyArns": [
1928
+ {
1929
+ "Fn::Join": [
1930
+ "",
1931
+ [
1932
+ "arn:",
1933
+ {
1934
+ "Ref": "AWS::Partition"
1935
+ },
1936
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1937
+ ]
1938
+ ]
1939
+ }
1940
+ ]
1941
+ },
1942
+ "Metadata": {
1943
+ "cdk_nag": {
1944
+ "rules_to_suppress": [
1945
+ {
1946
+ "reason": "no service role restriction needed",
1947
+ "id": "AwsSolutions-IAM4"
1948
+ },
1949
+ {
1950
+ "reason": "wildcards are ok for the provider as the function has restrictions",
1951
+ "id": "AwsSolutions-IAM5"
1952
+ }
1953
+ ]
1954
+ }
1955
+ }
1956
+ },
1957
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutServiceRoleDefaultPolicy53D3B624": {
1958
+ "Type": "AWS::IAM::Policy",
1959
+ "Properties": {
1960
+ "PolicyDocument": {
1961
+ "Statement": [
1962
+ {
1963
+ "Action": "lambda:InvokeFunction",
1964
+ "Effect": "Allow",
1965
+ "Resource": [
1966
+ {
1967
+ "Fn::GetAtt": [
1968
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1969
+ "Arn"
1970
+ ]
1971
+ },
1972
+ {
1973
+ "Fn::GetAtt": [
1974
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1975
+ "Arn"
1976
+ ]
1977
+ },
1978
+ {
1979
+ "Fn::Join": [
1980
+ "",
1981
+ [
1982
+ {
1983
+ "Fn::GetAtt": [
1984
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
1985
+ "Arn"
1986
+ ]
1987
+ },
1988
+ ":*"
1989
+ ]
1990
+ ]
1991
+ },
1992
+ {
1993
+ "Fn::Join": [
1994
+ "",
1995
+ [
1996
+ {
1997
+ "Fn::GetAtt": [
1998
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
1999
+ "Arn"
2000
+ ]
2001
+ },
2002
+ ":*"
2003
+ ]
2004
+ ]
2005
+ }
2006
+ ]
2007
+ }
2008
+ ],
2009
+ "Version": "2012-10-17"
2010
+ },
2011
+ "PolicyName": "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutServiceRoleDefaultPolicy53D3B624",
2012
+ "Roles": [
2013
+ {
2014
+ "Ref": "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutServiceRole4383D224"
2015
+ }
2016
+ ]
2017
+ },
2018
+ "Metadata": {
2019
+ "cdk_nag": {
2020
+ "rules_to_suppress": [
2021
+ {
2022
+ "reason": "no service role restriction needed",
2023
+ "id": "AwsSolutions-IAM4"
2024
+ },
2025
+ {
2026
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2027
+ "id": "AwsSolutions-IAM5"
2028
+ }
2029
+ ]
2030
+ }
2031
+ }
2032
+ },
2033
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutC714B95F": {
2034
+ "Type": "AWS::Lambda::Function",
2035
+ "Properties": {
2036
+ "Code": {
2037
+ "S3Bucket": {
2038
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2039
+ },
2040
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
2041
+ },
2042
+ "Description": "AWS CDK resource provider framework - onTimeout (RootmailIntegTestStack/rootmail.autowire-dns-provider/rootmail-autowire-dns-provider)",
2043
+ "Environment": {
2044
+ "Variables": {
2045
+ "USER_ON_EVENT_FUNCTION_ARN": {
2046
+ "Fn::GetAtt": [
2047
+ "rootmailautowirednsprovideroneventhandler2ADE543F",
2048
+ "Arn"
2049
+ ]
2050
+ },
2051
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
2052
+ "Fn::GetAtt": [
2053
+ "rootmailautowirednsprovideriscompletehandlerBFD3F7F5",
2054
+ "Arn"
2055
+ ]
2056
+ }
2057
+ }
2058
+ },
2059
+ "Handler": "framework.onTimeout",
2060
+ "Role": {
2061
+ "Fn::GetAtt": [
2062
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutServiceRole4383D224",
2063
+ "Arn"
2064
+ ]
2065
+ },
2066
+ "Runtime": "nodejs18.x",
2067
+ "Timeout": 900
2068
+ },
2069
+ "DependsOn": [
2070
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutServiceRoleDefaultPolicy53D3B624",
2071
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutServiceRole4383D224"
2072
+ ],
2073
+ "Metadata": {
2074
+ "cdk_nag": {
2075
+ "rules_to_suppress": [
2076
+ {
2077
+ "reason": "no service role restriction needed",
2078
+ "id": "AwsSolutions-IAM4"
2079
+ },
2080
+ {
2081
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2082
+ "id": "AwsSolutions-IAM5"
2083
+ }
2084
+ ]
2085
+ }
2086
+ }
2087
+ },
2088
+ "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachineRole258A7061": {
2089
+ "Type": "AWS::IAM::Role",
2090
+ "Properties": {
2091
+ "AssumeRolePolicyDocument": {
2092
+ "Statement": [
2093
+ {
2094
+ "Action": "sts:AssumeRole",
2095
+ "Effect": "Allow",
2096
+ "Principal": {
2097
+ "Service": "states.amazonaws.com"
2098
+ }
2099
+ }
2100
+ ],
2101
+ "Version": "2012-10-17"
2102
+ }
2103
+ },
2104
+ "Metadata": {
2105
+ "cdk_nag": {
2106
+ "rules_to_suppress": [
2107
+ {
2108
+ "reason": "no service role restriction needed",
2109
+ "id": "AwsSolutions-IAM4"
2110
+ },
2111
+ {
2112
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2113
+ "id": "AwsSolutions-IAM5"
2114
+ }
2115
+ ]
2116
+ }
2117
+ }
2118
+ },
2119
+ "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachineRoleDefaultPolicy310226B4": {
2120
+ "Type": "AWS::IAM::Policy",
2121
+ "Properties": {
2122
+ "PolicyDocument": {
2123
+ "Statement": [
2124
+ {
2125
+ "Action": "lambda:InvokeFunction",
2126
+ "Effect": "Allow",
2127
+ "Resource": [
2128
+ {
2129
+ "Fn::GetAtt": [
2130
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteC48DABD2",
2131
+ "Arn"
2132
+ ]
2133
+ },
2134
+ {
2135
+ "Fn::GetAtt": [
2136
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutC714B95F",
2137
+ "Arn"
2138
+ ]
2139
+ },
2140
+ {
2141
+ "Fn::Join": [
2142
+ "",
2143
+ [
2144
+ {
2145
+ "Fn::GetAtt": [
2146
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteC48DABD2",
2147
+ "Arn"
2148
+ ]
2149
+ },
2150
+ ":*"
2151
+ ]
2152
+ ]
2153
+ },
2154
+ {
2155
+ "Fn::Join": [
2156
+ "",
2157
+ [
2158
+ {
2159
+ "Fn::GetAtt": [
2160
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutC714B95F",
2161
+ "Arn"
2162
+ ]
2163
+ },
2164
+ ":*"
2165
+ ]
2166
+ ]
2167
+ }
2168
+ ]
2169
+ }
2170
+ ],
2171
+ "Version": "2012-10-17"
2172
+ },
2173
+ "PolicyName": "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachineRoleDefaultPolicy310226B4",
2174
+ "Roles": [
2175
+ {
2176
+ "Ref": "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachineRole258A7061"
2177
+ }
2178
+ ]
2179
+ },
2180
+ "Metadata": {
2181
+ "cdk_nag": {
2182
+ "rules_to_suppress": [
2183
+ {
2184
+ "reason": "no service role restriction needed",
2185
+ "id": "AwsSolutions-IAM4"
2186
+ },
2187
+ {
2188
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2189
+ "id": "AwsSolutions-IAM5"
2190
+ }
2191
+ ]
2192
+ }
2193
+ }
2194
+ },
2195
+ "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachine81102355": {
2196
+ "Type": "AWS::StepFunctions::StateMachine",
2197
+ "Properties": {
2198
+ "DefinitionString": {
2199
+ "Fn::Join": [
2200
+ "",
2201
+ [
2202
+ "{\"StartAt\":\"framework-isComplete-task\",\"States\":{\"framework-isComplete-task\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"States.ALL\"],\"IntervalSeconds\":5,\"MaxAttempts\":1440,\"BackoffRate\":1}],\"Catch\":[{\"ErrorEquals\":[\"States.ALL\"],\"Next\":\"framework-onTimeout-task\"}],\"Type\":\"Task\",\"Resource\":\"",
2203
+ {
2204
+ "Fn::GetAtt": [
2205
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkisCompleteC48DABD2",
2206
+ "Arn"
2207
+ ]
2208
+ },
2209
+ "\"},\"framework-onTimeout-task\":{\"End\":true,\"Type\":\"Task\",\"Resource\":\"",
2210
+ {
2211
+ "Fn::GetAtt": [
2212
+ "rootmailautowirednsproviderrootmailautowirednsproviderframeworkonTimeoutC714B95F",
2213
+ "Arn"
2214
+ ]
2215
+ },
2216
+ "\"}}}"
2217
+ ]
2218
+ ]
2219
+ },
2220
+ "RoleArn": {
2221
+ "Fn::GetAtt": [
2222
+ "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachineRole258A7061",
2223
+ "Arn"
2224
+ ]
2225
+ }
2226
+ },
2227
+ "DependsOn": [
2228
+ "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachineRoleDefaultPolicy310226B4",
2229
+ "rootmailautowirednsproviderrootmailautowirednsproviderwaiterstatemachineRole258A7061"
2230
+ ],
2231
+ "Metadata": {
2232
+ "cdk_nag": {
2233
+ "rules_to_suppress": [
2234
+ {
2235
+ "reason": "no service role restriction needed",
2236
+ "id": "AwsSolutions-IAM4"
2237
+ },
2238
+ {
2239
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2240
+ "id": "AwsSolutions-IAM5"
2241
+ }
2242
+ ]
2243
+ }
2244
+ }
2245
+ },
2246
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerServiceRoleDFD2C35E": {
2247
+ "Type": "AWS::IAM::Role",
2248
+ "Properties": {
2249
+ "AssumeRolePolicyDocument": {
2250
+ "Statement": [
2251
+ {
2252
+ "Action": "sts:AssumeRole",
2253
+ "Effect": "Allow",
2254
+ "Principal": {
2255
+ "Service": "lambda.amazonaws.com"
2256
+ }
2257
+ }
2258
+ ],
2259
+ "Version": "2012-10-17"
2260
+ },
2261
+ "ManagedPolicyArns": [
2262
+ {
2263
+ "Fn::Join": [
2264
+ "",
2265
+ [
2266
+ "arn:",
2267
+ {
2268
+ "Ref": "AWS::Partition"
2269
+ },
2270
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2271
+ ]
2272
+ ]
2273
+ }
2274
+ ]
2275
+ },
2276
+ "Metadata": {
2277
+ "cdk_nag": {
2278
+ "rules_to_suppress": [
2279
+ {
2280
+ "reason": "no service role restriction needed",
2281
+ "id": "AwsSolutions-IAM4"
2282
+ },
2283
+ {
2284
+ "reason": "wildcards are ok for the ses mail verification",
2285
+ "id": "AwsSolutions-IAM5"
2286
+ }
2287
+ ]
2288
+ }
2289
+ }
2290
+ },
2291
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerServiceRoleDefaultPolicy57D46916": {
2292
+ "Type": "AWS::IAM::Policy",
2293
+ "Properties": {
2294
+ "PolicyDocument": {
2295
+ "Statement": [
2296
+ {
2297
+ "Action": [
2298
+ "ses:GetAccountSendingEnabled",
2299
+ "ses:GetIdentityDkimAttributes",
2300
+ "ses:GetIdentityNotificationAttributes",
2301
+ "ses:GetIdentityVerificationAttributes"
2302
+ ],
2303
+ "Effect": "Allow",
2304
+ "Resource": "*"
2305
+ }
2306
+ ],
2307
+ "Version": "2012-10-17"
2308
+ },
2309
+ "PolicyName": "rootmailhostedzonedkimpropagationprovideriscompletehandlerServiceRoleDefaultPolicy57D46916",
2310
+ "Roles": [
2311
+ {
2312
+ "Ref": "rootmailhostedzonedkimpropagationprovideriscompletehandlerServiceRoleDFD2C35E"
2313
+ }
2314
+ ]
2315
+ },
2316
+ "Metadata": {
2317
+ "cdk_nag": {
2318
+ "rules_to_suppress": [
2319
+ {
2320
+ "reason": "no service role restriction needed",
2321
+ "id": "AwsSolutions-IAM4"
2322
+ },
2323
+ {
2324
+ "reason": "wildcards are ok for the ses mail verification",
2325
+ "id": "AwsSolutions-IAM5"
2326
+ }
2327
+ ]
2328
+ }
2329
+ }
2330
+ },
2331
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91": {
2332
+ "Type": "AWS::Lambda::Function",
2333
+ "Properties": {
2334
+ "Code": {
2335
+ "S3Bucket": {
2336
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2337
+ },
2338
+ "S3Key": "7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5.zip"
2339
+ },
2340
+ "Environment": {
2341
+ "Variables": {
2342
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
2343
+ }
2344
+ },
2345
+ "Handler": "index.handler",
2346
+ "Role": {
2347
+ "Fn::GetAtt": [
2348
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerServiceRoleDFD2C35E",
2349
+ "Arn"
2350
+ ]
2351
+ },
2352
+ "Runtime": "nodejs18.x",
2353
+ "Timeout": 30
2354
+ },
2355
+ "DependsOn": [
2356
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerServiceRoleDefaultPolicy57D46916",
2357
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerServiceRoleDFD2C35E"
2358
+ ],
2359
+ "Metadata": {
2360
+ "cdk_nag": {
2361
+ "rules_to_suppress": [
2362
+ {
2363
+ "reason": "no service role restriction needed",
2364
+ "id": "AwsSolutions-IAM4"
2365
+ },
2366
+ {
2367
+ "reason": "wildcards are ok for the ses mail verification",
2368
+ "id": "AwsSolutions-IAM5"
2369
+ }
2370
+ ]
2371
+ }
2372
+ }
2373
+ },
2374
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerLogRetentionA997105A": {
2375
+ "Type": "Custom::LogRetention",
2376
+ "Properties": {
2377
+ "ServiceToken": {
2378
+ "Fn::GetAtt": [
2379
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
2380
+ "Arn"
2381
+ ]
2382
+ },
2383
+ "LogGroupName": {
2384
+ "Fn::Join": [
2385
+ "",
2386
+ [
2387
+ "/aws/lambda/",
2388
+ {
2389
+ "Ref": "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91"
2390
+ }
2391
+ ]
2392
+ ]
2393
+ },
2394
+ "RetentionInDays": 3
2395
+ },
2396
+ "Metadata": {
2397
+ "cdk_nag": {
2398
+ "rules_to_suppress": [
2399
+ {
2400
+ "reason": "no service role restriction needed",
2401
+ "id": "AwsSolutions-IAM4"
2402
+ },
2403
+ {
2404
+ "reason": "wildcards are ok for the ses mail verification",
2405
+ "id": "AwsSolutions-IAM5"
2406
+ }
2407
+ ]
2408
+ }
2409
+ }
2410
+ },
2411
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerServiceRole02FD73CE": {
2412
+ "Type": "AWS::IAM::Role",
2413
+ "Properties": {
2414
+ "AssumeRolePolicyDocument": {
2415
+ "Statement": [
2416
+ {
2417
+ "Action": "sts:AssumeRole",
2418
+ "Effect": "Allow",
2419
+ "Principal": {
2420
+ "Service": "lambda.amazonaws.com"
2421
+ }
2422
+ }
2423
+ ],
2424
+ "Version": "2012-10-17"
2425
+ },
2426
+ "ManagedPolicyArns": [
2427
+ {
2428
+ "Fn::Join": [
2429
+ "",
2430
+ [
2431
+ "arn:",
2432
+ {
2433
+ "Ref": "AWS::Partition"
2434
+ },
2435
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2436
+ ]
2437
+ ]
2438
+ }
2439
+ ]
2440
+ },
2441
+ "Metadata": {
2442
+ "cdk_nag": {
2443
+ "rules_to_suppress": [
2444
+ {
2445
+ "reason": "no service role restriction needed",
2446
+ "id": "AwsSolutions-IAM4"
2447
+ },
2448
+ {
2449
+ "reason": "wildcards are ok as the function by itself does nothing",
2450
+ "id": "AwsSolutions-IAM5"
2451
+ }
2452
+ ]
2453
+ }
2454
+ }
2455
+ },
2456
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16": {
2457
+ "Type": "AWS::Lambda::Function",
2458
+ "Properties": {
2459
+ "Code": {
2460
+ "S3Bucket": {
2461
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2462
+ },
2463
+ "S3Key": "9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438.zip"
2464
+ },
2465
+ "Environment": {
2466
+ "Variables": {
2467
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
2468
+ }
2469
+ },
2470
+ "Handler": "index.handler",
2471
+ "Role": {
2472
+ "Fn::GetAtt": [
2473
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerServiceRole02FD73CE",
2474
+ "Arn"
2475
+ ]
2476
+ },
2477
+ "Runtime": "nodejs18.x",
2478
+ "Timeout": 10
2479
+ },
2480
+ "DependsOn": [
2481
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerServiceRole02FD73CE"
2482
+ ],
2483
+ "Metadata": {
2484
+ "cdk_nag": {
2485
+ "rules_to_suppress": [
2486
+ {
2487
+ "reason": "no service role restriction needed",
2488
+ "id": "AwsSolutions-IAM4"
2489
+ },
2490
+ {
2491
+ "reason": "wildcards are ok as the function by itself does nothing",
2492
+ "id": "AwsSolutions-IAM5"
2493
+ }
2494
+ ]
2495
+ }
2496
+ }
2497
+ },
2498
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerLogRetentionD97E8A18": {
2499
+ "Type": "Custom::LogRetention",
2500
+ "Properties": {
2501
+ "ServiceToken": {
2502
+ "Fn::GetAtt": [
2503
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
2504
+ "Arn"
2505
+ ]
2506
+ },
2507
+ "LogGroupName": {
2508
+ "Fn::Join": [
2509
+ "",
2510
+ [
2511
+ "/aws/lambda/",
2512
+ {
2513
+ "Ref": "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16"
2514
+ }
2515
+ ]
2516
+ ]
2517
+ },
2518
+ "RetentionInDays": 3
2519
+ },
2520
+ "Metadata": {
2521
+ "cdk_nag": {
2522
+ "rules_to_suppress": [
2523
+ {
2524
+ "reason": "no service role restriction needed",
2525
+ "id": "AwsSolutions-IAM4"
2526
+ },
2527
+ {
2528
+ "reason": "wildcards are ok as the function by itself does nothing",
2529
+ "id": "AwsSolutions-IAM5"
2530
+ }
2531
+ ]
2532
+ }
2533
+ }
2534
+ },
2535
+ "rootmailhostedzonedkimpropagationproviderframeworkonEventServiceRole5729BE95": {
2536
+ "Type": "AWS::IAM::Role",
2537
+ "Properties": {
2538
+ "AssumeRolePolicyDocument": {
2539
+ "Statement": [
2540
+ {
2541
+ "Action": "sts:AssumeRole",
2542
+ "Effect": "Allow",
2543
+ "Principal": {
2544
+ "Service": "lambda.amazonaws.com"
2545
+ }
2546
+ }
2547
+ ],
2548
+ "Version": "2012-10-17"
2549
+ },
2550
+ "ManagedPolicyArns": [
2551
+ {
2552
+ "Fn::Join": [
2553
+ "",
2554
+ [
2555
+ "arn:",
2556
+ {
2557
+ "Ref": "AWS::Partition"
2558
+ },
2559
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2560
+ ]
2561
+ ]
2562
+ }
2563
+ ]
2564
+ },
2565
+ "Metadata": {
2566
+ "cdk_nag": {
2567
+ "rules_to_suppress": [
2568
+ {
2569
+ "reason": "no service role restriction needed",
2570
+ "id": "AwsSolutions-IAM4"
2571
+ },
2572
+ {
2573
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2574
+ "id": "AwsSolutions-IAM5"
2575
+ }
2576
+ ]
2577
+ }
2578
+ }
2579
+ },
2580
+ "rootmailhostedzonedkimpropagationproviderframeworkonEventServiceRoleDefaultPolicy68675555": {
2581
+ "Type": "AWS::IAM::Policy",
2582
+ "Properties": {
2583
+ "PolicyDocument": {
2584
+ "Statement": [
2585
+ {
2586
+ "Action": "lambda:InvokeFunction",
2587
+ "Effect": "Allow",
2588
+ "Resource": [
2589
+ {
2590
+ "Fn::GetAtt": [
2591
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2592
+ "Arn"
2593
+ ]
2594
+ },
2595
+ {
2596
+ "Fn::GetAtt": [
2597
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2598
+ "Arn"
2599
+ ]
2600
+ },
2601
+ {
2602
+ "Fn::Join": [
2603
+ "",
2604
+ [
2605
+ {
2606
+ "Fn::GetAtt": [
2607
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2608
+ "Arn"
2609
+ ]
2610
+ },
2611
+ ":*"
2612
+ ]
2613
+ ]
2614
+ },
2615
+ {
2616
+ "Fn::Join": [
2617
+ "",
2618
+ [
2619
+ {
2620
+ "Fn::GetAtt": [
2621
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2622
+ "Arn"
2623
+ ]
2624
+ },
2625
+ ":*"
2626
+ ]
2627
+ ]
2628
+ }
2629
+ ]
2630
+ },
2631
+ {
2632
+ "Action": "states:StartExecution",
2633
+ "Effect": "Allow",
2634
+ "Resource": {
2635
+ "Ref": "rootmailhostedzonedkimpropagationproviderwaiterstatemachine2C629ADB"
2636
+ }
2637
+ }
2638
+ ],
2639
+ "Version": "2012-10-17"
2640
+ },
2641
+ "PolicyName": "rootmailhostedzonedkimpropagationproviderframeworkonEventServiceRoleDefaultPolicy68675555",
2642
+ "Roles": [
2643
+ {
2644
+ "Ref": "rootmailhostedzonedkimpropagationproviderframeworkonEventServiceRole5729BE95"
2645
+ }
2646
+ ]
2647
+ },
2648
+ "Metadata": {
2649
+ "cdk_nag": {
2650
+ "rules_to_suppress": [
2651
+ {
2652
+ "reason": "no service role restriction needed",
2653
+ "id": "AwsSolutions-IAM4"
2654
+ },
2655
+ {
2656
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2657
+ "id": "AwsSolutions-IAM5"
2658
+ }
2659
+ ]
2660
+ }
2661
+ }
2662
+ },
2663
+ "rootmailhostedzonedkimpropagationproviderframeworkonEvent15357119": {
2664
+ "Type": "AWS::Lambda::Function",
2665
+ "Properties": {
2666
+ "Code": {
2667
+ "S3Bucket": {
2668
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2669
+ },
2670
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
2671
+ },
2672
+ "Description": "AWS CDK resource provider framework - onEvent (RootmailIntegTestStack/rootmail.hosted-zone-dkim-propagation-provider/hosted-zone-dkim-propagation-provider)",
2673
+ "Environment": {
2674
+ "Variables": {
2675
+ "USER_ON_EVENT_FUNCTION_ARN": {
2676
+ "Fn::GetAtt": [
2677
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2678
+ "Arn"
2679
+ ]
2680
+ },
2681
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
2682
+ "Fn::GetAtt": [
2683
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2684
+ "Arn"
2685
+ ]
2686
+ },
2687
+ "WAITER_STATE_MACHINE_ARN": {
2688
+ "Ref": "rootmailhostedzonedkimpropagationproviderwaiterstatemachine2C629ADB"
2689
+ }
2690
+ }
2691
+ },
2692
+ "Handler": "framework.onEvent",
2693
+ "Role": {
2694
+ "Fn::GetAtt": [
2695
+ "rootmailhostedzonedkimpropagationproviderframeworkonEventServiceRole5729BE95",
2696
+ "Arn"
2697
+ ]
2698
+ },
2699
+ "Runtime": "nodejs18.x",
2700
+ "Timeout": 900
2701
+ },
2702
+ "DependsOn": [
2703
+ "rootmailhostedzonedkimpropagationproviderframeworkonEventServiceRoleDefaultPolicy68675555",
2704
+ "rootmailhostedzonedkimpropagationproviderframeworkonEventServiceRole5729BE95"
2705
+ ],
2706
+ "Metadata": {
2707
+ "cdk_nag": {
2708
+ "rules_to_suppress": [
2709
+ {
2710
+ "reason": "no service role restriction needed",
2711
+ "id": "AwsSolutions-IAM4"
2712
+ },
2713
+ {
2714
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2715
+ "id": "AwsSolutions-IAM5"
2716
+ }
2717
+ ]
2718
+ }
2719
+ }
2720
+ },
2721
+ "rootmailhostedzonedkimpropagationproviderframeworkisCompleteServiceRole9BABA5E5": {
2722
+ "Type": "AWS::IAM::Role",
2723
+ "Properties": {
2724
+ "AssumeRolePolicyDocument": {
2725
+ "Statement": [
2726
+ {
2727
+ "Action": "sts:AssumeRole",
2728
+ "Effect": "Allow",
2729
+ "Principal": {
2730
+ "Service": "lambda.amazonaws.com"
2731
+ }
2732
+ }
2733
+ ],
2734
+ "Version": "2012-10-17"
2735
+ },
2736
+ "ManagedPolicyArns": [
2737
+ {
2738
+ "Fn::Join": [
2739
+ "",
2740
+ [
2741
+ "arn:",
2742
+ {
2743
+ "Ref": "AWS::Partition"
2744
+ },
2745
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2746
+ ]
2747
+ ]
2748
+ }
2749
+ ]
2750
+ },
2751
+ "Metadata": {
2752
+ "cdk_nag": {
2753
+ "rules_to_suppress": [
2754
+ {
2755
+ "reason": "no service role restriction needed",
2756
+ "id": "AwsSolutions-IAM4"
2757
+ },
2758
+ {
2759
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2760
+ "id": "AwsSolutions-IAM5"
2761
+ }
2762
+ ]
2763
+ }
2764
+ }
2765
+ },
2766
+ "rootmailhostedzonedkimpropagationproviderframeworkisCompleteServiceRoleDefaultPolicy02D0AEA6": {
2767
+ "Type": "AWS::IAM::Policy",
2768
+ "Properties": {
2769
+ "PolicyDocument": {
2770
+ "Statement": [
2771
+ {
2772
+ "Action": "lambda:InvokeFunction",
2773
+ "Effect": "Allow",
2774
+ "Resource": [
2775
+ {
2776
+ "Fn::GetAtt": [
2777
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2778
+ "Arn"
2779
+ ]
2780
+ },
2781
+ {
2782
+ "Fn::GetAtt": [
2783
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2784
+ "Arn"
2785
+ ]
2786
+ },
2787
+ {
2788
+ "Fn::Join": [
2789
+ "",
2790
+ [
2791
+ {
2792
+ "Fn::GetAtt": [
2793
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2794
+ "Arn"
2795
+ ]
2796
+ },
2797
+ ":*"
2798
+ ]
2799
+ ]
2800
+ },
2801
+ {
2802
+ "Fn::Join": [
2803
+ "",
2804
+ [
2805
+ {
2806
+ "Fn::GetAtt": [
2807
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2808
+ "Arn"
2809
+ ]
2810
+ },
2811
+ ":*"
2812
+ ]
2813
+ ]
2814
+ }
2815
+ ]
2816
+ }
2817
+ ],
2818
+ "Version": "2012-10-17"
2819
+ },
2820
+ "PolicyName": "rootmailhostedzonedkimpropagationproviderframeworkisCompleteServiceRoleDefaultPolicy02D0AEA6",
2821
+ "Roles": [
2822
+ {
2823
+ "Ref": "rootmailhostedzonedkimpropagationproviderframeworkisCompleteServiceRole9BABA5E5"
2824
+ }
2825
+ ]
2826
+ },
2827
+ "Metadata": {
2828
+ "cdk_nag": {
2829
+ "rules_to_suppress": [
2830
+ {
2831
+ "reason": "no service role restriction needed",
2832
+ "id": "AwsSolutions-IAM4"
2833
+ },
2834
+ {
2835
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2836
+ "id": "AwsSolutions-IAM5"
2837
+ }
2838
+ ]
2839
+ }
2840
+ }
2841
+ },
2842
+ "rootmailhostedzonedkimpropagationproviderframeworkisComplete165FE163": {
2843
+ "Type": "AWS::Lambda::Function",
2844
+ "Properties": {
2845
+ "Code": {
2846
+ "S3Bucket": {
2847
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2848
+ },
2849
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
2850
+ },
2851
+ "Description": "AWS CDK resource provider framework - isComplete (RootmailIntegTestStack/rootmail.hosted-zone-dkim-propagation-provider/hosted-zone-dkim-propagation-provider)",
2852
+ "Environment": {
2853
+ "Variables": {
2854
+ "USER_ON_EVENT_FUNCTION_ARN": {
2855
+ "Fn::GetAtt": [
2856
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2857
+ "Arn"
2858
+ ]
2859
+ },
2860
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
2861
+ "Fn::GetAtt": [
2862
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2863
+ "Arn"
2864
+ ]
2865
+ }
2866
+ }
2867
+ },
2868
+ "Handler": "framework.isComplete",
2869
+ "Role": {
2870
+ "Fn::GetAtt": [
2871
+ "rootmailhostedzonedkimpropagationproviderframeworkisCompleteServiceRole9BABA5E5",
2872
+ "Arn"
2873
+ ]
2874
+ },
2875
+ "Runtime": "nodejs18.x",
2876
+ "Timeout": 900
2877
+ },
2878
+ "DependsOn": [
2879
+ "rootmailhostedzonedkimpropagationproviderframeworkisCompleteServiceRoleDefaultPolicy02D0AEA6",
2880
+ "rootmailhostedzonedkimpropagationproviderframeworkisCompleteServiceRole9BABA5E5"
2881
+ ],
2882
+ "Metadata": {
2883
+ "cdk_nag": {
2884
+ "rules_to_suppress": [
2885
+ {
2886
+ "reason": "no service role restriction needed",
2887
+ "id": "AwsSolutions-IAM4"
2888
+ },
2889
+ {
2890
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2891
+ "id": "AwsSolutions-IAM5"
2892
+ }
2893
+ ]
2894
+ }
2895
+ }
2896
+ },
2897
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeoutServiceRoleB169BF13": {
2898
+ "Type": "AWS::IAM::Role",
2899
+ "Properties": {
2900
+ "AssumeRolePolicyDocument": {
2901
+ "Statement": [
2902
+ {
2903
+ "Action": "sts:AssumeRole",
2904
+ "Effect": "Allow",
2905
+ "Principal": {
2906
+ "Service": "lambda.amazonaws.com"
2907
+ }
2908
+ }
2909
+ ],
2910
+ "Version": "2012-10-17"
2911
+ },
2912
+ "ManagedPolicyArns": [
2913
+ {
2914
+ "Fn::Join": [
2915
+ "",
2916
+ [
2917
+ "arn:",
2918
+ {
2919
+ "Ref": "AWS::Partition"
2920
+ },
2921
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2922
+ ]
2923
+ ]
2924
+ }
2925
+ ]
2926
+ },
2927
+ "Metadata": {
2928
+ "cdk_nag": {
2929
+ "rules_to_suppress": [
2930
+ {
2931
+ "reason": "no service role restriction needed",
2932
+ "id": "AwsSolutions-IAM4"
2933
+ },
2934
+ {
2935
+ "reason": "wildcards are ok for the provider as the function has restrictions",
2936
+ "id": "AwsSolutions-IAM5"
2937
+ }
2938
+ ]
2939
+ }
2940
+ }
2941
+ },
2942
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeoutServiceRoleDefaultPolicy2FF6168E": {
2943
+ "Type": "AWS::IAM::Policy",
2944
+ "Properties": {
2945
+ "PolicyDocument": {
2946
+ "Statement": [
2947
+ {
2948
+ "Action": "lambda:InvokeFunction",
2949
+ "Effect": "Allow",
2950
+ "Resource": [
2951
+ {
2952
+ "Fn::GetAtt": [
2953
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2954
+ "Arn"
2955
+ ]
2956
+ },
2957
+ {
2958
+ "Fn::GetAtt": [
2959
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2960
+ "Arn"
2961
+ ]
2962
+ },
2963
+ {
2964
+ "Fn::Join": [
2965
+ "",
2966
+ [
2967
+ {
2968
+ "Fn::GetAtt": [
2969
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
2970
+ "Arn"
2971
+ ]
2972
+ },
2973
+ ":*"
2974
+ ]
2975
+ ]
2976
+ },
2977
+ {
2978
+ "Fn::Join": [
2979
+ "",
2980
+ [
2981
+ {
2982
+ "Fn::GetAtt": [
2983
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
2984
+ "Arn"
2985
+ ]
2986
+ },
2987
+ ":*"
2988
+ ]
2989
+ ]
2990
+ }
2991
+ ]
2992
+ }
2993
+ ],
2994
+ "Version": "2012-10-17"
2995
+ },
2996
+ "PolicyName": "rootmailhostedzonedkimpropagationproviderframeworkonTimeoutServiceRoleDefaultPolicy2FF6168E",
2997
+ "Roles": [
2998
+ {
2999
+ "Ref": "rootmailhostedzonedkimpropagationproviderframeworkonTimeoutServiceRoleB169BF13"
3000
+ }
3001
+ ]
3002
+ },
3003
+ "Metadata": {
3004
+ "cdk_nag": {
3005
+ "rules_to_suppress": [
3006
+ {
3007
+ "reason": "no service role restriction needed",
3008
+ "id": "AwsSolutions-IAM4"
3009
+ },
3010
+ {
3011
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3012
+ "id": "AwsSolutions-IAM5"
3013
+ }
3014
+ ]
3015
+ }
3016
+ }
3017
+ },
3018
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeout7D8A73CD": {
3019
+ "Type": "AWS::Lambda::Function",
3020
+ "Properties": {
3021
+ "Code": {
3022
+ "S3Bucket": {
3023
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
3024
+ },
3025
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
3026
+ },
3027
+ "Description": "AWS CDK resource provider framework - onTimeout (RootmailIntegTestStack/rootmail.hosted-zone-dkim-propagation-provider/hosted-zone-dkim-propagation-provider)",
3028
+ "Environment": {
3029
+ "Variables": {
3030
+ "USER_ON_EVENT_FUNCTION_ARN": {
3031
+ "Fn::GetAtt": [
3032
+ "rootmailhostedzonedkimpropagationprovideroneventhandlerC59BDC16",
3033
+ "Arn"
3034
+ ]
3035
+ },
3036
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
3037
+ "Fn::GetAtt": [
3038
+ "rootmailhostedzonedkimpropagationprovideriscompletehandlerB67C8E91",
3039
+ "Arn"
3040
+ ]
3041
+ }
3042
+ }
3043
+ },
3044
+ "Handler": "framework.onTimeout",
3045
+ "Role": {
3046
+ "Fn::GetAtt": [
3047
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeoutServiceRoleB169BF13",
3048
+ "Arn"
3049
+ ]
3050
+ },
3051
+ "Runtime": "nodejs18.x",
3052
+ "Timeout": 900
3053
+ },
3054
+ "DependsOn": [
3055
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeoutServiceRoleDefaultPolicy2FF6168E",
3056
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeoutServiceRoleB169BF13"
3057
+ ],
3058
+ "Metadata": {
3059
+ "cdk_nag": {
3060
+ "rules_to_suppress": [
3061
+ {
3062
+ "reason": "no service role restriction needed",
3063
+ "id": "AwsSolutions-IAM4"
3064
+ },
3065
+ {
3066
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3067
+ "id": "AwsSolutions-IAM5"
3068
+ }
3069
+ ]
3070
+ }
3071
+ }
3072
+ },
3073
+ "rootmailhostedzonedkimpropagationproviderwaiterstatemachineRole40906579": {
3074
+ "Type": "AWS::IAM::Role",
3075
+ "Properties": {
3076
+ "AssumeRolePolicyDocument": {
3077
+ "Statement": [
3078
+ {
3079
+ "Action": "sts:AssumeRole",
3080
+ "Effect": "Allow",
3081
+ "Principal": {
3082
+ "Service": "states.amazonaws.com"
3083
+ }
3084
+ }
3085
+ ],
3086
+ "Version": "2012-10-17"
3087
+ }
3088
+ },
3089
+ "Metadata": {
3090
+ "cdk_nag": {
3091
+ "rules_to_suppress": [
3092
+ {
3093
+ "reason": "no service role restriction needed",
3094
+ "id": "AwsSolutions-IAM4"
3095
+ },
3096
+ {
3097
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3098
+ "id": "AwsSolutions-IAM5"
3099
+ }
3100
+ ]
3101
+ }
3102
+ }
3103
+ },
3104
+ "rootmailhostedzonedkimpropagationproviderwaiterstatemachineRoleDefaultPolicy70368CA0": {
3105
+ "Type": "AWS::IAM::Policy",
3106
+ "Properties": {
3107
+ "PolicyDocument": {
3108
+ "Statement": [
3109
+ {
3110
+ "Action": "lambda:InvokeFunction",
3111
+ "Effect": "Allow",
3112
+ "Resource": [
3113
+ {
3114
+ "Fn::GetAtt": [
3115
+ "rootmailhostedzonedkimpropagationproviderframeworkisComplete165FE163",
3116
+ "Arn"
3117
+ ]
3118
+ },
3119
+ {
3120
+ "Fn::GetAtt": [
3121
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeout7D8A73CD",
3122
+ "Arn"
3123
+ ]
3124
+ },
3125
+ {
3126
+ "Fn::Join": [
3127
+ "",
3128
+ [
3129
+ {
3130
+ "Fn::GetAtt": [
3131
+ "rootmailhostedzonedkimpropagationproviderframeworkisComplete165FE163",
3132
+ "Arn"
3133
+ ]
3134
+ },
3135
+ ":*"
3136
+ ]
3137
+ ]
3138
+ },
3139
+ {
3140
+ "Fn::Join": [
3141
+ "",
3142
+ [
3143
+ {
3144
+ "Fn::GetAtt": [
3145
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeout7D8A73CD",
3146
+ "Arn"
3147
+ ]
3148
+ },
3149
+ ":*"
3150
+ ]
3151
+ ]
3152
+ }
3153
+ ]
3154
+ }
3155
+ ],
3156
+ "Version": "2012-10-17"
3157
+ },
3158
+ "PolicyName": "rootmailhostedzonedkimpropagationproviderwaiterstatemachineRoleDefaultPolicy70368CA0",
3159
+ "Roles": [
3160
+ {
3161
+ "Ref": "rootmailhostedzonedkimpropagationproviderwaiterstatemachineRole40906579"
3162
+ }
3163
+ ]
3164
+ },
3165
+ "Metadata": {
3166
+ "cdk_nag": {
3167
+ "rules_to_suppress": [
3168
+ {
3169
+ "reason": "no service role restriction needed",
3170
+ "id": "AwsSolutions-IAM4"
3171
+ },
3172
+ {
3173
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3174
+ "id": "AwsSolutions-IAM5"
3175
+ }
3176
+ ]
3177
+ }
3178
+ }
3179
+ },
3180
+ "rootmailhostedzonedkimpropagationproviderwaiterstatemachine2C629ADB": {
3181
+ "Type": "AWS::StepFunctions::StateMachine",
3182
+ "Properties": {
3183
+ "DefinitionString": {
3184
+ "Fn::Join": [
3185
+ "",
3186
+ [
3187
+ "{\"StartAt\":\"framework-isComplete-task\",\"States\":{\"framework-isComplete-task\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"States.ALL\"],\"IntervalSeconds\":10,\"MaxAttempts\":180,\"BackoffRate\":1}],\"Catch\":[{\"ErrorEquals\":[\"States.ALL\"],\"Next\":\"framework-onTimeout-task\"}],\"Type\":\"Task\",\"Resource\":\"",
3188
+ {
3189
+ "Fn::GetAtt": [
3190
+ "rootmailhostedzonedkimpropagationproviderframeworkisComplete165FE163",
3191
+ "Arn"
3192
+ ]
3193
+ },
3194
+ "\"},\"framework-onTimeout-task\":{\"End\":true,\"Type\":\"Task\",\"Resource\":\"",
3195
+ {
3196
+ "Fn::GetAtt": [
3197
+ "rootmailhostedzonedkimpropagationproviderframeworkonTimeout7D8A73CD",
3198
+ "Arn"
3199
+ ]
3200
+ },
3201
+ "\"}}}"
3202
+ ]
3203
+ ]
3204
+ },
3205
+ "RoleArn": {
3206
+ "Fn::GetAtt": [
3207
+ "rootmailhostedzonedkimpropagationproviderwaiterstatemachineRole40906579",
3208
+ "Arn"
3209
+ ]
3210
+ }
3211
+ },
3212
+ "DependsOn": [
3213
+ "rootmailhostedzonedkimpropagationproviderwaiterstatemachineRoleDefaultPolicy70368CA0",
3214
+ "rootmailhostedzonedkimpropagationproviderwaiterstatemachineRole40906579"
3215
+ ],
3216
+ "Metadata": {
3217
+ "cdk_nag": {
3218
+ "rules_to_suppress": [
3219
+ {
3220
+ "reason": "no service role restriction needed",
3221
+ "id": "AwsSolutions-IAM4"
3222
+ },
3223
+ {
3224
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3225
+ "id": "AwsSolutions-IAM5"
3226
+ }
3227
+ ]
3228
+ }
3229
+ }
3230
+ },
3231
+ "rootmailsesreceiptrulesetactivationproviderSesReceiptRuleSetActivationCustomResourceRoleA5C4F5B4": {
3232
+ "Type": "AWS::IAM::Role",
3233
+ "Properties": {
3234
+ "AssumeRolePolicyDocument": {
3235
+ "Statement": [
3236
+ {
3237
+ "Action": "sts:AssumeRole",
3238
+ "Effect": "Allow",
3239
+ "Principal": {
3240
+ "Service": "lambda.amazonaws.com"
3241
+ }
3242
+ }
3243
+ ],
3244
+ "Version": "2012-10-17"
3245
+ },
3246
+ "ManagedPolicyArns": [
3247
+ {
3248
+ "Fn::Join": [
3249
+ "",
3250
+ [
3251
+ "arn:",
3252
+ {
3253
+ "Ref": "AWS::Partition"
3254
+ },
3255
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
3256
+ ]
3257
+ ]
3258
+ }
3259
+ ]
3260
+ },
3261
+ "Metadata": {
3262
+ "cdk_nag": {
3263
+ "rules_to_suppress": [
3264
+ {
3265
+ "reason": "no service role restriction needed",
3266
+ "id": "AwsSolutions-IAM4"
3267
+ },
3268
+ {
3269
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3270
+ "id": "AwsSolutions-IAM5"
3271
+ }
3272
+ ]
3273
+ }
3274
+ }
3275
+ },
3276
+ "rootmailsesreceiptrulesetactivationproviderSesReceiptRuleSetActivationCustomResourceRoleDefaultPolicy92E90A6D": {
3277
+ "Type": "AWS::IAM::Policy",
3278
+ "Properties": {
3279
+ "PolicyDocument": {
3280
+ "Statement": [
3281
+ {
3282
+ "Action": [
3283
+ "ses:CreateReceiptRule",
3284
+ "ses:CreateReceiptRuleSet",
3285
+ "ses:DeleteReceiptRule",
3286
+ "ses:DeleteReceiptRuleSet",
3287
+ "ses:SetActiveReceiptRuleSet"
3288
+ ],
3289
+ "Effect": "Allow",
3290
+ "Resource": "*"
3291
+ }
3292
+ ],
3293
+ "Version": "2012-10-17"
3294
+ },
3295
+ "PolicyName": "rootmailsesreceiptrulesetactivationproviderSesReceiptRuleSetActivationCustomResourceRoleDefaultPolicy92E90A6D",
3296
+ "Roles": [
3297
+ {
3298
+ "Ref": "rootmailsesreceiptrulesetactivationproviderSesReceiptRuleSetActivationCustomResourceRoleA5C4F5B4"
3299
+ }
3300
+ ]
3301
+ },
3302
+ "Metadata": {
3303
+ "cdk_nag": {
3304
+ "rules_to_suppress": [
3305
+ {
3306
+ "reason": "no service role restriction needed",
3307
+ "id": "AwsSolutions-IAM4"
3308
+ },
3309
+ {
3310
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3311
+ "id": "AwsSolutions-IAM5"
3312
+ }
3313
+ ]
3314
+ }
3315
+ }
3316
+ },
3317
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877": {
3318
+ "Type": "AWS::Lambda::Function",
3319
+ "Properties": {
3320
+ "Code": {
3321
+ "S3Bucket": {
3322
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
3323
+ },
3324
+ "S3Key": "b8448324ef2c7d5bfa362722df2d397079d5aabaae2749f09180ac5bedfa5c89.zip"
3325
+ },
3326
+ "Environment": {
3327
+ "Variables": {
3328
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
3329
+ }
3330
+ },
3331
+ "Handler": "index.handler",
3332
+ "Role": {
3333
+ "Fn::GetAtt": [
3334
+ "rootmailsesreceiptrulesetactivationproviderSesReceiptRuleSetActivationCustomResourceRoleA5C4F5B4",
3335
+ "Arn"
3336
+ ]
3337
+ },
3338
+ "Runtime": "nodejs18.x",
3339
+ "Timeout": 30
3340
+ },
3341
+ "DependsOn": [
3342
+ "rootmailsesreceiptrulesetactivationproviderSesReceiptRuleSetActivationCustomResourceRoleDefaultPolicy92E90A6D",
3343
+ "rootmailsesreceiptrulesetactivationproviderSesReceiptRuleSetActivationCustomResourceRoleA5C4F5B4"
3344
+ ],
3345
+ "Metadata": {
3346
+ "cdk_nag": {
3347
+ "rules_to_suppress": [
3348
+ {
3349
+ "reason": "no service role restriction needed",
3350
+ "id": "AwsSolutions-IAM4"
3351
+ },
3352
+ {
3353
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3354
+ "id": "AwsSolutions-IAM5"
3355
+ }
3356
+ ]
3357
+ }
3358
+ }
3359
+ },
3360
+ "rootmailsesreceiptrulesetactivationprovideroneventhandlerLogRetentionFD6A9185": {
3361
+ "Type": "Custom::LogRetention",
3362
+ "Properties": {
3363
+ "ServiceToken": {
3364
+ "Fn::GetAtt": [
3365
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
3366
+ "Arn"
3367
+ ]
3368
+ },
3369
+ "LogGroupName": {
3370
+ "Fn::Join": [
3371
+ "",
3372
+ [
3373
+ "/aws/lambda/",
3374
+ {
3375
+ "Ref": "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877"
3376
+ }
3377
+ ]
3378
+ ]
3379
+ },
3380
+ "RetentionInDays": 3
3381
+ },
3382
+ "Metadata": {
3383
+ "cdk_nag": {
3384
+ "rules_to_suppress": [
3385
+ {
3386
+ "reason": "no service role restriction needed",
3387
+ "id": "AwsSolutions-IAM4"
3388
+ },
3389
+ {
3390
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3391
+ "id": "AwsSolutions-IAM5"
3392
+ }
3393
+ ]
3394
+ }
3395
+ }
3396
+ },
3397
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandlerServiceRole9D6CAFC0": {
3398
+ "Type": "AWS::IAM::Role",
3399
+ "Properties": {
3400
+ "AssumeRolePolicyDocument": {
3401
+ "Statement": [
3402
+ {
3403
+ "Action": "sts:AssumeRole",
3404
+ "Effect": "Allow",
3405
+ "Principal": {
3406
+ "Service": "lambda.amazonaws.com"
3407
+ }
3408
+ }
3409
+ ],
3410
+ "Version": "2012-10-17"
3411
+ },
3412
+ "ManagedPolicyArns": [
3413
+ {
3414
+ "Fn::Join": [
3415
+ "",
3416
+ [
3417
+ "arn:",
3418
+ {
3419
+ "Ref": "AWS::Partition"
3420
+ },
3421
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
3422
+ ]
3423
+ ]
3424
+ }
3425
+ ]
3426
+ },
3427
+ "Metadata": {
3428
+ "cdk_nag": {
3429
+ "rules_to_suppress": [
3430
+ {
3431
+ "reason": "no service role restriction needed",
3432
+ "id": "AwsSolutions-IAM4"
3433
+ },
3434
+ {
3435
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3436
+ "id": "AwsSolutions-IAM5"
3437
+ }
3438
+ ]
3439
+ }
3440
+ }
3441
+ },
3442
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandlerServiceRoleDefaultPolicyFB99DF60": {
3443
+ "Type": "AWS::IAM::Policy",
3444
+ "Properties": {
3445
+ "PolicyDocument": {
3446
+ "Statement": [
3447
+ {
3448
+ "Action": [
3449
+ "s3:GetBucket*",
3450
+ "s3:GetObject*",
3451
+ "s3:List*"
3452
+ ],
3453
+ "Effect": "Allow",
3454
+ "Resource": [
3455
+ {
3456
+ "Fn::GetAtt": [
3457
+ "testRootmailEmailBucket2A470446",
3458
+ "Arn"
3459
+ ]
3460
+ },
3461
+ {
3462
+ "Fn::Join": [
3463
+ "",
3464
+ [
3465
+ {
3466
+ "Fn::GetAtt": [
3467
+ "testRootmailEmailBucket2A470446",
3468
+ "Arn"
3469
+ ]
3470
+ },
3471
+ "/RootMail/*"
3472
+ ]
3473
+ ]
3474
+ }
3475
+ ]
3476
+ }
3477
+ ],
3478
+ "Version": "2012-10-17"
3479
+ },
3480
+ "PolicyName": "rootmailsesreceiptrulesetactivationprovideriscompletehandlerServiceRoleDefaultPolicyFB99DF60",
3481
+ "Roles": [
3482
+ {
3483
+ "Ref": "rootmailsesreceiptrulesetactivationprovideriscompletehandlerServiceRole9D6CAFC0"
3484
+ }
3485
+ ]
3486
+ },
3487
+ "Metadata": {
3488
+ "cdk_nag": {
3489
+ "rules_to_suppress": [
3490
+ {
3491
+ "reason": "no service role restriction needed",
3492
+ "id": "AwsSolutions-IAM4"
3493
+ },
3494
+ {
3495
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3496
+ "id": "AwsSolutions-IAM5"
3497
+ }
3498
+ ]
3499
+ }
3500
+ }
3501
+ },
3502
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14": {
3503
+ "Type": "AWS::Lambda::Function",
3504
+ "Properties": {
3505
+ "Code": {
3506
+ "S3Bucket": {
3507
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
3508
+ },
3509
+ "S3Key": "78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377.zip"
3510
+ },
3511
+ "Environment": {
3512
+ "Variables": {
3513
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
3514
+ }
3515
+ },
3516
+ "Handler": "index.handler",
3517
+ "Role": {
3518
+ "Fn::GetAtt": [
3519
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandlerServiceRole9D6CAFC0",
3520
+ "Arn"
3521
+ ]
3522
+ },
3523
+ "Runtime": "nodejs18.x",
3524
+ "Timeout": 30
3525
+ },
3526
+ "DependsOn": [
3527
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandlerServiceRoleDefaultPolicyFB99DF60",
3528
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandlerServiceRole9D6CAFC0"
3529
+ ],
3530
+ "Metadata": {
3531
+ "cdk_nag": {
3532
+ "rules_to_suppress": [
3533
+ {
3534
+ "reason": "no service role restriction needed",
3535
+ "id": "AwsSolutions-IAM4"
3536
+ },
3537
+ {
3538
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3539
+ "id": "AwsSolutions-IAM5"
3540
+ }
3541
+ ]
3542
+ }
3543
+ }
3544
+ },
3545
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandlerLogRetention03F74C63": {
3546
+ "Type": "Custom::LogRetention",
3547
+ "Properties": {
3548
+ "ServiceToken": {
3549
+ "Fn::GetAtt": [
3550
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
3551
+ "Arn"
3552
+ ]
3553
+ },
3554
+ "LogGroupName": {
3555
+ "Fn::Join": [
3556
+ "",
3557
+ [
3558
+ "/aws/lambda/",
3559
+ {
3560
+ "Ref": "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14"
3561
+ }
3562
+ ]
3563
+ ]
3564
+ },
3565
+ "RetentionInDays": 3
3566
+ },
3567
+ "Metadata": {
3568
+ "cdk_nag": {
3569
+ "rules_to_suppress": [
3570
+ {
3571
+ "reason": "no service role restriction needed",
3572
+ "id": "AwsSolutions-IAM4"
3573
+ },
3574
+ {
3575
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3576
+ "id": "AwsSolutions-IAM5"
3577
+ }
3578
+ ]
3579
+ }
3580
+ }
3581
+ },
3582
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventServiceRoleB5050EE6": {
3583
+ "Type": "AWS::IAM::Role",
3584
+ "Properties": {
3585
+ "AssumeRolePolicyDocument": {
3586
+ "Statement": [
3587
+ {
3588
+ "Action": "sts:AssumeRole",
3589
+ "Effect": "Allow",
3590
+ "Principal": {
3591
+ "Service": "lambda.amazonaws.com"
3592
+ }
3593
+ }
3594
+ ],
3595
+ "Version": "2012-10-17"
3596
+ },
3597
+ "ManagedPolicyArns": [
3598
+ {
3599
+ "Fn::Join": [
3600
+ "",
3601
+ [
3602
+ "arn:",
3603
+ {
3604
+ "Ref": "AWS::Partition"
3605
+ },
3606
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
3607
+ ]
3608
+ ]
3609
+ }
3610
+ ]
3611
+ },
3612
+ "Metadata": {
3613
+ "cdk_nag": {
3614
+ "rules_to_suppress": [
3615
+ {
3616
+ "reason": "no service role restriction needed",
3617
+ "id": "AwsSolutions-IAM4"
3618
+ },
3619
+ {
3620
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3621
+ "id": "AwsSolutions-IAM5"
3622
+ }
3623
+ ]
3624
+ }
3625
+ }
3626
+ },
3627
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventServiceRoleDefaultPolicy11FA01A0": {
3628
+ "Type": "AWS::IAM::Policy",
3629
+ "Properties": {
3630
+ "PolicyDocument": {
3631
+ "Statement": [
3632
+ {
3633
+ "Action": "lambda:InvokeFunction",
3634
+ "Effect": "Allow",
3635
+ "Resource": [
3636
+ {
3637
+ "Fn::GetAtt": [
3638
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
3639
+ "Arn"
3640
+ ]
3641
+ },
3642
+ {
3643
+ "Fn::GetAtt": [
3644
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
3645
+ "Arn"
3646
+ ]
3647
+ },
3648
+ {
3649
+ "Fn::Join": [
3650
+ "",
3651
+ [
3652
+ {
3653
+ "Fn::GetAtt": [
3654
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
3655
+ "Arn"
3656
+ ]
3657
+ },
3658
+ ":*"
3659
+ ]
3660
+ ]
3661
+ },
3662
+ {
3663
+ "Fn::Join": [
3664
+ "",
3665
+ [
3666
+ {
3667
+ "Fn::GetAtt": [
3668
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
3669
+ "Arn"
3670
+ ]
3671
+ },
3672
+ ":*"
3673
+ ]
3674
+ ]
3675
+ }
3676
+ ]
3677
+ },
3678
+ {
3679
+ "Action": "states:StartExecution",
3680
+ "Effect": "Allow",
3681
+ "Resource": {
3682
+ "Ref": "rootmailsesreceiptrulesetactivationproviderwaiterstatemachine93794458"
3683
+ }
3684
+ }
3685
+ ],
3686
+ "Version": "2012-10-17"
3687
+ },
3688
+ "PolicyName": "rootmailsesreceiptrulesetactivationproviderframeworkonEventServiceRoleDefaultPolicy11FA01A0",
3689
+ "Roles": [
3690
+ {
3691
+ "Ref": "rootmailsesreceiptrulesetactivationproviderframeworkonEventServiceRoleB5050EE6"
3692
+ }
3693
+ ]
3694
+ },
3695
+ "Metadata": {
3696
+ "cdk_nag": {
3697
+ "rules_to_suppress": [
3698
+ {
3699
+ "reason": "no service role restriction needed",
3700
+ "id": "AwsSolutions-IAM4"
3701
+ },
3702
+ {
3703
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3704
+ "id": "AwsSolutions-IAM5"
3705
+ }
3706
+ ]
3707
+ }
3708
+ }
3709
+ },
3710
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventC514B5CD": {
3711
+ "Type": "AWS::Lambda::Function",
3712
+ "Properties": {
3713
+ "Code": {
3714
+ "S3Bucket": {
3715
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
3716
+ },
3717
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
3718
+ },
3719
+ "Description": "AWS CDK resource provider framework - onEvent (RootmailIntegTestStack/rootmail.ses-receipt-ruleset-activation-provider/ses-receipt-ruleset-activation-provider)",
3720
+ "Environment": {
3721
+ "Variables": {
3722
+ "USER_ON_EVENT_FUNCTION_ARN": {
3723
+ "Fn::GetAtt": [
3724
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
3725
+ "Arn"
3726
+ ]
3727
+ },
3728
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
3729
+ "Fn::GetAtt": [
3730
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
3731
+ "Arn"
3732
+ ]
3733
+ },
3734
+ "WAITER_STATE_MACHINE_ARN": {
3735
+ "Ref": "rootmailsesreceiptrulesetactivationproviderwaiterstatemachine93794458"
3736
+ }
3737
+ }
3738
+ },
3739
+ "Handler": "framework.onEvent",
3740
+ "Role": {
3741
+ "Fn::GetAtt": [
3742
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventServiceRoleB5050EE6",
3743
+ "Arn"
3744
+ ]
3745
+ },
3746
+ "Runtime": "nodejs18.x",
3747
+ "Timeout": 900
3748
+ },
3749
+ "DependsOn": [
3750
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventServiceRoleDefaultPolicy11FA01A0",
3751
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventServiceRoleB5050EE6"
3752
+ ],
3753
+ "Metadata": {
3754
+ "cdk_nag": {
3755
+ "rules_to_suppress": [
3756
+ {
3757
+ "reason": "no service role restriction needed",
3758
+ "id": "AwsSolutions-IAM4"
3759
+ },
3760
+ {
3761
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3762
+ "id": "AwsSolutions-IAM5"
3763
+ }
3764
+ ]
3765
+ }
3766
+ }
3767
+ },
3768
+ "rootmailsesreceiptrulesetactivationproviderframeworkonEventLogRetentionA6742D46": {
3769
+ "Type": "Custom::LogRetention",
3770
+ "Properties": {
3771
+ "ServiceToken": {
3772
+ "Fn::GetAtt": [
3773
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
3774
+ "Arn"
3775
+ ]
3776
+ },
3777
+ "LogGroupName": {
3778
+ "Fn::Join": [
3779
+ "",
3780
+ [
3781
+ "/aws/lambda/",
3782
+ {
3783
+ "Ref": "rootmailsesreceiptrulesetactivationproviderframeworkonEventC514B5CD"
3784
+ }
3785
+ ]
3786
+ ]
3787
+ },
3788
+ "RetentionInDays": 3
3789
+ },
3790
+ "Metadata": {
3791
+ "cdk_nag": {
3792
+ "rules_to_suppress": [
3793
+ {
3794
+ "reason": "no service role restriction needed",
3795
+ "id": "AwsSolutions-IAM4"
3796
+ },
3797
+ {
3798
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3799
+ "id": "AwsSolutions-IAM5"
3800
+ }
3801
+ ]
3802
+ }
3803
+ }
3804
+ },
3805
+ "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteServiceRoleCFD6EE46": {
3806
+ "Type": "AWS::IAM::Role",
3807
+ "Properties": {
3808
+ "AssumeRolePolicyDocument": {
3809
+ "Statement": [
3810
+ {
3811
+ "Action": "sts:AssumeRole",
3812
+ "Effect": "Allow",
3813
+ "Principal": {
3814
+ "Service": "lambda.amazonaws.com"
3815
+ }
3816
+ }
3817
+ ],
3818
+ "Version": "2012-10-17"
3819
+ },
3820
+ "ManagedPolicyArns": [
3821
+ {
3822
+ "Fn::Join": [
3823
+ "",
3824
+ [
3825
+ "arn:",
3826
+ {
3827
+ "Ref": "AWS::Partition"
3828
+ },
3829
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
3830
+ ]
3831
+ ]
3832
+ }
3833
+ ]
3834
+ },
3835
+ "Metadata": {
3836
+ "cdk_nag": {
3837
+ "rules_to_suppress": [
3838
+ {
3839
+ "reason": "no service role restriction needed",
3840
+ "id": "AwsSolutions-IAM4"
3841
+ },
3842
+ {
3843
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3844
+ "id": "AwsSolutions-IAM5"
3845
+ }
3846
+ ]
3847
+ }
3848
+ }
3849
+ },
3850
+ "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteServiceRoleDefaultPolicy8A8828E7": {
3851
+ "Type": "AWS::IAM::Policy",
3852
+ "Properties": {
3853
+ "PolicyDocument": {
3854
+ "Statement": [
3855
+ {
3856
+ "Action": "lambda:InvokeFunction",
3857
+ "Effect": "Allow",
3858
+ "Resource": [
3859
+ {
3860
+ "Fn::GetAtt": [
3861
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
3862
+ "Arn"
3863
+ ]
3864
+ },
3865
+ {
3866
+ "Fn::GetAtt": [
3867
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
3868
+ "Arn"
3869
+ ]
3870
+ },
3871
+ {
3872
+ "Fn::Join": [
3873
+ "",
3874
+ [
3875
+ {
3876
+ "Fn::GetAtt": [
3877
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
3878
+ "Arn"
3879
+ ]
3880
+ },
3881
+ ":*"
3882
+ ]
3883
+ ]
3884
+ },
3885
+ {
3886
+ "Fn::Join": [
3887
+ "",
3888
+ [
3889
+ {
3890
+ "Fn::GetAtt": [
3891
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
3892
+ "Arn"
3893
+ ]
3894
+ },
3895
+ ":*"
3896
+ ]
3897
+ ]
3898
+ }
3899
+ ]
3900
+ }
3901
+ ],
3902
+ "Version": "2012-10-17"
3903
+ },
3904
+ "PolicyName": "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteServiceRoleDefaultPolicy8A8828E7",
3905
+ "Roles": [
3906
+ {
3907
+ "Ref": "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteServiceRoleCFD6EE46"
3908
+ }
3909
+ ]
3910
+ },
3911
+ "Metadata": {
3912
+ "cdk_nag": {
3913
+ "rules_to_suppress": [
3914
+ {
3915
+ "reason": "no service role restriction needed",
3916
+ "id": "AwsSolutions-IAM4"
3917
+ },
3918
+ {
3919
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3920
+ "id": "AwsSolutions-IAM5"
3921
+ }
3922
+ ]
3923
+ }
3924
+ }
3925
+ },
3926
+ "rootmailsesreceiptrulesetactivationproviderframeworkisComplete17519146": {
3927
+ "Type": "AWS::Lambda::Function",
3928
+ "Properties": {
3929
+ "Code": {
3930
+ "S3Bucket": {
3931
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
3932
+ },
3933
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
3934
+ },
3935
+ "Description": "AWS CDK resource provider framework - isComplete (RootmailIntegTestStack/rootmail.ses-receipt-ruleset-activation-provider/ses-receipt-ruleset-activation-provider)",
3936
+ "Environment": {
3937
+ "Variables": {
3938
+ "USER_ON_EVENT_FUNCTION_ARN": {
3939
+ "Fn::GetAtt": [
3940
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
3941
+ "Arn"
3942
+ ]
3943
+ },
3944
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
3945
+ "Fn::GetAtt": [
3946
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
3947
+ "Arn"
3948
+ ]
3949
+ }
3950
+ }
3951
+ },
3952
+ "Handler": "framework.isComplete",
3953
+ "Role": {
3954
+ "Fn::GetAtt": [
3955
+ "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteServiceRoleCFD6EE46",
3956
+ "Arn"
3957
+ ]
3958
+ },
3959
+ "Runtime": "nodejs18.x",
3960
+ "Timeout": 900
3961
+ },
3962
+ "DependsOn": [
3963
+ "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteServiceRoleDefaultPolicy8A8828E7",
3964
+ "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteServiceRoleCFD6EE46"
3965
+ ],
3966
+ "Metadata": {
3967
+ "cdk_nag": {
3968
+ "rules_to_suppress": [
3969
+ {
3970
+ "reason": "no service role restriction needed",
3971
+ "id": "AwsSolutions-IAM4"
3972
+ },
3973
+ {
3974
+ "reason": "wildcards are ok for the provider as the function has restrictions",
3975
+ "id": "AwsSolutions-IAM5"
3976
+ }
3977
+ ]
3978
+ }
3979
+ }
3980
+ },
3981
+ "rootmailsesreceiptrulesetactivationproviderframeworkisCompleteLogRetention13DDD3A2": {
3982
+ "Type": "Custom::LogRetention",
3983
+ "Properties": {
3984
+ "ServiceToken": {
3985
+ "Fn::GetAtt": [
3986
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
3987
+ "Arn"
3988
+ ]
3989
+ },
3990
+ "LogGroupName": {
3991
+ "Fn::Join": [
3992
+ "",
3993
+ [
3994
+ "/aws/lambda/",
3995
+ {
3996
+ "Ref": "rootmailsesreceiptrulesetactivationproviderframeworkisComplete17519146"
3997
+ }
3998
+ ]
3999
+ ]
4000
+ },
4001
+ "RetentionInDays": 3
4002
+ },
4003
+ "Metadata": {
4004
+ "cdk_nag": {
4005
+ "rules_to_suppress": [
4006
+ {
4007
+ "reason": "no service role restriction needed",
4008
+ "id": "AwsSolutions-IAM4"
4009
+ },
4010
+ {
4011
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4012
+ "id": "AwsSolutions-IAM5"
4013
+ }
4014
+ ]
4015
+ }
4016
+ }
4017
+ },
4018
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutServiceRole845C2519": {
4019
+ "Type": "AWS::IAM::Role",
4020
+ "Properties": {
4021
+ "AssumeRolePolicyDocument": {
4022
+ "Statement": [
4023
+ {
4024
+ "Action": "sts:AssumeRole",
4025
+ "Effect": "Allow",
4026
+ "Principal": {
4027
+ "Service": "lambda.amazonaws.com"
4028
+ }
4029
+ }
4030
+ ],
4031
+ "Version": "2012-10-17"
4032
+ },
4033
+ "ManagedPolicyArns": [
4034
+ {
4035
+ "Fn::Join": [
4036
+ "",
4037
+ [
4038
+ "arn:",
4039
+ {
4040
+ "Ref": "AWS::Partition"
4041
+ },
4042
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
4043
+ ]
4044
+ ]
4045
+ }
4046
+ ]
4047
+ },
4048
+ "Metadata": {
4049
+ "cdk_nag": {
4050
+ "rules_to_suppress": [
4051
+ {
4052
+ "reason": "no service role restriction needed",
4053
+ "id": "AwsSolutions-IAM4"
4054
+ },
4055
+ {
4056
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4057
+ "id": "AwsSolutions-IAM5"
4058
+ }
4059
+ ]
4060
+ }
4061
+ }
4062
+ },
4063
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutServiceRoleDefaultPolicy8A4A1F2A": {
4064
+ "Type": "AWS::IAM::Policy",
4065
+ "Properties": {
4066
+ "PolicyDocument": {
4067
+ "Statement": [
4068
+ {
4069
+ "Action": "lambda:InvokeFunction",
4070
+ "Effect": "Allow",
4071
+ "Resource": [
4072
+ {
4073
+ "Fn::GetAtt": [
4074
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
4075
+ "Arn"
4076
+ ]
4077
+ },
4078
+ {
4079
+ "Fn::GetAtt": [
4080
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
4081
+ "Arn"
4082
+ ]
4083
+ },
4084
+ {
4085
+ "Fn::Join": [
4086
+ "",
4087
+ [
4088
+ {
4089
+ "Fn::GetAtt": [
4090
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
4091
+ "Arn"
4092
+ ]
4093
+ },
4094
+ ":*"
4095
+ ]
4096
+ ]
4097
+ },
4098
+ {
4099
+ "Fn::Join": [
4100
+ "",
4101
+ [
4102
+ {
4103
+ "Fn::GetAtt": [
4104
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
4105
+ "Arn"
4106
+ ]
4107
+ },
4108
+ ":*"
4109
+ ]
4110
+ ]
4111
+ }
4112
+ ]
4113
+ }
4114
+ ],
4115
+ "Version": "2012-10-17"
4116
+ },
4117
+ "PolicyName": "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutServiceRoleDefaultPolicy8A4A1F2A",
4118
+ "Roles": [
4119
+ {
4120
+ "Ref": "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutServiceRole845C2519"
4121
+ }
4122
+ ]
4123
+ },
4124
+ "Metadata": {
4125
+ "cdk_nag": {
4126
+ "rules_to_suppress": [
4127
+ {
4128
+ "reason": "no service role restriction needed",
4129
+ "id": "AwsSolutions-IAM4"
4130
+ },
4131
+ {
4132
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4133
+ "id": "AwsSolutions-IAM5"
4134
+ }
4135
+ ]
4136
+ }
4137
+ }
4138
+ },
4139
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeout85CF91B9": {
4140
+ "Type": "AWS::Lambda::Function",
4141
+ "Properties": {
4142
+ "Code": {
4143
+ "S3Bucket": {
4144
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
4145
+ },
4146
+ "S3Key": "f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf.zip"
4147
+ },
4148
+ "Description": "AWS CDK resource provider framework - onTimeout (RootmailIntegTestStack/rootmail.ses-receipt-ruleset-activation-provider/ses-receipt-ruleset-activation-provider)",
4149
+ "Environment": {
4150
+ "Variables": {
4151
+ "USER_ON_EVENT_FUNCTION_ARN": {
4152
+ "Fn::GetAtt": [
4153
+ "rootmailsesreceiptrulesetactivationprovideroneventhandler8E245877",
4154
+ "Arn"
4155
+ ]
4156
+ },
4157
+ "USER_IS_COMPLETE_FUNCTION_ARN": {
4158
+ "Fn::GetAtt": [
4159
+ "rootmailsesreceiptrulesetactivationprovideriscompletehandler676C1A14",
4160
+ "Arn"
4161
+ ]
4162
+ }
4163
+ }
4164
+ },
4165
+ "Handler": "framework.onTimeout",
4166
+ "Role": {
4167
+ "Fn::GetAtt": [
4168
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutServiceRole845C2519",
4169
+ "Arn"
4170
+ ]
4171
+ },
4172
+ "Runtime": "nodejs18.x",
4173
+ "Timeout": 900
4174
+ },
4175
+ "DependsOn": [
4176
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutServiceRoleDefaultPolicy8A4A1F2A",
4177
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutServiceRole845C2519"
4178
+ ],
4179
+ "Metadata": {
4180
+ "cdk_nag": {
4181
+ "rules_to_suppress": [
4182
+ {
4183
+ "reason": "no service role restriction needed",
4184
+ "id": "AwsSolutions-IAM4"
4185
+ },
4186
+ {
4187
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4188
+ "id": "AwsSolutions-IAM5"
4189
+ }
4190
+ ]
4191
+ }
4192
+ }
4193
+ },
4194
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeoutLogRetention5763AF42": {
4195
+ "Type": "Custom::LogRetention",
4196
+ "Properties": {
4197
+ "ServiceToken": {
4198
+ "Fn::GetAtt": [
4199
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
4200
+ "Arn"
4201
+ ]
4202
+ },
4203
+ "LogGroupName": {
4204
+ "Fn::Join": [
4205
+ "",
4206
+ [
4207
+ "/aws/lambda/",
4208
+ {
4209
+ "Ref": "rootmailsesreceiptrulesetactivationproviderframeworkonTimeout85CF91B9"
4210
+ }
4211
+ ]
4212
+ ]
4213
+ },
4214
+ "RetentionInDays": 3
4215
+ },
4216
+ "Metadata": {
4217
+ "cdk_nag": {
4218
+ "rules_to_suppress": [
4219
+ {
4220
+ "reason": "no service role restriction needed",
4221
+ "id": "AwsSolutions-IAM4"
4222
+ },
4223
+ {
4224
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4225
+ "id": "AwsSolutions-IAM5"
4226
+ }
4227
+ ]
4228
+ }
4229
+ }
4230
+ },
4231
+ "rootmailsesreceiptrulesetactivationproviderwaiterstatemachineRole069EB2EA": {
4232
+ "Type": "AWS::IAM::Role",
4233
+ "Properties": {
4234
+ "AssumeRolePolicyDocument": {
4235
+ "Statement": [
4236
+ {
4237
+ "Action": "sts:AssumeRole",
4238
+ "Effect": "Allow",
4239
+ "Principal": {
4240
+ "Service": "states.amazonaws.com"
4241
+ }
4242
+ }
4243
+ ],
4244
+ "Version": "2012-10-17"
4245
+ }
4246
+ },
4247
+ "Metadata": {
4248
+ "cdk_nag": {
4249
+ "rules_to_suppress": [
4250
+ {
4251
+ "reason": "no service role restriction needed",
4252
+ "id": "AwsSolutions-IAM4"
4253
+ },
4254
+ {
4255
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4256
+ "id": "AwsSolutions-IAM5"
4257
+ }
4258
+ ]
4259
+ }
4260
+ }
4261
+ },
4262
+ "rootmailsesreceiptrulesetactivationproviderwaiterstatemachineRoleDefaultPolicy64767BAC": {
4263
+ "Type": "AWS::IAM::Policy",
4264
+ "Properties": {
4265
+ "PolicyDocument": {
4266
+ "Statement": [
4267
+ {
4268
+ "Action": "lambda:InvokeFunction",
4269
+ "Effect": "Allow",
4270
+ "Resource": [
4271
+ {
4272
+ "Fn::GetAtt": [
4273
+ "rootmailsesreceiptrulesetactivationproviderframeworkisComplete17519146",
4274
+ "Arn"
4275
+ ]
4276
+ },
4277
+ {
4278
+ "Fn::GetAtt": [
4279
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeout85CF91B9",
4280
+ "Arn"
4281
+ ]
4282
+ },
4283
+ {
4284
+ "Fn::Join": [
4285
+ "",
4286
+ [
4287
+ {
4288
+ "Fn::GetAtt": [
4289
+ "rootmailsesreceiptrulesetactivationproviderframeworkisComplete17519146",
4290
+ "Arn"
4291
+ ]
4292
+ },
4293
+ ":*"
4294
+ ]
4295
+ ]
4296
+ },
4297
+ {
4298
+ "Fn::Join": [
4299
+ "",
4300
+ [
4301
+ {
4302
+ "Fn::GetAtt": [
4303
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeout85CF91B9",
4304
+ "Arn"
4305
+ ]
4306
+ },
4307
+ ":*"
4308
+ ]
4309
+ ]
4310
+ }
4311
+ ]
4312
+ }
4313
+ ],
4314
+ "Version": "2012-10-17"
4315
+ },
4316
+ "PolicyName": "rootmailsesreceiptrulesetactivationproviderwaiterstatemachineRoleDefaultPolicy64767BAC",
4317
+ "Roles": [
4318
+ {
4319
+ "Ref": "rootmailsesreceiptrulesetactivationproviderwaiterstatemachineRole069EB2EA"
4320
+ }
4321
+ ]
4322
+ },
4323
+ "Metadata": {
4324
+ "cdk_nag": {
4325
+ "rules_to_suppress": [
4326
+ {
4327
+ "reason": "no service role restriction needed",
4328
+ "id": "AwsSolutions-IAM4"
4329
+ },
4330
+ {
4331
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4332
+ "id": "AwsSolutions-IAM5"
4333
+ }
4334
+ ]
4335
+ }
4336
+ }
4337
+ },
4338
+ "rootmailsesreceiptrulesetactivationproviderwaiterstatemachine93794458": {
4339
+ "Type": "AWS::StepFunctions::StateMachine",
4340
+ "Properties": {
4341
+ "DefinitionString": {
4342
+ "Fn::Join": [
4343
+ "",
4344
+ [
4345
+ "{\"StartAt\":\"framework-isComplete-task\",\"States\":{\"framework-isComplete-task\":{\"End\":true,\"Retry\":[{\"ErrorEquals\":[\"States.ALL\"],\"IntervalSeconds\":10,\"MaxAttempts\":12,\"BackoffRate\":1}],\"Catch\":[{\"ErrorEquals\":[\"States.ALL\"],\"Next\":\"framework-onTimeout-task\"}],\"Type\":\"Task\",\"Resource\":\"",
4346
+ {
4347
+ "Fn::GetAtt": [
4348
+ "rootmailsesreceiptrulesetactivationproviderframeworkisComplete17519146",
4349
+ "Arn"
4350
+ ]
4351
+ },
4352
+ "\"},\"framework-onTimeout-task\":{\"End\":true,\"Type\":\"Task\",\"Resource\":\"",
4353
+ {
4354
+ "Fn::GetAtt": [
4355
+ "rootmailsesreceiptrulesetactivationproviderframeworkonTimeout85CF91B9",
4356
+ "Arn"
4357
+ ]
4358
+ },
4359
+ "\"}}}"
4360
+ ]
4361
+ ]
4362
+ },
4363
+ "RoleArn": {
4364
+ "Fn::GetAtt": [
4365
+ "rootmailsesreceiptrulesetactivationproviderwaiterstatemachineRole069EB2EA",
4366
+ "Arn"
4367
+ ]
4368
+ }
4369
+ },
4370
+ "DependsOn": [
4371
+ "rootmailsesreceiptrulesetactivationproviderwaiterstatemachineRoleDefaultPolicy64767BAC",
4372
+ "rootmailsesreceiptrulesetactivationproviderwaiterstatemachineRole069EB2EA"
4373
+ ],
4374
+ "Metadata": {
4375
+ "cdk_nag": {
4376
+ "rules_to_suppress": [
4377
+ {
4378
+ "reason": "no service role restriction needed",
4379
+ "id": "AwsSolutions-IAM4"
4380
+ },
4381
+ {
4382
+ "reason": "wildcards are ok for the provider as the function has restrictions",
4383
+ "id": "AwsSolutions-IAM5"
4384
+ }
4385
+ ]
4386
+ }
4387
+ }
4388
+ },
4389
+ "sendemailhandlerServiceRole7A142BD3": {
4390
+ "Type": "AWS::IAM::Role",
4391
+ "Properties": {
4392
+ "AssumeRolePolicyDocument": {
4393
+ "Statement": [
4394
+ {
4395
+ "Action": "sts:AssumeRole",
4396
+ "Effect": "Allow",
4397
+ "Principal": {
4398
+ "Service": "lambda.amazonaws.com"
4399
+ }
4400
+ }
4401
+ ],
4402
+ "Version": "2012-10-17"
4403
+ },
4404
+ "ManagedPolicyArns": [
4405
+ {
4406
+ "Fn::Join": [
4407
+ "",
4408
+ [
4409
+ "arn:",
4410
+ {
4411
+ "Ref": "AWS::Partition"
4412
+ },
4413
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
4414
+ ]
4415
+ ]
4416
+ }
4417
+ ]
4418
+ }
4419
+ },
4420
+ "sendemailhandlerServiceRoleDefaultPolicyEB76CF3B": {
4421
+ "Type": "AWS::IAM::Policy",
4422
+ "Properties": {
4423
+ "PolicyDocument": {
4424
+ "Statement": [
4425
+ {
4426
+ "Action": [
4427
+ "ses:DescribeReceiptRule",
4428
+ "ses:SendEmail"
4429
+ ],
4430
+ "Effect": "Allow",
4431
+ "Resource": "*"
4432
+ }
4433
+ ],
4434
+ "Version": "2012-10-17"
4435
+ },
4436
+ "PolicyName": "sendemailhandlerServiceRoleDefaultPolicyEB76CF3B",
4437
+ "Roles": [
4438
+ {
4439
+ "Ref": "sendemailhandlerServiceRole7A142BD3"
4440
+ }
4441
+ ]
4442
+ }
4443
+ },
4444
+ "sendemailhandler05B16DE5": {
4445
+ "Type": "AWS::Lambda::Function",
4446
+ "Properties": {
4447
+ "Code": {
4448
+ "S3Bucket": {
4449
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
4450
+ },
4451
+ "S3Key": "d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855.zip"
4452
+ },
4453
+ "Environment": {
4454
+ "Variables": {
4455
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
4456
+ }
4457
+ },
4458
+ "Handler": "index.handler",
4459
+ "Role": {
4460
+ "Fn::GetAtt": [
4461
+ "sendemailhandlerServiceRole7A142BD3",
4462
+ "Arn"
4463
+ ]
4464
+ },
4465
+ "Runtime": "nodejs18.x",
4466
+ "Timeout": 30
4467
+ },
4468
+ "DependsOn": [
4469
+ "sendemailhandlerServiceRoleDefaultPolicyEB76CF3B",
4470
+ "sendemailhandlerServiceRole7A142BD3"
4471
+ ]
4472
+ },
4473
+ "sendemailhandlerLogRetentionDBC033F7": {
4474
+ "Type": "Custom::LogRetention",
4475
+ "Properties": {
4476
+ "ServiceToken": {
4477
+ "Fn::GetAtt": [
4478
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A",
4479
+ "Arn"
4480
+ ]
4481
+ },
4482
+ "LogGroupName": {
4483
+ "Fn::Join": [
4484
+ "",
4485
+ [
4486
+ "/aws/lambda/",
4487
+ {
4488
+ "Ref": "sendemailhandler05B16DE5"
4489
+ }
4490
+ ]
4491
+ ]
4492
+ },
4493
+ "RetentionInDays": 1
4494
+ }
4495
+ }
4496
+ },
4497
+ "Outputs": {
4498
+ "ExportsOutputRefsendemailhandler05B16DE5F96FA757": {
4499
+ "Value": {
4500
+ "Ref": "sendemailhandler05B16DE5"
4501
+ },
4502
+ "Export": {
4503
+ "Name": "RootmailIntegTestStack:ExportsOutputRefsendemailhandler05B16DE5F96FA757"
4504
+ }
4505
+ }
4506
+ },
4507
+ "Parameters": {
4508
+ "BootstrapVersion": {
4509
+ "Type": "AWS::SSM::Parameter::Value<String>",
4510
+ "Default": "/cdk-bootstrap/hnb659fds/version",
4511
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
4512
+ }
4513
+ },
4514
+ "Rules": {
4515
+ "CheckBootstrapVersion": {
4516
+ "Assertions": [
4517
+ {
4518
+ "Assert": {
4519
+ "Fn::Not": [
4520
+ {
4521
+ "Fn::Contains": [
4522
+ [
4523
+ "1",
4524
+ "2",
4525
+ "3",
4526
+ "4",
4527
+ "5"
4528
+ ],
4529
+ {
4530
+ "Ref": "BootstrapVersion"
4531
+ }
4532
+ ]
4533
+ }
4534
+ ]
4535
+ },
4536
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
4537
+ }
4538
+ ]
4539
+ }
4540
+ }
4541
+ }