@mavogel/awscdk-rootmail 0.0.290 → 0.0.291

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 (99) hide show
  1. package/.jsii +589 -84
  2. package/.prettierrc +0 -0
  3. package/API.md +49 -5
  4. package/CONTRIBUTING.md +13 -2
  5. package/README.md +8 -0
  6. package/integ-tests/functions/cleanup-handler.ts +2 -2
  7. package/integ-tests/functions/close-opsitem-handler.ts +5 -7
  8. package/integ-tests/functions/send-email-handler.ts +3 -5
  9. package/integ-tests/integ.rootmail-custom-santa.ts +2 -20
  10. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +15 -15
  11. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +435 -65
  12. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +6 -6
  13. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +137 -5
  14. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
  15. package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855 → integ.rootmail-custom-santa.ts.snapshot/asset.2b86f8b255c50c6eba274c368849bab1c7a3747c30ef5df4c96f8dea8fffa21e}/index.js +3 -3
  16. package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.9ac6d29f0cc4b20ec46e4c186d9a6f6448c7ea11b689e70a5dda69671a9d6848 → integ.rootmail-custom-santa.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9}/index.js +63 -60
  17. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +1 -0
  18. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +3 -0
  19. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +1 -0
  20. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/util.js +1 -0
  21. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle → asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle}/index.js +22701 -24111
  22. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +2 -2
  23. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +35 -3
  24. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +782 -424
  25. package/integ-tests/integ.rootmail-filter-subject.ts +2 -20
  26. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.assets.json +15 -15
  27. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.template.json +435 -65
  28. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +6 -6
  29. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +137 -5
  30. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
  31. package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855 → integ.rootmail-filter-subject.ts.snapshot/asset.2b86f8b255c50c6eba274c368849bab1c7a3747c30ef5df4c96f8dea8fffa21e}/index.js +3 -3
  32. package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.9ac6d29f0cc4b20ec46e4c186d9a6f6448c7ea11b689e70a5dda69671a9d6848 → integ.rootmail-filter-subject.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9}/index.js +63 -60
  33. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +1 -0
  34. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +3 -0
  35. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +1 -0
  36. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/util.js +1 -0
  37. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle → asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle}/index.js +22701 -24111
  38. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/integ.json +2 -2
  39. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/manifest.json +35 -3
  40. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/tree.json +782 -424
  41. package/integ-tests/integ.rootmail.ts +4 -30
  42. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.assets.json +18 -18
  43. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.template.json +437 -72
  44. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +6 -6
  45. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +139 -7
  46. package/integ-tests/integ.rootmail.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
  47. package/integ-tests/integ.rootmail.ts.snapshot/{asset.d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855 → asset.2b86f8b255c50c6eba274c368849bab1c7a3747c30ef5df4c96f8dea8fffa21e}/index.js +3 -3
  48. package/integ-tests/integ.rootmail.ts.snapshot/{asset.070f758ea9c89b8ceea9bb5141ea511633e1d72ab992b608da4efb3d6eeb2ba5 → asset.6ae1d1fcc0e69b0216c406dcb73136e88857dfc9a29784c57838e1fb0f9f7496}/index.js +5 -5
  49. package/integ-tests/integ.rootmail.ts.snapshot/{asset.adf960437fc6c552bee317e122c1e6839152590b199f7c44c0eee7bfbb744187 → asset.8621467f8f2410fb7445cc07fab37b2e996e541b6f7acb8549df9e88e1def73c}/index.js +63 -60
  50. package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +1 -0
  51. package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +3 -0
  52. package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +1 -0
  53. package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/util.js +1 -0
  54. package/integ-tests/integ.rootmail.ts.snapshot/{asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle → asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle}/index.js +22701 -24111
  55. package/integ-tests/integ.rootmail.ts.snapshot/integ.json +2 -2
  56. package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +35 -3
  57. package/integ-tests/integ.rootmail.ts.snapshot/tree.json +798 -445
  58. package/lib/hosted-zone-dkim-propagation.js +1 -11
  59. package/lib/hosted-zone-dkim-verification-records.js +1 -6
  60. package/lib/rootmail-autowire-dns.js +1 -11
  61. package/lib/rootmail.d.ts +15 -1
  62. package/lib/rootmail.js +5 -2
  63. package/lib/ses-receipt-ruleset-activation.js +1 -11
  64. package/lib/ses-receive.d.ts +12 -0
  65. package/lib/ses-receive.js +5 -7
  66. package/node_modules/cdk-nag/.jsii +2 -2
  67. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  68. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  69. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  70. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  71. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  72. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  73. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  74. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  75. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  76. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  77. package/node_modules/cdk-nag/package.json +2 -2
  78. package/package.json +25 -21
  79. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.d.ts +0 -14
  80. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.js +0 -1
  81. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/cfn-response.js +0 -1
  82. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/framework.js +0 -3
  83. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/outbound.js +0 -1
  84. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/util.js +0 -1
  85. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.d.ts +0 -14
  86. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.js +0 -1
  87. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/cfn-response.js +0 -1
  88. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/framework.js +0 -3
  89. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/outbound.js +0 -1
  90. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/util.js +0 -1
  91. package/integ-tests/integ.rootmail.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.d.ts +0 -14
  92. package/integ-tests/integ.rootmail.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.js +0 -1
  93. package/integ-tests/integ.rootmail.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/cfn-response.js +0 -1
  94. package/integ-tests/integ.rootmail.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/framework.js +0 -3
  95. package/integ-tests/integ.rootmail.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/outbound.js +0 -1
  96. package/integ-tests/integ.rootmail.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/util.js +0 -1
  97. /package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf → asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/consts.js +0 -0
  98. /package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf → asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/consts.js +0 -0
  99. /package/integ-tests/integ.rootmail.ts.snapshot/{asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf → asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca}/consts.js +0 -0
