@mavogel/awscdk-rootmail 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.jsii +57 -19
  2. package/API.md +117 -2
  3. package/README.md +91 -2
  4. package/docs/img/cloudformation-tpl-min.png +0 -0
  5. package/integ-tests/functions/custom-ses-receive-function.ts +92 -0
  6. package/integ-tests/integ.rootmail-custom-santa.ts +143 -0
  7. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +162 -0
  8. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +4541 -0
  9. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +32 -0
  10. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +249 -0
  11. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.0649b5bfaa322d6bd173d2daef3177389cf0778b556b300ac6bf451704cc3a49/index.js +37981 -0
  12. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60/index.js +106 -0
  13. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196/index.js +215 -0
  14. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js +31981 -0
  15. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.d.ts +14 -0
  16. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.js +1 -0
  17. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377/index.js +61 -0
  18. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5/index.js +83 -0
  19. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438/index.js +47 -0
  20. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.b8448324ef2c7d5bfa362722df2d397079d5aabaae2749f09180ac5bedfa5c89/index.js +105 -0
  21. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855/index.js +85 -0
  22. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/cfn-response.js +1 -0
  23. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/consts.js +1 -0
  24. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/framework.js +3 -0
  25. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/outbound.js +1 -0
  26. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/util.js +1 -0
  27. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.f9b17c134d24cf60e1d26c033b5f4f247b759149619ac0aac341b950a10ccf14/index.js +72 -0
  28. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +27 -0
  29. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +742 -0
  30. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +5893 -0
  31. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +2 -2
  32. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +3 -3
  33. package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +1 -1
  34. package/lib/index-cli-synth.js +22 -11
  35. package/lib/index.js +2 -1
  36. package/lib/rootmail.d.ts +5 -1
  37. package/lib/rootmail.js +3 -2
  38. package/lib/scripts/publish-assets.js +18 -22
  39. package/lib/ses-receive.d.ts +5 -1
  40. package/lib/ses-receive.js +36 -14
  41. package/package.json +11 -6
@@ -14,7 +14,7 @@
14
14
  }
15
15
  }
16
16
  },
17
- "e62d7ff7356974f31ec01ec1659cfc32d02046ed9a5de5f5d77de3e9f6166d2c": {
17
+ "3c319bbdb9ad02954c2bf2dd8462fcec43716ff75a9b9bb053439e3851f2f0be": {
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": "e62d7ff7356974f31ec01ec1659cfc32d02046ed9a5de5f5d77de3e9f6166d2c.json",
25
+ "objectKey": "3c319bbdb9ad02954c2bf2dd8462fcec43716ff75a9b9bb053439e3851f2f0be.json",
26
26
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
27
27
  }
28
28
  }
@@ -45,7 +45,7 @@
45
45
  }
46
46
  },
47
47
  "flattenResponse": "false",
48
- "salt": "1707984449791"
48
+ "salt": "1708190525437"
49
49
  },
50
50
  "DependsOn": [
51
51
  "AwsApiCallSSMgetParameterd4c847c906a9dd9484fbf0d62db16d9b"
@@ -253,7 +253,7 @@
253
253
  }
254
254
  },
255
255
  "flattenResponse": "false",
256
- "salt": "1707984449791"
256
+ "salt": "1708190525438"
257
257
  },
258
258
  "DependsOn": [
259
259
  "LambdaInvoke683c845d9bea165a967a76b79d7da1c1",
@@ -297,7 +297,7 @@
297
297
  "Name": "\"/rootmail/domain_name_servers\""
298
298
  },
299
299
  "flattenResponse": "false",
300
- "salt": "1707984449791"
300
+ "salt": "1708190525438"
301
301
  },
302
302
  "UpdateReplacePolicy": "Delete",
303
303
  "DeletionPolicy": "Delete"
@@ -670,7 +670,7 @@
670
670
  "validateOnSynth": false,
671
671
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
672
672
  "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
673
- "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e62d7ff7356974f31ec01ec1659cfc32d02046ed9a5de5f5d77de3e9f6166d2c.json",
673
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3c319bbdb9ad02954c2bf2dd8462fcec43716ff75a9b9bb053439e3851f2f0be.json",
674
674
  "requiresBootstrapStackVersion": 6,
675
675
  "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
676
676
  "additionalDependencies": [
@@ -39,19 +39,30 @@ class RootmailStack extends aws_cdk_lib_1.Stack {
39
39
  });
40
40
  }
41
41
  }
