@mavogel/awscdk-rootmail 0.1.17 → 0.1.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.
- package/.jsii +13 -13
- package/README.md +2 -2
- package/integ-tests/integ.rootmail-custom-santa.ts +3 -2
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +31 -33
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.metadata.json +3923 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +432 -2072
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +84 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +29 -139
- package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9 → integ.rootmail-custom-santa.ts.snapshot/asset.3a99c40cdc76ed5458a3eba04a84e2a224db6d82fec9c3754279f76e43c0fe86}/index.js +10270 -3218
- package/integ-tests/{integ.rootmail.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail-custom-santa.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +5 -3
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +549 -734
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +1 -6407
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/validation-report.json +5 -0
- package/integ-tests/integ.rootmail-filter-subject.ts +3 -2
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.assets.json +31 -33
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.metadata.json +3923 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.template.json +432 -2072
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +84 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +29 -139
- package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9 → integ.rootmail-filter-subject.ts.snapshot/asset.3a99c40cdc76ed5458a3eba04a84e2a224db6d82fec9c3754279f76e43c0fe86}/index.js +10270 -3218
- package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail-filter-subject.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/integ.json +5 -3
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/manifest.json +549 -734
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/tree.json +1 -6407
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/validation-report.json +5 -0
- package/integ-tests/integ.rootmail.ts +3 -2
- package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.assets.json +60 -61
- package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.metadata.json +3936 -0
- package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.template.json +493 -2146
- package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
- package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +116 -0
- package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +51 -143
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.409d1db869dd0ed635bff94c855031afc92e9ac918a5d09651dd0b5316db1433 → asset.157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.0cc54596504938d3858f36b8eaeb554817254230dfa52e23a70aad9e657b80b8 → asset.2b86f8b255c50c6eba274c368849bab1c7a3747c30ef5df4c96f8dea8fffa21e}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.aca912f8a6aebc5dfd423aff79785b8fd7488473a4cf93aaa7ad0e442b548787 → asset.4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.ed72e1e93cae7d32d1a99c33e6f697428dc230c3922131e7ba121cc99a732f3f → asset.6ae1d1fcc0e69b0216c406dcb73136e88857dfc9a29784c57838e1fb0f9f7496}/index.js +1 -1
- package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.7144c5a47b3904b1aa4b27be73803a4b684f4ef765d9df8fa767779d37106254 → asset.78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.f61472ea141af20f69ebb7a7718158fcb95d72410c0c2a2e72cc59b1822873fc → asset.7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.11768574bbd12c5ed10f463a68797423c366b61535ebc1b14951661b92657fa5 → asset.9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.9709438d0fbb508ea9bfee8683a274b4f9492f5e527eb28e0bd9e2bc96b9a08f → asset.be7d56b509650f7f97c406a745d8335992726086995e4cb4aaf50417ab40e803}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
- package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
- package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.aa3a06cb0aae2ae75b5bdf62921fd207503fd54b0e711ebb20274f3e6afd3bfa → asset.ee814b07e4253e03bace8114424b313a76d41c6312b50dc336730835e39f5fa4}/index.js +10367 -3313
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.11281c9e2a2b601c3421513ba7c9be4b643b04ba6a934192e52e46def7ab0830 → asset.f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad}/index.js +3 -1
- package/integ-tests/integ.rootmail.ts.snapshot/integ.json +5 -3
- package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +548 -764
- package/integ-tests/integ.rootmail.ts.snapshot/tree.json +1 -6522
- package/integ-tests/integ.rootmail.ts.snapshot/validation-report.json +5 -0
- package/lib/hosted-zone-dkim-propagation.js +4 -4
- package/lib/hosted-zone-dkim-verification-records.js +3 -3
- package/lib/hosted-zone-dkim.js +1 -6
- package/lib/rootmail-autowire-dns.js +4 -4
- package/lib/rootmail.js +1 -1
- package/lib/ses-receipt-ruleset-activation.js +4 -4
- package/lib/ses-receive.js +3 -3
- package/package.json +2 -2
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
- package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
- /package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
- /package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
- /package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
- /package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
- /package/integ-tests/integ.rootmail.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
- /package/integ-tests/integ.rootmail.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
|
@@ -68,7 +68,7 @@ class HostedZoneDKIMPropagationProvider extends constructs_1.Construct {
|
|
|
68
68
|
super(scope, id);
|
|
69
69
|
const isCompleteHandlerFunc = new aws_lambda_nodejs_1.NodejsFunction(this, 'is-complete-handler', {
|
|
70
70
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
71
|
-
|
|
71
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'is-complete-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
72
72
|
timeout: aws_cdk_lib_1.Duration.seconds(30),
|
|
73
73
|
});
|
|
74
74
|
isCompleteHandlerFunc.addToRolePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
|
|
@@ -83,7 +83,7 @@ class HostedZoneDKIMPropagationProvider extends constructs_1.Construct {
|
|
|
83
83
|
}));
|
|
84
84
|
const onEventHandlerFunc = new aws_lambda_nodejs_1.NodejsFunction(this, 'on-event-handler', {
|
|
85
85
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
86
|
-
|
|
86
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'on-event-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
87
87
|
timeout: aws_cdk_lib_1.Duration.seconds(10),
|
|
88
88
|
});
|
|
89
89
|
this.provider = new cr.Provider(this, 'hosted-zone-dkim-propagation-provider', {
|
|
@@ -91,7 +91,7 @@ class HostedZoneDKIMPropagationProvider extends constructs_1.Construct {
|
|
|
91
91
|
queryInterval: aws_cdk_lib_1.Duration.seconds(10),
|
|
92
92
|
totalTimeout: props.totalTimeToWireDNS,
|
|
93
93
|
onEventHandler: onEventHandlerFunc,
|
|
94
|
-
|
|
94
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'hosted-zone-dkim-propagation-provider-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
95
95
|
});
|
|
96
96
|
// Granular findings only. Portable IDs only: Resource::* is constant across any deployment,
|
|
97
97
|
// Resource::<logical-id> findings are not. AwsSolutions-IAM4[Policy::...] cannot be
|
|
@@ -104,4 +104,4 @@ class HostedZoneDKIMPropagationProvider extends constructs_1.Construct {
|
|
|
104
104
|
}
|
|
105
105
|
;
|
|
106
106
|
}
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLXpvbmUtZGtpbS1wcm9wYWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ob3N0ZWQtem9uZS1ka2ltLXByb3BhZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQVFxQjtBQUNyQixxRUFBK0Q7QUFDL0QsaUVBQW1EO0FBQ25ELDJDQUE2QztBQUM3QyxtSEFBOEU7QUFPOUUsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQUN0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbkMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNuSCxZQUFZLEVBQUUsbUNBQW1DO1lBQ2pELFVBQVUsRUFBRTtnQkFDVixDQUFDLDJEQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTTthQUM1QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQVpELDhEQVlDO0FBTUQsTUFBTSxpQ0FBa0MsU0FBUSxzQkFBUztJQUV2RDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBZ0IsRUFBRSxLQUE2QztRQUN2RixNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixNQUFNLEVBQUUsR0FBRyxnREFBZ0QsQ0FBQztRQUM1RCxNQUFNLENBQUMsR0FBRyxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFzQztlQUN6RSxJQUFJLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0QsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUNqQyxDQUFDO0lBRWdCLFFBQVEsQ0FBYztJQUV2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZDO1FBQ3JGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGtDQUFjLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQzVFLE9BQU8sRUFBRSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLFFBQVEsRUFBRSxJQUFJLHNCQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSwrQkFBK0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxzQkFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3RyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUVILHFCQUFxQixDQUFDLGVBQWUsQ0FDbkMsSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsdUNBQXVDO2dCQUN2Qyw4QkFBOEI7Z0JBQzlCLCtCQUErQjtnQkFDL0IsdUNBQXVDO2FBQ3hDO1lBQ0QsTUFBTSxFQUFFLHFCQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGtDQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3RFLE9BQU8sRUFBRSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLFFBQVEsRUFBRSxJQUFJLHNCQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSw0QkFBNEIsRUFBRSxFQUFFLFNBQVMsRUFBRSxzQkFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxRyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSx1Q0FBdUMsRUFBRTtZQUM3RSxpQkFBaUIsRUFBRSxxQkFBcUI7WUFDeEMsYUFBYSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUN0QyxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLHNCQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxpREFBaUQsRUFBRSxFQUFFLFNBQVMsRUFBRSxzQkFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoSSxDQUFDLENBQUM7UUFDSCw0RkFBNEY7UUFDNUYsb0ZBQW9GO1FBQ3BGLDhGQUE4RjtRQUM5Riw0RkFBNEY7UUFDNUYsOEZBQThGO1FBQzlGLE1BQU0sZ0JBQWdCLEdBQUcsZ0NBQWdDLENBQUM7UUFDMUQsTUFBTSxVQUFVLEdBQUcsb0VBQW9FLENBQUM7UUFFeEYseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBa0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBQUEsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICBTdGFjayxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfbG9ncyBhcyBsb2dzLFxuICBWYWxpZGF0aW9ucyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUFJPUF9ET01BSU4gfSBmcm9tICcuL2hvc3RlZC16b25lLWRraW0tcHJvcGFnYXRpb24ub24tZXZlbnQtaGFuZGxlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZURLSU1Qcm9wYWdhdGlvblByb3BzIHtcbiAgcmVhZG9ubHkgZG9tYWluOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRvdGFsVGltZVRvV2lyZUROUz86IER1cmF0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgSG9zdGVkWm9uZURLSU1Qcm9wYWdhdGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBIb3N0ZWRab25lREtJTVByb3BhZ2F0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogSG9zdGVkWm9uZURLSU1Qcm9wYWdhdGlvblByb3ZpZGVyLmdldE9yQ3JlYXRlKHRoaXMsIHsgdG90YWxUaW1lVG9XaXJlRE5TOiBwcm9wcy50b3RhbFRpbWVUb1dpcmVETlMgfSksXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206Okhvc3RlZFpvbmVES0lNUHJvcGFnYXRpb24nLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBbUFJPUF9ET01BSU5dOiBwcm9wcy5kb21haW4sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmludGVyZmFjZSBIb3N0ZWRab25lREtJTVByb3BhZ2F0aW9uUHJvdmlkZXJQcm9wcyB7XG4gIHJlYWRvbmx5IHRvdGFsVGltZVRvV2lyZUROUz86IER1cmF0aW9uO1xufVxuXG5jbGFzcyBIb3N0ZWRab25lREtJTVByb3BhZ2F0aW9uUHJvdmlkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzaW5nbGV0b24gcHJvdmlkZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldE9yQ3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBIb3N0ZWRab25lREtJTVByb3BhZ2F0aW9uUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIGNvbnN0IGlkID0gJ3Jvb3RtYWlsLmhvc3RlZC16b25lLWRraW0tcHJvcGFnYXRpb24tcHJvdmlkZXInO1xuICAgIGNvbnN0IHggPSBOb2RlLm9mKHN0YWNrKS50cnlGaW5kQ2hpbGQoaWQpIGFzIEhvc3RlZFpvbmVES0lNUHJvcGFnYXRpb25Qcm92aWRlclxuICAgICAgfHwgbmV3IEhvc3RlZFpvbmVES0lNUHJvcGFnYXRpb25Qcm92aWRlcihzdGFjaywgaWQsIHByb3BzKTtcbiAgICByZXR1cm4geC5wcm92aWRlci5zZXJ2aWNlVG9rZW47XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVyOiBjci5Qcm92aWRlcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSG9zdGVkWm9uZURLSU1Qcm9wYWdhdGlvblByb3ZpZGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaXNDb21wbGV0ZUhhbmRsZXJGdW5jID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHRoaXMsICdpcy1jb21wbGV0ZS1oYW5kbGVyJywge1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzI0X1gsXG4gICAgICBsb2dHcm91cDogbmV3IGxvZ3MuTG9nR3JvdXAodGhpcywgJ2lzLWNvbXBsZXRlLWhhbmRsZXItbG9nLWdyb3VwJywgeyByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfREFZIH0pLFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgfSk7XG5cbiAgICBpc0NvbXBsZXRlSGFuZGxlckZ1bmMuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3NlczpHZXRJZGVudGl0eVZlcmlmaWNhdGlvbkF0dHJpYnV0ZXMnLFxuICAgICAgICAgICdzZXM6R2V0QWNjb3VudFNlbmRpbmdFbmFibGVkJyxcbiAgICAgICAgICAnc2VzOkdldElkZW50aXR5RGtpbUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICdzZXM6R2V0SWRlbnRpdHlOb3RpZmljYXRpb25BdHRyaWJ1dGVzJyxcbiAgICAgICAgXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IG9uRXZlbnRIYW5kbGVyRnVuYyA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCAnb24tZXZlbnQtaGFuZGxlcicsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yNF9YLFxuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdvbi1ldmVudC1oYW5kbGVyLWxvZy1ncm91cCcsIHsgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX0RBWSB9KSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCAnaG9zdGVkLXpvbmUtZGtpbS1wcm9wYWdhdGlvbi1wcm92aWRlcicsIHtcbiAgICAgIGlzQ29tcGxldGVIYW5kbGVyOiBpc0NvbXBsZXRlSGFuZGxlckZ1bmMsXG4gICAgICBxdWVyeUludGVydmFsOiBEdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICAgIHRvdGFsVGltZW91dDogcHJvcHMudG90YWxUaW1lVG9XaXJlRE5TLFxuICAgICAgb25FdmVudEhhbmRsZXI6IG9uRXZlbnRIYW5kbGVyRnVuYyxcbiAgICAgIGxvZ0dyb3VwOiBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnaG9zdGVkLXpvbmUtZGtpbS1wcm9wYWdhdGlvbi1wcm92aWRlci1sb2ctZ3JvdXAnLCB7IHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9EQVkgfSksXG4gICAgfSk7XG4gICAgLy8gR3JhbnVsYXIgZmluZGluZ3Mgb25seS4gUG9ydGFibGUgSURzIG9ubHk6IFJlc291cmNlOjoqIGlzIGNvbnN0YW50IGFjcm9zcyBhbnkgZGVwbG95bWVudCxcbiAgICAvLyBSZXNvdXJjZTo6PGxvZ2ljYWwtaWQ+IGZpbmRpbmdzIGFyZSBub3QuIEF3c1NvbHV0aW9ucy1JQU00W1BvbGljeTo6Li4uXSBjYW5ub3QgYmVcbiAgICAvLyBhY2tub3dsZWRnZWQgYXQgYWxsIHJpZ2h0IG5vdyAtIGF3cy1jZGstbGliJ3MgVmFsaWRhdGlvbnMuYWNrbm93bGVkZ2UoKSByZWplY3RzIGFueSBpZCB3aXRoXG4gICAgLy8gbW9yZSB0aGFuIG9uZSAnOjonLCBhbmQgQVdTIG1hbmFnZWQgcG9saWN5IEFSTnMgYWx3YXlzIGNvbnRhaW4gb25lIChjZGtsYWJzL2Nkay1uYWcjMjM1OSxcbiAgICAvLyAjMjM1MSwgYm90aCBvcGVuIHVwc3RyZWFtKS4gU2VlIGRvY3MvcGxhbnMvMjAyNi0wOC0wOS1idW1wLW12Yy1wcm9qZW4tY2RrLW5hZy12My5tZCBUYXNrIDMuXG4gICAgY29uc3QgaWFtNVJlc291cmNlU3RhciA9ICdBd3NTb2x1dGlvbnMtSUFNNVtSZXNvdXJjZTo6Kl0nO1xuICAgIGNvbnN0IHJlYXNvbklhbTUgPSAnd2lsZGNhcmRzIGFyZSBvayBmb3IgdGhlIHByb3ZpZGVyIGFzIHRoZSBmdW5jdGlvbiBoYXMgcmVzdHJpY3Rpb25zJztcblxuICAgIFZhbGlkYXRpb25zLm9mKHRoaXMucHJvdmlkZXIuaXNDb21wbGV0ZUhhbmRsZXIhKS5hY2tub3dsZWRnZSh7IGlkOiBpYW01UmVzb3VyY2VTdGFyLCByZWFzb246IHJlYXNvbklhbTUgfSk7XG4gIH07XG59XG5cbiJdfQ==
|
|
@@ -72,7 +72,7 @@ class HostedZoneDKIMAndVerificationRecordsProvider extends constructs_1.Construc
|
|
|
72
72
|
super(scope, id);
|
|
73
73
|
const onEventHandlerFunc = new aws_lambda_nodejs_1.NodejsFunction(this, 'on-event-handler', {
|
|
74
74
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
75
|
-
|
|
75
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'on-event-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
76
76
|
timeout: aws_cdk_lib_1.Duration.seconds(200),
|
|
77
77
|
});
|
|
78
78
|
onEventHandlerFunc.addToRolePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
|
|
@@ -85,7 +85,7 @@ class HostedZoneDKIMAndVerificationRecordsProvider extends constructs_1.Construc
|
|
|
85
85
|
}));
|
|
86
86
|
this.provider = new cr.Provider(this, 'hosted-zone-dkim-verification-records-provider', {
|
|
87
87
|
onEventHandler: onEventHandlerFunc,
|
|
88
|
-
|
|
88
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'hosted-zone-dkim-verification-records-provider-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
89
89
|
});
|
|
90
90
|
// Granular findings only. Portable IDs only: Resource::* is constant across any deployment,
|
|
91
91
|
// Resource::<logical-id> findings are not. AwsSolutions-IAM4[Policy::...] cannot be
|
|
@@ -98,4 +98,4 @@ class HostedZoneDKIMAndVerificationRecordsProvider extends constructs_1.Construc
|
|
|
98
98
|
}
|
|
99
99
|
;
|
|
100
100
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLXpvbmUtZGtpbS12ZXJpZmljYXRpb24tcmVjb3Jkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ob3N0ZWQtem9uZS1ka2ltLXZlcmlmaWNhdGlvbi1yZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQVFxQjtBQUNyQixxRUFBK0Q7QUFDL0QsaUVBQW1EO0FBQ25ELDJDQUE2QztBQUM3QyxxSUFBa0k7QUFNbEksTUFBYSxvQ0FBcUMsU0FBUSxzQkFBUztJQUNqRCxpQkFBaUIsQ0FBUztJQUMxQixVQUFVLENBQVc7SUFFckMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnRDtRQUN4RixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sUUFBUSxHQUFHLElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3BELFlBQVksRUFBRSw0Q0FBNEMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQzVFLFlBQVksRUFBRSw4Q0FBOEM7WUFDNUQsVUFBVSxFQUFFO2dCQUNWLENBQUMsb0VBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsZ0ZBQXVCLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMseUVBQWdCLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7QUFsQkQsb0ZBa0JDO0FBRUQsTUFBTSw0Q0FBNkMsU0FBUSxzQkFBUztJQUVsRTs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBZ0I7UUFDeEMsTUFBTSxLQUFLLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsTUFBTSxFQUFFLEdBQUcseURBQXlELENBQUM7UUFDckUsTUFBTSxDQUFDLEdBQUcsaUJBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBaUQ7ZUFDcEYsSUFBSSw0Q0FBNEMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUNqQyxDQUFDO0lBRWdCLFFBQVEsQ0FBYztJQUV2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxrQ0FBYyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUN0RSxPQUFPLEVBQUUsd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxRQUFRLEVBQUUsSUFBSSxzQkFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUcsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztTQUMvQixDQUFDLENBQUM7UUFFSCxrQkFBa0IsQ0FBQyxlQUFlLENBQ2hDLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLHNCQUFzQjtnQkFDdEIsMEJBQTBCO2dCQUMxQixvQkFBb0I7YUFDckI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDakIsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0RBQWdELEVBQUU7WUFDdEYsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQyxRQUFRLEVBQUUsSUFBSSxzQkFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsMERBQTBELEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDekksQ0FBQyxDQUFDO1FBQ0gsNEZBQTRGO1FBQzVGLG9GQUFvRjtRQUNwRiw4RkFBOEY7UUFDOUYsNEZBQTRGO1FBQzVGLDhGQUE4RjtRQUM5RixNQUFNLGdCQUFnQixHQUFHLGdDQUFnQyxDQUFDO1FBQzFELE1BQU0sVUFBVSxHQUFHLG9FQUFvRSxDQUFDO1FBRXhGLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFBQSxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDdXN0b21SZXNvdXJjZSxcbiAgRHVyYXRpb24sXG4gIFN0YWNrLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIFZhbGlkYXRpb25zLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzJztcbmltcG9ydCAqIGFzIGNyIGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlIH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBVFRSX1ZFUklGSUNBVElPTl9UT0tFTiwgQVRUUl9ES0lNX1RPS0VOUywgUFJPUF9ET01BSU4gfSBmcm9tICcuL2hvc3RlZC16b25lLWRraW0tdmVyaWZpY2F0aW9uLXJlY29yZHMub24tZXZlbnQtaGFuZGxlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZURLSU1BbmRWZXJpZmljYXRpb25SZWNvcmRzUHJvcHMge1xuICByZWFkb25seSBkb21haW46IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEhvc3RlZFpvbmVES0lNQW5kVmVyaWZpY2F0aW9uUmVjb3JkcyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSB2ZXJpZmljYXRpb25Ub2tlbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGtpbVRva2Vuczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEhvc3RlZFpvbmVES0lNQW5kVmVyaWZpY2F0aW9uUmVjb3Jkc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogSG9zdGVkWm9uZURLSU1BbmRWZXJpZmljYXRpb25SZWNvcmRzUHJvdmlkZXIuZ2V0T3JDcmVhdGUodGhpcyksXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206Okhvc3RlZFpvbmVES0lNQW5kVmVyaWZpY2F0aW9uUmVjb3JkcycsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFtQUk9QX0RPTUFJTl06IHByb3BzLmRvbWFpbixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnZlcmlmaWNhdGlvblRva2VuID0gcmVzb3VyY2UuZ2V0QXR0U3RyaW5nKEFUVFJfVkVSSUZJQ0FUSU9OX1RPS0VOKTtcbiAgICB0aGlzLmRraW1Ub2tlbnMgPSByZXNvdXJjZS5nZXRBdHQoQVRUUl9ES0lNX1RPS0VOUykudG9TdHJpbmdMaXN0KCk7XG4gIH1cbn1cblxuY2xhc3MgSG9zdGVkWm9uZURLSU1BbmRWZXJpZmljYXRpb25SZWNvcmRzUHJvdmlkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzaW5nbGV0b24gcHJvdmlkZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldE9yQ3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgICBjb25zdCBpZCA9ICdyb290bWFpbC5ob3N0ZWQtem9uZS1ka2ltLXZlcmlmaWNhdGlvbi1yZWNvcmRzLXByb3ZpZGVyJztcbiAgICBjb25zdCB4ID0gTm9kZS5vZihzdGFjaykudHJ5RmluZENoaWxkKGlkKSBhcyBIb3N0ZWRab25lREtJTUFuZFZlcmlmaWNhdGlvblJlY29yZHNQcm92aWRlclxuICAgICAgfHwgbmV3IEhvc3RlZFpvbmVES0lNQW5kVmVyaWZpY2F0aW9uUmVjb3Jkc1Byb3ZpZGVyKHN0YWNrLCBpZCk7XG4gICAgcmV0dXJuIHgucHJvdmlkZXIuc2VydmljZVRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlcjogY3IuUHJvdmlkZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBvbkV2ZW50SGFuZGxlckZ1bmMgPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ29uLWV2ZW50LWhhbmRsZXInLCB7XG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMjRfWCxcbiAgICAgIGxvZ0dyb3VwOiBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnb24tZXZlbnQtaGFuZGxlci1sb2ctZ3JvdXAnLCB7IHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9EQVkgfSksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDIwMCksXG4gICAgfSk7XG5cbiAgICBvbkV2ZW50SGFuZGxlckZ1bmMuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3NlczpWZXJpZnlEb21haW5Ea2ltJyxcbiAgICAgICAgICAnc2VzOlZlcmlmeURvbWFpbklkZW50aXR5JyxcbiAgICAgICAgICAnc2VzOkRlbGV0ZUlkZW50aXR5JyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLnByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsICdob3N0ZWQtem9uZS1ka2ltLXZlcmlmaWNhdGlvbi1yZWNvcmRzLXByb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IG9uRXZlbnRIYW5kbGVyRnVuYyxcbiAgICAgIGxvZ0dyb3VwOiBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnaG9zdGVkLXpvbmUtZGtpbS12ZXJpZmljYXRpb24tcmVjb3Jkcy1wcm92aWRlci1sb2ctZ3JvdXAnLCB7IHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9EQVkgfSksXG4gICAgfSk7XG4gICAgLy8gR3JhbnVsYXIgZmluZGluZ3Mgb25seS4gUG9ydGFibGUgSURzIG9ubHk6IFJlc291cmNlOjoqIGlzIGNvbnN0YW50IGFjcm9zcyBhbnkgZGVwbG95bWVudCxcbiAgICAvLyBSZXNvdXJjZTo6PGxvZ2ljYWwtaWQ+IGZpbmRpbmdzIGFyZSBub3QuIEF3c1NvbHV0aW9ucy1JQU00W1BvbGljeTo6Li4uXSBjYW5ub3QgYmVcbiAgICAvLyBhY2tub3dsZWRnZWQgYXQgYWxsIHJpZ2h0IG5vdyAtIGF3cy1jZGstbGliJ3MgVmFsaWRhdGlvbnMuYWNrbm93bGVkZ2UoKSByZWplY3RzIGFueSBpZCB3aXRoXG4gICAgLy8gbW9yZSB0aGFuIG9uZSAnOjonLCBhbmQgQVdTIG1hbmFnZWQgcG9saWN5IEFSTnMgYWx3YXlzIGNvbnRhaW4gb25lIChjZGtsYWJzL2Nkay1uYWcjMjM1OSxcbiAgICAvLyAjMjM1MSwgYm90aCBvcGVuIHVwc3RyZWFtKS4gU2VlIGRvY3MvcGxhbnMvMjAyNi0wOC0wOS1idW1wLW12Yy1wcm9qZW4tY2RrLW5hZy12My5tZCBUYXNrIDMuXG4gICAgY29uc3QgaWFtNVJlc291cmNlU3RhciA9ICdBd3NTb2x1dGlvbnMtSUFNNVtSZXNvdXJjZTo6Kl0nO1xuICAgIGNvbnN0IHJlYXNvbklhbTUgPSAnd2lsZGNhcmRzIGFyZSBvayBmb3IgdGhlIHByb3ZpZGVyIGFzIHRoZSBmdW5jdGlvbiBoYXMgcmVzdHJpY3Rpb25zJztcblxuICAgIFZhbGlkYXRpb25zLm9mKHRoaXMucHJvdmlkZXIub25FdmVudEhhbmRsZXIpLmFja25vd2xlZGdlKHsgaWQ6IGlhbTVSZXNvdXJjZVN0YXIsIHJlYXNvbjogcmVhc29uSWFtNSB9KTtcbiAgfTtcbn0iXX0=
|
package/lib/hosted-zone-dkim.js
CHANGED
|
@@ -22,7 +22,6 @@ class HostedZoneDkim extends constructs_1.Construct {
|
|
|
22
22
|
const hostedZoneDKIMTokens = hostedZoneDKIMAndVerificationRecords.dkimTokens;
|
|
23
23
|
// 2: set the records in the hosted zone
|
|
24
24
|
new aws_cdk_lib_1.aws_route53.RecordSet(this, 'HostedZoneDKIMTokenRecord0', {
|
|
25
|
-
deleteExisting: false,
|
|
26
25
|
zone: hostedZone,
|
|
27
26
|
target: aws_cdk_lib_1.aws_route53.RecordTarget.fromValues(`${aws_cdk_lib_1.Fn.select(0, hostedZoneDKIMTokens)}.dkim.amazonses.com`),
|
|
28
27
|
recordName: `${aws_cdk_lib_1.Fn.select(0, hostedZoneDKIMTokens)}._domainkey.${subdomain}.${domain}`,
|
|
@@ -30,7 +29,6 @@ class HostedZoneDkim extends constructs_1.Construct {
|
|
|
30
29
|
recordType: aws_cdk_lib_1.aws_route53.RecordType.CNAME,
|
|
31
30
|
});
|
|
32
31
|
new aws_cdk_lib_1.aws_route53.RecordSet(this, 'HostedZoneDKIMTokenRecord1', {
|
|
33
|
-
deleteExisting: false,
|
|
34
32
|
zone: hostedZone,
|
|
35
33
|
target: aws_cdk_lib_1.aws_route53.RecordTarget.fromValues(`${aws_cdk_lib_1.Fn.select(1, hostedZoneDKIMTokens)}.dkim.amazonses.com`),
|
|
36
34
|
recordName: `${aws_cdk_lib_1.Fn.select(1, hostedZoneDKIMTokens)}._domainkey.${subdomain}.${domain}`,
|
|
@@ -38,7 +36,6 @@ class HostedZoneDkim extends constructs_1.Construct {
|
|
|
38
36
|
recordType: aws_cdk_lib_1.aws_route53.RecordType.CNAME,
|
|
39
37
|
});
|
|
40
38
|
new aws_cdk_lib_1.aws_route53.RecordSet(this, 'HostedZoneDKIMTokenRecord2', {
|
|
41
|
-
deleteExisting: false,
|
|
42
39
|
zone: hostedZone,
|
|
43
40
|
target: aws_cdk_lib_1.aws_route53.RecordTarget.fromValues(`${aws_cdk_lib_1.Fn.select(2, hostedZoneDKIMTokens)}.dkim.amazonses.com`),
|
|
44
41
|
recordName: `${aws_cdk_lib_1.Fn.select(2, hostedZoneDKIMTokens)}._domainkey.${subdomain}.${domain}`,
|
|
@@ -53,7 +50,6 @@ class HostedZoneDkim extends constructs_1.Construct {
|
|
|
53
50
|
hostName: `inbound-smtp.${aws_cdk_lib_1.Stack.of(this).region}.amazonaws.com`,
|
|
54
51
|
},
|
|
55
52
|
],
|
|
56
|
-
deleteExisting: false,
|
|
57
53
|
recordName: `${subdomain}.${domain}`,
|
|
58
54
|
ttl: aws_cdk_lib_1.Duration.seconds(60),
|
|
59
55
|
});
|
|
@@ -63,7 +59,6 @@ class HostedZoneDkim extends constructs_1.Construct {
|
|
|
63
59
|
values: [
|
|
64
60
|
hostedZoneDKIMAndVerificationRecords.verificationToken,
|
|
65
61
|
],
|
|
66
|
-
deleteExisting: false,
|
|
67
62
|
recordName: `_amazonses.${subdomain}.${domain}`,
|
|
68
63
|
ttl: aws_cdk_lib_1.Duration.seconds(60),
|
|
69
64
|
});
|
|
@@ -82,4 +77,4 @@ class HostedZoneDkim extends constructs_1.Construct {
|
|
|
82
77
|
}
|
|
83
78
|
}
|
|
84
79
|
exports.HostedZoneDkim = HostedZoneDkim;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLXpvbmUtZGtpbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ob3N0ZWQtem9uZS1ka2ltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQU1xQjtBQUNyQiwyQ0FBdUM7QUFDdkMsaUZBQTJFO0FBQzNFLG1HQUErRjtBQUMvRixtRUFBOEQ7QUF1QzlELE1BQWEsY0FBZSxTQUFRLHNCQUFTO0lBQzNDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMscUJBQXFCLElBQUksU0FBUyxDQUFDO1FBQ3ZFLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLHNCQUFzQixDQUFDO1FBQzVELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDO1FBRXBELG1DQUFtQztRQUNuQyxNQUFNLG9DQUFvQyxHQUFHLElBQUksNEVBQW9DLENBQUMsSUFBSSxFQUFFLHNDQUFzQyxFQUFFO1lBQ2xJLE1BQU0sRUFBRSxHQUFHLFNBQVMsSUFBSSxNQUFNLEVBQUU7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxvQkFBb0IsR0FBRyxvQ0FBb0MsQ0FBQyxVQUFVLENBQUM7UUFFN0Usd0NBQXdDO1FBQ3hDLElBQUkseUJBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQ3BELElBQUksRUFBRSxVQUFVO1lBQ2hCLE1BQU0sRUFBRSx5QkFBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxnQkFBRSxDQUFD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LElBQUksTUFBTSxFQUFFO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQS9FRCx3Q0ErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGbixcbiAgRHVyYXRpb24sXG4gIGF3c19yb3V0ZTUzIGFzIHI1MyxcbiAgYXdzX3NzbSBhcyBzc20sXG4gIFN0YWNrLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEhvc3RlZFpvbmVES0lNUHJvcGFnYXRpb24gfSBmcm9tICcuL2hvc3RlZC16b25lLWRraW0tcHJvcGFnYXRpb24nO1xuaW1wb3J0IHsgSG9zdGVkWm9uZURLSU1BbmRWZXJpZmljYXRpb25SZWNvcmRzIH0gZnJvbSAnLi9ob3N0ZWQtem9uZS1ka2ltLXZlcmlmaWNhdGlvbi1yZWNvcmRzJztcbmltcG9ydCB7IFJvb3RtYWlsQXV0b3dpcmVEbnMgfSBmcm9tICcuL3Jvb3RtYWlsLWF1dG93aXJlLWRucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZURraW1Qcm9wcyB7XG4gIC8qKlxuICAgKiBEb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuXG4gICAqL1xuICByZWFkb25seSBkb21haW46IHN0cmluZztcblxuICAvKipcbiAgICogU3ViZG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnYXdzJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3ViZG9tYWluPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaG9zdGVkIHpvbmUgb2YgdGhlIDxkb21haW4+LCB3aGljaCBoYXMgdG8gYmUgaW4gdGhlIHNhbWUgQVdTIGFjY291bnQuXG4gICAqL1xuICByZWFkb25seSBob3N0ZWRab25lOiByNTMuSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAqIFRoZSBob3N0ZWQgem9uZSBJRCBvZiB0aGUgZG9tYWluIHRoYXQgaXMgcmVnaXN0ZXJlZCBSb3V0ZTUzIEFORCBpbiB0aGUgc2FtZSBBV1MgYWNjb3VudFxuICAgKiB0byBlbmFibGUgYXV0b3dpcmluZyBvZiB0aGUgRE5TIHJlY29yZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgd2lyZUROU1RvSG9zdGVkWm9uZUlEPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSG9zdGVkIFpvbmUgU1NNIFBhcmFtZXRlciBOYW1lIGZvciB0aGUgTlMgcmVjb3Jkcy5cbiAgICovXG4gIHJlYWRvbmx5IGhvc3RlZFpvbmVTU01QYXJhbWV0ZXI6IHNzbS5TdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgdGltZSB0byB3YWl0IGZvciB0aGUgRE5TIHJlY29yZHMgdG8gYmUgYXZhaWxhYmxlL3dpcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdG90YWxUaW1lVG9XaXJlRE5TOiBEdXJhdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIEhvc3RlZFpvbmVEa2ltIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEhvc3RlZFpvbmVEa2ltUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZG9tYWluID0gcHJvcHMuZG9tYWluO1xuICAgIGNvbnN0IHN1YmRvbWFpbiA9IHByb3BzLnN1YmRvbWFpbiA/PyAnYXdzJztcbiAgICBjb25zdCBob3N0ZWRab25lID0gcHJvcHMuaG9zdGVkWm9uZTtcbiAgICBjb25zdCB3aXJlRE5TVG9Ib3N0ZWRab25lSUQgPSBwcm9wcy53aXJlRE5TVG9Ib3N0ZWRab25lSUQgPz8gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGhvc3RlZFpvbmVTU01QYXJhbWV0ZXIgPSBwcm9wcy5ob3N0ZWRab25lU1NNUGFyYW1ldGVyO1xuICAgIGNvbnN0IHRvdGFsVGltZVRvV2lyZUROUyA9IHByb3BzLnRvdGFsVGltZVRvV2lyZUROUztcblxuICAgIC8vIDE6IHRyaWdnZXIgU05TIERLSU0gdmVyaWZpY2F0aW9uXG4gICAgY29uc3QgaG9zdGVkWm9uZURLSU1BbmRWZXJpZmljYXRpb25SZWNvcmRzID0gbmV3IEhvc3RlZFpvbmVES0lNQW5kVmVyaWZpY2F0aW9uUmVjb3Jkcyh0aGlzLCAnSG9zdGVkWm9uZURLSU1BbmRWZXJpZmljYXRpb25SZWNvcmRzJywge1xuICAgICAgZG9tYWluOiBgJHtzdWJkb21haW59LiR7ZG9tYWlufWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBob3N0ZWRab25lREtJTVRva2VucyA9IGhvc3RlZFpvbmVES0lNQW5kVmVyaWZpY2F0aW9uUmVjb3Jkcy5ka2ltVG9rZW5zO1xuXG4gICAgLy8gMjogc2V0IHRoZSByZWNvcmRzIGluIHRoZSBob3N0ZWQgem9uZVxuICAgIG5ldyByNTMuUmVjb3JkU2V0KHRoaXMsICdIb3N0ZWRab25lREtJTVRva2VuUmVjb3JkMCcsIHtcbiAgICAgIHpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICB0YXJnZXQ6IHI1My5SZWNvcmRUYXJnZXQuZnJvbVZhbHVlcyhgJHtGbi5zZWxlY3QoMCwgaG9zdGVkWm9uZURLSU1Ub2tlbnMpfS5ka2ltLmFtYXpvbnNlcy5jb21gKSxcbiAgICAgIHJlY29yZE5hbWU6IGAke0ZuLnNlbGVjdCgwLCBob3N0ZWRab25lREtJTVRva2Vucyl9Ll9kb21haW5rZXkuJHtzdWJkb21haW59LiR7ZG9tYWlufWAsXG4gICAgICB0dGw6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgcmVjb3JkVHlwZTogcjUzLlJlY29yZFR5cGUuQ05BTUUsXG4gICAgfSk7XG5cbiAgICBuZXcgcjUzLlJlY29yZFNldCh0aGlzLCAnSG9zdGVkWm9uZURLSU1Ub2tlblJlY29yZDEnLCB7XG4gICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgdGFyZ2V0OiByNTMuUmVjb3JkVGFyZ2V0LmZyb21WYWx1ZXMoYCR7Rm4uc2VsZWN0KDEsIGhvc3RlZFpvbmVES0lNVG9rZW5zKX0uZGtpbS5hbWF6b25zZXMuY29tYCksXG4gICAgICByZWNvcmROYW1lOiBgJHtGbi5zZWxlY3QoMSwgaG9zdGVkWm9uZURLSU1Ub2tlbnMpfS5fZG9tYWlua2V5LiR7c3ViZG9tYWlufS4ke2RvbWFpbn1gLFxuICAgICAgdHRsOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIHJlY29yZFR5cGU6IHI1My5SZWNvcmRUeXBlLkNOQU1FLFxuICAgIH0pO1xuXG4gICAgbmV3IHI1My5SZWNvcmRTZXQodGhpcywgJ0hvc3RlZFpvbmVES0lNVG9rZW5SZWNvcmQyJywge1xuICAgICAgem9uZTogaG9zdGVkWm9uZSxcbiAgICAgIHRhcmdldDogcjUzLlJlY29yZFRhcmdldC5mcm9tVmFsdWVzKGAke0ZuLnNlbGVjdCgyLCBob3N0ZWRab25lREtJTVRva2Vucyl9LmRraW0uYW1hem9uc2VzLmNvbWApLFxuICAgICAgcmVjb3JkTmFtZTogYCR7Rm4uc2VsZWN0KDIsIGhvc3RlZFpvbmVES0lNVG9rZW5zKX0uX2RvbWFpbmtleS4ke3N1YmRvbWFpbn0uJHtkb21haW59YCxcbiAgICAgIHR0bDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICByZWNvcmRUeXBlOiByNTMuUmVjb3JkVHlwZS5DTkFNRSxcbiAgICB9KTtcblxuICAgIG5ldyByNTMuTXhSZWNvcmQodGhpcywgJ0hvc3RlZFpvbmVNWFJlY29yZCcsIHtcbiAgICAgIHpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICB2YWx1ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICBob3N0TmFtZTogYGluYm91bmQtc210cC4ke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcmVjb3JkTmFtZTogYCR7c3ViZG9tYWlufS4ke2RvbWFpbn1gLFxuICAgICAgdHRsOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICB9KTtcblxuICAgIG5ldyByNTMuVHh0UmVjb3JkKHRoaXMsICdIb3N0ZWRab25lVmVyaWZpY2F0aW9uVG9rZW5SZWNvcmQnLCB7XG4gICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgLy8gTm90ZTogcXVvdGVzIGJ5IGl0c2VsZlxuICAgICAgdmFsdWVzOiBbXG4gICAgICAgIGhvc3RlZFpvbmVES0lNQW5kVmVyaWZpY2F0aW9uUmVjb3Jkcy52ZXJpZmljYXRpb25Ub2tlbixcbiAgICAgIF0sXG4gICAgICByZWNvcmROYW1lOiBgX2FtYXpvbnNlcy4ke3N1YmRvbWFpbn0uJHtkb21haW59YCxcbiAgICAgIHR0bDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSk7XG5cbiAgICAvLyAzOiBkbyBhdXRvd2lyZSBvZiBtYW51YWwgRE5TIHJlY29yZHMgZW50cnkuIFdhaXQgdW50aWwgRE5TIGlzIHByb3BhZ2F0ZWRcbiAgICBuZXcgUm9vdG1haWxBdXRvd2lyZURucyh0aGlzLCAnUm9vdG1haWxBdXRvd2lyZURucycsIHtcbiAgICAgIGRvbWFpbjogZG9tYWluLFxuICAgICAgc3ViZG9tYWluOiBzdWJkb21haW4sXG4gICAgICB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ6IHdpcmVETlNUb0hvc3RlZFpvbmVJRCxcbiAgICAgIGhvc3RlZFpvbmVTU01QYXJhbWV0ZXI6IGhvc3RlZFpvbmVTU01QYXJhbWV0ZXIsXG4gICAgICB0b3RhbFRpbWVUb1dpcmVETlM6IHRvdGFsVGltZVRvV2lyZUROUyxcbiAgICB9KTtcblxuICAgIC8vIDQ6IHRyaWdnZXIgU0VTIERLSU0gcHJvcGFnYXRpb24gcG9sbGluZ1xuICAgIG5ldyBIb3N0ZWRab25lREtJTVByb3BhZ2F0aW9uKHRoaXMsICdIb3N0ZWRab25lREtJTVByb3BhZ2F0aW9uJywge1xuICAgICAgZG9tYWluOiBgJHtzdWJkb21haW59LiR7ZG9tYWlufWAsXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
|
@@ -84,7 +84,7 @@ class RootmailAutowireDnsProvider extends constructs_1.Construct {
|
|
|
84
84
|
const isCompleteHandlerFunc = new aws_lambda_nodejs_1.NodejsFunction(this, 'is-complete-handler', {
|
|
85
85
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
86
86
|
timeout: aws_cdk_lib_1.Duration.seconds(120),
|
|
87
|
-
|
|
87
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'is-complete-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
88
88
|
});
|
|
89
89
|
isCompleteHandlerFunc.addToRolePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
|
|
90
90
|
actions: [
|
|
@@ -98,7 +98,7 @@ class RootmailAutowireDnsProvider extends constructs_1.Construct {
|
|
|
98
98
|
const onEventHandlerFunc = new aws_lambda_nodejs_1.NodejsFunction(this, 'on-event-handler', {
|
|
99
99
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
100
100
|
timeout: aws_cdk_lib_1.Duration.seconds(160), // 2m40s
|
|
101
|
-
|
|
101
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'on-event-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
102
102
|
environment: {},
|
|
103
103
|
});
|
|
104
104
|
props.hostedZoneSSMParameter.grantRead(onEventHandlerFunc);
|
|
@@ -140,7 +140,7 @@ class RootmailAutowireDnsProvider extends constructs_1.Construct {
|
|
|
140
140
|
queryInterval: aws_cdk_lib_1.Duration.seconds(5),
|
|
141
141
|
totalTimeout: aws_cdk_lib_1.Duration.hours(2), // props.totalTimeToWireDNS, TODO does not work
|
|
142
142
|
onEventHandler: onEventHandlerFunc,
|
|
143
|
-
|
|
143
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'rootmail-autowire-dns-provider-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
144
144
|
});
|
|
145
145
|
// Granular findings only. Portable IDs only: Resource::* is constant across any deployment,
|
|
146
146
|
// Resource::<logical-id> findings are not. AwsSolutions-IAM4[Policy::...] cannot be
|
|
@@ -154,4 +154,4 @@ class RootmailAutowireDnsProvider extends constructs_1.Construct {
|
|
|
154
154
|
}
|
|
155
155
|
;
|
|
156
156
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdG1haWwtYXV0b3dpcmUtZG5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Jvb3RtYWlsLWF1dG93aXJlLWRucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FVcUI7QUFDckIscUVBQStEO0FBQy9ELGlFQUFtRDtBQUNuRCwyQ0FBNkM7QUFDN0MscUdBTWtEO0FBa0NsRCxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBRWhELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUMzQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxTQUFTLENBQUM7UUFDdkUsTUFBTSxvQ0FBb0MsR0FBRyx1Q0FBdUMsQ0FBQztRQUdyRiwyREFBMkQ7UUFDM0QsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUN2RixhQUFhLEVBQUUsb0NBQW9DO1lBQ25ELFdBQVcsRUFBRSxPQUFPO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ25DLFlBQVksRUFBRSwyQkFBMkIsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO2dCQUMxRCxnQ0FBZ0MsRUFBRSx1QkFBdUI7Z0JBQ3pELEdBQUcsS0FBSzthQUNULENBQUM7WUFDRixZQUFZLEVBQUUscUNBQXFDO1lBQ25ELFVBQVUsRUFBRTtnQkFDVixDQUFDLG9EQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDM0IsQ0FBQyx3REFBZSxDQUFDLEVBQUUsU0FBUztnQkFDNUIsQ0FBQyxtRUFBMEIs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QUUsQ0FBQyxDQUFDO1FBQ3hHLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWtCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUFBLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFybixcbiAgQXJuRm9ybWF0LFxuICBDdXN0b21SZXNvdXJjZSxcbiAgRHVyYXRpb24sXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3NzbSBhcyBzc20sXG4gIFN0YWNrLFxuICBWYWxpZGF0aW9ucyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgUFJPUF9ET01BSU4sXG4gIFBST1BfU1VCX0RPTUFJTixcbiAgUFJPUF9IT1NURURfWk9ORV9QQVJBTUVURVJfTkFNRSxcbiAgUFJPUF9SNTNfQ0hBTkdFSU5GT19JRF9QQVJBTUVURVJfTkFNRSxcbiAgUFJPUF9QQVJFTlRfSE9TVEVEX1pPTkVfSUQsXG59IGZyb20gJy4vcm9vdG1haWwtYXV0b3dpcmUtZG5zLm9uLWV2ZW50LWhhbmRsZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RtYWlsQXV0b3dpcmVEbnNQcm9wcyB7XG4gIC8qKlxuICAgKiBEb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuXG4gICAqL1xuICByZWFkb25seSBkb21haW46IHN0cmluZztcblxuICAvKipcbiAgICogU3ViZG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnYXdzJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3ViZG9tYWluPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaG9zdGVkIHpvbmUgSUQgb2YgdGhlIGRvbWFpbiB0aGF0IGlzIHJlZ2lzdGVyZWQgUm91dGU1MyBBTkQgaW4gdGhlIHNhbWUgQVdTIGFjY291bnRcbiAgICogdG8gZW5hYmxlIGF1dG93aXJpbmcgb2YgdGhlIEROUyByZWNvcmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHdpcmVETlNUb0hvc3RlZFpvbmVJRD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEhvc3RlZCBab25lIFNTTSBQYXJhbWV0ZXIgTmFtZSBmb3IgdGhlIE5TIHJlY29yZHMuXG4gICAqL1xuICByZWFkb25seSBob3N0ZWRab25lU1NNUGFyYW1ldGVyOiBzc20uU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIHRpbWUgdG8gd2FpdCBmb3IgdGhlIEROUyByZWNvcmRzIHRvIGJlIGF2YWlsYWJsZS93aXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRvdGFsVGltZVRvV2lyZUROUzogRHVyYXRpb247XG59XG5cbmV4cG9ydCBjbGFzcyBSb290bWFpbEF1dG93aXJlRG5zIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9vdG1haWxBdXRvd2lyZURuc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHN1YmRvbWFpbiA9IHByb3BzLnN1YmRvbWFpbiA/PyAnYXdzJztcbiAgICBjb25zdCB3aXJlRE5TVG9Ib3N0ZWRab25lSUQgPSBwcm9wcy53aXJlRE5TVG9Ib3N0ZWRab25lSUQgPz8gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkUGFyYW1ldGVyTmFtZSA9ICcvcm9vdG1haWwvYXV0b193aXJlX3I1M19jaGFuZ2VpbmZvX2lkJztcblxuXG4gICAgLy8gVE9ETzogY3JlYXRlIGl0IGluIHRoZSBmdW5jdGlvbiB0byBhdm9pZCB0aGUgZHVtbXkgdmFsdWVcbiAgICBjb25zdCBhdXRvV2lyZVI1M0NoYW5nZUluZm9JZCA9IG5ldyBzc20uU3RyaW5nUGFyYW1ldGVyKHRoaXMsICdBdXRvV2lyZVI1M0NoYW5nZUluZm9JZCcsIHtcbiAgICAgIHBhcmFtZXRlck5hbWU6IGF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkUGFyYW1ldGVyTmFtZSxcbiAgICAgIHN0cmluZ1ZhbHVlOiAnZHVtbXknLFxuICAgIH0pO1xuXG4gICAgbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogUm9vdG1haWxBdXRvd2lyZURuc1Byb3ZpZGVyLmdldE9yQ3JlYXRlKHRoaXMsIHtcbiAgICAgICAgYXV0b1dpcmVSNTNDaGFuZ2VJbmZvSWRQYXJhbWV0ZXI6IGF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkLFxuICAgICAgICAuLi5wcm9wcyxcbiAgICAgIH0pLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpSb290bWFpbEF1dG93aXJlRG5zUHJvdmlkZXInLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBbUFJPUF9ET01BSU5dOiBwcm9wcy5kb21haW4sXG4gICAgICAgIFtQUk9QX1NVQl9ET01BSU5dOiBzdWJkb21haW4sXG4gICAgICAgIFtQUk9QX1BBUkVOVF9IT1NURURfWk9ORV9JRF06IHdpcmVETlNUb0hvc3RlZFpvbmVJRCxcbiAgICAgICAgW1BST1BfSE9TVEVEX1pPTkVfUEFSQU1FVEVSX05BTUVdOiBwcm9wcy5ob3N0ZWRab25lU1NNUGFyYW1ldGVyLnBhcmFtZXRlck5hbWUsXG4gICAgICAgIFtQUk9QX1I1M19DSEFOR0VJTkZPX0lEX1BBUkFNRVRFUl9OQU1FXTogYXV0b1dpcmVSNTNDaGFuZ2VJbmZvSWQucGFyYW1ldGVyTmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgfVxufVxuXG5pbnRlcmZhY2UgUm9vdG1haWxBdXRvd2lyZURuc1Byb3ZpZGVyUHJvcHMgZXh0ZW5kcyBSb290bWFpbEF1dG93aXJlRG5zUHJvcHMge1xuICByZWFkb25seSBhdXRvV2lyZVI1M0NoYW5nZUluZm9JZFBhcmFtZXRlcjogc3NtLlN0cmluZ1BhcmFtZXRlcjtcbiAgcmVhZG9ubHkgd2lyZUROU1RvSG9zdGVkWm9uZUlEPzogc3RyaW5nO1xuICByZWFkb25seSB0b3RhbFRpbWVUb1dpcmVETlM6IER1cmF0aW9uO1xufVxuXG5jbGFzcyBSb290bWFpbEF1dG93aXJlRG5zUHJvdmlkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2luZ2xldG9uIHByb3ZpZGVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRPckNyZWF0ZShzY29wZTogQ29uc3RydWN0LCBwcm9wczogUm9vdG1haWxBdXRvd2lyZURuc1Byb3ZpZGVyUHJvcHMpIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgICBjb25zdCBpZCA9ICdyb290bWFpbC5hdXRvd2lyZS1kbnMtcHJvdmlkZXInO1xuICAgIGNvbnN0IHggPSBOb2RlLm9mKHN0YWNrKS50cnlGaW5kQ2hpbGQoaWQpIGFzIFJvb3RtYWlsQXV0b3dpcmVEbnNQcm92aWRlclxuICAgICAgfHwgbmV3IFJvb3RtYWlsQXV0b3dpcmVEbnNQcm92aWRlcihzdGFjaywgaWQsIHByb3BzKTtcbiAgICByZXR1cm4geC5wcm92aWRlci5zZXJ2aWNlVG9rZW47XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVyOiBjci5Qcm92aWRlcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9vdG1haWxBdXRvd2lyZURuc1Byb3ZpZGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaXNDb21wbGV0ZUhhbmRsZXJGdW5jID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHRoaXMsICdpcy1jb21wbGV0ZS1oYW5kbGVyJywge1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzI0X1gsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDEyMCksXG4gICAgICBsb2dSZXRlbnRpb246IDEsXG4gICAgfSk7XG5cbiAgICBpc0NvbXBsZXRlSGFuZGxlckZ1bmMuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3JvdXRlNTM6TGlzdEhvc3RlZFpvbmVzQnlOYW1lJyxcbiAgICAgICAgICAncm91dGU1MzpHZXRDaGFuZ2UnLFxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgcHJvcHMuYXV0b1dpcmVSNTNDaGFuZ2VJbmZvSWRQYXJhbWV0ZXIuZ3JhbnRSZWFkKGlzQ29tcGxldGVIYW5kbGVyRnVuYyk7XG5cbiAgICBjb25zdCBvbkV2ZW50SGFuZGxlckZ1bmMgPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ29uLWV2ZW50LWhhbmRsZXInLCB7XG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMjRfWCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMTYwKSwgLy8gMm00MHNcbiAgICAgIGxvZ1JldGVudGlvbjogMSxcbiAgICAgIGVudmlyb25tZW50OiB7fSxcbiAgICB9KTtcblxuICAgIHByb3BzLmhvc3RlZFpvbmVTU01QYXJhbWV0ZXIuZ3JhbnRSZWFkKG9uRXZlbnRIYW5kbGVyRnVuYyk7XG4gICAgaWYgKHByb3BzLmF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkUGFyYW1ldGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BzLmF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkUGFyYW1ldGVyLmdyYW50V3JpdGUob25FdmVudEhhbmRsZXJGdW5jKTtcbiAgICB9XG5cbiAgICBvbkV2ZW50SGFuZGxlckZ1bmMuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3JvdXRlNTM6TGlzdEhvc3RlZFpvbmVzQnlOYW1lJyxcbiAgICAgICAgICAncm91dGU1MzpHZXRDaGFuZ2UnLFxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCAhPT0gdW5kZWZpbmVkICYmIHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRC50cmltKCkubGVuZ3RoID4gMCkge1xuICAgICAgb25FdmVudEhhbmRsZXJGdW5jLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdyb3V0ZTUzOkxpc3RSZXNvdXJjZVJlY29yZFNldHMnLFxuICAgICAgICAgICAgJ3JvdXRlNTM6Q2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIC8vIGFybjphd3M6cm91dGU1Mzo6Omhvc3RlZHpvbmUvSDEyMzQ1XG4gICAgICAgICAgICAvLyBhcm46e3BhcnRpdGlvbn06e3NlcnZpY2V9OntyZWdpb259OnthY2NvdW50fTp7cmVzb3VyY2V9e3NlcH17cmVzb3VyY2UtbmFtZX1cbiAgICAgICAgICAgIEFybi5mb3JtYXQoe1xuICAgICAgICAgICAgICBwYXJ0aXRpb246ICdhd3MnLFxuICAgICAgICAgICAgICBzZXJ2aWNlOiAncm91dGU1MycsXG4gICAgICAgICAgICAgIHJlZ2lvbjogJycsXG4gICAgICAgICAgICAgIGFjY291bnQ6ICcnLFxuICAgICAgICAgICAgICByZXNvdXJjZTogJ2hvc3RlZHpvbmUnLFxuICAgICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsICdyb290bWFpbC1hdXRvd2lyZS1kbnMtcHJvdmlkZXInLCB7XG4gICAgICBpc0NvbXBsZXRlSGFuZGxlcjogaXNDb21wbGV0ZUhhbmRsZXJGdW5jLFxuICAgICAgcXVlcnlJbnRlcnZhbDogRHVyYXRpb24uc2Vjb25kcyg1KSxcbiAgICAgIHRvdGFsVGltZW91dDogRHVyYXRpb24uaG91cnMoMiksIC8vIHByb3BzLnRvdGFsVGltZVRvV2lyZUROUywgVE9ETyBkb2VzIG5vdCB3b3JrXG4gICAgICBvbkV2ZW50SGFuZGxlcjogb25FdmVudEhhbmRsZXJGdW5jLFxuICAgICAgbG9nUmV0ZW50aW9uOiAxLFxuICAgIH0pO1xuICAgIC8vIEdyYW51bGFyIGZpbmRpbmdzIG9ubHkuIFBvcnRhYmxlIElEcyBvbmx5OiBSZXNvdXJjZTo6KiBpcyBjb25zdGFudCBhY3Jvc3MgYW55IGRlcGxveW1lbnQsXG4gICAgLy8gUmVzb3VyY2U6Ojxsb2dpY2FsLWlkPiBmaW5kaW5ncyBhcmUgbm90LiBBd3NTb2x1dGlvbnMtSUFNNFtQb2xpY3k6Oi4uLl0gY2Fubm90IGJlXG4gICAgLy8gYWNrbm93bGVkZ2VkIGF0IGFsbCByaWdodCBub3cgLSBhd3MtY2RrLWxpYidzIFZhbGlkYXRpb25zLmFja25vd2xlZGdlKCkgcmVqZWN0cyBhbnkgaWQgd2l0aFxuICAgIC8vIG1vcmUgdGhhbiBvbmUgJzo6JywgYW5kIEFXUyBtYW5hZ2VkIHBvbGljeSBBUk5zIGFsd2F5cyBjb250YWluIG9uZSAoY2RrbGFicy9jZGstbmFnIzIzNTksXG4gICAgLy8gIzIzNTEsIGJvdGggb3BlbiB1cHN0cmVhbSkuIFNlZSBkb2NzL3BsYW5zLzIwMjYtMDgtMDktYnVtcC1tdmMtcHJvamVuLWNkay1uYWctdjMubWQgVGFzayAzLlxuICAgIGNvbnN0IGlhbTVSZXNvdXJjZVN0YXIgPSAnQXdzU29sdXRpb25zLUlBTTVbUmVzb3VyY2U6OipdJztcbiAgICBjb25zdCByZWFzb25JYW01ID0gJ3dpbGRjYXJkcyBhcmUgb2sgZm9yIHRoZSBwcm92aWRlciBhcyB0aGUgZnVuY3Rpb24gaGFzIHJlc3RyaWN0aW9ucyc7XG5cbiAgICBWYWxpZGF0aW9ucy5vZih0aGlzLnByb3ZpZGVyLm9uRXZlbnRIYW5kbGVyISkuYWNrbm93bGVkZ2UoeyBpZDogaWFtNVJlc291cmNlU3RhciwgcmVhc29uOiByZWFzb25JYW01IH0pO1xuICAgIFZhbGlkYXRpb25zLm9mKHRoaXMucHJvdmlkZXIuaXNDb21wbGV0ZUhhbmRsZXIhKS5hY2tub3dsZWRnZSh7IGlkOiBpYW01UmVzb3VyY2VTdGFyLCByZWFzb246IHJlYXNvbklhbTUgfSk7XG4gIH07XG59Il19
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdG1haWwtYXV0b3dpcmUtZG5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Jvb3RtYWlsLWF1dG93aXJlLWRucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FXcUI7QUFDckIscUVBQStEO0FBQy9ELGlFQUFtRDtBQUNuRCwyQ0FBNkM7QUFDN0MscUdBTWtEO0FBa0NsRCxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBRWhELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUMzQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxTQUFTLENBQUM7UUFDdkUsTUFBTSxvQ0FBb0MsR0FBRyx1Q0FBdUMsQ0FBQztRQUdyRiwyREFBMkQ7UUFDM0QsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUN2RixhQUFhLEVBQUUsb0NBQW9DO1lBQ25ELFdBQVcsRUFBRSxPQUFPO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ25DLFlBQVksRUFBRSwyQkFBMkIsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO2dCQUMxRCxnQ0FBZ0MsRUFBRSx1QkFBdUI7Z0JBQ3pELEdBQUcsS0FBSzthQUNULENBQUM7WUFDRixZQUFZLEVBQUUscUNBQXFDO1lBQ25ELFVBQVUsRUFBRTtnQkFDVixDQUFDLG9EQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDM0IsQ0FBQyx3REFBZSxDQUFDLEVBQUUsU0FBUztnQkFDNUIsQ0FBQyxtRUFBMEIs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QUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3pILENBQUMsQ0FBQztRQUNILDRGQUE0RjtRQUM1RixvRkFBb0Y7UUFDcEYsOEZBQThGO1FBQzlGLDRGQUE0RjtRQUM1Riw4RkFBOEY7UUFDOUYsTUFBTSxnQkFBZ0IsR0FBRyxnQ0FBZ0MsQ0FBQztRQUMxRCxNQUFNLFVBQVUsR0FBRyxvRUFBb0UsQ0FBQztRQUV4Rix5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN4Ryx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFrQixDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFBQSxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcm4sXG4gIEFybkZvcm1hdCxcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIGF3c19zc20gYXMgc3NtLFxuICBTdGFjayxcbiAgVmFsaWRhdGlvbnMsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0ICogYXMgY3IgZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIFBST1BfRE9NQUlOLFxuICBQUk9QX1NVQl9ET01BSU4sXG4gIFBST1BfSE9TVEVEX1pPTkVfUEFSQU1FVEVSX05BTUUsXG4gIFBST1BfUjUzX0NIQU5HRUlORk9fSURfUEFSQU1FVEVSX05BTUUsXG4gIFBST1BfUEFSRU5UX0hPU1RFRF9aT05FX0lELFxufSBmcm9tICcuL3Jvb3RtYWlsLWF1dG93aXJlLWRucy5vbi1ldmVudC1oYW5kbGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBSb290bWFpbEF1dG93aXJlRG5zUHJvcHMge1xuICAvKipcbiAgICogRG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1YmRvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2F3cydcbiAgICovXG4gIHJlYWRvbmx5IHN1YmRvbWFpbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGhvc3RlZCB6b25lIElEIG9mIHRoZSBkb21haW4gdGhhdCBpcyByZWdpc3RlcmVkIFJvdXRlNTMgQU5EIGluIHRoZSBzYW1lIEFXUyBhY2NvdW50XG4gICAqIHRvIGVuYWJsZSBhdXRvd2lyaW5nIG9mIHRoZSBETlMgcmVjb3Jkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBIb3N0ZWQgWm9uZSBTU00gUGFyYW1ldGVyIE5hbWUgZm9yIHRoZSBOUyByZWNvcmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZVNTTVBhcmFtZXRlcjogc3NtLlN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0b3RhbCB0aW1lIHRvIHdhaXQgZm9yIHRoZSBETlMgcmVjb3JkcyB0byBiZSBhdmFpbGFibGUvd2lyZWQuXG4gICAqL1xuICByZWFkb25seSB0b3RhbFRpbWVUb1dpcmVETlM6IER1cmF0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgUm9vdG1haWxBdXRvd2lyZURucyBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvb3RtYWlsQXV0b3dpcmVEbnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBzdWJkb21haW4gPSBwcm9wcy5zdWJkb21haW4gPz8gJ2F3cyc7XG4gICAgY29uc3Qgd2lyZUROU1RvSG9zdGVkWm9uZUlEID0gcHJvcHMud2lyZUROU1RvSG9zdGVkWm9uZUlEID8/IHVuZGVmaW5lZDtcbiAgICBjb25zdCBhdXRvV2lyZVI1M0NoYW5nZUluZm9JZFBhcmFtZXRlck5hbWUgPSAnL3Jvb3RtYWlsL2F1dG9fd2lyZV9yNTNfY2hhbmdlaW5mb19pZCc7XG5cblxuICAgIC8vIFRPRE86IGNyZWF0ZSBpdCBpbiB0aGUgZnVuY3Rpb24gdG8gYXZvaWQgdGhlIGR1bW15IHZhbHVlXG4gICAgY29uc3QgYXV0b1dpcmVSNTNDaGFuZ2VJbmZvSWQgPSBuZXcgc3NtLlN0cmluZ1BhcmFtZXRlcih0aGlzLCAnQXV0b1dpcmVSNTNDaGFuZ2VJbmZvSWQnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiBhdXRvV2lyZVI1M0NoYW5nZUluZm9JZFBhcmFtZXRlck5hbWUsXG4gICAgICBzdHJpbmdWYWx1ZTogJ2R1bW15JyxcbiAgICB9KTtcblxuICAgIG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IFJvb3RtYWlsQXV0b3dpcmVEbnNQcm92aWRlci5nZXRPckNyZWF0ZSh0aGlzLCB7XG4gICAgICAgIGF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkUGFyYW1ldGVyOiBhdXRvV2lyZVI1M0NoYW5nZUluZm9JZCxcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICB9KSxcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6Um9vdG1haWxBdXRvd2lyZURuc1Byb3ZpZGVyJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgW1BST1BfRE9NQUlOXTogcHJvcHMuZG9tYWluLFxuICAgICAgICBbUFJPUF9TVUJfRE9NQUlOXTogc3ViZG9tYWluLFxuICAgICAgICBbUFJPUF9QQVJFTlRfSE9TVEVEX1pPTkVfSURdOiB3aXJlRE5TVG9Ib3N0ZWRab25lSUQsXG4gICAgICAgIFtQUk9QX0hPU1RFRF9aT05FX1BBUkFNRVRFUl9OQU1FXTogcHJvcHMuaG9zdGVkWm9uZVNTTVBhcmFtZXRlci5wYXJhbWV0ZXJOYW1lLFxuICAgICAgICBbUFJPUF9SNTNfQ0hBTkdFSU5GT19JRF9QQVJBTUVURVJfTkFNRV06IGF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkLnBhcmFtZXRlck5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gIH1cbn1cblxuaW50ZXJmYWNlIFJvb3RtYWlsQXV0b3dpcmVEbnNQcm92aWRlclByb3BzIGV4dGVuZHMgUm9vdG1haWxBdXRvd2lyZURuc1Byb3BzIHtcbiAgcmVhZG9ubHkgYXV0b1dpcmVSNTNDaGFuZ2VJbmZvSWRQYXJhbWV0ZXI6IHNzbS5TdHJpbmdQYXJhbWV0ZXI7XG4gIHJlYWRvbmx5IHdpcmVETlNUb0hvc3RlZFpvbmVJRD86IHN0cmluZztcbiAgcmVhZG9ubHkgdG90YWxUaW1lVG9XaXJlRE5TOiBEdXJhdGlvbjtcbn1cblxuY2xhc3MgUm9vdG1haWxBdXRvd2lyZURuc1Byb3ZpZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZXRvbiBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0T3JDcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IFJvb3RtYWlsQXV0b3dpcmVEbnNQcm92aWRlclByb3BzKSB7XG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgaWQgPSAncm9vdG1haWwuYXV0b3dpcmUtZG5zLXByb3ZpZGVyJztcbiAgICBjb25zdCB4ID0gTm9kZS5vZihzdGFjaykudHJ5RmluZENoaWxkKGlkKSBhcyBSb290bWFpbEF1dG93aXJlRG5zUHJvdmlkZXJcbiAgICAgIHx8IG5ldyBSb290bWFpbEF1dG93aXJlRG5zUHJvdmlkZXIoc3RhY2ssIGlkLCBwcm9wcyk7XG4gICAgcmV0dXJuIHgucHJvdmlkZXIuc2VydmljZVRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlcjogY3IuUHJvdmlkZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvb3RtYWlsQXV0b3dpcmVEbnNQcm92aWRlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGlzQ29tcGxldGVIYW5kbGVyRnVuYyA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCAnaXMtY29tcGxldGUtaGFuZGxlcicsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yNF9YLFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygxMjApLFxuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdpcy1jb21wbGV0ZS1oYW5kbGVyLWxvZy1ncm91cCcsIHsgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX0RBWSB9KSxcbiAgICB9KTtcblxuICAgIGlzQ29tcGxldGVIYW5kbGVyRnVuYy5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAncm91dGU1MzpMaXN0SG9zdGVkWm9uZXNCeU5hbWUnLFxuICAgICAgICAgICdyb3V0ZTUzOkdldENoYW5nZScsXG4gICAgICAgIF0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBwcm9wcy5hdXRvV2lyZVI1M0NoYW5nZUluZm9JZFBhcmFtZXRlci5ncmFudFJlYWQoaXNDb21wbGV0ZUhhbmRsZXJGdW5jKTtcblxuICAgIGNvbnN0IG9uRXZlbnRIYW5kbGVyRnVuYyA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCAnb24tZXZlbnQtaGFuZGxlcicsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yNF9YLFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygxNjApLCAvLyAybTQwc1xuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdvbi1ldmVudC1oYW5kbGVyLWxvZy1ncm91cCcsIHsgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX0RBWSB9KSxcbiAgICAgIGVudmlyb25tZW50OiB7fSxcbiAgICB9KTtcblxuICAgIHByb3BzLmhvc3RlZFpvbmVTU01QYXJhbWV0ZXIuZ3JhbnRSZWFkKG9uRXZlbnRIYW5kbGVyRnVuYyk7XG4gICAgaWYgKHByb3BzLmF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkUGFyYW1ldGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BzLmF1dG9XaXJlUjUzQ2hhbmdlSW5mb0lkUGFyYW1ldGVyLmdyYW50V3JpdGUob25FdmVudEhhbmRsZXJGdW5jKTtcbiAgICB9XG5cbiAgICBvbkV2ZW50SGFuZGxlckZ1bmMuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3JvdXRlNTM6TGlzdEhvc3RlZFpvbmVzQnlOYW1lJyxcbiAgICAgICAgICAncm91dGU1MzpHZXRDaGFuZ2UnLFxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCAhPT0gdW5kZWZpbmVkICYmIHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRC50cmltKCkubGVuZ3RoID4gMCkge1xuICAgICAgb25FdmVudEhhbmRsZXJGdW5jLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdyb3V0ZTUzOkxpc3RSZXNvdXJjZVJlY29yZFNldHMnLFxuICAgICAgICAgICAgJ3JvdXRlNTM6Q2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIC8vIGFybjphd3M6cm91dGU1Mzo6Omhvc3RlZHpvbmUvSDEyMzQ1XG4gICAgICAgICAgICAvLyBhcm46e3BhcnRpdGlvbn06e3NlcnZpY2V9OntyZWdpb259OnthY2NvdW50fTp7cmVzb3VyY2V9e3NlcH17cmVzb3VyY2UtbmFtZX1cbiAgICAgICAgICAgIEFybi5mb3JtYXQoe1xuICAgICAgICAgICAgICBwYXJ0aXRpb246ICdhd3MnLFxuICAgICAgICAgICAgICBzZXJ2aWNlOiAncm91dGU1MycsXG4gICAgICAgICAgICAgIHJlZ2lvbjogJycsXG4gICAgICAgICAgICAgIGFjY291bnQ6ICcnLFxuICAgICAgICAgICAgICByZXNvdXJjZTogJ2hvc3RlZHpvbmUnLFxuICAgICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsICdyb290bWFpbC1hdXRvd2lyZS1kbnMtcHJvdmlkZXInLCB7XG4gICAgICBpc0NvbXBsZXRlSGFuZGxlcjogaXNDb21wbGV0ZUhhbmRsZXJGdW5jLFxuICAgICAgcXVlcnlJbnRlcnZhbDogRHVyYXRpb24uc2Vjb25kcyg1KSxcbiAgICAgIHRvdGFsVGltZW91dDogRHVyYXRpb24uaG91cnMoMiksIC8vIHByb3BzLnRvdGFsVGltZVRvV2lyZUROUywgVE9ETyBkb2VzIG5vdCB3b3JrXG4gICAgICBvbkV2ZW50SGFuZGxlcjogb25FdmVudEhhbmRsZXJGdW5jLFxuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdyb290bWFpbC1hdXRvd2lyZS1kbnMtcHJvdmlkZXItbG9nLWdyb3VwJywgeyByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfREFZIH0pLFxuICAgIH0pO1xuICAgIC8vIEdyYW51bGFyIGZpbmRpbmdzIG9ubHkuIFBvcnRhYmxlIElEcyBvbmx5OiBSZXNvdXJjZTo6KiBpcyBjb25zdGFudCBhY3Jvc3MgYW55IGRlcGxveW1lbnQsXG4gICAgLy8gUmVzb3VyY2U6Ojxsb2dpY2FsLWlkPiBmaW5kaW5ncyBhcmUgbm90LiBBd3NTb2x1dGlvbnMtSUFNNFtQb2xpY3k6Oi4uLl0gY2Fubm90IGJlXG4gICAgLy8gYWNrbm93bGVkZ2VkIGF0IGFsbCByaWdodCBub3cgLSBhd3MtY2RrLWxpYidzIFZhbGlkYXRpb25zLmFja25vd2xlZGdlKCkgcmVqZWN0cyBhbnkgaWQgd2l0aFxuICAgIC8vIG1vcmUgdGhhbiBvbmUgJzo6JywgYW5kIEFXUyBtYW5hZ2VkIHBvbGljeSBBUk5zIGFsd2F5cyBjb250YWluIG9uZSAoY2RrbGFicy9jZGstbmFnIzIzNTksXG4gICAgLy8gIzIzNTEsIGJvdGggb3BlbiB1cHN0cmVhbSkuIFNlZSBkb2NzL3BsYW5zLzIwMjYtMDgtMDktYnVtcC1tdmMtcHJvamVuLWNkay1uYWctdjMubWQgVGFzayAzLlxuICAgIGNvbnN0IGlhbTVSZXNvdXJjZVN0YXIgPSAnQXdzU29sdXRpb25zLUlBTTVbUmVzb3VyY2U6OipdJztcbiAgICBjb25zdCByZWFzb25JYW01ID0gJ3dpbGRjYXJkcyBhcmUgb2sgZm9yIHRoZSBwcm92aWRlciBhcyB0aGUgZnVuY3Rpb24gaGFzIHJlc3RyaWN0aW9ucyc7XG5cbiAgICBWYWxpZGF0aW9ucy5vZih0aGlzLnByb3ZpZGVyLm9uRXZlbnRIYW5kbGVyISkuYWNrbm93bGVkZ2UoeyBpZDogaWFtNVJlc291cmNlU3RhciwgcmVhc29uOiByZWFzb25JYW01IH0pO1xuICAgIFZhbGlkYXRpb25zLm9mKHRoaXMucHJvdmlkZXIuaXNDb21wbGV0ZUhhbmRsZXIhKS5hY2tub3dsZWRnZSh7IGlkOiBpYW01UmVzb3VyY2VTdGFyLCByZWFzb246IHJlYXNvbklhbTUgfSk7XG4gIH07XG59Il19
|
package/lib/rootmail.js
CHANGED
|
@@ -11,7 +11,7 @@ const ses_receive_1 = require("./ses-receive");
|
|
|
11
11
|
* Rootmail construct
|
|
12
12
|
*/
|
|
13
13
|
class Rootmail extends constructs_1.Construct {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.1.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.1.19" };
|
|
15
15
|
/**
|
|
16
16
|
* The name parameter in SSM to store the domain name server.
|
|
17
17
|
*/
|
|
@@ -86,7 +86,7 @@ class SESReceiptRuleSetActivationProvider extends constructs_1.Construct {
|
|
|
86
86
|
}));
|
|
87
87
|
const onEventHandlerFunc = new aws_lambda_nodejs_1.NodejsFunction(this, 'on-event-handler', {
|
|
88
88
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
89
|
-
|
|
89
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'on-event-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
90
90
|
role: onEventHandlerFuncRole,
|
|
91
91
|
timeout: aws_cdk_lib_1.Duration.seconds(30),
|
|
92
92
|
// Note: we use the resource properties from above as it is a CustomResource
|
|
@@ -94,7 +94,7 @@ class SESReceiptRuleSetActivationProvider extends constructs_1.Construct {
|
|
|
94
94
|
});
|
|
95
95
|
const isCompleteHandlerFunc = new aws_lambda_nodejs_1.NodejsFunction(this, 'is-complete-handler', {
|
|
96
96
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
97
|
-
|
|
97
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'is-complete-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
98
98
|
timeout: aws_cdk_lib_1.Duration.seconds(30),
|
|
99
99
|
// Note: we use the resource properties from above as it is a CustomResource
|
|
100
100
|
environment: {},
|
|
@@ -105,7 +105,7 @@ class SESReceiptRuleSetActivationProvider extends constructs_1.Construct {
|
|
|
105
105
|
isCompleteHandler: isCompleteHandlerFunc,
|
|
106
106
|
queryInterval: aws_cdk_lib_1.Duration.seconds(10),
|
|
107
107
|
totalTimeout: aws_cdk_lib_1.Duration.minutes(2), // TODO: make this configurable
|
|
108
|
-
|
|
108
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'ses-receipt-ruleset-activation-provider-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_DAY }),
|
|
109
109
|
});
|
|
110
110
|
// Granular findings only. Portable IDs only: Resource::* is constant across any deployment,
|
|
111
111
|
// Resource::<logical-id> findings are not. AwsSolutions-IAM4[Policy::...] cannot be
|
|
@@ -124,4 +124,4 @@ class SESReceiptRuleSetActivationProvider extends constructs_1.Construct {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpcHQtcnVsZXNldC1hY3RpdmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Nlcy1yZWNlaXB0LXJ1bGVzZXQtYWN0aXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FRcUI7QUFDckIscUVBQStEO0FBQy9ELGlFQUFtRDtBQUNuRCwyQ0FBNkM7QUFDN0MsdUhBTTJEO0FBVTNELE1BQWEsMkJBQTRCLFNBQVEsc0JBQVM7SUFDeEQsWUFBWSxLQUFnQixFQUMxQixFQUFVLEVBQUUsS0FBdUM7UUFDbkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuQyxZQUFZLEVBQUUsbUNBQW1DLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkcsWUFBWSxFQUFFLHFDQUFxQztZQUNuRCxVQUFVLEVBQUU7Z0JBQ1YsQ0FBQyw2REFBVyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQzNCLENBQUMsZ0VBQWMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxTQUFTO2dCQUNqQyxDQUFDLHVFQUFxQixDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVO2dCQUNyRCxDQUFDLDZFQUEyQixDQUFDLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtnQkFDeEQsQ0FBQyx5RUFBdUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUNBQWlDO2FBQ3BHO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBakJELGtFQWlCQztBQU1ELE1BQU0sbUNBQW9DLFNBQVEsc0JBQVM7SUFFekQ7O09BRUc7SUFDSSxNQUFNLENBQUMs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c0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNqRyxnR0FBZ0c7UUFDaEcsNERBQTREO1FBQzVELEtBQUssTUFBTSxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDcEUseUJBQVcsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsNkJBQTZCLE1BQU0sR0FBRyxFQUFFLE1BQU0sRUFBRSxvRkFBb0YsRUFBRSxDQUFDLENBQUM7UUFDbE0sQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEN1c3RvbVJlc291cmNlLFxuICBEdXJhdGlvbixcbiAgU3RhY2ssXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3MzIGFzIHMzLFxuICBWYWxpZGF0aW9ucyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgUFJPUF9ET01BSU4sXG4gIFBST1BfU1VCRE9NQUlOLFxuICBQUk9QX0VNQUlMQlVDS0VUX05BTUUsXG4gIFBST1BfT1BTX1NBTlRBX0ZVTkNUSU9OX0FSTixcbiAgRklMVEVSRURfRU1BSUxfU1VCSkVDVFMsXG59IGZyb20gJy4vc2VzLXJlY2VpcHQtcnVsZXNldC1hY3RpdmF0aW9uLm9uLWV2ZW50LWhhbmRsZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvblByb3BzIHtcbiAgcmVhZG9ubHkgZG9tYWluOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1YmRvbWFpbjogc3RyaW5nO1xuICByZWFkb25seSBlbWFpbGJ1Y2tldDogczMuSUJ1Y2tldDtcbiAgcmVhZG9ubHkgb3BzU2FudGFGdW5jdGlvbkFybjogc3RyaW5nO1xuICByZWFkb25seSBmaWx0ZXJlZEVtYWlsU3ViamVjdHM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLCBwcm9wczogU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvdmlkZXIuZ2V0T3JDcmVhdGUodGhpcywgeyBlbWFpbGJ1Y2tldDogcHJvcHMuZW1haWxidWNrZXQgfSksXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvbicsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFtQUk9QX0RPTUFJTl06IHByb3BzLmRvbWFpbixcbiAgICAgICAgW1BST1BfU1VCRE9NQUlOXTogcHJvcHMuc3ViZG9tYWluLFxuICAgICAgICBbUFJPUF9FTUFJTEJVQ0tFVF9OQU1FXTogcHJvcHMuZW1haWxidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgW1BST1BfT1BTX1NBTlRBX0ZVTkNUSU9OX0FSTl06IHByb3BzLm9wc1NhbnRhRnVuY3Rpb25Bcm4sXG4gICAgICAgIFtGSUxURVJFRF9FTUFJTF9TVUJKRUNUU106IHByb3BzLmZpbHRlcmVkRW1haWxTdWJqZWN0cy5qb2luKCcsJyksIC8vIGFzIHdlIGNhbiBvbmx5IHBhc3MgaW4gc3RyaW5nc1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvdmlkZXJQcm9wcyB7XG4gIHJlYWRvbmx5IGVtYWlsYnVja2V0OiBzMy5JQnVja2V0O1xufVxuXG5jbGFzcyBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb25Qcm92aWRlciBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZXRvbiBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0T3JDcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvblByb3ZpZGVyUHJvcHMpIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgICBjb25zdCBpZCA9ICdyb290bWFpbC5zZXMtcmVjZWlwdC1ydWxlc2V0LWFjdGl2YXRpb24tcHJvdmlkZXInO1xuICAgIGNvbnN0IHggPSBOb2RlLm9mKHN0YWNrKS50cnlGaW5kQ2hpbGQoaWQpIGFzIFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvblByb3ZpZGVyXG4gICAgICB8fCBuZXcgU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvdmlkZXIoc3RhY2ssIGlkLCBwcm9wcyk7XG4gICAgcmV0dXJuIHgucHJvdmlkZXIuc2VydmljZVRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlcjogY3IuUHJvdmlkZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvblByb3ZpZGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qgb25FdmVudEhhbmRsZXJGdW5jUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnU2VzUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uQ3VzdG9tUmVzb3VyY2VSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgfSk7XG5cbiAgICBvbkV2ZW50SGFuZGxlckZ1bmNSb2xlLmFkZE1hbmFnZWRQb2xpY3koaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJykpO1xuICAgIG9uRXZlbnRIYW5kbGVyRnVuY1JvbGUuYWRkVG9Qb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAnc2VzOkNyZWF0ZVJlY2VpcHRSdWxlU2V0JyxcbiAgICAgICAgICAnc2VzOkNyZWF0ZVJlY2VpcHRSdWxlJyxcbiAgICAgICAgICAnc2VzOlNldEFjdGl2ZVJlY2VpcHRSdWxlU2V0JyxcbiAgICAgICAgICAnc2VzOkRlbGV0ZVJlY2VpcHRSdWxlJyxcbiAgICAgICAgICAnc2VzOkRlbGV0ZVJlY2VpcHRSdWxlU2V0JyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkV2ZW50SGFuZGxlckZ1bmMgPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ29uLWV2ZW50LWhhbmRsZXInLCB7XG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMjRfWCxcbiAgICAgIGxvZ1JldGVudGlvbjogMSxcbiAgICAgIHJvbGU6IG9uRXZlbnRIYW5kbGVyRnVuY1JvbGUsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIC8vICBOb3RlOiB3ZSB1c2UgdGhlIHJlc291cmNlIHByb3BlcnRpZXMgZnJvbSBhYm92ZSBhcyBpdCBpcyBhIEN1c3RvbVJlc291cmNlXG4gICAgICBlbnZpcm9ubWVudDoge30sXG4gICAgfSk7XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlSGFuZGxlckZ1bmMgPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ2lzLWNvbXBsZXRlLWhhbmRsZXInLCB7XG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMjRfWCxcbiAgICAgIGxvZ1JldGVudGlvbjogMSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgLy8gIE5vdGU6IHdlIHVzZSB0aGUgcmVzb3VyY2UgcHJvcGVydGllcyBmcm9tIGFib3ZlIGFzIGl0IGlzIGEgQ3VzdG9tUmVzb3VyY2VcbiAgICAgIGVudmlyb25tZW50OiB7fSxcbiAgICB9KTtcbiAgICBwcm9wcy5lbWFpbGJ1Y2tldC5ncmFudFJlYWQoaXNDb21wbGV0ZUhhbmRsZXJGdW5jLCAnUm9vdE1haWwvKicpO1xuXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCAnc2VzLXJlY2VpcHQtcnVsZXNldC1hY3RpdmF0aW9uLXByb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IG9uRXZlbnRIYW5kbGVyRnVuYyxcbiAgICAgIGlzQ29tcGxldGVIYW5kbGVyOiBpc0NvbXBsZXRlSGFuZGxlckZ1bmMsXG4gICAgICBxdWVyeUludGVydmFsOiBEdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICAgIHRvdGFsVGltZW91dDogRHVyYXRpb24ubWludXRlcygyKSwgLy8gVE9ETzogbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZVxuICAgICAgbG9nUmV0ZW50aW9uOiAxLFxuICAgIH0pO1xuICAgIC8vIEdyYW51bGFyIGZpbmRpbmdzIG9ubHkuIFBvcnRhYmxlIElEcyBvbmx5OiBSZXNvdXJjZTo6KiBpcyBjb25zdGFudCBhY3Jvc3MgYW55IGRlcGxveW1lbnQsXG4gICAgLy8gUmVzb3VyY2U6Ojxsb2dpY2FsLWlkPiBmaW5kaW5ncyBhcmUgbm90LiBBd3NTb2x1dGlvbnMtSUFNNFtQb2xpY3k6Oi4uLl0gY2Fubm90IGJlXG4gICAgLy8gYWNrbm93bGVkZ2VkIGF0IGFsbCByaWdodCBub3cgLSBhd3MtY2RrLWxpYidzIFZhbGlkYXRpb25zLmFja25vd2xlZGdlKCkgcmVqZWN0cyBhbnkgaWQgd2l0aFxuICAgIC8vIG1vcmUgdGhhbiBvbmUgJzo6JywgYW5kIEFXUyBtYW5hZ2VkIHBvbGljeSBBUk5zIGFsd2F5cyBjb250YWluIG9uZSAoY2RrbGFicy9jZGstbmFnIzIzNTksXG4gICAgLy8gIzIzNTEsIGJvdGggb3BlbiB1cHN0cmVhbSkuIFNlZSBkb2NzL3BsYW5zLzIwMjYtMDgtMDktYnVtcC1tdmMtcHJvamVuLWNkay1uYWctdjMubWQgVGFzayAzLlxuICAgIC8vIG9uRXZlbnRIYW5kbGVyRnVuY1JvbGUgaXMgYWNrbm93bGVkZ2VkIGRpcmVjdGx5IChub3QgdmlhIHRoaXMucHJvdmlkZXIub25FdmVudEhhbmRsZXIpIHNpbmNlXG4gICAgLy8gaXQgaXMgcGFzc2VkIGluIGFzIGFuIGV4cGxpY2l0IHJvbGUgLSBhIHNpYmxpbmcgY29uc3RydWN0LCBub3QgYSBkZXNjZW5kYW50IG9mIHRoZSBGdW5jdGlvbi5cbiAgICBjb25zdCBpYW01UmVzb3VyY2VTdGFyID0gJ0F3c1NvbHV0aW9ucy1JQU01W1Jlc291cmNlOjoqXSc7XG4gICAgY29uc3QgcmVhc29uSWFtNSA9ICd3aWxkY2FyZHMgYXJlIG9rIGZvciB0aGUgcHJvdmlkZXIgYXMgdGhlIGZ1bmN0aW9uIGhhcyByZXN0cmljdGlvbnMnO1xuXG4gICAgVmFsaWRhdGlvbnMub2Yob25FdmVudEhhbmRsZXJGdW5jUm9sZSkuYWNrbm93bGVkZ2UoeyBpZDogaWFtNVJlc291cmNlU3RhciwgcmVhc29uOiByZWFzb25JYW01IH0pO1xuICAgIC8vIGVtYWlsYnVja2V0LmdyYW50UmVhZChpc0NvbXBsZXRlSGFuZGxlckZ1bmMsICdSb290TWFpbC8qJykgZ2VuZXJhdGVzIHdpbGRjYXJkLWFjdGlvbiBmaW5kaW5nc1xuICAgIC8vIChsaXRlcmFsIGFjdGlvbiBzdHJpbmdzLCBwb3J0YWJsZSBhY3Jvc3MgYW55IGRlcGxveW1lbnQpLlxuICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIFsnczM6R2V0QnVja2V0KicsICdzMzpHZXRPYmplY3QqJywgJ3MzOkxpc3QqJ10pIHtcbiAgICAgIFZhbGlkYXRpb25zLm9mKGlzQ29tcGxldGVIYW5kbGVyRnVuYykuYWNrbm93bGVkZ2UoeyBpZDogYEF3c1NvbHV0aW9ucy1JQU01W0FjdGlvbjo6JHthY3Rpb259XWAsIHJlYXNvbjogJ3Njb3BlZCByZWFkIGFjY2VzcyB0byB0aGUgUm9vdE1haWwgcHJlZml4LCB3aWxkY2FyZCBpcyB0aGUgUzMgYWN0aW9uLWZhbWlseSBzdWZmaXgnIH0pO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpcHQtcnVsZXNldC1hY3RpdmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Nlcy1yZWNlaXB0LXJ1bGVzZXQtYWN0aXZhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FTcUI7QUFDckIscUVBQStEO0FBQy9ELGlFQUFtRDtBQUNuRCwyQ0FBNkM7QUFDN0MsdUhBTTJEO0FBVTNELE1BQWEsMkJBQTRCLFNBQVEsc0JBQVM7SUFDeEQsWUFBWSxLQUFnQixFQUMxQixFQUFVLEVBQUUsS0FBdUM7UUFDbkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuQyxZQUFZLEVBQUUsbUNBQW1DLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkcsWUFBWSxFQUFFLHFDQUFxQztZQUNuRCxVQUFVLEVBQUU7Z0JBQ1YsQ0FBQyw2REFBVyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQzNCLENBQUMsZ0VBQWMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxTQUFTO2dCQUNqQyxDQUFDLHVFQUFxQixDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVO2dCQUNyRCxDQUFDLDZFQUEyQixDQUFDLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtnQkFDeEQsQ0FBQyx5RUFBdUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUNBQWlDO2FBQ3BHO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBakJELGtFQWlCQztBQU1ELE1BQU0sbUNBQW9DLFNBQVEsc0JBQVM7SUFFekQ7O09BRUc7SUFDSSxNQUFNLENBQUMs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LENBQUMsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2xJLENBQUMsQ0FBQztRQUNILDRGQUE0RjtRQUM1RixvRkFBb0Y7UUFDcEYsOEZBQThGO1FBQzlGLDRGQUE0RjtRQUM1Riw4RkFBOEY7UUFDOUYsK0ZBQStGO1FBQy9GLCtGQUErRjtRQUMvRixNQUFNLGdCQUFnQixHQUFHLGdDQUFnQyxDQUFDO1FBQzFELE1BQU0sVUFBVSxHQUFHLG9FQUFvRSxDQUFDO1FBRXhGLHlCQUFXLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLGdHQUFnRztRQUNoRyw0REFBNEQ7UUFDNUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwRSx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSw2QkFBNkIsTUFBTSxHQUFHLEVBQUUsTUFBTSxFQUFFLG9GQUFvRixFQUFFLENBQUMsQ0FBQztRQUNsTSxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICBTdGFjayxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfbG9ncyBhcyBsb2dzLFxuICBhd3NfczMgYXMgczMsXG4gIFZhbGlkYXRpb25zLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzJztcbmltcG9ydCAqIGFzIGNyIGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlIH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBQUk9QX0RPTUFJTixcbiAgUFJPUF9TVUJET01BSU4sXG4gIFBST1BfRU1BSUxCVUNLRVRfTkFNRSxcbiAgUFJPUF9PUFNfU0FOVEFfRlVOQ1RJT05fQVJOLFxuICBGSUxURVJFRF9FTUFJTF9TVUJKRUNUUyxcbn0gZnJvbSAnLi9zZXMtcmVjZWlwdC1ydWxlc2V0LWFjdGl2YXRpb24ub24tZXZlbnQtaGFuZGxlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvcHMge1xuICByZWFkb25seSBkb21haW46IHN0cmluZztcbiAgcmVhZG9ubHkgc3ViZG9tYWluOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVtYWlsYnVja2V0OiBzMy5JQnVja2V0O1xuICByZWFkb25seSBvcHNTYW50YUZ1bmN0aW9uQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbHRlcmVkRW1haWxTdWJqZWN0czogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb24gZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsIHByb3BzOiBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb25Qcm92aWRlci5nZXRPckNyZWF0ZSh0aGlzLCB7IGVtYWlsYnVja2V0OiBwcm9wcy5lbWFpbGJ1Y2tldCB9KSxcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6U0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgW1BST1BfRE9NQUlOXTogcHJvcHMuZG9tYWluLFxuICAgICAgICBbUFJPUF9TVUJET01BSU5dOiBwcm9wcy5zdWJkb21haW4sXG4gICAgICAgIFtQUk9QX0VNQUlMQlVDS0VUX05BTUVdOiBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICBbUFJPUF9PUFNfU0FOVEFfRlVOQ1RJT05fQVJOXTogcHJvcHMub3BzU2FudGFGdW5jdGlvbkFybixcbiAgICAgICAgW0ZJTFRFUkVEX0VNQUlMX1NVQkpFQ1RTXTogcHJvcHMuZmlsdGVyZWRFbWFpbFN1YmplY3RzLmpvaW4oJywnKSwgLy8gYXMgd2UgY2FuIG9ubHkgcGFzcyBpbiBzdHJpbmdzXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmludGVyZmFjZSBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb25Qcm92aWRlclByb3BzIHtcbiAgcmVhZG9ubHkgZW1haWxidWNrZXQ6IHMzLklCdWNrZXQ7XG59XG5cbmNsYXNzIFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvblByb3ZpZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2luZ2xldG9uIHByb3ZpZGVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRPckNyZWF0ZShzY29wZTogQ29uc3RydWN0LCBwcm9wczogU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIGNvbnN0IGlkID0gJ3Jvb3RtYWlsLnNlcy1yZWNlaXB0LXJ1bGVzZXQtYWN0aXZhdGlvbi1wcm92aWRlcic7XG4gICAgY29uc3QgeCA9IE5vZGUub2Yoc3RhY2spLnRyeUZpbmRDaGlsZChpZCkgYXMgU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvdmlkZXJcbiAgICAgIHx8IG5ldyBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb25Qcm92aWRlcihzdGFjaywgaWQsIHByb3BzKTtcbiAgICByZXR1cm4geC5wcm92aWRlci5zZXJ2aWNlVG9rZW47XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVyOiBjci5Qcm92aWRlcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uUHJvdmlkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBvbkV2ZW50SGFuZGxlckZ1bmNSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdTZXNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb25DdXN0b21SZXNvdXJjZVJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnbGFtYmRhLmFtYXpvbmF3cy5jb20nKSxcbiAgICB9KTtcblxuICAgIG9uRXZlbnRIYW5kbGVyRnVuY1JvbGUuYWRkTWFuYWdlZFBvbGljeShpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnKSk7XG4gICAgb25FdmVudEhhbmRsZXJGdW5jUm9sZS5hZGRUb1BvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdzZXM6Q3JlYXRlUmVjZWlwdFJ1bGVTZXQnLFxuICAgICAgICAgICdzZXM6Q3JlYXRlUmVjZWlwdFJ1bGUnLFxuICAgICAgICAgICdzZXM6U2V0QWN0aXZlUmVjZWlwdFJ1bGVTZXQnLFxuICAgICAgICAgICdzZXM6RGVsZXRlUmVjZWlwdFJ1bGUnLFxuICAgICAgICAgICdzZXM6RGVsZXRlUmVjZWlwdFJ1bGVTZXQnLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IG9uRXZlbnRIYW5kbGVyRnVuYyA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCAnb24tZXZlbnQtaGFuZGxlcicsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yNF9YLFxuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdvbi1ldmVudC1oYW5kbGVyLWxvZy1ncm91cCcsIHsgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX0RBWSB9KSxcbiAgICAgIHJvbGU6IG9uRXZlbnRIYW5kbGVyRnVuY1JvbGUsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIC8vICBOb3RlOiB3ZSB1c2UgdGhlIHJlc291cmNlIHByb3BlcnRpZXMgZnJvbSBhYm92ZSBhcyBpdCBpcyBhIEN1c3RvbVJlc291cmNlXG4gICAgICBlbnZpcm9ubWVudDoge30sXG4gICAgfSk7XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlSGFuZGxlckZ1bmMgPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ2lzLWNvbXBsZXRlLWhhbmRsZXInLCB7XG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMjRfWCxcbiAgICAgIGxvZ0dyb3VwOiBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnaXMtY29tcGxldGUtaGFuZGxlci1sb2ctZ3JvdXAnLCB7IHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9EQVkgfSksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIC8vICBOb3RlOiB3ZSB1c2UgdGhlIHJlc291cmNlIHByb3BlcnRpZXMgZnJvbSBhYm92ZSBhcyBpdCBpcyBhIEN1c3RvbVJlc291cmNlXG4gICAgICBlbnZpcm9ubWVudDoge30sXG4gICAgfSk7XG4gICAgcHJvcHMuZW1haWxidWNrZXQuZ3JhbnRSZWFkKGlzQ29tcGxldGVIYW5kbGVyRnVuYywgJ1Jvb3RNYWlsLyonKTtcblxuICAgIHRoaXMucHJvdmlkZXIgPSBuZXcgY3IuUHJvdmlkZXIodGhpcywgJ3Nlcy1yZWNlaXB0LXJ1bGVzZXQtYWN0aXZhdGlvbi1wcm92aWRlcicsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBvbkV2ZW50SGFuZGxlckZ1bmMsXG4gICAgICBpc0NvbXBsZXRlSGFuZGxlcjogaXNDb21wbGV0ZUhhbmRsZXJGdW5jLFxuICAgICAgcXVlcnlJbnRlcnZhbDogRHVyYXRpb24uc2Vjb25kcygxMCksXG4gICAgICB0b3RhbFRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMiksIC8vIFRPRE86IG1ha2UgdGhpcyBjb25maWd1cmFibGVcbiAgICAgIGxvZ0dyb3VwOiBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnc2VzLXJlY2VpcHQtcnVsZXNldC1hY3RpdmF0aW9uLXByb3ZpZGVyLWxvZy1ncm91cCcsIHsgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX0RBWSB9KSxcbiAgICB9KTtcbiAgICAvLyBHcmFudWxhciBmaW5kaW5ncyBvbmx5LiBQb3J0YWJsZSBJRHMgb25seTogUmVzb3VyY2U6OiogaXMgY29uc3RhbnQgYWNyb3NzIGFueSBkZXBsb3ltZW50LFxuICAgIC8vIFJlc291cmNlOjo8bG9naWNhbC1pZD4gZmluZGluZ3MgYXJlIG5vdC4gQXdzU29sdXRpb25zLUlBTTRbUG9saWN5OjouLi5dIGNhbm5vdCBiZVxuICAgIC8vIGFja25vd2xlZGdlZCBhdCBhbGwgcmlnaHQgbm93IC0gYXdzLWNkay1saWIncyBWYWxpZGF0aW9ucy5hY2tub3dsZWRnZSgpIHJlamVjdHMgYW55IGlkIHdpdGhcbiAgICAvLyBtb3JlIHRoYW4gb25lICc6OicsIGFuZCBBV1MgbWFuYWdlZCBwb2xpY3kgQVJOcyBhbHdheXMgY29udGFpbiBvbmUgKGNka2xhYnMvY2RrLW5hZyMyMzU5LFxuICAgIC8vICMyMzUxLCBib3RoIG9wZW4gdXBzdHJlYW0pLiBTZWUgZG9jcy9wbGFucy8yMDI2LTA4LTA5LWJ1bXAtbXZjLXByb2plbi1jZGstbmFnLXYzLm1kIFRhc2sgMy5cbiAgICAvLyBvbkV2ZW50SGFuZGxlckZ1bmNSb2xlIGlzIGFja25vd2xlZGdlZCBkaXJlY3RseSAobm90IHZpYSB0aGlzLnByb3ZpZGVyLm9uRXZlbnRIYW5kbGVyKSBzaW5jZVxuICAgIC8vIGl0IGlzIHBhc3NlZCBpbiBhcyBhbiBleHBsaWNpdCByb2xlIC0gYSBzaWJsaW5nIGNvbnN0cnVjdCwgbm90IGEgZGVzY2VuZGFudCBvZiB0aGUgRnVuY3Rpb24uXG4gICAgY29uc3QgaWFtNVJlc291cmNlU3RhciA9ICdBd3NTb2x1dGlvbnMtSUFNNVtSZXNvdXJjZTo6Kl0nO1xuICAgIGNvbnN0IHJlYXNvbklhbTUgPSAnd2lsZGNhcmRzIGFyZSBvayBmb3IgdGhlIHByb3ZpZGVyIGFzIHRoZSBmdW5jdGlvbiBoYXMgcmVzdHJpY3Rpb25zJztcblxuICAgIFZhbGlkYXRpb25zLm9mKG9uRXZlbnRIYW5kbGVyRnVuY1JvbGUpLmFja25vd2xlZGdlKHsgaWQ6IGlhbTVSZXNvdXJjZVN0YXIsIHJlYXNvbjogcmVhc29uSWFtNSB9KTtcbiAgICAvLyBlbWFpbGJ1Y2tldC5ncmFudFJlYWQoaXNDb21wbGV0ZUhhbmRsZXJGdW5jLCAnUm9vdE1haWwvKicpIGdlbmVyYXRlcyB3aWxkY2FyZC1hY3Rpb24gZmluZGluZ3NcbiAgICAvLyAobGl0ZXJhbCBhY3Rpb24gc3RyaW5ncywgcG9ydGFibGUgYWNyb3NzIGFueSBkZXBsb3ltZW50KS5cbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBbJ3MzOkdldEJ1Y2tldConLCAnczM6R2V0T2JqZWN0KicsICdzMzpMaXN0KiddKSB7XG4gICAgICBWYWxpZGF0aW9ucy5vZihpc0NvbXBsZXRlSGFuZGxlckZ1bmMpLmFja25vd2xlZGdlKHsgaWQ6IGBBd3NTb2x1dGlvbnMtSUFNNVtBY3Rpb246OiR7YWN0aW9ufV1gLCByZWFzb246ICdzY29wZWQgcmVhZCBhY2Nlc3MgdG8gdGhlIFJvb3RNYWlsIHByZWZpeCwgd2lsZGNhcmQgaXMgdGhlIFMzIGFjdGlvbi1mYW1pbHkgc3VmZml4JyB9KTtcbiAgICB9XG4gIH1cbn0iXX0=
|
package/lib/ses-receive.js
CHANGED
|
@@ -11,7 +11,7 @@ const ses_receipt_ruleset_activation_1 = require("./ses-receipt-ruleset-activati
|
|
|
11
11
|
* SES Receive construct
|
|
12
12
|
*/
|
|
13
13
|
class SESReceive extends constructs_1.Construct {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.1.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.1.19" };
|
|
15
15
|
constructor(scope, id, props) {
|
|
16
16
|
super(scope, id);
|
|
17
17
|
const filteredEmailSubjects = props.filteredEmailSubjects || [];
|
|
@@ -101,7 +101,7 @@ class SESReceive extends constructs_1.Construct {
|
|
|
101
101
|
role: opsSantaFunctionRole,
|
|
102
102
|
runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_24_X,
|
|
103
103
|
timeout: aws_cdk_lib_1.Duration.seconds(60),
|
|
104
|
-
|
|
104
|
+
logGroup: new aws_cdk_lib_1.aws_logs.LogGroup(this, 'ops-santa-handler-log-group', { retention: aws_cdk_lib_1.aws_logs.RetentionDays.THREE_DAYS }),
|
|
105
105
|
environment: {
|
|
106
106
|
EMAIL_BUCKET: props.emailbucket.bucketName,
|
|
107
107
|
EMAIL_BUCKET_ARN: props.emailbucket.bucketArn,
|
|
@@ -141,4 +141,4 @@ class ApplyDestroyPolicyAspect {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VzLXJlY2VpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZDQWFxQjtBQUNyQixxRUFBK0Q7QUFDL0QsMkNBQW1EO0FBQ25ELHFDQUFpRTtBQUNqRSxxRkFBK0U7QUErQy9FOztHQUVHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7O0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUM7UUFFaEUsTUFBTSxZQUFZLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFBLDJCQUFrQixFQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsWUFBWSx1Q0FBdUMsMEJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2SSxDQUFDO1FBRUQsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLHFCQUFHLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRixNQUFNLG9CQUFvQixHQUFHLElBQUkscUJBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFO1lBQ3RFLFNBQVMsRUFBRSxJQUFJLHFCQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDM0QsZUFBZSxFQUFFLENBQUMscUJBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUN6RyxjQUFjLEVBQUU7Z0JBQ2QsMEJBQTBCLEVBQUUsSUFBSSxxQkFBRyxDQUFDLGNBQWMsQ0FB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RSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7O0FBMUhILGdDQTJIQztBQUVEOztHQUVHO0FBQ0gsTUFBTSx3QkFBd0I7SUFDckIsS0FBSyxDQUFDLElBQWdCO1FBQzNCLElBQUksSUFBSSxZQUFZLHlCQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXJuLFxuICBBcm5Gb3JtYXQsXG4gIEFzcGVjdHMsXG4gIENmblJlc291cmNlLFxuICBEdXJhdGlvbixcbiAgSUFzcGVjdCxcbiAgUmVtb3ZhbFBvbGljeSxcbiAgU3RhY2ssXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3MzIGFzIHMzLFxuICBWYWxpZGF0aW9ucyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGlzU0VTRW5hYmxlZFJlZ2lvbiwgc2VzRW5hYmxlZFJlZ2lvbnMgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb24gfSBmcm9tICcuL3Nlcy1yZWNlaXB0LXJ1bGVzZXQtYWN0aXZhdGlvbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIFNFU1JlY2VpdmUgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU0VTUmVjZWl2ZVByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdWJkb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuXG4gICAqL1xuICByZWFkb25seSBzdWJkb21haW46IHN0cmluZztcblxuICAvKipcbiAgICogUzMgYnVja2V0IHRvIHN0b3JlIHJlY2VpdmVkIGVtYWlsc1xuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50OnByZWZlci1yZWYtaW50ZXJmYWNlXVxuICAgKi9cbiAgcmVhZG9ubHkgZW1haWxidWNrZXQ6IHMzLklCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gU0VTIHJlY2VpdmUgZnVuY3Rpb24gdG8gdXNlXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6cmVmLXZpYS1pbnRlcmZhY2VdXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBwcm92aWRlZCBmdW5jdGlvbnMgd2l0aGluIHRoZSBjb25zdHJ1Y3RcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVNlc1JlY2VpdmVGdW5jdGlvbj86IGxhbWJkYS5GdW5jdGlvbjtcblxuICAvKipcbiAgICogRmlsdGVyZWQgZW1haWwgc3ViamVjdHMuIE5PVEU6IG11c3Qgbm90IGNvbnRhaW4gY29tbWFzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyIHN1YmplY3RzOiAnWW91ciBBV1MgQWNjb3VudCBpcyBSZWFkeSAtIEdldCBTdGFydGVkIE5vdycgYW5kICdXZWxjb21lIHRvIEFtYXpvbiBXZWIgU2VydmljZXMnXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJlZEVtYWlsU3ViamVjdHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzZXQgYWxsIHJlbW92YWwgcG9saWNpZXMgdG8gREVTVFJPWS4gVGhpcyBpcyB1c2VmdWwgZm9yIGludGVncmF0aW9uIHRlc3RpbmcgcHVycG9zZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzZXREZXN0cm95UG9saWN5VG9BbGxSZXNvdXJjZXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFNFUyBSZWNlaXZlIGNvbnN0cnVjdFxuICovXG5leHBvcnQgY2xhc3MgU0VTUmVjZWl2ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTRVNSZWNlaXZlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZmlsdGVyZWRFbWFpbFN1YmplY3RzID0gcHJvcHMuZmlsdGVyZWRFbWFpbFN1YmplY3RzIHx8IFtdO1xuXG4gICAgY29uc3QgZGVwbG95UmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIGlmICghaXNTRVNFbmFibGVkUmVnaW9uKGRlcGxveVJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU0VTIGlzIG5vdCBhdmFpbGFibGUgaW4gcmVnaW9uICR7ZGVwbG95UmVnaW9ufS4gVXNlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlZ2lvbnM6ICR7c2VzRW5hYmxlZFJlZ2lvbnMuam9pbignLCAnKX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHNTYW50YUZ1bmN0aW9uU0VTUGVybWlzc2lvbnMgPSBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ3Nlcy5hbWF6b25hd3MuY29tJyk7XG4gICAgY29uc3Qgb3BzU2FudGFGdW5jdGlvblJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ09wc1NhbnRhRnVuY3Rpb25Sb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnKV0sXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBPcHNTYW50YUZ1bmN0aW9uUm9sZVBvbGljeTogbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnczM6R2V0T2JqZWN0JyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgcHJvcHMuZW1haWxidWNrZXQuYXJuRm9yT2JqZWN0cygnUm9vdE1haWwvKicpLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzc206Q3JlYXRlT3BzSXRlbScsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgICcqJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnc3NtOlB1dFBhcmFtZXRlcicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIC8vIGFybjoke0FXUzo6UGFydGl0aW9ufTpzc206JHtBV1M6OlJlZ2lvbn06JHtBV1M6OkFjY291bnRJZH06cGFyYW1ldGVyL3Jvb3RtYWlsLypcbiAgICAgICAgICAgICAgICAvLyBhcm46e3BhcnRpdGlvbn06e3NlcnZpY2V9OntyZWdpb259OnthY2NvdW50fTp7cmVzb3VyY2V9e3NlcH17cmVzb3VyY2UtbmFtZX1cbiAgICAgICAgICAgICAgICBBcm4uZm9ybWF0KHtcbiAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbjogU3RhY2sub2YodGhpcykucGFydGl0aW9uLFxuICAgICAgICAgICAgICAgICAgc2VydmljZTogJ3NzbScsXG4gICAgICAgICAgICAgICAgICByZWdpb246IFN0YWNrLm9mKHRoaXMpLnJlZ2lvbixcbiAgICAgICAgICAgICAgICAgIGFjY291bnQ6IFN0YWNrLm9mKHRoaXMpLmFjY291bnQsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZTogJ3BhcmFtZXRlcicsXG4gICAgICAgICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiAncm9vdG1haWwvKicsXG4gICAgICAgICAgICAgICAgfSwgU3RhY2sub2YodGhpcykpLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIC8vIFBvcnRhYmxlIGZpbmRpbmdzIG9ubHk6IFJlc291cmNlOjoqIGlzIGNvbnN0YW50IGFjcm9zcyBhbnkgZGVwbG95bWVudC4gUmVzb3VyY2U6Ojxsb2dpY2FsLWlkPlxuICAgIC8vIGZpbmRpbmdzIChmcm9tIHRoZSBzMzpHZXRPYmplY3QgYW5kIHNzbTpQdXRQYXJhbWV0ZXIgc3RhdGVtZW50cyBhYm92ZSkgYXJlIE5PVCBhY2tub3dsZWRnZWRcbiAgICAvLyBoZXJlIC0gY2RrLW5hZyB2MyBtYXRjaGVzIHRob3NlIGJ5IGV4YWN0IHN0cmluZyBpbmNsdWRpbmcgYSBwZXItYXBwLWdlbmVyYXRlZCBsb2dpY2FsIElEIC9cbiAgICAvLyBsaXRlcmFsIGFjY291bnQrcmVnaW9uLCBzbyBhIHZhbHVlIGhhcnZlc3RlZCBmcm9tIHRoaXMgdGVzdCB3b3VsZCBub3QgbWF0Y2ggYSBjb25zdW1lcidzXG4gICAgLy8gZGVwbG95bWVudC4gQXdzU29sdXRpb25zLUlBTTRbUG9saWN5OjouLi5dIGNhbm5vdCBiZSBhY2tub3dsZWRnZWQgYXQgYWxsIHJpZ2h0IG5vdyAtIGF3cy1jZGstbGliJ3NcbiAgICAvLyBWYWxpZGF0aW9ucy5hY2tub3dsZWRnZSgpIHJlamVjdHMgYW55IGlkIHdpdGggbW9yZSB0aGFuIG9uZSAnOjonLCBhbmQgQVdTIG1hbmFnZWQgcG9saWN5IEFSTnNcbiAgICAvLyBhbHdheXMgY29udGFpbiBvbmUgKGNka2xhYnMvY2RrLW5hZyMyMzU5LCAjMjM1MSwgYm90aCBvcGVuIHVwc3RyZWFtKS4gU2VlXG4gICAgLy8gZG9jcy9wbGFucy8yMDI2LTA4LTA5LWJ1bXAtbXZjLXByb2plbi1jZGstbmFnLXYzLm1kIFRhc2sgMy5cbiAgICBWYWxpZGF0aW9ucy5vZihvcHNTYW50YUZ1bmN0aW9uUm9sZSkuYWNrbm93bGVkZ2UoeyBpZDogJ0F3c1NvbHV0aW9ucy1JQU01W1Jlc291cmNlOjoqXScsIHJlYXNvbjogJ3dpbGRjYXJkcyBhcmUgb2sgYXMgd2UgYWxsb3cgZXZlcnkgb3BzaXRlbSB0byBiZSBjcmVhdGVkJyB9KTtcblxuICAgIGxldCBvcHNTYW50YUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gICAgaWYgKHByb3BzLmN1c3RvbVNlc1JlY2VpdmVGdW5jdGlvbikge1xuICAgICAgb3BzU2FudGFGdW5jdGlvbiA9IHByb3BzLmN1c3RvbVNlc1JlY2VpdmVGdW5jdGlvbjtcbiAgICAgIG9wc1NhbnRhRnVuY3Rpb24ucm9sZT8uYXR0YWNoSW5saW5lUG9saWN5KG5ldyBpYW0uUG9saWN5KHRoaXMsICdDdXN0b21TZXNSZWNlaXZlRnVuY3Rpb25Qb2xpY3knLCB7XG4gICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICdzMzpHZXRPYmplY3QnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICBwcm9wcy5lbWFpbGJ1Y2tldC5hcm5Gb3JPYmplY3RzKCdSb290TWFpbC8qJyksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSkpO1xuICAgICAgb3BzU2FudGFGdW5jdGlvbi5hZGRFbnZpcm9ubWVudCgnRU1BSUxfQlVDS0VUJywgcHJvcHMuZW1haWxidWNrZXQuYnVja2V0TmFtZSk7XG4gICAgICBvcHNTYW50YUZ1bmN0aW9uLmFkZEVudmlyb25tZW50KCdFTUFJTF9CVUNLRVRfQVJOJywgcHJvcHMuZW1haWxidWNrZXQuYnVja2V0QXJuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3BzU2FudGFGdW5jdGlvbiA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCAnb3BzLXNhbnRhLWhhbmRsZXInLCB7XG4gICAgICAgIGhhbmRsZXI6ICdoYW5kbGVyJyxcbiAgICAgICAgcm9sZTogb3BzU2FudGFGdW5jdGlvblJvbGUsXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yNF9YLFxuICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgICAgbG9nUmV0ZW50aW9uOiAzLFxuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIEVNQUlMX0JVQ0tFVDogcHJvcHMuZW1haWxidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBFTUFJTF9CVUNLRVRfQVJOOiBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXRBcm4sXG4gICAgICAgICAgUk9PVE1BSUxfREVQTE9ZX1JFR0lPTjogU3RhY2sub2YodGhpcykucmVnaW9uLFxuICAgICAgICAgIEZJTFRFUkVEX0VNQUlMX1NVQkpFQ1RTOiBmaWx0ZXJlZEVtYWlsU3ViamVjdHMuam9pbignLCcpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIHdpbGwgYmUgYWRkZWQgaW4gYm90aCB3YXlzXG4gICAgb3BzU2FudGFGdW5jdGlvbi5hZGRQZXJtaXNzaW9uKCdPcHNTYW50YUZ1bmN0aW9uU0VTUGVybWlzc2lvbnMnLCB7XG4gICAgICBwcmluY2lwYWw6IG9wc1NhbnRhRnVuY3Rpb25TRVNQZXJtaXNzaW9ucyxcbiAgICAgIGFjdGlvbjogJ2xhbWJkYTpJbnZva2VGdW5jdGlvbicsXG4gICAgICBzb3VyY2VBY2NvdW50OiBTdGFjay5vZih0aGlzKS5hY2NvdW50LFxuICAgIH0pO1xuXG4gICAgLy8gQ1IgdG8gYWN0aXZhdGUgU0VTIHJlY2VpcHQgcnVsZSBzZXRcbiAgICBuZXcgU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uKHRoaXMsICdTRVNSZWNlaXB0UnVsZVNldEFjdGl2YXRpb24nLCB7XG4gICAgICBkb21haW46IHByb3BzLmRvbWFpbixcbiAgICAgIHN1YmRvbWFpbjogcHJvcHMuc3ViZG9tYWluLFxuICAgICAgZW1haWxidWNrZXQ6IHByb3BzLmVtYWlsYnVja2V0LFxuICAgICAgb3BzU2FudGFGdW5jdGlvbkFybjogb3BzU2FudGFGdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICAgIGZpbHRlcmVkRW1haWxTdWJqZWN0czogZmlsdGVyZWRFbWFpbFN1YmplY3RzLFxuICAgIH0pO1xuXG4gICAgLy8gSWYgRGVzdHJveSBQb2xpY3kgQXNwZWN0IGlzIHByZXNlbnQ6XG4gICAgaWYgKHByb3BzLnNldERlc3Ryb3lQb2xpY3lUb0FsbFJlc291cmNlcykge1xuICAgICAgQXNwZWN0cy5vZih0aGlzKS5hZGQobmV3IEFwcGx5RGVzdHJveVBvbGljeUFzcGVjdCgpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBc3BlY3QgZm9yIHNldHRpbmcgYWxsIHJlbW92YWwgcG9saWNpZXMgdG8gREVTVFJPWVxuICovXG5jbGFzcyBBcHBseURlc3Ryb3lQb2xpY3lBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgcHVibGljIHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIENmblJlc291cmNlKSB7XG4gICAgICBub2RlLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VzLXJlY2VpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZDQWNxQjtBQUNyQixxRUFBK0Q7QUFDL0QsMkNBQW1EO0FBQ25ELHFDQUFpRTtBQUNqRSxxRkFBK0U7QUErQy9FOztHQUVHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7O0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUM7UUFFaEUsTUFBTSxZQUFZLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFBLDJCQUFrQixFQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsWUFBWSx1Q0FBdUMsMEJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2SSxDQUFDO1FBRUQsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLHFCQUFHLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRixNQUFNLG9CQUFvQixHQUFHLElBQUkscUJBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFO1lBQ3RFLFNBQVMsRUFBRSxJQUFJLHFCQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDM0QsZUFBZSxFQUFFLENBQUMscUJBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUN6RyxjQUFjLEVBQUU7Z0JBQ2QsMEJBQTBCLEVBQUUsSUFBSSxxQkFBRyxDQUFDLGNBQWMsQ0FB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LEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1lBQ3pDLHFCQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLHdCQUF3QixFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzs7QUExSEgsZ0NBMkhDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLHdCQUF3QjtJQUNyQixLQUFLLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxJQUFJLFlBQVkseUJBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcm4sXG4gIEFybkZvcm1hdCxcbiAgQXNwZWN0cyxcbiAgQ2ZuUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICBJQXNwZWN0LFxuICBSZW1vdmFsUG9saWN5LFxuICBTdGFjayxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfbG9ncyBhcyBsb2dzLFxuICBhd3NfczMgYXMgczMsXG4gIFZhbGlkYXRpb25zLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgaXNTRVNFbmFibGVkUmVnaW9uLCBzZXNFbmFibGVkUmVnaW9ucyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvbiB9IGZyb20gJy4vc2VzLXJlY2VpcHQtcnVsZXNldC1hY3RpdmF0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgU0VTUmVjZWl2ZSBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTRVNSZWNlaXZlUHJvcHMge1xuICAvKipcbiAgICogRG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1YmRvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IHN1YmRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTMyBidWNrZXQgdG8gc3RvcmUgcmVjZWl2ZWQgZW1haWxzXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6cHJlZmVyLXJlZi1pbnRlcmZhY2VdXG4gICAqL1xuICByZWFkb25seSBlbWFpbGJ1Y2tldDogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIGN1c3RvbSBTRVMgcmVjZWl2ZSBmdW5jdGlvbiB0byB1c2VcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpyZWYtdmlhLWludGVyZmFjZV1cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIHByb3ZpZGVkIGZ1bmN0aW9ucyB3aXRoaW4gdGhlIGNvbnN0cnVjdFxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uPzogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXJlZCBlbWFpbCBzdWJqZWN0cy4gTk9URTogbXVzdCBub3QgY29udGFpbiBjb21tYXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDIgc3ViamVjdHM6ICdZb3VyIEFXUyBBY2NvdW50IGlzIFJlYWR5IC0gR2V0IFN0YXJ0ZWQgTm93JyBhbmQgJ1dlbGNvbWUgdG8gQW1hem9uIFdlYiBTZXJ2aWNlcydcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcmVkRW1haWxTdWJqZWN0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNldCBhbGwgcmVtb3ZhbCBwb2xpY2llcyB0byBERVNUUk9ZLiBUaGlzIGlzIHVzZWZ1bCBmb3IgaW50ZWdyYXRpb24gdGVzdGluZyBwdXJwb3Nlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNldERlc3Ryb3lQb2xpY3lUb0FsbFJlc291cmNlcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU0VTIFJlY2VpdmUgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBTRVNSZWNlaXZlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNFU1JlY2VpdmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBmaWx0ZXJlZEVtYWlsU3ViamVjdHMgPSBwcm9wcy5maWx0ZXJlZEVtYWlsU3ViamVjdHMgfHwgW107XG5cbiAgICBjb25zdCBkZXBsb3lSZWdpb24gPSBTdGFjay5vZih0aGlzKS5yZWdpb247XG4gICAgaWYgKCFpc1NFU0VuYWJsZWRSZWdpb24oZGVwbG95UmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTRVMgaXMgbm90IGF2YWlsYWJsZSBpbiByZWdpb24gJHtkZXBsb3lSZWdpb259LiBVc2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgcmVnaW9uczogJHtzZXNFbmFibGVkUmVnaW9ucy5qb2luKCcsICcpfWApO1xuICAgIH1cblxuICAgIGNvbnN0IG9wc1NhbnRhRnVuY3Rpb25TRVNQZXJtaXNzaW9ucyA9IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnc2VzLmFtYXpvbmF3cy5jb20nKTtcbiAgICBjb25zdCBvcHNTYW50YUZ1bmN0aW9uUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnT3BzU2FudGFGdW5jdGlvblJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnbGFtYmRhLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW2lhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZScpXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIE9wc1NhbnRhRnVuY3Rpb25Sb2xlUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzMzpHZXRPYmplY3QnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICBwcm9wcy5lbWFpbGJ1Y2tldC5hcm5Gb3JPYmplY3RzKCdSb290TWFpbC8qJyksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3NzbTpDcmVhdGVPcHNJdGVtJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgJyonLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzc206UHV0UGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgLy8gYXJuOiR7QVdTOjpQYXJ0aXRpb259OnNzbToke0FXUzo6UmVnaW9ufToke0FXUzo6QWNjb3VudElkfTpwYXJhbWV0ZXIvcm9vdG1haWwvKlxuICAgICAgICAgICAgICAgIC8vIGFybjp7cGFydGl0aW9ufTp7c2VydmljZX06e3JlZ2lvbn06e2FjY291bnR9OntyZXNvdXJjZX17c2VwfXtyZXNvdXJjZS1uYW1lfVxuICAgICAgICAgICAgICAgIEFybi5mb3JtYXQoe1xuICAgICAgICAgICAgICAgICAgcGFydGl0aW9uOiBTdGFjay5vZih0aGlzKS5wYXJ0aXRpb24sXG4gICAgICAgICAgICAgICAgICBzZXJ2aWNlOiAnc3NtJyxcbiAgICAgICAgICAgICAgICAgIHJlZ2lvbjogU3RhY2sub2YodGhpcykucmVnaW9uLFxuICAgICAgICAgICAgICAgICAgYWNjb3VudDogU3RhY2sub2YodGhpcykuYWNjb3VudCxcbiAgICAgICAgICAgICAgICAgIHJlc291cmNlOiAncGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6ICdyb290bWFpbC8qJyxcbiAgICAgICAgICAgICAgICB9LCBTdGFjay5vZih0aGlzKSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgLy8gUG9ydGFibGUgZmluZGluZ3Mgb25seTogUmVzb3VyY2U6OiogaXMgY29uc3RhbnQgYWNyb3NzIGFueSBkZXBsb3ltZW50LiBSZXNvdXJjZTo6PGxvZ2ljYWwtaWQ+XG4gICAgLy8gZmluZGluZ3MgKGZyb20gdGhlIHMzOkdldE9iamVjdCBhbmQgc3NtOlB1dFBhcmFtZXRlciBzdGF0ZW1lbnRzIGFib3ZlKSBhcmUgTk9UIGFja25vd2xlZGdlZFxuICAgIC8vIGhlcmUgLSBjZGstbmFnIHYzIG1hdGNoZXMgdGhvc2UgYnkgZXhhY3Qgc3RyaW5nIGluY2x1ZGluZyBhIHBlci1hcHAtZ2VuZXJhdGVkIGxvZ2ljYWwgSUQgL1xuICAgIC8vIGxpdGVyYWwgYWNjb3VudCtyZWdpb24sIHNvIGEgdmFsdWUgaGFydmVzdGVkIGZyb20gdGhpcyB0ZXN0IHdvdWxkIG5vdCBtYXRjaCBhIGNvbnN1bWVyJ3NcbiAgICAvLyBkZXBsb3ltZW50LiBBd3NTb2x1dGlvbnMtSUFNNFtQb2xpY3k6Oi4uLl0gY2Fubm90IGJlIGFja25vd2xlZGdlZCBhdCBhbGwgcmlnaHQgbm93IC0gYXdzLWNkay1saWInc1xuICAgIC8vIFZhbGlkYXRpb25zLmFja25vd2xlZGdlKCkgcmVqZWN0cyBhbnkgaWQgd2l0aCBtb3JlIHRoYW4gb25lICc6OicsIGFuZCBBV1MgbWFuYWdlZCBwb2xpY3kgQVJOc1xuICAgIC8vIGFsd2F5cyBjb250YWluIG9uZSAoY2RrbGFicy9jZGstbmFnIzIzNTksICMyMzUxLCBib3RoIG9wZW4gdXBzdHJlYW0pLiBTZWVcbiAgICAvLyBkb2NzL3BsYW5zLzIwMjYtMDgtMDktYnVtcC1tdmMtcHJvamVuLWNkay1uYWctdjMubWQgVGFzayAzLlxuICAgIFZhbGlkYXRpb25zLm9mKG9wc1NhbnRhRnVuY3Rpb25Sb2xlKS5hY2tub3dsZWRnZSh7IGlkOiAnQXdzU29sdXRpb25zLUlBTTVbUmVzb3VyY2U6OipdJywgcmVhc29uOiAnd2lsZGNhcmRzIGFyZSBvayBhcyB3ZSBhbGxvdyBldmVyeSBvcHNpdGVtIHRvIGJlIGNyZWF0ZWQnIH0pO1xuXG4gICAgbGV0IG9wc1NhbnRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbjtcbiAgICBpZiAocHJvcHMuY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uKSB7XG4gICAgICBvcHNTYW50YUZ1bmN0aW9uID0gcHJvcHMuY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uO1xuICAgICAgb3BzU2FudGFGdW5jdGlvbi5yb2xlPy5hdHRhY2hJbmxpbmVQb2xpY3kobmV3IGlhbS5Qb2xpY3kodGhpcywgJ0N1c3RvbVNlc1JlY2VpdmVGdW5jdGlvblBvbGljeScsIHtcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgJ3MzOkdldE9iamVjdCcsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgIHByb3BzLmVtYWlsYnVja2V0LmFybkZvck9iamVjdHMoJ1Jvb3RNYWlsLyonKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSk7XG4gICAgICBvcHNTYW50YUZ1bmN0aW9uLmFkZEVudmlyb25tZW50KCdFTUFJTF9CVUNLRVQnLCBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXROYW1lKTtcbiAgICAgIG9wc1NhbnRhRnVuY3Rpb24uYWRkRW52aXJvbm1lbnQoJ0VNQUlMX0JVQ0tFVF9BUk4nLCBwcm9wcy5lbWFpbGJ1Y2tldC5idWNrZXRBcm4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHNTYW50YUZ1bmN0aW9uID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHRoaXMsICdvcHMtc2FudGEtaGFuZGxlcicsIHtcbiAgICAgICAgaGFuZGxlcjogJ2hhbmRsZXInLFxuICAgICAgICByb2xlOiBvcHNTYW50YUZ1bmN0aW9uUm9sZSxcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzI0X1gsXG4gICAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgICBsb2dHcm91cDogbmV3IGxvZ3MuTG9nR3JvdXAodGhpcywgJ29wcy1zYW50YS1oYW5kbGVyLWxvZy1ncm91cCcsIHsgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuVEhSRUVfREFZUyB9KSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBFTUFJTF9CVUNLRVQ6IHByb3BzLmVtYWlsYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgICAgRU1BSUxfQlVDS0VUX0FSTjogcHJvcHMuZW1haWxidWNrZXQuYnVja2V0QXJuLFxuICAgICAgICAgIFJPT1RNQUlMX0RFUExPWV9SRUdJT046IFN0YWNrLm9mKHRoaXMpLnJlZ2lvbixcbiAgICAgICAgICBGSUxURVJFRF9FTUFJTF9TVUJKRUNUUzogZmlsdGVyZWRFbWFpbFN1YmplY3RzLmpvaW4oJywnKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyB3aWxsIGJlIGFkZGVkIGluIGJvdGggd2F5c1xuICAgIG9wc1NhbnRhRnVuY3Rpb24uYWRkUGVybWlzc2lvbignT3BzU2FudGFGdW5jdGlvblNFU1Blcm1pc3Npb25zJywge1xuICAgICAgcHJpbmNpcGFsOiBvcHNTYW50YUZ1bmN0aW9uU0VTUGVybWlzc2lvbnMsXG4gICAgICBhY3Rpb246ICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICAgICAgc291cmNlQWNjb3VudDogU3RhY2sub2YodGhpcykuYWNjb3VudCxcbiAgICB9KTtcblxuICAgIC8vIENSIHRvIGFjdGl2YXRlIFNFUyByZWNlaXB0IHJ1bGUgc2V0XG4gICAgbmV3IFNFU1JlY2VpcHRSdWxlU2V0QWN0aXZhdGlvbih0aGlzLCAnU0VTUmVjZWlwdFJ1bGVTZXRBY3RpdmF0aW9uJywge1xuICAgICAgZG9tYWluOiBwcm9wcy5kb21haW4sXG4gICAgICBzdWJkb21haW46IHByb3BzLnN1YmRvbWFpbixcbiAgICAgIGVtYWlsYnVja2V0OiBwcm9wcy5lbWFpbGJ1Y2tldCxcbiAgICAgIG9wc1NhbnRhRnVuY3Rpb25Bcm46IG9wc1NhbnRhRnVuY3Rpb24uZnVuY3Rpb25Bcm4sXG4gICAgICBmaWx0ZXJlZEVtYWlsU3ViamVjdHM6IGZpbHRlcmVkRW1haWxTdWJqZWN0cyxcbiAgICB9KTtcblxuICAgIC8vIElmIERlc3Ryb3kgUG9saWN5IEFzcGVjdCBpcyBwcmVzZW50OlxuICAgIGlmIChwcm9wcy5zZXREZXN0cm95UG9saWN5VG9BbGxSZXNvdXJjZXMpIHtcbiAgICAgIEFzcGVjdHMub2YodGhpcykuYWRkKG5ldyBBcHBseURlc3Ryb3lQb2xpY3lBc3BlY3QoKSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQXNwZWN0IGZvciBzZXR0aW5nIGFsbCByZW1vdmFsIHBvbGljaWVzIHRvIERFU1RST1lcbiAqL1xuY2xhc3MgQXBwbHlEZXN0cm95UG9saWN5QXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHB1YmxpYyB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBDZm5SZXNvdXJjZSkge1xuICAgICAgbm9kZS5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICB9XG4gIH1cbn0iXX0=
|
package/package.json
CHANGED
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"@aws-sdk/client-s3": "^3.1150.0",
|
|
85
85
|
"@aws-sdk/client-ses": "^3.1150.0",
|
|
86
86
|
"@aws-sdk/client-ssm": "^3.1150.0",
|
|
87
|
-
"@mavogel/mvc-projen": "^0.0.
|
|
87
|
+
"@mavogel/mvc-projen": "^0.0.60",
|
|
88
88
|
"cdk-nag": "^3.0.1",
|
|
89
89
|
"constructs": "^10.5.1",
|
|
90
90
|
"mailparser": "^3.9.38",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"publishConfig": {
|
|
123
123
|
"access": "public"
|
|
124
124
|
},
|
|
125
|
-
"version": "0.1.
|
|
125
|
+
"version": "0.1.19",
|
|
126
126
|
"jest": {
|
|
127
127
|
"coverageProvider": "v8",
|
|
128
128
|
"transformIgnorePatterns": [
|
|
@@ -1 +0,0 @@
|
|
|
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))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Retry=exports.includeStackTraces=exports.MISSING_PHYSICAL_ID_MARKER=exports.CREATE_FAILED_PHYSICAL_ID_MARKER=void 0,exports.submitResponse=submitResponse,exports.safeHandler=safeHandler,exports.redactDataFromPayload=redactDataFromPayload;const url=require("url"),outbound_1=require("./outbound"),util_1=require("./util");exports.CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",exports.MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function submitResponse(status,event,options={}){const json={Status:status,Reason:options.reason||status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||exports.MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:options.noEcho,Data:event.Data},responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),loggingSafeUrl=`${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`;options?.noEcho?(0,util_1.log)("submit redacted response to cloudformation",loggingSafeUrl,redactDataFromPayload(json)):(0,util_1.log)("submit response to cloudformation",loggingSafeUrl,json);const retryOptions={attempts:5,sleep:1e3};await(0,util_1.withRetries)(retryOptions,outbound_1.httpRequest)({hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}},responseBody)}exports.includeStackTraces=!0;function safeHandler(block){return async event=>{if(event.RequestType==="Delete"&&event.PhysicalResourceId===exports.CREATE_FAILED_PHYSICAL_ID_MARKER){(0,util_1.log)("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{await block(event)}catch(e){if(e instanceof Retry)throw(0,util_1.log)("retry requested by handler"),e;event.PhysicalResourceId||(event.RequestType==="Create"?((0,util_1.log)("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),event.PhysicalResourceId=exports.CREATE_FAILED_PHYSICAL_ID_MARKER):(0,util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({...event,ResponseURL:"..."})}`)),await submitResponse("FAILED",event,{reason:exports.includeStackTraces?e.stack:e.message})}}}function redactDataFromPayload(payload){const redactedPayload=JSON.parse(JSON.stringify(payload));if(redactedPayload.Data){const keys=Object.keys(redactedPayload.Data);for(const key of keys)redactedPayload.Data[key]="*****"}return redactedPayload}class Retry extends Error{}exports.Retry=Retry;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";const cfnResponse=require("./cfn-response"),consts=require("./consts"),outbound_1=require("./outbound"),util_1=require("./util");async function onEvent(cfnRequest){const sanitizedRequest={...cfnRequest,ResponseURL:"..."};(0,util_1.log)("onEventHandler",sanitizedRequest),cfnRequest.ResourceProperties=cfnRequest.ResourceProperties||{};const onEventResult=await invokeUserFunction(consts.USER_ON_EVENT_FUNCTION_ARN_ENV,sanitizedRequest,cfnRequest.ResponseURL);onEventResult?.NoEcho?(0,util_1.log)("redacted onEvent returned:",cfnResponse.redactDataFromPayload(onEventResult)):(0,util_1.log)("onEvent returned:",onEventResult);const resourceEvent=createResponseEvent(cfnRequest,onEventResult),sanitizedEvent={...resourceEvent,ResponseURL:"..."};if(onEventResult?.NoEcho?(0,util_1.log)("readacted event:",cfnResponse.redactDataFromPayload(sanitizedEvent)):(0,util_1.log)("event:",sanitizedEvent),!process.env[consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV])return cfnResponse.submitResponse("SUCCESS",resourceEvent,{noEcho:resourceEvent.NoEcho});const waiter={stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId,input:JSON.stringify(resourceEvent)};(0,util_1.log)("starting waiter",{stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId}),await(0,outbound_1.startExecution)(waiter)}async function isComplete(event){const sanitizedRequest={...event,ResponseURL:"..."};event?.NoEcho?(0,util_1.log)("redacted isComplete request",cfnResponse.redactDataFromPayload(sanitizedRequest)):(0,util_1.log)("isComplete",sanitizedRequest);const isCompleteResult=await invokeUserFunction(consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV,sanitizedRequest,event.ResponseURL);if(event?.NoEcho?(0,util_1.log)("redacted user isComplete returned:",cfnResponse.redactDataFromPayload(isCompleteResult)):(0,util_1.log)("user isComplete returned:",isCompleteResult),!isCompleteResult.IsComplete)throw isCompleteResult.Data&&Object.keys(isCompleteResult.Data).length>0?new Error('"Data" is not allowed if "IsComplete" is "False"'):new cfnResponse.Retry(JSON.stringify(event));const response={...event,...isCompleteResult,Data:{...event.Data,...isCompleteResult.Data}};await cfnResponse.submitResponse("SUCCESS",response,{noEcho:event.NoEcho})}async function onTimeout(timeoutEvent){(0,util_1.log)("timeoutHandler",timeoutEvent);const isCompleteRequest=JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage);await cfnResponse.submitResponse("FAILED",isCompleteRequest,{reason:"Operation timed out"})}async function invokeUserFunction(functionArnEnv,sanitizedPayload,responseUrl){const functionArn=(0,util_1.getEnv)(functionArnEnv);(0,util_1.log)(`executing user function ${functionArn} with payload`,sanitizedPayload);const resp=await(0,outbound_1.invokeFunction)({FunctionName:functionArn,Payload:JSON.stringify({...sanitizedPayload,ResponseURL:responseUrl})});(0,util_1.log)("user function response:",resp,typeof resp);const jsonPayload=(0,util_1.parseJsonPayload)(resp.Payload);if(resp.FunctionError){(0,util_1.log)("user function threw an error:",resp.FunctionError);const errorMessage=jsonPayload.errorMessage||"error",arn=functionArn.split(":"),functionName=arn[arn.length-1],message=[errorMessage,"",`Logs: /aws/lambda/${functionName}`,""].join(`
|
|
2
|
-
`),e=new Error(message);throw jsonPayload.trace&&(e.stack=[message,...jsonPayload.trace.slice(1)].join(`
|
|
3
|
-
`)),e}return jsonPayload}function createResponseEvent(cfnRequest,onEventResult){onEventResult=onEventResult||{};const physicalResourceId=onEventResult.PhysicalResourceId||defaultPhysicalResourceId(cfnRequest);if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}" during deletion`);return cfnRequest.RequestType==="Update"&&physicalResourceId!==cfnRequest.PhysicalResourceId&&(0,util_1.log)(`UPDATE: changing physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}"`),{...cfnRequest,...onEventResult,PhysicalResourceId:physicalResourceId}}function defaultPhysicalResourceId(req){switch(req.RequestType){case"Create":return req.RequestId;case"Update":case"Delete":return req.PhysicalResourceId;default:throw new Error(`Invalid "RequestType" in request "${JSON.stringify(req)}"`)}}module.exports={[consts.FRAMEWORK_ON_EVENT_HANDLER_NAME]:cfnResponse.safeHandler(onEvent),[consts.FRAMEWORK_IS_COMPLETE_HANDLER_NAME]:cfnResponse.safeHandler(isComplete),[consts.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME]:onTimeout};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.httpRequest=exports.invokeFunction=exports.startExecution=void 0;const https=require("https"),client_lambda_1=require("@aws-sdk/client-lambda"),client_sfn_1=require("@aws-sdk/client-sfn"),FRAMEWORK_HANDLER_TIMEOUT=9e5,awsSdkConfig={httpOptions:{timeout:FRAMEWORK_HANDLER_TIMEOUT}};async function defaultHttpRequest(options,requestBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,response=>{response.resume(),!response.statusCode||response.statusCode>=400?reject(new Error(`Unsuccessful HTTP response: ${response.statusCode}`)):resolve()});request.on("error",reject),request.write(requestBody),request.end()}catch(e){reject(e)}})}let sfn,lambda;async function defaultStartExecution(req){return sfn||(sfn=new client_sfn_1.SFN(awsSdkConfig)),sfn.startExecution(req)}async function defaultInvokeFunction(req){lambda||(lambda=new client_lambda_1.Lambda(awsSdkConfig));try{return await lambda.invoke(req)}catch{return await(0,client_lambda_1.waitUntilFunctionActiveV2)({client:lambda,maxWaitTime:300},{FunctionName:req.FunctionName}),lambda.invoke(req)}}exports.startExecution=defaultStartExecution,exports.invokeFunction=defaultInvokeFunction,exports.httpRequest=defaultHttpRequest;
|
|
@@ -1 +0,0 @@
|
|
|
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))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Retry=exports.includeStackTraces=exports.MISSING_PHYSICAL_ID_MARKER=exports.CREATE_FAILED_PHYSICAL_ID_MARKER=void 0,exports.submitResponse=submitResponse,exports.safeHandler=safeHandler,exports.redactDataFromPayload=redactDataFromPayload;const url=require("url"),outbound_1=require("./outbound"),util_1=require("./util");exports.CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",exports.MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function submitResponse(status,event,options={}){const json={Status:status,Reason:options.reason||status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||exports.MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:options.noEcho,Data:event.Data},responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),loggingSafeUrl=`${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`;options?.noEcho?(0,util_1.log)("submit redacted response to cloudformation",loggingSafeUrl,redactDataFromPayload(json)):(0,util_1.log)("submit response to cloudformation",loggingSafeUrl,json);const retryOptions={attempts:5,sleep:1e3};await(0,util_1.withRetries)(retryOptions,outbound_1.httpRequest)({hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}},responseBody)}exports.includeStackTraces=!0;function safeHandler(block){return async event=>{if(event.RequestType==="Delete"&&event.PhysicalResourceId===exports.CREATE_FAILED_PHYSICAL_ID_MARKER){(0,util_1.log)("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{await block(event)}catch(e){if(e instanceof Retry)throw(0,util_1.log)("retry requested by handler"),e;event.PhysicalResourceId||(event.RequestType==="Create"?((0,util_1.log)("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),event.PhysicalResourceId=exports.CREATE_FAILED_PHYSICAL_ID_MARKER):(0,util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({...event,ResponseURL:"..."})}`)),await submitResponse("FAILED",event,{reason:exports.includeStackTraces?e.stack:e.message})}}}function redactDataFromPayload(payload){const redactedPayload=JSON.parse(JSON.stringify(payload));if(redactedPayload.Data){const keys=Object.keys(redactedPayload.Data);for(const key of keys)redactedPayload.Data[key]="*****"}return redactedPayload}class Retry extends Error{}exports.Retry=Retry;
|