@@ -1,20 +1,20 @@
1
1
  {
2
- "version": "33.0.0",
2
+ "version": "39.0.0",
3
3
  "files": {
4
- "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978": {
4
+ "f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd": {
5
5
  "source": {
6
- "path": "asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle",
6
+ "path": "asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle",
7
7
  "packaging": "zip"
8
8
  },
9
9
  "destinations": {
10
10
  "current_account-current_region": {
11
11
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
12
- "objectKey": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip",
12
+ "objectKey": "f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.zip",
13
13
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
14
14
  }
15
15
  }
16
16
  },
17
- "759fc0488326a38876c58f8b445465602c77accb7731350b467a899fc52c4ad4": {
17
+ "897c80f8cf82f2bcf61298cf2a72288ace9a5c15af4be5dae786b4fb0fbb9e19": {
18
18
  "source": {
19
19
  "path": "SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json",
20
20
  "packaging": "file"
@@ -22,7 +22,7 @@
22
22
  "destinations": {
23
23
  "current_account-current_region": {
24
24
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25
- "objectKey": "759fc0488326a38876c58f8b445465602c77accb7731350b467a899fc52c4ad4.json",
25
+ "objectKey": "897c80f8cf82f2bcf61298cf2a72288ace9a5c15af4be5dae786b4fb0fbb9e19.json",
26
26
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
27
27
  }
28
28
  }
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "service": "Lambda",
13
13
  "api": "invoke",
14
- "expected": "{\"$ObjectLike\":{\"Payload\":{\"sendStatusCode\":200}}}",
14
+ "expected": "{\"$ObjectLike\":{\"Payload\":\"\\\"OK\\\"\"}}",
15
15
  "parameters": {
16
16
  "FunctionName": {
17
17
  "Fn::Join": [
@@ -45,7 +45,7 @@
45
45
  }
46
46
  },
47
47
  "flattenResponse": "false",
48
- "salt": "1736073241599"
48
+ "salt": "1739027385662"
49
49
  },
50
50
  "DependsOn": [
51
51
  "AwsApiCallSSMgetParameterd4c847c906a9dd9484fbf0d62db16d9b"
@@ -195,12 +195,20 @@
195
195
  "SingletonFunction1488541a7b23466481b69b4408076b81HandlerCD40AE9F": {
196
196
  "Type": "AWS::Lambda::Function",
197
197
  "Properties": {
198
- "Runtime": "nodejs18.x",
198
+ "Runtime": {
199
+ "Fn::FindInMap": [
200
+ "LatestNodeRuntimeMap",
201
+ {
202
+ "Ref": "AWS::Region"
203
+ },
204
+ "value"
205
+ ]
206
+ },
199
207
  "Code": {
200
208
  "S3Bucket": {
201
209
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
202
210
  },
203
- "S3Key": "53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.zip"
211
+ "S3Key": "f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.zip"
204
212
  },
205
213
  "Timeout": 120,
206
214
  "Handler": "index.handler",
@@ -223,7 +231,7 @@
223
231
  },
224
232
  "service": "Lambda",
225
233
  "api": "invoke",
226
- "expected": "{\"$ObjectLike\":{\"Payload\":{\"closeStatusCode\":200}}}",
234
+ "expected": "{\"$ObjectLike\":{\"Payload\":\"\\\"OK\\\"\"}}",
227
235
  "parameters": {
228
236
  "FunctionName": {
229
237
  "Fn::Join": [
@@ -253,7 +261,7 @@
253
261
  }
254
262
  },
255
263
  "flattenResponse": "false",
256
- "salt": "1736073241600"
264
+ "salt": "1739027385663"
257
265
  },
258
266
  "DependsOn": [
259
267
  "LambdaInvoke683c845d9bea165a967a76b79d7da1c1",
@@ -297,7 +305,7 @@
297
305
  "Name": "\"/rootmail/domain_name_servers\""
298
306
  },
299
307
  "flattenResponse": "false",
300
- "salt": "1736073241600"
308
+ "salt": "1739027385663"
301
309
  },
302
310
  "UpdateReplacePolicy": "Delete",
303
311
  "DeletionPolicy": "Delete"
@@ -329,6 +337,130 @@
329
337
  }
330
338
  }
331
339
  },
340
+ "Mappings": {
341
+ "LatestNodeRuntimeMap": {
342
+ "af-south-1": {
343
+ "value": "nodejs20.x"
344
+ },
345
+ "ap-east-1": {
346
+ "value": "nodejs20.x"
347
+ },
348
+ "ap-northeast-1": {
349
+ "value": "nodejs20.x"
350
+ },
351
+ "ap-northeast-2": {
352
+ "value": "nodejs20.x"
353
+ },
354
+ "ap-northeast-3": {
355
+ "value": "nodejs20.x"
356
+ },
357
+ "ap-south-1": {
358
+ "value": "nodejs20.x"
359
+ },
360
+ "ap-south-2": {
361
+ "value": "nodejs20.x"
362
+ },
363
+ "ap-southeast-1": {
364
+ "value": "nodejs20.x"
365
+ },
366
+ "ap-southeast-2": {
367
+ "value": "nodejs20.x"
368
+ },
369
+ "ap-southeast-3": {
370
+ "value": "nodejs20.x"
371
+ },
372
+ "ap-southeast-4": {
373
+ "value": "nodejs20.x"
374
+ },
375
+ "ap-southeast-5": {
376
+ "value": "nodejs20.x"
377
+ },
378
+ "ap-southeast-7": {
379
+ "value": "nodejs20.x"
380
+ },
381
+ "ca-central-1": {
382
+ "value": "nodejs20.x"
383
+ },
384
+ "ca-west-1": {
385
+ "value": "nodejs20.x"
386
+ },
387
+ "cn-north-1": {
388
+ "value": "nodejs18.x"
389
+ },
390
+ "cn-northwest-1": {
391
+ "value": "nodejs18.x"
392
+ },
393
+ "eu-central-1": {
394
+ "value": "nodejs20.x"
395
+ },
396
+ "eu-central-2": {
397
+ "value": "nodejs20.x"
398
+ },
399
+ "eu-isoe-west-1": {
400
+ "value": "nodejs18.x"
401
+ },
402
+ "eu-north-1": {
403
+ "value": "nodejs20.x"
404
+ },
405
+ "eu-south-1": {
406
+ "value": "nodejs20.x"
407
+ },
408
+ "eu-south-2": {
409
+ "value": "nodejs20.x"
410
+ },
411
+ "eu-west-1": {
412
+ "value": "nodejs20.x"
413
+ },
414
+ "eu-west-2": {
415
+ "value": "nodejs20.x"
416
+ },
417
+ "eu-west-3": {
418
+ "value": "nodejs20.x"
419
+ },
420
+ "il-central-1": {
421
+ "value": "nodejs20.x"
422
+ },
423
+ "me-central-1": {
424
+ "value": "nodejs20.x"
425
+ },
426
+ "me-south-1": {
427
+ "value": "nodejs20.x"
428
+ },
429
+ "mx-central-1": {
430
+ "value": "nodejs20.x"
431
+ },
432
+ "sa-east-1": {
433
+ "value": "nodejs20.x"
434
+ },
435
+ "us-east-1": {
436
+ "value": "nodejs20.x"
437
+ },
438
+ "us-east-2": {
439
+ "value": "nodejs20.x"
440
+ },
441
+ "us-gov-east-1": {
442
+ "value": "nodejs18.x"
443
+ },
444
+ "us-gov-west-1": {
445
+ "value": "nodejs18.x"
446
+ },
447
+ "us-iso-east-1": {
448
+ "value": "nodejs18.x"
449
+ },
450
+ "us-iso-west-1": {
451
+ "value": "nodejs18.x"
452
+ },
453
+ "us-isob-east-1": {
454
+ "value": "nodejs18.x"
455
+ },
456
+ "us-west-1": {
457
+ "value": "nodejs20.x"
458
+ },
459
+ "us-west-2": {
460
+ "value": "nodejs20.x"
461
+ }
462
+ }
463
+ },
332
464
  "Parameters": {
333
465
  "BootstrapVersion": {
334
466
  "Type": "AWS::SSM::Parameter::Value<String>",
@@ -0,0 +1 @@
1
+ "use strict";var h=Object.create,d=Object.defineProperty,P=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,b=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty,E=(e,o)=>{for(var n in o)d(e,n,{get:o[n],enumerable:!0})},p=(e,o,n,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of C(o))!S.call(e,r)&&r!==n&&d(e,r,{get:()=>o[r],enumerable:!(t=P(o,r))||t.enumerable});return e},G=(e,o,n)=>(n=e!=null?h(b(e)):{},p(o||!e||!e.__esModule?d(n,"default",{value:e,enumerable:!0}):n,e)),x=e=>p(d({},"__esModule",{value:!0}),e),O={};E(O,{disableSleepForTesting:()=>I,handler:()=>q}),module.exports=x(O);var i=G(require("@aws-sdk/client-cloudwatch-logs")),w=!1;function I(){w=!0}async function R(e,o,n){await n(async()=>{try{let t={logGroupName:e},r=new i.CreateLogGroupCommand(t);await o.send(r)}catch(t){if(t.name==="ResourceAlreadyExistsException")return;throw t}})}async function k(e,o,n){await n(async()=>{try{let t={logGroupName:e},r=new i.DeleteLogGroupCommand(t);await o.send(r)}catch(t){if(t.name==="ResourceNotFoundException")return;throw t}})}async function y(e,o,n,t){await n(async()=>{if(t){let r={logGroupName:e,retentionInDays:t},s=new i.PutRetentionPolicyCommand(r);await o.send(s)}else{let r={logGroupName:e},s=new i.DeleteRetentionPolicyCommand(r);await o.send(s)}})}async function q(e,o){try{console.log(JSON.stringify({...e,ResponseURL:"..."}));let t=e.ResourceProperties.LogGroupName,r=e.ResourceProperties.LogGroupRegion,s=L(e.ResourceProperties.SdkRetry?.maxRetries)??10,a=N(s),m={logger:console,region:r},c=new i.CloudWatchLogsClient(m);if((e.RequestType==="Create"||e.RequestType==="Update")&&(await R(t,c,a),await y(t,c,a,L(e.ResourceProperties.RetentionInDays)),e.RequestType==="Create")){let g=new i.CloudWatchLogsClient({logger:console,region:process.env.AWS_REGION});await R(`/aws/lambda/${o.functionName}`,g,a),await y(`/aws/lambda/${o.functionName}`,g,a,1)}e.RequestType==="Delete"&&e.ResourceProperties.RemovalPolicy==="destroy"&&await k(t,c,a),await n("SUCCESS","OK",t)}catch(t){console.log(t),await n("FAILED",t.message,e.ResourceProperties.LogGroupName)}function n(t,r,s){let a=JSON.stringify({Status:t,Reason:r,PhysicalResourceId:s,StackId:e.StackId,RequestId:e.RequestId,LogicalResourceId:e.LogicalResourceId,Data:{LogGroupName:e.ResourceProperties.LogGroupName}});console.log("Responding",a);let m=require("url").parse(e.ResponseURL),c={hostname:m.hostname,path:m.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(a,"utf8")}};return new Promise((g,l)=>{try{let u=require("https").request(c,g);u.on("error",l),u.write(a),u.end()}catch(u){l(u)}})}}function L(e,o=10){if(e!==void 0)return parseInt(e,o)}function N(e,o=1e3,n=6e4){return async t=>{let r=0;do try{return await t()}catch(s){if(f("OperationAbortedException",s)||f("ThrottlingException",s))if(r<e){r++,await D(W(r,o,n));continue}else throw new Error("Out of attempts to change log group");throw s}while(!0)}}function f(e,o){return o.name===e||o.message.includes(e)}function W(e,o,n){return Math.min(Math.round(Math.random()*o*2**e),n)}async function D(e){w&&(e=0),await new Promise(o=>setTimeout(o,e))}
@@ -60,20 +60,20 @@ var handler = async (event) => {
60
60
  messageId: res.MessageId,
61
61
  err: `httpStatusCode: ${res.$metadata.httpStatusCode}`
62
62
  });
63
- return { sendStatusCode: 500, err: res.$metadata.httpStatusCode };
63
+ return "NOK";
64
64
  }
65
65
  log({
66
66
  message: "Email sent",
67
67
  params,
68
68
  res
69
69
  });
70
- return { sendStatusCode: 200 };
70
+ return "OK";
71
71
  } catch (err) {
72
72
  log({
73
73
  message: "Error (catch) sending email",
74
74
  err
75
75
  });
76
- return { sendStatusCode: 500, err };
76
+ return "NOK";
77
77
  }
78
78
  };