42
- let rootmailVersion = process.env.ROOTMAIL_VERSION;
43
- if (!process.env.ROOTMAIL_VERSION || process.env.ROOTMAIL_VERSION === '') {
44
- console.log('ROOTMAIL_VERSION is not set. Using default \'0.0.0-DEVELOPMENT\'');
45
- rootmailVersion = '0.0.0-DEVELOPMENT';
42
+ let releaseVersion = process.env.RELEASE_VERSION;
43
+ if (!process.env.RELEASE_VERSION || process.env.RELEASE_VERSION === '') {
44
+ console.log('RELEASE_VERSION is not set. Using default \'0.0.0-DEVELOPMENT\'');
45
+ releaseVersion = '0.0.0-DEVELOPMENT';
46
46
  }
47
- console.log(`Using ROOTMAIL_VERSION Version: '${rootmailVersion}'`);
48
- new RootmailStack(app, 'RootmailStack', {
49
- version: rootmailVersion,
47
+ if (!process.env.RELEASE_NAME || process.env.RELEASE_NAME === '') {
48
+ throw new Error('RELEASE_NAME environment variable must be set');
49
+ }
50
+ const releaseName = process.env.RELEASE_NAME;
51
+ if (!process.env.RELEASE_PREFIX || process.env.RELEASE_PREFIX === '') {
52
+ throw new Error('RELEASE_PREFIX environment variable must be set');
53
+ }
54
+ const releasePrefix = process.env.RELEASE_PREFIX;
55
+ if (!process.env.S3_FILE_ASSETS_BUCKET_PREFIX || process.env.S3_FILE_ASSETS_BUCKET_PREFIX === '') {
56
+ throw new Error('S3_FILE_ASSETS_BUCKET_PREFIX environment variable must be set');
57
+ }
58
+ const s3FileAssetsBucketPrefix = process.env.S3_FILE_ASSETS_BUCKET_PREFIX;
59
+ console.log(`Using RELEASE_NAME: '${releaseName}' RELEASE_VERSION Version: '${releaseVersion}' with prefix: '${releasePrefix}'`);
60
+ new RootmailStack(app, releaseName, {
61
+ version: releaseVersion,
50
62
  synthesizer: new aws_cdk_lib_1.CliCredentialsStackSynthesizer({
51
- // TODO: https://www.simplified.guide/aws/s3/create-public-bucket
52
- fileAssetsBucketName: 'mvc-test4-bucket-${AWS::Region}',
53
- bucketPrefix: `rootmail/${rootmailVersion}/`,
63
+ fileAssetsBucketName: `${s3FileAssetsBucketPrefix}-\${AWS::Region}`,
64
+ bucketPrefix: `${releasePrefix}/${releaseVersion}/`,
54
65
  }),
55
66
  });
56
67
  app.synth();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtY2xpLXN5bnRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LWNsaS1zeW50aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQU9xQjtBQUVyQix5Q0FBc0M7QUFFdEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFNdEIsTUFBTSxhQUFjLFNBQVEsbUJBQUs7SUFDL0IsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLG9EQUFvRCxDQUFDO1FBQ2xHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUc7WUFDeEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQy9CLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxJQUFJLDBCQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM5QyxJQUFJLEVBQUUsUUFBUTtZQUNkLFdBQVcsRUFBRSxvQ0FBb0M7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSwwQkFBWSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDcEQsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLDBCQUFZLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ3RFLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLHdDQUF3QztZQUNyRCxPQUFPLEVBQUUsR0FBRztZQUNaLFFBQVEsRUFBRSxDQUFDO1lBQ1gsUUFBUSxFQUFFLEdBQUc7U0FDZCxDQUFDLENBQUM7UUFFSCxNQUFNLHFCQUFxQixHQUFHLElBQUksMEJBQVksQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDNUUsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsb0lBQW9JO1lBQ2pKLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQyxDQUFDO1FBRUgsSUFBSSxtQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1lBQzVCLFNBQVMsRUFBRSxTQUFTLENBQUMsYUFBYTtZQUNsQyxrQkFBa0IsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7WUFDdEUscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTtTQUNsRSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxJQUFJLGVBQWUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0FBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDekUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO0lBQ2hGLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsZUFBZSxHQUFHLENBQUMsQ0FBQztBQUdwRSxJQUFJLGFBQWEsQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFO0lBRXRDLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLFdBQVcsRUFBRSxJQUFJLDRDQUE4QixDQUFDO1FBQzlDLGlFQUFpRTtRQUNqRSxvQkFBb0IsRUFBRSxpQ0FBaUM7UUFDdkQsWUFBWSxFQUFFLFlBQVksZUFBZSxHQUFHO0tBQzdDLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHAsXG4gIENmblBhcmFtZXRlcixcbiAgQ2xpQ3JlZGVudGlhbHNTdGFja1N5bnRoZXNpemVyLFxuICBEdXJhdGlvbixcbiAgU3RhY2ssXG4gIFN0YWNrUHJvcHMsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUm9vdG1haWwgfSBmcm9tICcuL3Jvb3RtYWlsJztcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG5pbnRlcmZhY2UgUm9vdG1haWxTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmNsYXNzIFJvb3RtYWlsU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb290bWFpbFN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIFN0YWNrLm9mKHRoaXMpLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9ICdUaGUgcm9vdG1haWwgZmVhdHVyZS4gQWxsIEVNYWlsIGluIG9uZSBBV1MgQWNjb3VudCc7XG4gICAgU3RhY2sub2YodGhpcykudGVtcGxhdGVPcHRpb25zLm1ldGFkYXRhID0ge1xuICAgICAgUm9vdG1haWxWZXJzaW9uOiBwcm9wcy52ZXJzaW9uLFxuICAgIH07XG5cbiAgICBjb25zdCBkb21haW4gPSBuZXcgQ2ZuUGFyYW1ldGVyKHRoaXMsICdEb21haW4nLCB7XG4gICAgICB0eXBlOiAnU3RyaW5nJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLicsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdWJkb21haW4gPSBuZXcgQ2ZuUGFyYW1ldGVyKHRoaXMsICdTdWJkb21haW4nLCB7XG4gICAgICB0eXBlOiAnU3RyaW5nJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU3ViZG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLicsXG4gICAgICBkZWZhdWx0OiAnYXdzJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRvdGFsVGltZVRvV2lyZUROUyA9IG5ldyBDZm5QYXJhbWV0ZXIodGhpcywgJ1RvdGFsVGltZVRvV2lyZUROUycsIHtcbiAgICAgIHR5cGU6ICdOdW1iZXInLFxuICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCB0aW1lIGluIE1JTlVURVMgdG8gd2lyZSB0aGUgRE5TLicsXG4gICAgICBkZWZhdWx0OiAxMjAsXG4gICAgICBtaW5WYWx1ZTogNSxcbiAgICAgIG1heFZhbHVlOiAxMjAsXG4gICAgfSk7XG5cbiAgICBjb25zdCB3aXJlRE5TVG9Ib3N0ZWRab25lSUQgPSBuZXcgQ2ZuUGFyYW1ldGVyKHRoaXMsICdXaXJlRE5TVG9Ib3N0ZWRab25lSUQnLCB7XG4gICAgICB0eXBlOiAnU3RyaW5nJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2V0IHRvIHRoZSBJRCBvZiB0aGUgSG9zdGVkWm9uZSBvZiB0aGUgRG9tYWluIGlzIGluIHRoZSBTQU1FIEFXUyBBY2NvdW50LiBMZWF2ZSBibGFuayBvZiB5b3UgZG9tYWluIGlzIGF0IGFuIGV4dGVybmFsIEROUyBwcm92aWRlcicsXG4gICAgICBkZWZhdWx0OiAnJyxcbiAgICB9KTtcblxuICAgIG5ldyBSb290bWFpbCh0aGlzLCAnUm9vdG1haWwnLCB7XG4gICAgICBkb21haW46IGRvbWFpbi52YWx1ZUFzU3RyaW5nLFxuICAgICAgc3ViZG9tYWluOiBzdWJkb21haW4udmFsdWVBc1N0cmluZyxcbiAgICAgIHRvdGFsVGltZVRvV2lyZUROUzogRHVyYXRpb24ubWludXRlcyh0b3RhbFRpbWVUb1dpcmVETlMudmFsdWVBc051bWJlciksXG4gICAgICB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ6IHdpcmVETlNUb0hvc3RlZFpvbmVJRC52YWx1ZUFzU3RyaW5nLnRyaW0oKSxcbiAgICB9KTtcbiAgfVxufVxuXG5sZXQgcm9vdG1haWxWZXJzaW9uID0gcHJvY2Vzcy5lbnYuUk9PVE1BSUxfVkVSU0lPTjtcbmlmICghcHJvY2Vzcy5lbnYuUk9PVE1BSUxfVkVSU0lPTiB8fCBwcm9jZXNzLmVudi5ST09UTUFJTF9WRVJTSU9OID09PSAnJykge1xuICBjb25zb2xlLmxvZygnUk9PVE1BSUxfVkVSU0lPTiBpcyBub3Qgc2V0LiBVc2luZyBkZWZhdWx0IFxcJzAuMC4wLURFVkVMT1BNRU5UXFwnJyk7XG4gIHJvb3RtYWlsVmVyc2lvbiA9ICcwLjAuMC1ERVZFTE9QTUVOVCc7XG59XG5cbmNvbnNvbGUubG9nKGBVc2luZyBST09UTUFJTF9WRVJTSU9OIFZlcnNpb246ICcke3Jvb3RtYWlsVmVyc2lvbn0nYCk7XG5cblxubmV3IFJvb3RtYWlsU3RhY2soYXBwLCAnUm9vdG1haWxTdGFjaycsIHtcblxuICB2ZXJzaW9uOiByb290bWFpbFZlcnNpb24sXG4gIHN5bnRoZXNpemVyOiBuZXcgQ2xpQ3JlZGVudGlhbHNTdGFja1N5bnRoZXNpemVyKHtcbiAgICAvLyBUT0RPOiBodHRwczovL3d3dy5zaW1wbGlmaWVkLmd1aWRlL2F3cy9zMy9jcmVhdGUtcHVibGljLWJ1Y2tldFxuICAgIGZpbGVBc3NldHNCdWNrZXROYW1lOiAnbXZjLXRlc3Q0LWJ1Y2tldC0ke0FXUzo6UmVnaW9ufScsXG4gICAgYnVja2V0UHJlZml4OiBgcm9vdG1haWwvJHtyb290bWFpbFZlcnNpb259L2AsXG4gIH0pLFxufSk7XG5cbmFwcC5zeW50aCgpOyJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtY2xpLXN5bnRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LWNsaS1zeW50aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQU9xQjtBQUVyQix5Q0FBc0M7QUFFdEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFNdEIsTUFBTSxhQUFjLFNBQVEsbUJBQUs7SUFDL0IsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLG9EQUFvRCxDQUFDO1FBQ2xHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUc7WUFDeEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQy9CLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxJQUFJLDBCQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM5QyxJQUFJLEVBQUUsUUFBUTtZQUNkLFdBQVcsRUFBRSxvQ0FBb0M7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSwwQkFBWSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDcEQsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLDBCQUFZLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ3RFLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLHdDQUF3QztZQUNyRCxPQUFPLEVBQUUsR0FBRztZQUNaLFFBQVEsRUFBRSxDQUFDO1lBQ1gsUUFBUSxFQUFFLEdBQUc7U0FDZCxDQUFDLENBQUM7UUFFSCxNQUFNLHFCQUFxQixHQUFHLElBQUksMEJBQVksQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDNUUsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsb0lBQW9JO1lBQ2pKLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQyxDQUFDO1FBRUgsSUFBSSxtQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1lBQzVCLFNBQVMsRUFBRSxTQUFTLENBQUMsYUFBYTtZQUNsQyxrQkFBa0IsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7WUFDdEUscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTtTQUNsRSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxJQUFJLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztBQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDdkUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO0lBQy9FLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQztBQUN2QyxDQUFDO0FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBQ0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7QUFFN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3JFLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBQ0QsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7QUFFakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNqRyxNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUNELE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQztBQUUxRSxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixXQUFXLCtCQUErQixjQUFjLG1CQUFtQixhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBQ2pJLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUU7SUFDbEMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsV0FBVyxFQUFFLElBQUksNENBQThCLENBQUM7UUFDOUMsb0JBQW9CLEVBQUUsR0FBRyx3QkFBd0Isa0JBQWtCO1FBQ25FLFlBQVksRUFBRSxHQUFHLGFBQWEsSUFBSSxjQUFjLEdBQUc7S0FDcEQsQ0FBQztDQUNILENBQUMsQ0FBQztBQUNILEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcCxcbiAgQ2ZuUGFyYW1ldGVyLFxuICBDbGlDcmVkZW50aWFsc1N0YWNrU3ludGhlc2l6ZXIsXG4gIER1cmF0aW9uLFxuICBTdGFjayxcbiAgU3RhY2tQcm9wcyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSb290bWFpbCB9IGZyb20gJy4vcm9vdG1haWwnO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmludGVyZmFjZSBSb290bWFpbFN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuY2xhc3MgUm9vdG1haWxTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvb3RtYWlsU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgU3RhY2sub2YodGhpcykudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uID0gJ1RoZSByb290bWFpbCBmZWF0dXJlLiBBbGwgRU1haWwgaW4gb25lIEFXUyBBY2NvdW50JztcbiAgICBTdGFjay5vZih0aGlzKS50ZW1wbGF0ZU9wdGlvbnMubWV0YWRhdGEgPSB7XG4gICAgICBSb290bWFpbFZlcnNpb246IHByb3BzLnZlcnNpb24sXG4gICAgfTtcblxuICAgIGNvbnN0IGRvbWFpbiA9IG5ldyBDZm5QYXJhbWV0ZXIodGhpcywgJ0RvbWFpbicsIHtcbiAgICAgIHR5cGU6ICdTdHJpbmcnLFxuICAgICAgZGVzY3JpcHRpb246ICdEb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN1YmRvbWFpbiA9IG5ldyBDZm5QYXJhbWV0ZXIodGhpcywgJ1N1YmRvbWFpbicsIHtcbiAgICAgIHR5cGU6ICdTdHJpbmcnLFxuICAgICAgZGVzY3JpcHRpb246ICdTdWJkb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuJyxcbiAgICAgIGRlZmF1bHQ6ICdhd3MnLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdG90YWxUaW1lVG9XaXJlRE5TID0gbmV3IENmblBhcmFtZXRlcih0aGlzLCAnVG90YWxUaW1lVG9XaXJlRE5TJywge1xuICAgICAgdHlwZTogJ051bWJlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIHRpbWUgaW4gTUlOVVRFUyB0byB3aXJlIHRoZSBETlMuJyxcbiAgICAgIGRlZmF1bHQ6IDEyMCxcbiAgICAgIG1pblZhbHVlOiA1LFxuICAgICAgbWF4VmFsdWU6IDEyMCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHdpcmVETlNUb0hvc3RlZFpvbmVJRCA9IG5ldyBDZm5QYXJhbWV0ZXIodGhpcywgJ1dpcmVETlNUb0hvc3RlZFpvbmVJRCcsIHtcbiAgICAgIHR5cGU6ICdTdHJpbmcnLFxuICAgICAgZGVzY3JpcHRpb246ICdTZXQgdG8gdGhlIElEIG9mIHRoZSBIb3N0ZWRab25lIG9mIHRoZSBEb21haW4gaXMgaW4gdGhlIFNBTUUgQVdTIEFjY291bnQuIExlYXZlIGJsYW5rIG9mIHlvdSBkb21haW4gaXMgYXQgYW4gZXh0ZXJuYWwgRE5TIHByb3ZpZGVyJyxcbiAgICAgIGRlZmF1bHQ6ICcnLFxuICAgIH0pO1xuXG4gICAgbmV3IFJvb3RtYWlsKHRoaXMsICdSb290bWFpbCcsIHtcbiAgICAgIGRvbWFpbjogZG9tYWluLnZhbHVlQXNTdHJpbmcsXG4gICAgICBzdWJkb21haW46IHN1YmRvbWFpbi52YWx1ZUFzU3RyaW5nLFxuICAgICAgdG90YWxUaW1lVG9XaXJlRE5TOiBEdXJhdGlvbi5taW51dGVzKHRvdGFsVGltZVRvV2lyZUROUy52YWx1ZUFzTnVtYmVyKSxcbiAgICAgIHdpcmVETlNUb0hvc3RlZFpvbmVJRDogd2lyZUROU1RvSG9zdGVkWm9uZUlELnZhbHVlQXNTdHJpbmcudHJpbSgpLFxuICAgIH0pO1xuICB9XG59XG5cbmxldCByZWxlYXNlVmVyc2lvbiA9IHByb2Nlc3MuZW52LlJFTEVBU0VfVkVSU0lPTjtcbmlmICghcHJvY2Vzcy5lbnYuUkVMRUFTRV9WRVJTSU9OIHx8IHByb2Nlc3MuZW52LlJFTEVBU0VfVkVSU0lPTiA9PT0gJycpIHtcbiAgY29uc29sZS5sb2coJ1JFTEVBU0VfVkVSU0lPTiBpcyBub3Qgc2V0LiBVc2luZyBkZWZhdWx0IFxcJzAuMC4wLURFVkVMT1BNRU5UXFwnJyk7XG4gIHJlbGVhc2VWZXJzaW9uID0gJzAuMC4wLURFVkVMT1BNRU5UJztcbn1cblxuaWYgKCFwcm9jZXNzLmVudi5SRUxFQVNFX05BTUUgfHwgcHJvY2Vzcy5lbnYuUkVMRUFTRV9OQU1FID09PSAnJykge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1JFTEVBU0VfTkFNRSBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGJlIHNldCcpO1xufVxuY29uc3QgcmVsZWFzZU5hbWUgPSBwcm9jZXNzLmVudi5SRUxFQVNFX05BTUU7XG5cbmlmICghcHJvY2Vzcy5lbnYuUkVMRUFTRV9QUkVGSVggfHwgcHJvY2Vzcy5lbnYuUkVMRUFTRV9QUkVGSVggPT09ICcnKSB7XG4gIHRocm93IG5ldyBFcnJvcignUkVMRUFTRV9QUkVGSVggZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBiZSBzZXQnKTtcbn1cbmNvbnN0IHJlbGVhc2VQcmVmaXggPSBwcm9jZXNzLmVudi5SRUxFQVNFX1BSRUZJWDtcblxuaWYgKCFwcm9jZXNzLmVudi5TM19GSUxFX0FTU0VUU19CVUNLRVRfUFJFRklYIHx8IHByb2Nlc3MuZW52LlMzX0ZJTEVfQVNTRVRTX0JVQ0tFVF9QUkVGSVggPT09ICcnKSB7XG4gIHRocm93IG5ldyBFcnJvcignUzNfRklMRV9BU1NFVFNfQlVDS0VUX1BSRUZJWCBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGJlIHNldCcpO1xufVxuY29uc3QgczNGaWxlQXNzZXRzQnVja2V0UHJlZml4ID0gcHJvY2Vzcy5lbnYuUzNfRklMRV9BU1NFVFNfQlVDS0VUX1BSRUZJWDtcblxuY29uc29sZS5sb2coYFVzaW5nIFJFTEVBU0VfTkFNRTogJyR7cmVsZWFzZU5hbWV9JyBSRUxFQVNFX1ZFUlNJT04gVmVyc2lvbjogJyR7cmVsZWFzZVZlcnNpb259JyB3aXRoIHByZWZpeDogJyR7cmVsZWFzZVByZWZpeH0nYCk7XG5uZXcgUm9vdG1haWxTdGFjayhhcHAsIHJlbGVhc2VOYW1lLCB7XG4gIHZlcnNpb246IHJlbGVhc2VWZXJzaW9uLFxuICBzeW50aGVzaXplcjogbmV3IENsaUNyZWRlbnRpYWxzU3RhY2tTeW50aGVzaXplcih7XG4gICAgZmlsZUFzc2V0c0J1Y2tldE5hbWU6IGAke3MzRmlsZUFzc2V0c0J1Y2tldFByZWZpeH0tXFwke0FXUzo6UmVnaW9ufWAsXG4gICAgYnVja2V0UHJlZml4OiBgJHtyZWxlYXNlUHJlZml4fS8ke3JlbGVhc2VWZXJzaW9ufS9gLFxuICB9KSxcbn0pO1xuYXBwLnN5bnRoKCk7Il19
package/lib/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ // TODO remove
17
18
  __exportStar(require("./ses-receive"), exports);
18
19
  __exportStar(require("./rootmail"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Nlcy1yZWNlaXZlJztcbmV4cG9ydCAqIGZyb20gJy4vcm9vdG1haWwnOyJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGNBQWM7QUFDZCxnREFBOEI7QUFDOUIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETyByZW1vdmVcbmV4cG9ydCAqIGZyb20gJy4vc2VzLXJlY2VpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9yb290bWFpbCc7Il19
package/lib/rootmail.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Duration, aws_s3 as s3 } from 'aws-cdk-lib';
1
+ import { Duration, aws_lambda as lambda, aws_s3 as s3 } from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
3
  export interface RootmailProps {
4
4
  /**
@@ -24,6 +24,10 @@ export interface RootmailProps {
24
24
  * @default undefined
25
25
  */
26
26
  readonly wireDNSToHostedZoneID?: string;
27
+ /**
28
+ * The custom SES receive function to use
29
+ */
30
+ readonly customSesReceiveFunction?: lambda.Function;
27
31
  /**
28
32
  * Whether to set all removal policies to DESTROY. This is useful for integration testing purposes.
29
33
  *
package/lib/rootmail.js CHANGED
@@ -64,6 +64,7 @@ class Rootmail extends constructs_1.Construct {
64
64
  domain: domain,
65
65
  subdomain: subdomain,
66
66
  emailbucket: this.emailBucket,
67
+ customSesReceiveFunction: props.customSesReceiveFunction,
67
68
  });
68
69
  // If Destroy Policy Aspect is present:
69
70
  if (setDestroyPolicyToAllResources) {
@@ -73,7 +74,7 @@ class Rootmail extends constructs_1.Construct {
73
74
  }
74
75
  exports.Rootmail = Rootmail;
75
76
  _a = JSII_RTTI_SYMBOL_1;
76
- Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.17" };
77
+ Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.19" };
77
78
  /**
78
79
  * Aspect for setting all removal policies to DESTROY
79
80
  */
@@ -84,4 +85,4 @@ class ApplyDestroyPolicyAspect {
84
85
  }
85
86
  }
86
87
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdG1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcm9vdG1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FXcUI7QUFDckIscUNBQTBDO0FBQzFDLDJDQUFtRDtBQUNuRCxxQ0FBaUU7QUFDakUseURBQW9EO0FBQ3BELCtDQUEyQztBQXNDM0MsTUFBYSxRQUFTLFNBQVEsc0JBQVM7SUFJckMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyx1QkFBdUIsR0FBRywrQkFBK0IsQ0FBQztRQUUvRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixJQUFJLHNCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixJQUFJLFNBQVMsQ0FBQztRQUN2RSxNQUFNLDhCQUE4QixHQUFHLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxLQUFLLENBQUM7UUFFckYsTUFBTSxZQUFZLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUEsMkJBQWtCLEVBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxZQUFZLHVDQUF1QywwQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZJLENBQUM7UUFFRDs7V0FFRztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxvQkFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3BELGlCQUFpQixFQUFFLG9CQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxVQUFVLEVBQUUsb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO1NBQzNDLENBQUMsQ0FBQztRQUNILHlCQUFlLENBQUMsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVc7U0FDakIsRUFBRTtZQUNELEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSw4QkFBOEIsRUFBRTtZQUNqRSxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUU7U0FDM0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUkscUJBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXZGLHlCQUFlLENBQUMsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFPO1NBQ3pCLEVBQUU7WUFDRCxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUU7U0FDM0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVUOztXQUVHO1FBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSx5QkFBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxHQUFHLFNBQVMsSUFBSSxNQUFNLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLHFCQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ3pGLGFBQWEsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1lBQzNDLGVBQWUsRUFBRSxVQUFVLENBQUMscUJBQXFCLElBQUksRUFBRTtTQUN4RCxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLFNBQVM7WUFDcEIsVUFBVSxFQUFFLFVBQVU7WUFDdEIscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLHNCQUFzQixFQUFFLHNCQUFzQjtZQUM5QyxrQkFBa0IsRUFBRSxrQkFBa0I7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDakMsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsdUNBQXVDO1FBQ3ZDLElBQUksOEJBQThCLEVBQUUsQ0FBQztZQUNuQyxxQkFBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7O0FBeEVILDRCQTBFQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFNLHdCQUF3QjtJQUNyQixLQUFLLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxJQUFJLFlBQVkseUJBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEdXJhdGlvbixcbiAgU3RhY2ssXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3Nfcm91dGU1MyBhcyByNTMsXG4gIGF3c19zMyBhcyBzMyxcbiAgYXdzX3NzbSBhcyBzc20sXG4gIENmblJlc291cmNlLFxuICBJQXNwZWN0LFxuICBSZW1vdmFsUG9saWN5LFxuICBBc3BlY3RzLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBOYWdTdXBwcmVzc2lvbnMgfSBmcm9tICdjZGstbmFnJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgaXNTRVNFbmFibGVkUmVnaW9uLCBzZXNFbmFibGVkUmVnaW9ucyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IEhvc3RlZFpvbmVEa2ltIH0gZnJvbSAnLi9ob3N0ZWQtem9uZS1ka2ltJztcbmltcG9ydCB7IFNFU1JlY2VpdmUgfSBmcm9tICcuL3Nlcy1yZWNlaXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBSb290bWFpbFByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdWJkb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhd3MnXG4gICAqL1xuICByZWFkb25seSBzdWJkb21haW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0b3RhbCB0aW1lIHRvIHdhaXQgZm9yIHRoZSBETlMgcmVjb3JkcyB0byBiZSBhdmFpbGFibGUvd2lyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLmhvdXJzKDIpXG4gICAqL1xuICByZWFkb25seSB0b3RhbFRpbWVUb1dpcmVETlM/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGhvc3RlZCB6b25lIElEIG9mIHRoZSBkb21haW4gdGhhdCBpcyByZWdpc3RlcmVkIFJvdXRlNTMgQU5EIGluIHRoZSBzYW1lIEFXUyBhY2NvdW50XG4gICAqIHRvIGVuYWJsZSBhdXRvd2lyaW5nIG9mIHRoZSBETlMgcmVjb3Jkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2V0IGFsbCByZW1vdmFsIHBvbGljaWVzIHRvIERFU1RST1kuIFRoaXMgaXMgdXNlZnVsIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJvb3RtYWlsIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBlbWFpbEJ1Y2tldDogczMuQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb290bWFpbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lID0gJy9yb290bWFpbC9kb21haW5fbmFtZV9zZXJ2ZXJzJztcblxuICAgIGNvbnN0IGRvbWFpbiA9IHByb3BzLmRvbWFpbjtcbiAgICBjb25zdCBzdWJkb21haW4gPSBwcm9wcy5zdWJkb21haW4gPz8gJ2F3cyc7XG4gICAgY29uc3QgdG90YWxUaW1lVG9XaXJlRE5TID0gcHJvcHMudG90YWxUaW1lVG9XaXJlRE5TID8/IER1cmF0aW9uLmhvdXJzKDIpO1xuICAgIGNvbnN0IHdpcmVETlNUb0hvc3RlZFpvbmVJRCA9IHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCA/PyB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID0gcHJvcHMuc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID8/IGZhbHNlO1xuXG4gICAgY29uc3QgZGVwbG95UmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIGNvbnNvbGUubG9nKGBEZXBsb3kgcmVnaW9uIGlzICR7ZGVwbG95UmVnaW9ufWApO1xuICAgIGlmICghaXNTRVNFbmFibGVkUmVnaW9uKGRlcGxveVJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU0VTIGlzIG5vdCBhdmFpbGFibGUgaW4gcmVnaW9uICR7ZGVwbG95UmVnaW9ufS4gVXNlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlZ2lvbnM6ICR7c2VzRW5hYmxlZFJlZ2lvbnMuam9pbignLCAnKX1gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFTUFJTCBCdWNrZXRcbiAgICAgKi9cbiAgICB0aGlzLmVtYWlsQnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnRW1haWxCdWNrZXQnLCB7XG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgIH0pO1xuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhbXG4gICAgICB0aGlzLmVtYWlsQnVja2V0LFxuICAgIF0sIFtcbiAgICAgIHsgaWQ6ICdBd3NTb2x1dGlvbnMtUzEnLCByZWFzb246ICdubyBzZXJ2ZXIgYWNjZXNzIGxvZ3MgbmVlZGVkJyB9LFxuICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1TMTAnLCByZWFzb246ICdubyBTU0wgYWNjZXNzIG5lZWRlZCcgfSxcbiAgICBdLCB0cnVlKTtcbiAgICB0aGlzLmVtYWlsQnVja2V0LmdyYW50UHV0KG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnc2VzLmFtYXpvbmF3cy5jb20nKSwgJ1Jvb3RNYWlsLyonKTtcblxuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhbXG4gICAgICB0aGlzLmVtYWlsQnVja2V0LnBvbGljeSEsXG4gICAgXSwgW1xuICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1TMTAnLCByZWFzb246ICdubyBTU0wgYWNjZXNzIG5lZWRlZCcgfSxcbiAgICBdLCB0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIEhPU1RFRCBaT05FXG4gICAgICovXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IG5ldyByNTMuSG9zdGVkWm9uZSh0aGlzLCAnSG9zdGVkWm9uZScsIHtcbiAgICAgIHpvbmVOYW1lOiBgJHtzdWJkb21haW59LiR7ZG9tYWlufWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBob3N0ZWRab25lU1NNUGFyYW1ldGVyID0gbmV3IHNzbS5TdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsICdIb3N0ZWRab25lU1NNUGFyYW1ldGVyJywge1xuICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5ob3N0ZWRab25lUGFyYW1ldGVyTmFtZSxcbiAgICAgIHN0cmluZ0xpc3RWYWx1ZTogaG9zdGVkWm9uZS5ob3N0ZWRab25lTmFtZVNlcnZlcnMgfHwgW10sXG4gICAgfSk7XG5cbiAgICBuZXcgSG9zdGVkWm9uZURraW0odGhpcywgJ0hvc3RlZFpvbmVEa2ltJywge1xuICAgICAgZG9tYWluOiBkb21haW4sXG4gICAgICBzdWJkb21haW46IHN1YmRvbWFpbixcbiAgICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ6IHdpcmVETlNUb0hvc3RlZFpvbmVJRCxcbiAgICAgIGhvc3RlZFpvbmVTU01QYXJhbWV0ZXI6IGhvc3RlZFpvbmVTU01QYXJhbWV0ZXIsXG4gICAgICB0b3RhbFRpbWVUb1dpcmVETlM6IHRvdGFsVGltZVRvV2lyZUROUyxcbiAgICB9KTtcblxuICAgIG5ldyBTRVNSZWNlaXZlKHRoaXMsICdTRVNSZWNlaXZlJywge1xuICAgICAgZG9tYWluOiBkb21haW4sXG4gICAgICBzdWJkb21haW46IHN1YmRvbWFpbixcbiAgICAgIGVtYWlsYnVja2V0OiB0aGlzLmVtYWlsQnVja2V0LFxuICAgIH0pO1xuXG4gICAgLy8gSWYgRGVzdHJveSBQb2xpY3kgQXNwZWN0IGlzIHByZXNlbnQ6XG4gICAgaWYgKHNldERlc3Ryb3lQb2xpY3lUb0FsbFJlc291cmNlcykge1xuICAgICAgQXNwZWN0cy5vZih0aGlzKS5hZGQobmV3IEFwcGx5RGVzdHJveVBvbGljeUFzcGVjdCgpKTtcbiAgICB9XG4gIH1cblxufVxuXG4vKipcbiAqIEFzcGVjdCBmb3Igc2V0dGluZyBhbGwgcmVtb3ZhbCBwb2xpY2llcyB0byBERVNUUk9ZXG4gKi9cbmNsYXNzIEFwcGx5RGVzdHJveVBvbGljeUFzcGVjdCBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwdWJsaWMgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChub2RlIGluc3RhbmNlb2YgQ2ZuUmVzb3VyY2UpIHtcbiAgICAgIG5vZGUuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgfVxuICB9XG59Il19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdG1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcm9vdG1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FZcUI7QUFDckIscUNBQTBDO0FBQzFDLDJDQUFtRDtBQUNuRCxxQ0FBaUU7QUFDakUseURBQW9EO0FBQ3BELCtDQUEyQztBQTJDM0MsTUFBYSxRQUFTLFNBQVEsc0JBQVM7SUFJckMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyx1QkFBdUIsR0FBRywrQkFBK0IsQ0FBQztRQUUvRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixJQUFJLHNCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixJQUFJLFNBQVMsQ0FBQztRQUN2RSxNQUFNLDhCQUE4QixHQUFHLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxLQUFLLENBQUM7UUFFckYsTUFBTSxZQUFZLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUEsMkJBQWtCLEVBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxZQUFZLHVDQUF1QywwQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZJLENBQUM7UUFFRDs7V0FFRztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxvQkFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3BELGlCQUFpQixFQUFFLG9CQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxVQUFVLEVBQUUsb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO1NBQzNDLENBQUMsQ0FBQztRQUNILHlCQUFlLENBQUMsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVc7U0FDakIsRUFBRTtZQUNELEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSw4QkFBOEIsRUFBRTtZQUNqRSxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUU7U0FDM0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUkscUJBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXZGLHlCQUFlLENBQUMsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFPO1NBQ3pCLEVBQUU7WUFDRCxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUU7U0FDM0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVUOztXQUVHO1FBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSx5QkFBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxHQUFHLFNBQVMsSUFBSSxNQUFNLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLHFCQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ3pGLGFBQWEsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1lBQzNDLGVBQWUsRUFBRSxVQUFVLENBQUMscUJBQXFCLElBQUksRUFBRTtTQUN4RCxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLFNBQVM7WUFDcEIsVUFBVSxFQUFFLFVBQVU7WUFDdEIscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLHNCQUFzQixFQUFFLHNCQUFzQjtZQUM5QyxrQkFBa0IsRUFBRSxrQkFBa0I7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDakMsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0Isd0JBQXdCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QjtTQUN6RCxDQUFDLENBQUM7UUFFSCx1Q0FBdUM7UUFDdkMsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1lBQ25DLHFCQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLHdCQUF3QixFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzs7QUF6RUgsNEJBMkVDOzs7QUFFRDs7R0FFRztBQUNILE1BQU0sd0JBQXdCO0lBQ3JCLEtBQUssQ0FBQyxJQUFnQjtRQUMzQixJQUFJLElBQUksWUFBWSx5QkFBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIER1cmF0aW9uLFxuICBTdGFjayxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3Nfcm91dGU1MyBhcyByNTMsXG4gIGF3c19zMyBhcyBzMyxcbiAgYXdzX3NzbSBhcyBzc20sXG4gIENmblJlc291cmNlLFxuICBJQXNwZWN0LFxuICBSZW1vdmFsUG9saWN5LFxuICBBc3BlY3RzLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBOYWdTdXBwcmVzc2lvbnMgfSBmcm9tICdjZGstbmFnJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgaXNTRVNFbmFibGVkUmVnaW9uLCBzZXNFbmFibGVkUmVnaW9ucyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IEhvc3RlZFpvbmVEa2ltIH0gZnJvbSAnLi9ob3N0ZWQtem9uZS1ka2ltJztcbmltcG9ydCB7IFNFU1JlY2VpdmUgfSBmcm9tICcuL3Nlcy1yZWNlaXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBSb290bWFpbFByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdWJkb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhd3MnXG4gICAqL1xuICByZWFkb25seSBzdWJkb21haW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0b3RhbCB0aW1lIHRvIHdhaXQgZm9yIHRoZSBETlMgcmVjb3JkcyB0byBiZSBhdmFpbGFibGUvd2lyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLmhvdXJzKDIpXG4gICAqL1xuICByZWFkb25seSB0b3RhbFRpbWVUb1dpcmVETlM/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGhvc3RlZCB6b25lIElEIG9mIHRoZSBkb21haW4gdGhhdCBpcyByZWdpc3RlcmVkIFJvdXRlNTMgQU5EIGluIHRoZSBzYW1lIEFXUyBhY2NvdW50XG4gICAqIHRvIGVuYWJsZSBhdXRvd2lyaW5nIG9mIHRoZSBETlMgcmVjb3Jkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gU0VTIHJlY2VpdmUgZnVuY3Rpb24gdG8gdXNlXG4gICAqL1xuICByZWFkb25seSBjdXN0b21TZXNSZWNlaXZlRnVuY3Rpb24/OiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2V0IGFsbCByZW1vdmFsIHBvbGljaWVzIHRvIERFU1RST1kuIFRoaXMgaXMgdXNlZnVsIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJvb3RtYWlsIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBlbWFpbEJ1Y2tldDogczMuQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb290bWFpbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lID0gJy9yb290bWFpbC9kb21haW5fbmFtZV9zZXJ2ZXJzJztcblxuICAgIGNvbnN0IGRvbWFpbiA9IHByb3BzLmRvbWFpbjtcbiAgICBjb25zdCBzdWJkb21haW4gPSBwcm9wcy5zdWJkb21haW4gPz8gJ2F3cyc7XG4gICAgY29uc3QgdG90YWxUaW1lVG9XaXJlRE5TID0gcHJvcHMudG90YWxUaW1lVG9XaXJlRE5TID8/IER1cmF0aW9uLmhvdXJzKDIpO1xuICAgIGNvbnN0IHdpcmVETlNUb0hvc3RlZFpvbmVJRCA9IHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCA/PyB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID0gcHJvcHMuc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID8/IGZhbHNlO1xuXG4gICAgY29uc3QgZGVwbG95UmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIGNvbnNvbGUubG9nKGBEZXBsb3kgcmVnaW9uIGlzICR7ZGVwbG95UmVnaW9ufWApO1xuICAgIGlmICghaXNTRVNFbmFibGVkUmVnaW9uKGRlcGxveVJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU0VTIGlzIG5vdCBhdmFpbGFibGUgaW4gcmVnaW9uICR7ZGVwbG95UmVnaW9ufS4gVXNlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlZ2lvbnM6ICR7c2VzRW5hYmxlZFJlZ2lvbnMuam9pbignLCAnKX1gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFTUFJTCBCdWNrZXRcbiAgICAgKi9cbiAgICB0aGlzLmVtYWlsQnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnRW1haWxCdWNrZXQnLCB7XG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgIH0pO1xuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhbXG4gICAgICB0aGlzLmVtYWlsQnVja2V0LFxuICAgIF0sIFtcbiAgICAgIHsgaWQ6ICdBd3NTb2x1dGlvbnMtUzEnLCByZWFzb246ICdubyBzZXJ2ZXIgYWNjZXNzIGxvZ3MgbmVlZGVkJyB9LFxuICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1TMTAnLCByZWFzb246ICdubyBTU0wgYWNjZXNzIG5lZWRlZCcgfSxcbiAgICBdLCB0cnVlKTtcbiAgICB0aGlzLmVtYWlsQnVja2V0LmdyYW50UHV0KG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnc2VzLmFtYXpvbmF3cy5jb20nKSwgJ1Jvb3RNYWlsLyonKTtcblxuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhbXG4gICAgICB0aGlzLmVtYWlsQnVja2V0LnBvbGljeSEsXG4gICAgXSwgW1xuICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1TMTAnLCByZWFzb246ICdubyBTU0wgYWNjZXNzIG5lZWRlZCcgfSxcbiAgICBdLCB0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIEhPU1RFRCBaT05FXG4gICAgICovXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IG5ldyByNTMuSG9zdGVkWm9uZSh0aGlzLCAnSG9zdGVkWm9uZScsIHtcbiAgICAgIHpvbmVOYW1lOiBgJHtzdWJkb21haW59LiR7ZG9tYWlufWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBob3N0ZWRab25lU1NNUGFyYW1ldGVyID0gbmV3IHNzbS5TdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsICdIb3N0ZWRab25lU1NNUGFyYW1ldGVyJywge1xuICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5ob3N0ZWRab25lUGFyYW1ldGVyTmFtZSxcbiAgICAgIHN0cmluZ0xpc3RWYWx1ZTogaG9zdGVkWm9uZS5ob3N0ZWRab25lTmFtZVNlcnZlcnMgfHwgW10sXG4gICAgfSk7XG5cbiAgICBuZXcgSG9zdGVkWm9uZURraW0odGhpcywgJ0hvc3RlZFpvbmVEa2ltJywge1xuICAgICAgZG9tYWluOiBkb21haW4sXG4gICAgICBzdWJkb21haW46IHN1YmRvbWFpbixcbiAgICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ6IHdpcmVETlNUb0hvc3RlZFpvbmVJRCxcbiAgICAgIGhvc3RlZFpvbmVTU01QYXJhbWV0ZXI6IGhvc3RlZFpvbmVTU01QYXJhbWV0ZXIsXG4gICAgICB0b3RhbFRpbWVUb1dpcmVETlM6IHRvdGFsVGltZVRvV2lyZUROUyxcbiAgICB9KTtcblxuICAgIG5ldyBTRVNSZWNlaXZlKHRoaXMsICdTRVNSZWNlaXZlJywge1xuICAgICAgZG9tYWluOiBkb21haW4sXG4gICAgICBzdWJkb21haW46IHN1YmRvbWFpbixcbiAgICAgIGVtYWlsYnVja2V0OiB0aGlzLmVtYWlsQnVja2V0LFxuICAgICAgY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uOiBwcm9wcy5jdXN0b21TZXNSZWNlaXZlRnVuY3Rpb24sXG4gICAgfSk7XG5cbiAgICAvLyBJZiBEZXN0cm95IFBvbGljeSBBc3BlY3QgaXMgcHJlc2VudDpcbiAgICBpZiAoc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzKSB7XG4gICAgICBBc3BlY3RzLm9mKHRoaXMpLmFkZChuZXcgQXBwbHlEZXN0cm95UG9saWN5QXNwZWN0KCkpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKlxuICogQXNwZWN0IGZvciBzZXR0aW5nIGFsbCByZW1vdmFsIHBvbGljaWVzIHRvIERFU1RST1lcbiAqL1xuY2xhc3MgQXBwbHlEZXN0cm95UG9saWN5QXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHB1YmxpYyB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBDZm5SZXNvdXJjZSkge1xuICAgICAgbm9kZS5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICB9XG4gIH1cbn0iXX0=
@@ -3,41 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const child_process_1 = require("child_process");
4
4
  const path = require("path");
5
5
  const retry = require("async-retry");
6
- const REGIONS = [
7
- 'eu-west-1', // Europe (Ireland),
8
- // 'us-east-1', // US East (N. Virginia),
9
- // 'us-west-2', // US West (Oregon),
10
- // // new regions since 2023-09
11
- // 'eu-central-1', // Europe (Frankfurt),
12
- // 'eu-west-2', // Europe (London),
13
- // 'us-east-2', // US East (Ohio),
14
- // 'ca-central-1', // Canada (Central),
15
- // 'ap-northeast-1', // Asia Pacific (Tokyo),
16
- // 'ap-southeast-1', // Asia Pacific (Singapore),
17
- // 'ap-southeast-2', // Asia Pacific (Sydney),
18
- ];
19
- const retries = 20;
20
- // Publish assets into all regional buckets
21
- // e.g. superwerker-assets-eu-central-1 etc.
6
+ if (!process.env.RELEASE_NAME || process.env.RELEASE_NAME === '') {
7
+ throw new Error('RELEASE_NAME environment variable must be set');
8
+ }
9
+ if (!process.env.RELEASE_RETRIES || process.env.RELEASE_RETRIES === '') {
10
+ throw new Error('RELEASE_RETRIES environment variable must be set');
11
+ }
12
+ if (!process.env.RELEASE_REGIONS || process.env.RELEASE_REGIONS.length === 0) {
13
+ throw new Error('RELEASE_REGIONS environment variable must be set and not empty');
14
+ }
15
+ const releaseName = process.env.RELEASE_NAME;
16
+ const releaseRetries = process.env.RELEASE_RETRIES;
17
+ const releaseRegions = process.env.RELEASE_REGIONS.split(',');
18
+ console.log(`Publishing assets for release ${releaseName} with ${releaseRetries} retries to regions: ${releaseRegions}`);
22
19
  const main = async () => {
23
- const assetManifestPath = path.resolve(__dirname, '..', '..', 'cdk.out', 'RootmailStack.assets.json');
24
- for (const region of REGIONS) {
20
+ const assetManifestPath = path.resolve(__dirname, '..', '..', 'cdk.out', `${releaseName}.assets.json`);
21
+ for (const region of releaseRegions) {
25
22
  const command = `AWS_REGION=${region} yarn cdk-assets publish -p ${assetManifestPath}`;
26
23
  console.log(command);
27
24
  await retry(async (_, attempt) => {
28
- console.log(`Attempt ${attempt} of ${retries} in region ${region}`);
25
+ console.log(`Attempt ${attempt} of ${releaseRetries} in region ${region}`);
29
26
  const execResult = await (0, child_process_1.execSync)(command);
30
27
  console.log(execResult.toString());
31
28
  }, {
32
- retries: retries,
29
+ retries: releaseRetries,
33
30
  factor: 2,
34
31
  minTimeout: 1000,
35
32
  maxTimeout: 30000,
36
33
  });
37
34
  }
38
35
  };
39
- // top level await madness
40
36
  (async () => { await main(); })().catch(e => {
41
37
  console.error(e);
42
38
  });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9wdWJsaXNoLWFzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlEQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUNBQXFDO0FBRXJDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyx5Q0FBeUM7SUFDekMsb0NBQW9DO0lBQ3BDLGdDQUFnQztJQUNoQyx5Q0FBeUM7SUFDekMsbUNBQW1DO0lBQ25DLGtDQUFrQztJQUNsQyx1Q0FBdUM7SUFDdkMsNkNBQTZDO0lBQzdDLGlEQUFpRDtJQUNqRCw4Q0FBOEM7Q0FDL0MsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUVuQiwyQ0FBMkM7QUFDM0MsNENBQTRDO0FBQzVDLE1BQU0sSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3RCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUN0RyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFHLGNBQWMsTUFBTSwrQkFBK0IsaUJBQWlCLEVBQUUsQ0FBQztRQUN2RixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFNLEVBQUUsT0FBZSxFQUFFLEVBQUU7WUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLE9BQU8sT0FBTyxPQUFPLGNBQWMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEsd0JBQVEsRUFBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsRUFBRTtZQUNELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLDBCQUEwQjtBQUMxQixDQUFDLEtBQUssSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHJldHJ5IGZyb20gJ2FzeW5jLXJldHJ5JztcblxuY29uc3QgUkVHSU9OUyA9IFtcbiAgJ2V1LXdlc3QtMScsIC8vIEV1cm9wZSAoSXJlbGFuZCksXG4gIC8vICd1cy1lYXN0LTEnLCAvLyBVUyBFYXN0IChOLiBWaXJnaW5pYSksXG4gIC8vICd1cy13ZXN0LTInLCAvLyBVUyBXZXN0IChPcmVnb24pLFxuICAvLyAgLy8gbmV3IHJlZ2lvbnMgc2luY2UgMjAyMy0wOVxuICAvLyAnZXUtY2VudHJhbC0xJywgLy8gRXVyb3BlIChGcmFua2Z1cnQpLFxuICAvLyAnZXUtd2VzdC0yJywgLy8gRXVyb3BlIChMb25kb24pLFxuICAvLyAndXMtZWFzdC0yJywgLy8gVVMgRWFzdCAoT2hpbyksXG4gIC8vICdjYS1jZW50cmFsLTEnLCAvLyBDYW5hZGEgKENlbnRyYWwpLFxuICAvLyAnYXAtbm9ydGhlYXN0LTEnLCAvLyBBc2lhIFBhY2lmaWMgKFRva3lvKSxcbiAgLy8gJ2FwLXNvdXRoZWFzdC0xJywgLy8gQXNpYSBQYWNpZmljIChTaW5nYXBvcmUpLFxuICAvLyAnYXAtc291dGhlYXN0LTInLCAvLyBBc2lhIFBhY2lmaWMgKFN5ZG5leSksXG5dO1xuXG5jb25zdCByZXRyaWVzID0gMjA7XG5cbi8vIFB1Ymxpc2ggYXNzZXRzIGludG8gYWxsIHJlZ2lvbmFsIGJ1Y2tldHNcbi8vIGUuZy4gc3VwZXJ3ZXJrZXItYXNzZXRzLWV1LWNlbnRyYWwtMSBldGMuXG5jb25zdCBtYWluID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBhc3NldE1hbmlmZXN0UGF0aCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicsICdjZGsub3V0JywgJ1Jvb3RtYWlsU3RhY2suYXNzZXRzLmpzb24nKTtcbiAgZm9yIChjb25zdCByZWdpb24gb2YgUkVHSU9OUykge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBgQVdTX1JFR0lPTj0ke3JlZ2lvbn0geWFybiBjZGstYXNzZXRzIHB1Ymxpc2ggLXAgJHthc3NldE1hbmlmZXN0UGF0aH1gO1xuICAgIGNvbnNvbGUubG9nKGNvbW1hbmQpO1xuICAgIGF3YWl0IHJldHJ5KGFzeW5jIChfOiBhbnksIGF0dGVtcHQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc29sZS5sb2coYEF0dGVtcHQgJHthdHRlbXB0fSBvZiAke3JldHJpZXN9IGluIHJlZ2lvbiAke3JlZ2lvbn1gKTtcbiAgICAgIGNvbnN0IGV4ZWNSZXN1bHQgPSBhd2FpdCBleGVjU3luYyhjb21tYW5kKTtcbiAgICAgIGNvbnNvbGUubG9nKGV4ZWNSZXN1bHQudG9TdHJpbmcoKSk7XG4gICAgfSwge1xuICAgICAgcmV0cmllczogcmV0cmllcyxcbiAgICAgIGZhY3RvcjogMixcbiAgICAgIG1pblRpbWVvdXQ6IDEwMDAsXG4gICAgICBtYXhUaW1lb3V0OiAzMDAwMCxcbiAgICB9KTtcbiAgfVxufTtcblxuLy8gdG9wIGxldmVsIGF3YWl0IG1hZG5lc3Ncbihhc3luYyAoKSA9PiB7IGF3YWl0IG1haW4oKTsgfSkoKS5jYXRjaChlID0+IHtcbiAgY29uc29sZS5lcnJvcihlKTtcbn0pO1xuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9wdWJsaXNoLWFzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlEQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUNBQXFDO0FBRXJDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN2RSxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDN0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztBQUM3QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQW9DLENBQUM7QUFDeEUsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLFdBQVcsU0FBUyxjQUFjLHdCQUF3QixjQUFjLEVBQUUsQ0FBQyxDQUFDO0FBRXpILE1BQU0sSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3RCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxXQUFXLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZHLEtBQUssTUFBTSxNQUFNLElBQUksY0FBYyxFQUFFLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUcsY0FBYyxNQUFNLCtCQUErQixpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZGLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQU0sRUFBRSxPQUFlLEVBQUUsRUFBRTtZQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsT0FBTyxPQUFPLGNBQWMsY0FBYyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSx3QkFBUSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQyxFQUFFO1lBQ0QsT0FBTyxFQUFFLGNBQWM7WUFDdkIsTUFBTSxFQUFFLENBQUM7WUFDVCxVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsQ0FBQyxLQUFLLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyByZXRyeSBmcm9tICdhc3luYy1yZXRyeSc7XG5cbmlmICghcHJvY2Vzcy5lbnYuUkVMRUFTRV9OQU1FIHx8IHByb2Nlc3MuZW52LlJFTEVBU0VfTkFNRSA9PT0gJycpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdSRUxFQVNFX05BTUUgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBiZSBzZXQnKTtcbn1cblxuaWYgKCFwcm9jZXNzLmVudi5SRUxFQVNFX1JFVFJJRVMgfHwgcHJvY2Vzcy5lbnYuUkVMRUFTRV9SRVRSSUVTID09PSAnJykge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1JFTEVBU0VfUkVUUklFUyBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGJlIHNldCcpO1xufVxuXG5pZiAoIXByb2Nlc3MuZW52LlJFTEVBU0VfUkVHSU9OUyB8fCBwcm9jZXNzLmVudi5SRUxFQVNFX1JFR0lPTlMubGVuZ3RoID09PSAwKSB7XG4gIHRocm93IG5ldyBFcnJvcignUkVMRUFTRV9SRUdJT05TIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUgc2V0IGFuZCBub3QgZW1wdHknKTtcbn1cblxuY29uc3QgcmVsZWFzZU5hbWUgPSBwcm9jZXNzLmVudi5SRUxFQVNFX05BTUU7XG5jb25zdCByZWxlYXNlUmV0cmllcyA9IHByb2Nlc3MuZW52LlJFTEVBU0VfUkVUUklFUyBhcyB1bmtub3duIGFzIG51bWJlcjtcbmNvbnN0IHJlbGVhc2VSZWdpb25zID0gcHJvY2Vzcy5lbnYuUkVMRUFTRV9SRUdJT05TLnNwbGl0KCcsJyk7XG5jb25zb2xlLmxvZyhgUHVibGlzaGluZyBhc3NldHMgZm9yIHJlbGVhc2UgJHtyZWxlYXNlTmFtZX0gd2l0aCAke3JlbGVhc2VSZXRyaWVzfSByZXRyaWVzIHRvIHJlZ2lvbnM6ICR7cmVsZWFzZVJlZ2lvbnN9YCk7XG5cbmNvbnN0IG1haW4gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGFzc2V0TWFuaWZlc3RQYXRoID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Nkay5vdXQnLCBgJHtyZWxlYXNlTmFtZX0uYXNzZXRzLmpzb25gKTtcbiAgZm9yIChjb25zdCByZWdpb24gb2YgcmVsZWFzZVJlZ2lvbnMpIHtcbiAgICBjb25zdCBjb21tYW5kID0gYEFXU19SRUdJT049JHtyZWdpb259IHlhcm4gY2RrLWFzc2V0cyBwdWJsaXNoIC1wICR7YXNzZXRNYW5pZmVzdFBhdGh9YDtcbiAgICBjb25zb2xlLmxvZyhjb21tYW5kKTtcbiAgICBhd2FpdCByZXRyeShhc3luYyAoXzogYW55LCBhdHRlbXB0OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGBBdHRlbXB0ICR7YXR0ZW1wdH0gb2YgJHtyZWxlYXNlUmV0cmllc30gaW4gcmVnaW9uICR7cmVnaW9ufWApO1xuICAgICAgY29uc3QgZXhlY1Jlc3VsdCA9IGF3YWl0IGV4ZWNTeW5jKGNvbW1hbmQpO1xuICAgICAgY29uc29sZS5sb2coZXhlY1Jlc3VsdC50b1N0cmluZygpKTtcbiAgICB9LCB7XG4gICAgICByZXRyaWVzOiByZWxlYXNlUmV0cmllcyxcbiAgICAgIGZhY3RvcjogMixcbiAgICAgIG1pblRpbWVvdXQ6IDEwMDAsXG4gICAgICBtYXhUaW1lb3V0OiAzMDAwMCxcbiAgICB9KTtcbiAgfVxufTtcblxuKGFzeW5jICgpID0+IHsgYXdhaXQgbWFpbigpOyB9KSgpLmNhdGNoKGUgPT4ge1xuICBjb25zb2xlLmVycm9yKGUpO1xufSk7XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { aws_s3 as s3 } from 'aws-cdk-lib';
1
+ import { aws_lambda as lambda, aws_s3 as s3 } from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
3
  export interface SESReceiveProps {
4
4
  /**
@@ -13,6 +13,10 @@ export interface SESReceiveProps {
13
13
  * S3 bucket to store received emails
14
14
  */
15
15
  readonly emailbucket: s3.Bucket;
16
+ /**
17
+ * The custom SES receive function to use
18
+ */
19
+ readonly customSesReceiveFunction?: lambda.Function;
16
20
  /**
17
21
  * Whether to set all removal policies to DESTROY. This is useful for integration testing purposes.
18
22
  */
@@ -70,18 +70,40 @@ class SESReceive extends constructs_1.Construct {
70
70
  { id: 'AwsSolutions-IAM4', reason: 'no service role restriction needed' },
71
71
  { id: 'AwsSolutions-IAM5', reason: 'wildcards are ok as we allow every opsitem to be created' },
72
72
  ], true);
73
- const opsSantaFunction = new aws_lambda_nodejs_1.NodejsFunction(this, 'ops-santa-handler', {
74
- handler: 'handler',
75
- role: opsSantaFunctionRole,
76
- runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_18_X,
77
- timeout: aws_cdk_lib_1.Duration.seconds(60),
78
- logRetention: 3,
79
- environment: {
80
- EMAIL_BUCKET: props.emailbucket.bucketName,
81
- EMAIL_BUCKET_ARN: props.emailbucket.bucketArn,
82
- ROOTMAIL_DEPLOY_REGION: aws_cdk_lib_1.Stack.of(this).region,
83
- },
84
- });
73
+ let opsSantaFunction;
74
+ if (props.customSesReceiveFunction) {
75
+ opsSantaFunction = props.customSesReceiveFunction;
76
+ opsSantaFunction.role?.attachInlinePolicy(new aws_cdk_lib_1.aws_iam.Policy(this, 'CustomSesReceiveFunctionPolicy', {
77
+ statements: [
78
+ new aws_cdk_lib_1.aws_iam.PolicyStatement({
79
+ effect: aws_cdk_lib_1.aws_iam.Effect.ALLOW,
80
+ actions: [
81
+ 's3:GetObject',
82
+ ],
83
+ resources: [
84
+ props.emailbucket.arnForObjects('RootMail/*'),
85
+ ],
86
+ }),
87
+ ],
88
+ }));
89
+ opsSantaFunction.addEnvironment('EMAIL_BUCKET', props.emailbucket.bucketName);
90
+ opsSantaFunction.addEnvironment('EMAIL_BUCKET_ARN', props.emailbucket.bucketArn);
91
+ }
92
+ else {
93
+ opsSantaFunction = new aws_lambda_nodejs_1.NodejsFunction(this, 'ops-santa-handler', {
94
+ handler: 'handler',
95
+ role: opsSantaFunctionRole,
96
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_18_X,
97
+ timeout: aws_cdk_lib_1.Duration.seconds(60),
98
+ logRetention: 3,
99
+ environment: {
100
+ EMAIL_BUCKET: props.emailbucket.bucketName,
101
+ EMAIL_BUCKET_ARN: props.emailbucket.bucketArn,
102
+ ROOTMAIL_DEPLOY_REGION: aws_cdk_lib_1.Stack.of(this).region,
103
+ },
104
+ });
105
+ }
106
+ // will be added in both ways
85
107
  opsSantaFunction.addPermission('OpsSantaFunctionSESPermissions', {
86
108
  principal: opsSantaFunctionSESPermissions,
87
109
  action: 'lambda:InvokeFunction',
@@ -102,7 +124,7 @@ class SESReceive extends constructs_1.Construct {
102
124
  }
103
125
  exports.SESReceive = SESReceive;
104
126
  _a = JSII_RTTI_SYMBOL_1;
105
- SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.17" };
127
+ SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.19" };
106
128
  /**
107
129
  * Aspect for setting all removal policies to DESTROY
108
130
  */
@@ -113,4 +135,4 @@ class ApplyDestroyPolicyAspect {
113
135
  }
114
136
  }
115
137
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VzLXJlY2VpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FZcUI7QUFDckIscUVBQStEO0FBQy9ELHFDQUEwQztBQUMxQywyQ0FBbUQ7QUFDbkQscUNBQWlFO0FBQ2pFLHFGQUErRTtBQXdCL0UsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFDdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBQSwyQkFBa0IsRUFBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLFlBQVksdUNBQXVDLDBCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkksQ0FBQztRQUVELE1BQU0sOEJBQThCLEdBQUcsSUFBSSxxQkFBRyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLHFCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUN0RSxTQUFTLEVBQUUsSUFBSSxxQkFBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO1lBQzNELGVBQWUsRUFBRSxDQUFDLHFCQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDekcsY0FBYyxFQUFFO2dCQUNkLDBCQUEwQixFQUFFLElBQUkscUJBQUcsQ0FBQyxjQUFjLENBQUM7b0JBQ2pELFVBQVUsRUFBRTt3QkFDVixJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDOzRC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LENBQUMsQ0FBQztRQUVILHVDQUF1QztRQUN2QyxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1lBQ3pDLHFCQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLHdCQUF3QixFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzs7QUFsR0gsZ0NBbUdDOzs7QUFFRDs7R0FFRztBQUNILE1BQU0sd0JBQXdCO0lBQ3JCLEtBQUssQ0FBQyxJQUFnQjtRQUMzQixJQUFJLElBQUksWUFBWSx5QkFBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFybixcbiAgQXJuRm9ybWF0LFxuICBBc3BlY3RzLFxuICBDZm5SZXNvdXJjZSxcbiAgRHVyYXRpb24sXG4gIElBc3BlY3QsXG4gIFJlbW92YWxQb2xpY3ksXG4gIFN0YWNrLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19zMyBhcyBzMyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgeyBOYWdTdXBwcmVzc2lvbnMgfSBmcm9tICdjZGstbmFnJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgaXNTRVNFbmFibGVkUmVnaW9uLCBzZXNFbmFibGVkUmVnaW9ucyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvbiB9IGZyb20gJy4vc2VzLXJlY2VpcHQtcnVsZXNldC1hY3RpdmF0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBTRVNSZWNlaXZlUHJvcHMge1xuICAvKipcbiAgICogRG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1YmRvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IHN1YmRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTMyBidWNrZXQgdG8gc3RvcmUgcmVjZWl2ZWQgZW1haWxzXG4gICAqL1xuICByZWFkb25seSBlbWFpbGJ1Y2tldDogczMuQnVja2V0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNldCBhbGwgcmVtb3ZhbCBwb2xpY2llcyB0byBERVNUUk9ZLiBUaGlzIGlzIHVzZWZ1bCBmb3IgaW50ZWdyYXRpb24gdGVzdGluZyBwdXJwb3Nlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNldERlc3Ryb3lQb2xpY3lUb0FsbFJlc291cmNlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBTRVNSZWNlaXZlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNFU1JlY2VpdmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBkZXBsb3lSZWdpb24gPSBTdGFjay5vZih0aGlzKS5yZWdpb247XG4gICAgaWYgKCFpc1NFU0VuYWJsZWRSZWdpb24oZGVwbG95UmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTRVMgaXMgbm90IGF2YWlsYWJsZSBpbiByZWdpb24gJHtkZXBsb3lSZWdpb259LiBVc2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgcmVnaW9uczogJHtzZXNFbmFibGVkUmVnaW9ucy5qb2luKCcsICcpfWApO1xuICAgIH1cblxuICAgIGNvbnN0IG9wc1NhbnRhRnVuY3Rpb25TRVNQZXJtaXNzaW9ucyA9IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnc2VzLmFtYXpvbmF3cy5jb20nKTtcbiAgICBjb25zdCBvcHNTYW50YUZ1bmN0aW9uUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnT3BzU2FudGFGdW5jdGlvblJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnbGFtYmRhLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW2lhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZScpXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIE9wc1NhbnRhRnVuY3Rpb25Sb2xlUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzMzpHZXRPYmplY3QnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICBwcm9wcy5lbWFpbGJ1Y2tldC5hcm5Gb3JPYmplY3RzKCdSb290TWFpbC8qJyksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3NzbTpDcmVhdGVPcHNJdGVtJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgJyonLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzc206UHV0UGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgLy8gYXJuOiR7QVdTOjpQYXJ0aXRpb259OnNzbToke0FXUzo6UmVnaW9ufToke0FXUzo6QWNjb3VudElkfTpwYXJhbWV0ZXIvcm9vdG1haWwvKlxuICAgICAgICAgICAgICAgIC8vIGFybjp7cGFydGl0aW9ufTp7c2VydmljZX06e3JlZ2lvbn06e2FjY291bnR9OntyZXNvdXJjZX17c2VwfXtyZXNvdXJjZS1uYW1lfVxuICAgICAgICAgICAgICAgIEFybi5mb3JtYXQoe1xuICAgICAgICAgICAgICAgICAgcGFydGl0aW9uOiBTdGFjay5vZih0aGlzKS5wYXJ0aXRpb24sXG4gICAgICAgICAgICAgICAgICBzZXJ2aWNlOiAnc3NtJyxcbiAgICAgICAgICAgICAgICAgIHJlZ2lvbjogU3RhY2sub2YodGhpcykucmVnaW9uLFxuICAgICAgICAgICAgICAgICAgYWNjb3VudDogU3RhY2sub2YodGhpcykuYWNjb3VudCxcbiAgICAgICAgICAgICAgICAgIHJlc291cmNlOiAncGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6ICdyb290bWFpbC8qJyxcbiAgICAgICAgICAgICAgICB9LCBTdGFjay5vZih0aGlzKSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBOYWdTdXBwcmVzc2lvbnMuYWRkUmVzb3VyY2VTdXBwcmVzc2lvbnMoXG4gICAgICBbXG4gICAgICAgIG9wc1NhbnRhRnVuY3Rpb25Sb2xlLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1JQU00JywgcmVhc29uOiAnbm8gc2VydmljZSByb2xlIHJlc3RyaWN0aW9uIG5lZWRlZCcgfSxcbiAgICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1JQU01JywgcmVhc29uOiAnd2lsZGNhcmRzIGFyZSBvayBhcyB3ZSBhbGxvdyBldmVyeSBvcHNpdGVtIHRvIGJlIGNyZWF0ZWQnIH0sXG4gICAgICBdLCB0cnVlKTtcblxuICAgIGNvbnN0IG9wc1NhbnRhRnVuY3Rpb24gPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ29wcy1zYW50YS1oYW5kbGVyJywge1xuICAgICAgaGFuZGxlcjogJ2hhbmRsZXInLFxuICAgICAgcm9sZTogb3BzU2FudGFGdW5jdGlvblJvbGUsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgbG9nUmV0ZW50aW9uOiAzLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgRU1BSUxfQlVDS0VUOiBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICBFTUFJTF9CVUNLRVRfQVJOOiBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXRBcm4sXG4gICAgICAgIFJPT1RNQUlMX0RFUExPWV9SRUdJT046IFN0YWNrLm9mKHRoaXMpLnJlZ2lvbixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBvcHNTYW50YUZ1bmN0aW9uLmFkZFBlcm1pc3Npb24oJ09wc1NhbnRhRnVuY3Rpb25TRVNQZXJtaXNzaW9ucycsIHtcbiAgICAgIHByaW5jaXBhbDogb3BzU2FudGFGdW5jdGlvblNFU1Blcm1pc3Npb25zLFxuICAgICAgYWN0aW9uOiAnbGFtYmRhOkludm9rZUZ1bmN0aW9uJyxcbiAgICAgIHNvdXJjZUFjY291bnQ6IFN0YWNrLm9mKHRoaXMpLmFjY291bnQsXG4gICAgfSk7XG5cbiAgICAvLyBDUiB0byBhY3RpdmF0ZSBTRVMgcmVjZWlwdCBydWxlIHNldFxuICAgIG5ldyBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb24odGhpcywgJ1NFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvbicsIHtcbiAgICAgIGRvbWFpbjogcHJvcHMuZG9tYWluLFxuICAgICAgc3ViZG9tYWluOiBwcm9wcy5zdWJkb21haW4sXG4gICAgICBlbWFpbGJ1Y2tldDogcHJvcHMuZW1haWxidWNrZXQsXG4gICAgICBvcHNTYW50YUZ1bmN0aW9uQXJuOiBvcHNTYW50YUZ1bmN0aW9uLmZ1bmN0aW9uQXJuLFxuICAgIH0pO1xuXG4gICAgLy8gSWYgRGVzdHJveSBQb2xpY3kgQXNwZWN0IGlzIHByZXNlbnQ6XG4gICAgaWYgKHByb3BzLnNldERlc3Ryb3lQb2xpY3lUb0FsbFJlc291cmNlcykge1xuICAgICAgQXNwZWN0cy5vZih0aGlzKS5hZGQobmV3IEFwcGx5RGVzdHJveVBvbGljeUFzcGVjdCgpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBc3BlY3QgZm9yIHNldHRpbmcgYWxsIHJlbW92YWwgcG9saWNpZXMgdG8gREVTVFJPWVxuICovXG5jbGFzcyBBcHBseURlc3Ryb3lQb2xpY3lBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgcHVibGljIHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIENmblJlc291cmNlKSB7XG4gICAgICBub2RlLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgIH1cbiAgfVxufSJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VzLXJlY2VpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FZcUI7QUFDckIscUVBQStEO0FBQy9ELHFDQUEwQztBQUMxQywyQ0FBbUQ7QUFDbkQscUNBQWlFO0FBQ2pFLHFGQUErRTtBQTZCL0UsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFDdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBQSwyQkFBa0IsRUFBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLFlBQVksdUNBQXVDLDBCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkksQ0FBQztRQUVELE1BQU0sOEJBQThCLEdBQUcsSUFBSSxxQkFBRyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLHFCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUN0RSxTQUFTLEVBQUUsSUFBSSxxQkFBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO1lBQzNELGVBQWUsRUFBRSxDQUFDLHFCQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDekcsY0FBYyxFQUFFO2dCQUNkLDBCQUEwQixFQUFFLElBQUkscUJBQUcsQ0FBQyxjQUFjLENBQUM7b0JBQ2pELFVBQVUsRUFBRTt3QkFDVixJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDOzRCQUN0QixNQUFNLEVBQUUscUJBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSzs0QkFDeEIsT0FBTyxFQUFFO2dDQUNQLGNBQWM7NkJBQ2Y7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQzs2QkFDOUM7eUJBQ0YsQ0FBQzt3QkFDRixJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDOzRCQUN0QixNQUFNLEVBQUUscUJBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSzs0QkFDeEIsT0FBTyxFQUFFO2dDQUNQLG1CQUFtQjs2QkFDcEI7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULEdBQUc7NkJBQ0o7eUJBQ0YsQ0FBQzt3QkFDRixJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDOzRCQUN0QixNQUFNLEVBQUUscUJBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSzs0QkFDeEIsT0FBTyxFQUFFO2dDQUNQLGtCQUFrQjs2QkFDbkI7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULGtGQUFrRjtnQ0FDbEYsOEVBQThFO2dDQUM5RSxpQkFBRyxDQUFDLE1BQU0sQ0FBQztvQ0FDVCxTQUFTLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUztvQ0FDbkMsT0FBTyxFQUFFLEtBQUs7b0NBQ2QsTUFBTSxFQUFFLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU07b0NBQzdCLE9BQU8sRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPO29DQUMvQixRQUFRLEVBQUUsV0FBVztvQ0FDckIsU0FBUyxFQUFFLHVCQUFTLENBQUMsbUJBQW1CO29DQUN4QyxZQUFZLEVBQUUsWUFBWTtpQ0FDM0IsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzs2QkFDbkI7eUJBQ0YsQ0FBQztxQkFDSDtpQkFDRixDQUFDO2FBQ0g7U0FDRixDQUFDLENBQUM7UUFDSCx5QkFBZSxDQUFDLHVCQUF1QixDQUNyQztZQUNFLG9CQUFvQjtTQUNyQixFQUNEO1lBQ0UsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLG9DQUFvQyxFQUFFO1lBQ3pFLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSwwREFBMEQsRUFBRTtTQUNoRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRVgsSUFBSSxnQkFBaUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ25DLGdCQUFnQixHQUFHLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztZQUNsRCxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxxQkFBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZ0NBQWdDLEVBQUU7Z0JBQy9GLFVBQVUsRUFBRTtvQkFDVixJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDO3dCQUN0QixNQUFNLEVBQUUscUJBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSzt3QkFDeEIsT0FBTyxFQUFFOzRCQUNQLGNBQWM7eUJBQ2Y7d0JBQ0QsU0FBUyxFQUFFOzRCQUNULEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQzt5QkFDOUM7cUJBQ0YsQ0FBQztpQkFDSDthQUNGLENBQUMsQ0FBQyxDQUFDO1lBQ0osZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlFLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7YUFBTSxDQUFDO1lBQ04sZ0JBQWdCLEdBQUcsSUFBSSxrQ0FBYyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtnQkFDL0QsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLE9BQU8sRUFBRSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNuQyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM3QixZQUFZLEVBQUUsQ0FBQztnQkFDZixXQUFXLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVTtvQkFDMUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTO29CQUM3QyxzQkFBc0IsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNO2lCQUM5QzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCw2QkFBNkI7UUFDN0IsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGdDQUFnQyxFQUFFO1lBQy9ELFNBQVMsRUFBRSw4QkFBOEI7WUFDekMsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixhQUFhLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTztTQUN0QyxDQUFDLENBQUM7UUFFSCxzQ0FBc0M7UUFDdEMsSUFBSSw0REFBMkIsQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLEVBQUU7WUFDbkUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMxQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUMsV0FBVztTQUNsRCxDQUFDLENBQUM7UUFFSCx1Q0FBdUM7UUFDdkMsSUFBSSxLQUFLLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN6QyxxQkFBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7O0FBckhILGdDQXNIQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFNLHdCQUF3QjtJQUNyQixLQUFLLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxJQUFJLFlBQVkseUJBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcm4sXG4gIEFybkZvcm1hdCxcbiAgQXNwZWN0cyxcbiAgQ2ZuUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICBJQXNwZWN0LFxuICBSZW1vdmFsUG9saWN5LFxuICBTdGFjayxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfczMgYXMgczMsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHsgTmFnU3VwcHJlc3Npb25zIH0gZnJvbSAnY2RrLW5hZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGlzU0VTRW5hYmxlZFJlZ2lvbiwgc2VzRW5hYmxlZFJlZ2lvbnMgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb24gfSBmcm9tICcuL3Nlcy1yZWNlaXB0LXJ1bGVzZXQtYWN0aXZhdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU0VTUmVjZWl2ZVByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdWJkb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuXG4gICAqL1xuICByZWFkb25seSBzdWJkb21haW46IHN0cmluZztcblxuICAvKipcbiAgICogUzMgYnVja2V0IHRvIHN0b3JlIHJlY2VpdmVkIGVtYWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgZW1haWxidWNrZXQ6IHMzLkJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIGN1c3RvbSBTRVMgcmVjZWl2ZSBmdW5jdGlvbiB0byB1c2VcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVNlc1JlY2VpdmVGdW5jdGlvbj86IGxhbWJkYS5GdW5jdGlvbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzZXQgYWxsIHJlbW92YWwgcG9saWNpZXMgdG8gREVTVFJPWS4gVGhpcyBpcyB1c2VmdWwgZm9yIGludGVncmF0aW9uIHRlc3RpbmcgcHVycG9zZXMuXG4gICAqL1xuICByZWFkb25seSBzZXREZXN0cm95UG9saWN5VG9BbGxSZXNvdXJjZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU0VTUmVjZWl2ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTRVNSZWNlaXZlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZGVwbG95UmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIGlmICghaXNTRVNFbmFibGVkUmVnaW9uKGRlcGxveVJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU0VTIGlzIG5vdCBhdmFpbGFibGUgaW4gcmVnaW9uICR7ZGVwbG95UmVnaW9ufS4gVXNlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlZ2lvbnM6ICR7c2VzRW5hYmxlZFJlZ2lvbnMuam9pbignLCAnKX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHNTYW50YUZ1bmN0aW9uU0VTUGVybWlzc2lvbnMgPSBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ3Nlcy5hbWF6b25hd3MuY29tJyk7XG4gICAgY29uc3Qgb3BzU2FudGFGdW5jdGlvblJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ09wc1NhbnRhRnVuY3Rpb25Sb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnKV0sXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBPcHNTYW50YUZ1bmN0aW9uUm9sZVBvbGljeTogbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnczM6R2V0T2JqZWN0JyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgcHJvcHMuZW1haWxidWNrZXQuYXJuRm9yT2JqZWN0cygnUm9vdE1haWwvKicpLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzc206Q3JlYXRlT3BzSXRlbScsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgICcqJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnc3NtOlB1dFBhcmFtZXRlcicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIC8vIGFybjoke0FXUzo6UGFydGl0aW9ufTpzc206JHtBV1M6OlJlZ2lvbn06JHtBV1M6OkFjY291bnRJZH06cGFyYW1ldGVyL3Jvb3RtYWlsLypcbiAgICAgICAgICAgICAgICAvLyBhcm46e3BhcnRpdGlvbn06e3NlcnZpY2V9OntyZWdpb259OnthY2NvdW50fTp7cmVzb3VyY2V9e3NlcH17cmVzb3VyY2UtbmFtZX1cbiAgICAgICAgICAgICAgICBBcm4uZm9ybWF0KHtcbiAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbjogU3RhY2sub2YodGhpcykucGFydGl0aW9uLFxuICAgICAgICAgICAgICAgICAgc2VydmljZTogJ3NzbScsXG4gICAgICAgICAgICAgICAgICByZWdpb246IFN0YWNrLm9mKHRoaXMpLnJlZ2lvbixcbiAgICAgICAgICAgICAgICAgIGFjY291bnQ6IFN0YWNrLm9mKHRoaXMpLmFjY291bnQsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZTogJ3BhcmFtZXRlcicsXG4gICAgICAgICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiAncm9vdG1haWwvKicsXG4gICAgICAgICAgICAgICAgfSwgU3RhY2sub2YodGhpcykpLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhcbiAgICAgIFtcbiAgICAgICAgb3BzU2FudGFGdW5jdGlvblJvbGUsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICB7IGlkOiAnQXdzU29sdXRpb25zLUlBTTQnLCByZWFzb246ICdubyBzZXJ2aWNlIHJvbGUgcmVzdHJpY3Rpb24gbmVlZGVkJyB9LFxuICAgICAgICB7IGlkOiAnQXdzU29sdXRpb25zLUlBTTUnLCByZWFzb246ICd3aWxkY2FyZHMgYXJlIG9rIGFzIHdlIGFsbG93IGV2ZXJ5IG9wc2l0ZW0gdG8gYmUgY3JlYXRlZCcgfSxcbiAgICAgIF0sIHRydWUpO1xuXG4gICAgbGV0IG9wc1NhbnRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbjtcbiAgICBpZiAocHJvcHMuY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uKSB7XG4gICAgICBvcHNTYW50YUZ1bmN0aW9uID0gcHJvcHMuY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uO1xuICAgICAgb3BzU2FudGFGdW5jdGlvbi5yb2xlPy5hdHRhY2hJbmxpbmVQb2xpY3kobmV3IGlhbS5Qb2xpY3kodGhpcywgJ0N1c3RvbVNlc1JlY2VpdmVGdW5jdGlvblBvbGljeScsIHtcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgJ3MzOkdldE9iamVjdCcsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgIHByb3BzLmVtYWlsYnVja2V0LmFybkZvck9iamVjdHMoJ1Jvb3RNYWlsLyonKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSk7XG4gICAgICBvcHNTYW50YUZ1bmN0aW9uLmFkZEVudmlyb25tZW50KCdFTUFJTF9CVUNLRVQnLCBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXROYW1lKTtcbiAgICAgIG9wc1NhbnRhRnVuY3Rpb24uYWRkRW52aXJvbm1lbnQoJ0VNQUlMX0JVQ0tFVF9BUk4nLCBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXRBcm4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHNTYW50YUZ1bmN0aW9uID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHRoaXMsICdvcHMtc2FudGEtaGFuZGxlcicsIHtcbiAgICAgICAgaGFuZGxlcjogJ2hhbmRsZXInLFxuICAgICAgICByb2xlOiBvcHNTYW50YUZ1bmN0aW9uUm9sZSxcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgICBsb2dSZXRlbnRpb246IDMsXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgRU1BSUxfQlVDS0VUOiBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgIEVNQUlMX0JVQ0tFVF9BUk46IHByb3BzLmVtYWlsYnVja2V0LmJ1Y2tldEFybixcbiAgICAgICAgICBST09UTUFJTF9ERVBMT1lfUkVHSU9OOiBTdGFjay5vZih0aGlzKS5yZWdpb24sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gd2lsbCBiZSBhZGRlZCBpbiBib3RoIHdheXNcbiAgICBvcHNTYW50YUZ1bmN0aW9uLmFkZFBlcm1pc3Npb24oJ09wc1NhbnRhRnVuY3Rpb25TRVNQZXJtaXNzaW9ucycsIHtcbiAgICAgIHByaW5jaXBhbDogb3BzU2FudGFGdW5jdGlvblNFU1Blcm1pc3Npb25zLFxuICAgICAgYWN0aW9uOiAnbGFtYmRhOkludm9rZUZ1bmN0aW9uJyxcbiAgICAgIHNvdXJjZUFjY291bnQ6IFN0YWNrLm9mKHRoaXMpLmFjY291bnQsXG4gICAgfSk7XG5cbiAgICAvLyBDUiB0byBhY3RpdmF0ZSBTRVMgcmVjZWlwdCBydWxlIHNldFxuICAgIG5ldyBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb24odGhpcywgJ1NFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvbicsIHtcbiAgICAgIGRvbWFpbjogcHJvcHMuZG9tYWluLFxuICAgICAgc3ViZG9tYWluOiBwcm9wcy5zdWJkb21haW4sXG4gICAgICBlbWFpbGJ1Y2tldDogcHJvcHMuZW1haWxidWNrZXQsXG4gICAgICBvcHNTYW50YUZ1bmN0aW9uQXJuOiBvcHNTYW50YUZ1bmN0aW9uLmZ1bmN0aW9uQXJuLFxuICAgIH0pO1xuXG4gICAgLy8gSWYgRGVzdHJveSBQb2xpY3kgQXNwZWN0IGlzIHByZXNlbnQ6XG4gICAgaWYgKHByb3BzLnNldERlc3Ryb3lQb2xpY3lUb0FsbFJlc291cmNlcykge1xuICAgICAgQXNwZWN0cy5vZih0aGlzKS5hZGQobmV3IEFwcGx5RGVzdHJveVBvbGljeUFzcGVjdCgpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBc3BlY3QgZm9yIHNldHRpbmcgYWxsIHJlbW92YWwgcG9saWNpZXMgdG8gREVTVFJPWVxuICovXG5jbGFzcyBBcHBseURlc3Ryb3lQb2xpY3lBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgcHVibGljIHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIENmblJlc291cmNlKSB7XG4gICAgICBub2RlLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgIH1cbiAgfVxufSJdfQ==
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "An opinionated way to secure root email addresses for AWS accounts.",
4
4
  "repository": {
5
5
  "type": "git",
6
- "url": "https://github.com/mavogel/awscdk-rootmail.git"
6
+ "url": "https://github.com/MV-Consulting/awscdk-rootmail"
7
7
  },
8
8
  "scripts": {
9
9
  "build": "npx projen build",
@@ -28,10 +28,11 @@
28
28
  "upgrade": "npx projen upgrade",
29
29
  "watch": "npx projen watch",
30
30
  "projen": "npx projen",
31
+ "synth": "npx cdk synth -q",
32
+ "publish-assets": "npx ts-node -P tsconfig.json --prefer-ts-exts src/scripts/publish-assets.ts",
31
33
  "prepare": "husky install",
32
- "integ-test": "integ-runner --directory ./integ-tests --parallel-regions eu-west-2 --update-on-failed",
33
- "prepare-integ-test": "rm -rf cdk.out && cdk synth -q",
34
- "publish-assets": "npx ts-node -P tsconfig.json --prefer-ts-exts src/scripts/publish-assets.ts"
34
+ "prepare-integ-test": "rm -rf cdk.out && npx cdk synth -q",
35
+ "integ-test": "integ-runner --directory ./integ-tests --parallel-regions eu-west-2 --parallel-regions eu-west-1 --update-on-failed"
35
36
  },
36
37
  "author": {
37
38
  "name": "Manuel Vogel",
@@ -103,14 +104,18 @@
103
104
  "uuid"
104
105
  ],
105
106
  "keywords": [
106
- "cdk"
107
+ "aws",
108
+ "cdk",
109
+ "construct",
110
+ "rootmail",
111
+ "ses"
107
112
  ],
108
113
  "main": "lib/index.js",
109
114
  "license": "Apache-2.0",
110
115
  "publishConfig": {
111
116
  "access": "public"
112
117
  },
113
- "version": "0.0.17",
118
+ "version": "0.0.19",
114
119
  "jest": {
115
120
  "testMatch": [
116
121
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",