@mavogel/awscdk-rootmail 0.0.225 → 0.0.227

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