79
79
  function log(msg) {
@@ -97,7 +97,7 @@ var handler = async (event) => {
97
97
  log({
98
98
  message: "opsItem undefined"
99
99
  });
100
- return { closeStatusCode: 500 };
100
+ return "NOK";
101
101
  }
102
102
  log({
103
103
  message: "Got opsItem",
@@ -114,7 +114,7 @@ var handler = async (event) => {
114
114
  expected: `title: '${title}', source: '${source}', description: '${description}'`,
115
115
  got: `title: '${opsItemTitle}', source: '${opsItemSource}', description: '${opsItemDescription}'`
116
116
  });
117
- return { closeStatusCode: 500 };
117
+ return "NOK";
118
118
  }
119
119
  const resUpdate = await ssm.updateOpsItem({
120
120
  OpsItemId: opsItemId,
@@ -126,7 +126,7 @@ var handler = async (event) => {
126
126
  title,
127
127
  err: `httpStatusCode: ${resUpdate.$metadata.httpStatusCode}`
128
128
  });
129
- return { closeStatusCode: 500, err: resUpdate.$metadata.httpStatusCode };
129
+ return "NOK";
130
130
  }
131
131
  log({
132
132
  message: "Updated opsItem",
@@ -134,13 +134,13 @@ var handler = async (event) => {
134
134
  id: opsItemId,
135
135
  res: resUpdate
136
136
  });
137
- return { closeStatusCode: 200 };
137
+ return "OK";
138
138
  } catch (err) {
139
139
  log({
140
140
  message: "Error (catch) getting and closing opsItem",
141
141
  err
142
142
  });
143
- return { closeStatusCode: 500, err };
143
+ return "NOK";
144
144
  }
145
145
  };
146
146
  function log(msg) {