@mavogel/awscdk-rootmail 0.0.336 → 0.1.0
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/.codegraph/.gitignore +5 -0
- package/.jsii +460 -8
- package/CLAUDE.md +1 -1
- package/README.md +6 -1
- package/docs/plans/2026-08-09-bump-mvc-projen-cdk-nag-v3.md +199 -0
- package/integ-tests/integ.rootmail-custom-santa.ts +2 -2
- package/integ-tests/integ.rootmail-filter-subject.ts +2 -2
- package/integ-tests/integ.rootmail.ts +2 -2
- package/lib/hosted-zone-dkim-propagation.js +46 -15
- package/lib/hosted-zone-dkim-verification-records.js +47 -12
- package/lib/rootmail-autowire-dns.js +47 -15
- package/lib/rootmail.js +13 -16
- package/lib/ses-receipt-ruleset-activation.js +53 -15
- package/lib/ses-receive.js +12 -12
- package/node_modules/cdk-nag/.jsii +6331 -2945
- package/node_modules/cdk-nag/.jsii.tabl.json +1 -1
- package/node_modules/cdk-nag/API.md +490 -1778
- package/node_modules/cdk-nag/MIGRATION.md +239 -0
- package/node_modules/cdk-nag/README.md +88 -513
- package/node_modules/cdk-nag/lib/index.d.ts +0 -3
- package/node_modules/cdk-nag/lib/index.js +1 -4
- package/node_modules/cdk-nag/lib/nag-logger.d.ts +5 -145
- package/node_modules/cdk-nag/lib/nag-logger.js +4 -199
- package/node_modules/cdk-nag/lib/nag-pack.d.ts +57 -44
- package/node_modules/cdk-nag/lib/nag-pack.js +140 -114
- package/node_modules/cdk-nag/lib/nag-rules.d.ts +0 -2
- package/node_modules/cdk-nag/lib/nag-rules.js +3 -5
- package/node_modules/cdk-nag/lib/packs/aws-solutions.d.ts +4 -15
- package/node_modules/cdk-nag/lib/packs/aws-solutions.js +21 -40
- package/node_modules/cdk-nag/lib/packs/hipaa-security.d.ts +4 -2
- package/node_modules/cdk-nag/lib/packs/hipaa-security.js +31 -37
- package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.d.ts +4 -2
- package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +29 -35
- package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.d.ts +4 -2
- package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +30 -36
- package/node_modules/cdk-nag/lib/packs/pci-dss-321.d.ts +4 -2
- package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +29 -35
- package/node_modules/cdk-nag/lib/packs/serverless.d.ts +4 -2
- package/node_modules/cdk-nag/lib/packs/serverless.js +14 -20
- package/node_modules/cdk-nag/lib/rules/ec2/EC2IMDSv2Enabled.js +5 -1
- package/node_modules/cdk-nag/package.json +5 -5
- package/package.json +16 -17
- package/node_modules/cdk-nag/lib/ignore-suppression-conditions.d.ts +0 -59
- package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +0 -97
- package/node_modules/cdk-nag/lib/models/nag-suppression.d.ts +0 -30
- package/node_modules/cdk-nag/lib/models/nag-suppression.js +0 -7
- package/node_modules/cdk-nag/lib/nag-suppressions.d.ts +0 -30
- package/node_modules/cdk-nag/lib/nag-suppressions.js +0 -96
- package/node_modules/cdk-nag/lib/utils/nag-suppression-helper.d.ts +0 -20
- package/node_modules/cdk-nag/lib/utils/nag-suppression-helper.js +0 -119
|
@@ -3,11 +3,6 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ServerlessChecks = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
/*
|
|
7
|
-
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
8
|
-
SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
11
6
|
const nag_pack_1 = require("../nag-pack");
|
|
12
7
|
const nag_rules_1 = require("../nag-rules");
|
|
13
8
|
const apigw_1 = require("../rules/apigw");
|
|
@@ -23,21 +18,20 @@ const stepfunctions_1 = require("../rules/stepfunctions");
|
|
|
23
18
|
*
|
|
24
19
|
*/
|
|
25
20
|
class ServerlessChecks extends nag_pack_1.NagPack {
|
|
26
|
-
constructor(props) {
|
|
27
|
-
super(props);
|
|
21
|
+
constructor(scope, props) {
|
|
22
|
+
super(scope, props);
|
|
23
|
+
this.name = 'Serverless';
|
|
28
24
|
this.packName = 'Serverless';
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.checkStepFunctions(node);
|
|
40
|
-
}
|
|
26
|
+
checkResource(node) {
|
|
27
|
+
this.checkLambda(node);
|
|
28
|
+
this.checkCloudwatch(node);
|
|
29
|
+
this.checkApiGw(node);
|
|
30
|
+
this.checkAppSync(node);
|
|
31
|
+
this.checkEventBridge(node);
|
|
32
|
+
this.checkSNS(node);
|
|
33
|
+
this.checkSQS(node);
|
|
34
|
+
this.checkStepFunctions(node);
|
|
41
35
|
}
|
|
42
36
|
/**
|
|
43
37
|
* Check Lambda Resources
|
|
@@ -224,5 +218,5 @@ class ServerlessChecks extends nag_pack_1.NagPack {
|
|
|
224
218
|
}
|
|
225
219
|
exports.ServerlessChecks = ServerlessChecks;
|
|
226
220
|
_a = JSII_RTTI_SYMBOL_1;
|
|
227
|
-
ServerlessChecks[_a] = { fqn: "cdk-nag.ServerlessChecks", version: "
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVybGVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWNrcy9zZXJ2ZXJsZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztFQUdFO0FBQ0YsNkNBQTBDO0FBRTFDLDBDQUFvRDtBQUNwRCw0Q0FBK0M7QUFDL0MsMENBS3dCO0FBQ3hCLDhDQUFrRDtBQUNsRCxvREFBd0U7QUFDeEUsc0RBQW1EO0FBQ25ELDRDQVN5QjtBQUN6QixzQ0FBZ0Q7QUFDaEQsc0NBQWdEO0FBQ2hELDBEQUFzRTtBQUV0RTs7O0dBR0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLGtCQUFPO0lBQzNDLFlBQVksS0FBb0I7UUFDOUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7SUFDL0IsQ0FBQztJQUNNLEtBQUssQ0FBQyxJQUFnQjtRQUMzQixJQUFJLElBQUksWUFBWSx5QkFBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxXQUFXLENBQUMsSUFBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxrR0FBa0c7WUFDeEcsV0FBVyxFQUNULHlSQUF5UjtZQUMzUixLQUFLLEVBQUUsMkJBQWUsQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSxzQ0FBNkI7WUFDbkMsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLHdFQUF3RTtZQUM5RSxXQUFXLEVBQ1QsZ2JBQWdiO1lBQ2xiLEtBQUssRUFBRSwyQkFBZSxDQUFDLEtBQUs7WUFDNUIsSUFBSSxFQUFFLGdDQUF1QjtZQUM3QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsd0VBQXdFO1lBQzlFLFdBQVcsRUFDVCxxakJBQXFqQjtZQUN2akIsS0FBSyxFQUFFLDJCQUFlLENBQUMsS0FBSztZQUM1QixJQUFJLEVBQUUsNkJBQW9CO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxvRUFBb0U7WUFDMUUsV0FBVyxFQUNULHFKQUFxSjtZQUN2SixLQUFLLEVBQUUsMkJBQWUsQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSxrQkFBUztZQUNmLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxnR0FBZ0c7WUFDdEcsV0FBVyxFQUNULHFWQUFxVjtZQUN2VixLQUFLLEVBQUUsMkJBQWUsQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSw0Q0FBbUM7WUFDekMsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLDhEQUE4RDtZQUNwRSxXQUFXLEVBQ1QsdVNBQXVTO1lBQ3pTLEtBQUssRUFBRSwyQkFBZSxDQUFDLEtBQUs7WUFDNUIsSUFBSSxFQUFFLDRCQUFtQjtZQUN6QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsZ0RBQWdEO1lBQ3RELFdBQVcsRUFDVCxxVEFBcVQ7WUFDdlQsS0FBSyxFQUFFLDJCQUFlLENBQUMsSUFBSTtZQUMzQixJQUFJLEVBQUUsOEJBQXFCO1lBQzNCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxrRUFBa0U7WUFDeEUsV0FBVyxFQUNULGtKQUFrSjtZQUNwSixLQUFLLEVBQUUsMkJBQWUsQ0FBQyxJQUFJO1lBQzNCLElBQUksRUFBRSxzQkFBYTtZQUNuQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZUFBZSxDQUFDLElBQWlCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsOEVBQThFO1lBQ3BGLFdBQVcsRUFDVCwwU0FBMFM7WUFDNVMsS0FBSyxFQUFFLDJCQUFlLENBQUMsSUFBSTtZQUMzQixJQUFJLEVBQUUsOENBQWlDO1lBQ3ZDLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxVQUFVLENBQUMsSUFBaUI7UUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSw2REFBNkQ7WUFDbkUsV0FBVyxFQUNULHFJQUFxSTtZQUN2SSxLQUFLLEVBQUUsMkJBQWUsQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSwwQkFBa0I7WUFDeEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLDREQUE0RDtZQUNsRSxXQUFXLEVBQ1Qsa1FBQWtRO1lBQ3BRLEtBQUssRUFBRSwyQkFBZSxDQUFDLEtBQUs7WUFDNUIsSUFBSSxFQUFFLDhCQUFzQjtZQUM1QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsOERBQThEO1lBQ3BFLFdBQVcsRUFDVCwyTUFBMk07WUFDN00sS0FBSyxFQUFFLDJCQUFlLENBQUMsSUFBSTtZQUMzQixJQUFJLEVBQUUsOEJBQXNCO1lBQzVCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxnREFBZ0Q7WUFDdEQsV0FBVyxFQUNULGtLQUFrSztZQUNwSyxLQUFLLEVBQUUsMkJBQWUsQ0FBQyxJQUFJO1lBQzNCLElBQUksRUFBRSx3QkFBZ0I7WUFDdEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFlBQVksQ0FBQyxJQUFpQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLCtDQUErQztZQUNyRCxXQUFXLEVBQ1QsOEdBQThHO1lBQ2hILEtBQUssRUFBRSwyQkFBZSxDQUFDLElBQUk7WUFDM0IsSUFBSSxFQUFFLHdCQUFjO1lBQ3BCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxnQkFBZ0IsQ0FBQyxJQUFpQjtRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLHdEQUF3RDtZQUM5RCxXQUFXLEVBQ1QsMFlBQTBZO1lBQzVZLEtBQUssRUFBRSwyQkFBZSxDQUFDLEtBQUs7WUFDNUIsSUFBSSxFQUFFLHlCQUFXO1lBQ2pCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxRQUFRLENBQUMsSUFBaUI7UUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxpRUFBaUU7WUFDdkUsV0FBVyxFQUNULCtIQUErSDtZQUNqSSxLQUFLLEVBQUUsMkJBQWUsQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSxzQkFBZ0I7WUFDdEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFFBQVEsQ0FBQyxJQUFpQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLDBEQUEwRDtZQUNoRSxXQUFXLEVBQ1QsNFJBQTRSO1lBQzlSLEtBQUssRUFBRSwyQkFBZSxDQUFDLEtBQUs7WUFDNUIsSUFBSSxFQUFFLHNCQUFnQjtZQUN0QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssa0JBQWtCLENBQUMsSUFBaUI7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSx3RUFBd0U7WUFDOUUsV0FBVyxFQUNULGlLQUFpSztZQUNuSyxLQUFLLEVBQUUsMkJBQWUsQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSw0Q0FBNEI7WUFDbEMsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFPSCw0Q0EyT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cbmltcG9ydCB7IENmblJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgTmFnUGFjaywgTmFnUGFja1Byb3BzIH0gZnJvbSAnLi4vbmFnLXBhY2snO1xuaW1wb3J0IHsgTmFnTWVzc2FnZUxldmVsIH0gZnJvbSAnLi4vbmFnLXJ1bGVzJztcbmltcG9ydCB7XG4gIEFQSUdXQWNjZXNzTG9nZ2luZyxcbiAgQVBJR1dEZWZhdWx0VGhyb3R0bGluZyxcbiAgQVBJR1dTdHJ1Y3R1cmVkTG9nZ2luZyxcbiAgQVBJR1dYcmF5RW5hYmxlZCxcbn0gZnJvbSAnLi4vcnVsZXMvYXBpZ3cnO1xuaW1wb3J0IHsgQXBwU3luY1RyYWNpbmcgfSBmcm9tICcuLi9ydWxlcy9hcHBzeW5jJztcbmltcG9ydCB7IENsb3VkV2F0Y2hMb2dHcm91cFJldGVudGlvblBlcmlvZCB9IGZyb20gJy4uL3J1bGVzL2Nsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgRXZlbnRCdXNETFEgfSBmcm9tICcuLi9ydWxlcy9ldmVudGJyaWRnZSc7XG5pbXBvcnQge1xuICBMYW1iZGFBc3luY0ZhaWx1cmVEZXN0aW5hdGlvbixcbiAgTGFtYmRhRGVmYXVsdE1lbW9yeVNpemUsXG4gIExhbWJkYURlZmF1bHRUaW1lb3V0LFxuICBMYW1iZGFETFEsXG4gIExhbWJkYUV2ZW50U291cmNlTWFwcGluZ0Rlc3RpbmF0aW9uLFxuICBMYW1iZGFMYXRlc3RWZXJzaW9uLFxuICBMYW1iZGFTdGFyUGVybWlzc2lvbnMsXG4gIExhbWJkYVRyYWNpbmcsXG59IGZyb20gJy4uL3J1bGVzL2xhbWJkYSc7XG5pbXBvcnQgeyBTTlNSZWRyaXZlUG9saWN5IH0gZnJvbSAnLi4vcnVsZXMvc25zJztcbmltcG9ydCB7IFNRU1JlZHJpdmVQb2xpY3kgfSBmcm9tICcuLi9ydWxlcy9zcXMnO1xuaW1wb3J0IHsgU3RlcEZ1bmN0aW9uU3RhdGVNYWNoaW5lWHJheSB9IGZyb20gJy4uL3J1bGVzL3N0ZXBmdW5jdGlvbnMnO1xuXG4vKipcbiAqIFNlcnZlcmxlc3MgQ2hlY2tzIGFyZSBhIGNvbXBpbGF0aW9uIG9mIHJ1bGVzIHRvIHZhbGlkYXRlIGluZnJhc3RydWN0dXJlLWFzLWNvZGUgdGVtcGxhdGUgYWdhaW5zdCByZWNvbW1lbmRlZCBwcmFjdGljZXMuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgU2VydmVybGVzc0NoZWNrcyBleHRlbmRzIE5hZ1BhY2sge1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IE5hZ1BhY2tQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnBhY2tOYW1lID0gJ1NlcnZlcmxlc3MnO1xuICB9XG4gIHB1YmxpYyB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBDZm5SZXNvdXJjZSkge1xuICAgICAgdGhpcy5jaGVja0xhbWJkYShub2RlKTtcbiAgICAgIHRoaXMuY2hlY2tDbG91ZHdhdGNoKG5vZGUpO1xuICAgICAgdGhpcy5jaGVja0FwaUd3KG5vZGUpO1xuICAgICAgdGhpcy5jaGVja0FwcFN5bmMobm9kZSk7XG4gICAgICB0aGlzLmNoZWNrRXZlbnRCcmlkZ2Uobm9kZSk7XG4gICAgICB0aGlzLmNoZWNrU05TKG5vZGUpO1xuICAgICAgdGhpcy5jaGVja1NRUyhub2RlKTtcbiAgICAgIHRoaXMuY2hlY2tTdGVwRnVuY3Rpb25zKG5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBMYW1iZGEgUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0xhbWJkYShub2RlOiBDZm5SZXNvdXJjZSkge1xuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgTGFtYmRhIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYSBjb25maWd1cmVkIGZhaWx1cmUgZGVzdGluYXRpb24gZm9yIGFzeW5jaHJvbm91cyBpbnZvY2F0aW9ucy4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgIFwiV2hlbiBhIExhbWJkYSBmdW5jdGlvbiBpcyBpbnZva2VkIGFzeW5jaHJvbm91c2x5IChlLmcuLCBieSBTMywgU05TLCBvciBFdmVudEJyaWRnZSksIGl0J3MgaW1wb3J0YW50IHRvIGNvbmZpZ3VyZSBhIGZhaWx1cmUgZGVzdGluYXRpb24uIFRoaXMgYWxsb3dzIHlvdSB0byBjYXB0dXJlIGFuZCBoYW5kbGUgZXZlbnRzIHRoYXQgZmFpbCBwcm9jZXNzaW5nLCBpbXByb3ZpbmcgdGhlIHJlbGlhYmlsaXR5IGFuZCBvYnNlcnZhYmlsaXR5IG9mIHlvdXIgc2VydmVybGVzcyBhcHBsaWNhdGlvbnMuXCIsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogTGFtYmRhQXN5bmNGYWlsdXJlRGVzdGluYXRpb24sXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBMYW1iZGEgZnVuY3Rpb24gZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdCBtZW1vcnkgdmFsdWUgY29uZmlndXJlZC4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgIFwiTGFtYmRhIGFsbG9jYXRlcyBDUFUgcG93ZXIgaW4gcHJvcG9ydGlvbiB0byB0aGUgYW1vdW50IG9mIG1lbW9yeSBjb25maWd1cmVkLiBCeSBkZWZhdWx0LCB5b3VyIGZ1bmN0aW9ucyBoYXZlIDEyOCBNQiBvZiBtZW1vcnkgYWxsb2NhdGVkLiBZb3UgY2FuIGluY3JlYXNlIHRoYXQgdmFsdWUgdXAgdG8gMTAgR0IuIFdpdGggbW9yZSBDUFUgcmVzb3VyY2VzLCB5b3VyIExhbWJkYSBmdW5jdGlvbidzIGR1cmF0aW9uIG1pZ2h0IGRlY3JlYXNlLiAgWW91IGNhbiB1c2UgdG9vbHMgc3VjaCBhcyBBV1MgTGFtYmRhIFBvd2VyIFR1bmluZyB0byB0ZXN0IHlvdXIgZnVuY3Rpb24gYXQgZGlmZmVyZW50IG1lbW9yeSBzZXR0aW5ncyB0byBmaW5kIHRoZSBvbmUgdGhhdCBtYXRjaGVzIHlvdXIgY29zdCBhbmQgcGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzIHRoZSBiZXN0LlwiLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IExhbWJkYURlZmF1bHRNZW1vcnlTaXplLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgTGFtYmRhIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYW4gZXhwbGljaXRseSBkZWZpbmVkIHRpbWVvdXQgdmFsdWUuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnTGFtYmRhIGZ1bmN0aW9ucyBoYXZlIGEgZGVmYXVsdCB0aW1lb3V0IG9mIDMgc2Vjb25kcy4gSWYgeW91ciB0aW1lb3V0IHZhbHVlIGlzIHRvbyBzaG9ydCwgTGFtYmRhIG1pZ2h0IHRlcm1pbmF0ZSBpbnZvY2F0aW9ucyBwcmVtYXR1cmVseS4gT24gdGhlIG90aGVyIHNpZGUsIHNldHRpbmcgdGhlIHRpbWVvdXQgbXVjaCBoaWdoZXIgdGhhbiB0aGUgYXZlcmFnZSBleGVjdXRpb24gbWF5IGNhdXNlIGZ1bmN0aW9ucyB0byBleGVjdXRlIGZvciBsb25nZXIgdXBvbiBjb2RlIG1hbGZ1bmN0aW9uLCByZXN1bHRpbmcgaW4gaGlnaGVyIGNvc3RzIGFuZCBwb3NzaWJseSByZWFjaGluZyBjb25jdXJyZW5jeSBsaW1pdHMgZGVwZW5kaW5nIG9uIGhvdyBzdWNoIGZ1bmN0aW9ucyBhcmUgaW52b2tlZC4gWW91IGNhbiBhbHNvIHVzZSBBV1MgTGFtYmRhIFBvd2VyIFR1bmluZyB0byB0ZXN0IHlvdXIgZnVuY3Rpb24gYXQgZGlmZmVyZW50IHRpbWVvdXQgc2V0dGluZ3MgdG8gZmluZCB0aGUgb25lIHRoYXQgbWF0Y2hlcyB5b3VyIGNvc3QgYW5kIHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50cyB0aGUgYmVzdC4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IExhbWJkYURlZmF1bHRUaW1lb3V0LFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgTGFtYmRhIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYSBkZWFkIGxldHRlciB0YXJnZXQgY29uZmlndXJlZC4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdXaGVuIGEgTGFtYmRhIGZ1bmN0aW9uIGhhcyB0aGUgRGVhZExldHRlckNvbmZpZyBwcm9wZXJ0eSBzZXQsIGZhaWxlZCBtZXNzYWdlcyBjYW4gYmUgdGVtcG9yYXJpbHkgc3RvcmVkIGZvciByZXZpZXcgaW4gYW4gU1FTIHF1ZXVlIG9yIGFuIFNOUyB0b3BpYy4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IExhbWJkYURMUSxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIExhbWJkYSBFdmVudCBTb3VyY2UgTWFwcGluZyBkb2VzIG5vdCBoYXZlIGEgZGVzdGluYXRpb24gY29uZmlndXJlZCBmb3IgZmFpbGVkIGludm9jYXRpb25zLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0NvbmZpZ3VyaW5nIGEgZGVzdGluYXRpb24gZm9yIGZhaWxlZCBpbnZvY2F0aW9ucyBpbiBMYW1iZGEgRXZlbnQgU291cmNlIE1hcHBpbmdzIGFsbG93cyB5b3UgdG8gY2FwdHVyZSBhbmQgcHJvY2VzcyBldmVudHMgdGhhdCBmYWlsIHRvIGJlIHByb2Nlc3NlZCBieSB5b3VyIExhbWJkYSBmdW5jdGlvbi4gVGhpcyBoZWxwcyBpbiBtb25pdG9yaW5nLCBkZWJ1Z2dpbmcsIGFuZCBpbXBsZW1lbnRpbmcgcmV0cnkgbWVjaGFuaXNtcyBmb3IgZmFpbGVkIGV2ZW50cywgaW1wcm92aW5nIHRoZSByZWxpYWJpbGl0eSBhbmQgb2JzZXJ2YWJpbGl0eSBvZiB5b3VyIHNlcnZlcmxlc3MgYXBwbGljYXRpb25zLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogTGFtYmRhRXZlbnRTb3VyY2VNYXBwaW5nRGVzdGluYXRpb24sXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBMYW1iZGEgZnVuY3Rpb24gZG9lcyBub3QgdXNlIHRoZSBsYXRlc3QgcnVudGltZSB2ZXJzaW9uLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ1VzaW5nIHRoZSBsYXRlc3QgcnVudGltZSB2ZXJzaW9uIGVuc3VyZXMgdGhhdCB5b3VyIExhbWJkYSBmdW5jdGlvbiBoYXMgYWNjZXNzIHRvIHRoZSBtb3N0IHJlY2VudCBmZWF0dXJlcywgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzLCBhbmQgc2VjdXJpdHkgdXBkYXRlcy4gSXQgaXMgaW1wb3J0YW50IHRvIHJlZ3VsYXJseSB1cGRhdGUgeW91ciBMYW1iZGEgZnVuY3Rpb25zIHRvIHVzZSB0aGUgbGF0ZXN0IHJ1bnRpbWUgdmVyc2lvbnMgdG8gbWFpbnRhaW4gb3B0aW1hbCBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuRVJST1IsXG4gICAgICBydWxlOiBMYW1iZGFMYXRlc3RWZXJzaW9uLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgTGFtYmRhIElBTSByb2xlIHVzZXMgd2lsZGNhcmQgcGVybWlzc2lvbnMuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnWW91IHNob3VsZCBmb2xsb3cgbGVhc3QtcHJpdmlsZWdlZCBhY2Nlc3MgYW5kIG9ubHkgYWxsb3cgdGhlIGFjY2VzcyBuZWVkZWQgdG8gcGVyZm9ybSBhIGdpdmVuIG9wZXJhdGlvbi4gSWYgeW91ciBMYW1iZGEgZnVuY3Rpb24gbmVlZHMgYSBicm9hZCByYW5nZSBvZiBwZXJtaXNzaW9ucywgeW91IHNob3VsZCBrbm93IGFoZWFkIG9mIHRpbWUgd2hpY2ggcGVybWlzc2lvbnMgeW91IHdpbGwgbmVlZCwgaGF2ZSBldmFsdWF0ZWQgdGhlIHJpc2tzIG9mIHVzaW5nIGJyb2FkIHBlcm1pc3Npb25zIGFuZCBjYW4gc3VwcHJlc3MgdGhpcyBydWxlLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLldBUk4sXG4gICAgICBydWxlOiBMYW1iZGFTdGFyUGVybWlzc2lvbnMsXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBMYW1iZGEgZnVuY3Rpb24gZG9lcyBub3QgaGF2ZSB0cmFjaW5nIHNldCB0byBUcmFjaW5nLkFDVElWRS4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdXaGVuIGEgTGFtYmRhIGZ1bmN0aW9uIGhhcyBBQ1RJVkUgdHJhY2luZywgTGFtYmRhIGF1dG9tYXRpY2FsbHkgc2FtcGxlcyBpbnZvY2F0aW9uIHJlcXVlc3RzLCBiYXNlZCBvbiB0aGUgc2FtcGxpbmcgYWxnb3JpdGhtIHNwZWNpZmllZCBieSBYLVJheS4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5XQVJOLFxuICAgICAgcnVsZTogTGFtYmRhVHJhY2luZyxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgQ2xvdWR3YXRjaCBSZXNvdXJjZXNcbiAgICogQHBhcmFtIG5vZGUgdGhlIENmblJlc291cmNlIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBpZ25vcmVzIGxpc3Qgb2YgaWdub3JlcyBmb3IgdGhlIHJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIGNoZWNrQ2xvdWR3YXRjaChub2RlOiBDZm5SZXNvdXJjZSkge1xuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgQ2xvdWRXYXRjaCBMb2cgR3JvdXAgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdCByZXRlbnRpb24gcG9saWN5IGRlZmluZWQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnQnkgZGVmYXVsdCwgbG9ncyBhcmUga2VwdCBpbmRlZmluaXRlbHkgYW5kIG5ldmVyIGV4cGlyZS4gWW91IGNhbiBhZGp1c3QgdGhlIHJldGVudGlvbiBwb2xpY3kgZm9yIGVhY2ggbG9nIGdyb3VwLCBrZWVwaW5nIHRoZSBpbmRlZmluaXRlIHJldGVudGlvbiwgb3IgY2hvb3NpbmcgYSByZXRlbnRpb24gcGVyaW9kIGJldHdlZW4gb25lIGRheSBhbmQgMTAgeWVhcnMuIEZvciBMYW1iZGEgZnVuY3Rpb25zLCB0aGlzIGFwcGxpZXMgdG8gdGhlaXIgYXV0b21hdGljYWxseSBjcmVhdGVkIENsb3VkV2F0Y2ggTG9nIEdyb3Vwcy4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5XQVJOLFxuICAgICAgcnVsZTogQ2xvdWRXYXRjaExvZ0dyb3VwUmV0ZW50aW9uUGVyaW9kLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBBUEkgR2F0ZXdheSBSZXNvdXJjZXNcbiAgICogQHBhcmFtIG5vZGUgdGhlIENmblJlc291cmNlIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBpZ25vcmVzIGxpc3Qgb2YgaWdub3JlcyBmb3IgdGhlIHJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIGNoZWNrQXBpR3cobm9kZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIEFQSSBHYXRld2F5IFN0YWdlIGRvZXMgbm90IGhhdmUgYWNjZXNzIGxvZ2dpbmcgZW5hYmxlZC4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdBUEkgR2F0ZXdheSBwcm92aWRlcyBhY2Nlc3MgbG9nZ2luZyBmb3IgQVBJIHN0YWdlcy4gRW5hYmxlIGFjY2VzcyBsb2dnaW5nIG9uIHlvdXIgQVBJIHN0YWdlcyB0byBtb25pdG9yIEFQSSByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogQVBJR1dBY2Nlc3NMb2dnaW5nLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgQVBJIEdhdGV3YXkgU3RhZ2UgaXMgdXNpbmcgZGVmYXVsdCB0aHJvdHRsaW5nIHNldHRpbmcuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnQVBJIEdhdGV3YXkgZGVmYXVsdCB0aHJvdHRsaW5nIHNldHRpbmdzIG1heSBub3QgYmUgc3VpdGFibGUgZm9yIGFsbCBhcHBsaWNhdGlvbnMuIEN1c3RvbSB0aHJvdHRsaW5nIGxpbWl0cyBoZWxwIHByb3RlY3QgeW91ciBiYWNrZW5kIHN5c3RlbXMgZnJvbSBiZWluZyBvdmVyd2hlbG1lZCB3aXRoIHJlcXVlc3RzLCBlbnN1cmUgY29uc2lzdGVudCBwZXJmb3JtYW5jZSwgYW5kIGNhbiBiZSB0YWlsb3JlZCB0byB5b3VyIHNwZWNpZmljIHVzZSBjYXNlLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogQVBJR1dEZWZhdWx0VGhyb3R0bGluZyxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIEFQSSBHYXRld2F5IGxvZ3MgYXJlIG5vdCBjb25maWd1cmVkIGZvciB0aGUgSlNPTiBmb3JtYXQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnWW91IGNhbiBjdXN0b21pemUgdGhlIGxvZyBmb3JtYXQgdGhhdCBBbWF6b24gQVBJIEdhdGV3YXkgdXNlcyB0byBzZW5kIGxvZ3MuIEpTT04gU3RydWN0dXJlZCBsb2dnaW5nIG1ha2VzIGl0IGVhc2llciB0byBkZXJpdmUgcXVlcmllcyB0byBhbnN3ZXIgYXJiaXRyYXJ5IHF1ZXN0aW9ucyBhYm91dCB0aGUgaGVhbHRoIG9mIHlvdXIgYXBwbGljYXRpb24uJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuV0FSTixcbiAgICAgIHJ1bGU6IEFQSUdXU3RydWN0dXJlZExvZ2dpbmcsXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBBUEkgR2F0ZXdheSBkb2VzIG5vdCBoYXZlIFRyYWNpbmcgZW5hYmxlZC4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdBbWF6b24gQVBJIEdhdGV3YXkgcHJvdmlkZXMgYWN0aXZlIHRyYWNpbmcgc3VwcG9ydCBmb3IgQVdTIFgtUmF5LiBFbmFibGUgYWN0aXZlIHRyYWNpbmcgb24geW91ciBBUEkgc3RhZ2VzIHRvIHNhbXBsZSBpbmNvbWluZyByZXF1ZXN0cyBhbmQgc2VuZCB0cmFjZXMgdG8gWC1SYXkuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuV0FSTixcbiAgICAgIHJ1bGU6IEFQSUdXWHJheUVuYWJsZWQsXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIEFwcFN5bmMgUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0FwcFN5bmMobm9kZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIEFwcFN5bmMgQVBJIGRvZXMgbm90IGhhdmUgdHJhY2luZyBlbmFibGVkJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnQVdTIEFwcFN5bmMgY2FuIGVtaXQgdHJhY2VzIHRvIEFXUyBYLVJheSwgd2hpY2ggZW5hYmxlcyB2aXN1YWxpemluZyBzZXJ2aWNlIG1hcHMgZm9yIGZhc3RlciB0cm91Ymxlc2hvb3RpbmcuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuV0FSTixcbiAgICAgIHJ1bGU6IEFwcFN5bmNUcmFjaW5nLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBFdmVudEJyaWRnZSBSZXNvdXJjZXNcbiAgICogQHBhcmFtIG5vZGUgdGhlIENmblJlc291cmNlIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBpZ25vcmVzIGxpc3Qgb2YgaWdub3JlcyBmb3IgdGhlIHJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIGNoZWNrRXZlbnRCcmlkZ2Uobm9kZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIEV2ZW50QnJpZGdlIFRhcmdldCBkb2VzIG5vdCBoYXZlIGEgRExRIGNvbmZpZ3VyZWQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICBcIkNvbmZpZ3VyaW5nIGEgRGVhZC1MZXR0ZXIgUXVldWUgKERMUSkgZm9yIEV2ZW50QnJpZGdlIHJ1bGVzIGhlbHBzIG1hbmFnZSBmYWlsZWQgZXZlbnQgZGVsaXZlcmllcy4gV2hlbiBhIHJ1bGUncyB0YXJnZXQgZmFpbHMgdG8gcHJvY2VzcyBhbiBldmVudCwgdGhlIERMUSBjYXB0dXJlcyB0aGVzZSBmYWlsZWQgZXZlbnRzLCBhbGxvd2luZyBmb3IgYW5hbHlzaXMsIHRyb3VibGVzaG9vdGluZywgYW5kIHBvdGVudGlhbCByZXByb2Nlc3NpbmcuIFRoaXMgaW1wcm92ZXMgdGhlIHJlbGlhYmlsaXR5IGFuZCBvYnNlcnZhYmlsaXR5IG9mIHlvdXIgZXZlbnQtZHJpdmVuIGFyY2hpdGVjdHVyZXMgYnkgcHJvdmlkaW5nIGEgc2FmZXR5IG5ldCBmb3IgaGFuZGxpbmcgZGVsaXZlcnkgZmFpbHVyZXMuXCIsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogRXZlbnRCdXNETFEsXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIFNOUyBSZXNvdXJjZXNcbiAgICogQHBhcmFtIG5vZGUgdGhlIENmblJlc291cmNlIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBpZ25vcmVzIGxpc3Qgb2YgaWdub3JlcyBmb3IgdGhlIHJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIGNoZWNrU05TKG5vZGU6IENmblJlc291cmNlKSB7XG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBTTlMgc3Vic2NyaXB0aW9uIGRvZXMgbm90IGhhdmUgYSByZWRyaXZlIHBvbGljeSBjb25maWd1cmVkLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0NvbmZpZ3VyaW5nIGEgcmVkcml2ZSBwb2xpY3kgaGVscHMgbWFuYWdlIG1lc3NhZ2UgZGVsaXZlcnkgZmFpbHVyZXMgYnkgc2VuZGluZyB1bmRlbGl2ZXJhYmxlIG1lc3NhZ2VzIHRvIGEgZGVhZC1sZXR0ZXIgcXVldWUuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuRVJST1IsXG4gICAgICBydWxlOiBTTlNSZWRyaXZlUG9saWN5LFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBTUVMgUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja1NRUyhub2RlOiBDZm5SZXNvdXJjZSkge1xuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgU1FTIHF1ZXVlIGRvZXMgbm90IGhhdmUgYSByZWRyaXZlIHBvbGljeSBjb25maWd1cmVkLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0NvbmZpZ3VyaW5nIGEgcmVkcml2ZSBwb2xpY3kgb24gYW4gU1FTIHF1ZXVlIGFsbG93cyB5b3UgdG8gZGVmaW5lIGhvdyBtYW55IHRpbWVzIFNRUyB3aWxsIG1ha2UgbWVzc2FnZXMgYXZhaWxhYmxlIGZvciBjb25zdW1lcnMgYmVmb3JlIHNlbmRpbmcgdGhlbSB0byBhIGRlYWQtbGV0dGVyIHF1ZXVlLiBUaGlzIGhlbHBzIGluIG1hbmFnaW5nIG1lc3NhZ2UgcHJvY2Vzc2luZyBmYWlsdXJlcyBhbmQgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIGhhbmRsaW5nIHByb2JsZW1hdGljIG1lc3NhZ2VzLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogU1FTUmVkcml2ZVBvbGljeSxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgU3RlcEZ1bmN0aW9ucyBSZXNvdXJjZXNcbiAgICogQHBhcmFtIG5vZGUgdGhlIENmblJlc291cmNlIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBpZ25vcmVzIGxpc3Qgb2YgaWdub3JlcyBmb3IgdGhlIHJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIGNoZWNrU3RlcEZ1bmN0aW9ucyhub2RlOiBDZm5SZXNvdXJjZSkge1xuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgU3RlcEZ1bmN0aW9uIHN0YXRlIG1hY2hpbmUgZG9lcyBub3QgaGF2ZSBYLVJheSB0cmFjaW5nIGNvbmZpZ3VyZWQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnQVdTIFN0ZXBGdW5jdGlvbnMgcHJvdmlkZXMgYWN0aXZlIHRyYWNpbmcgc3VwcG9ydCBmb3IgQVdTIFgtUmF5LiBFbmFibGUgYWN0aXZlIHRyYWNpbmcgb24geW91ciBBUEkgc3RhZ2VzIHRvIHNhbXBsZSBpbmNvbWluZyByZXF1ZXN0cyBhbmQgc2VuZCB0cmFjZXMgdG8gWC1SYXkuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuRVJST1IsXG4gICAgICBydWxlOiBTdGVwRnVuY3Rpb25TdGF0ZU1hY2hpbmVYcmF5LFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
221
|
+
ServerlessChecks[_a] = { fqn: "cdk-nag.ServerlessChecks", version: "3.0.2" };
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVybGVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWNrcy9zZXJ2ZXJsZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsMENBQW9EO0FBQ3BELDRDQUErQztBQUMvQywwQ0FLd0I7QUFDeEIsOENBQWtEO0FBQ2xELG9EQUF3RTtBQUN4RSxzREFBbUQ7QUFDbkQsNENBU3lCO0FBQ3pCLHNDQUFnRDtBQUNoRCxzQ0FBZ0Q7QUFDaEQsMERBQXNFO0FBRXRFOzs7R0FHRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsa0JBQU87SUFHM0MsWUFBWSxLQUFrQixFQUFFLEtBQW9CO1FBQ2xELEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFITixTQUFJLEdBQUcsWUFBWSxDQUFDO1FBSWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO0lBQy9CLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBaUI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxJQUFpQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLGtHQUFrRztZQUN4RyxXQUFXLEVBQ1QseVJB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QUN0QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssUUFBUSxDQUFDLElBQWlCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsMERBQTBEO1lBQ2hFLFdBQVcsRUFDVCw0UkFBNFI7WUFDOVIsS0FBSyxFQUFFLDJCQUFlLENBQUMsS0FBSztZQUM1QixJQUFJLEVBQUUsc0JBQWdCO1lBQ3RCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxrQkFBa0IsQ0FBQyxJQUFpQjtRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLHdFQUF3RTtZQUM5RSxXQUFXLEVBQ1QsaUtBQWlLO1lBQ25LLEtBQUssRUFBRSwyQkFBZSxDQUFDLEtBQUs7WUFDNUIsSUFBSSxFQUFFLDRDQUE0QjtZQUNsQyxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBM09ILDRDQTRPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBOYWdQYWNrLCBOYWdQYWNrUHJvcHMgfSBmcm9tICcuLi9uYWctcGFjayc7XG5pbXBvcnQgeyBOYWdNZXNzYWdlTGV2ZWwgfSBmcm9tICcuLi9uYWctcnVsZXMnO1xuaW1wb3J0IHtcbiAgQVBJR1dBY2Nlc3NMb2dnaW5nLFxuICBBUElHV0RlZmF1bHRUaHJvdHRsaW5nLFxuICBBUElHV1N0cnVjdHVyZWRMb2dnaW5nLFxuICBBUElHV1hyYXlFbmFibGVkLFxufSBmcm9tICcuLi9ydWxlcy9hcGlndyc7XG5pbXBvcnQgeyBBcHBTeW5jVHJhY2luZyB9IGZyb20gJy4uL3J1bGVzL2FwcHN5bmMnO1xuaW1wb3J0IHsgQ2xvdWRXYXRjaExvZ0dyb3VwUmV0ZW50aW9uUGVyaW9kIH0gZnJvbSAnLi4vcnVsZXMvY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBFdmVudEJ1c0RMUSB9IGZyb20gJy4uL3J1bGVzL2V2ZW50YnJpZGdlJztcbmltcG9ydCB7XG4gIExhbWJkYUFzeW5jRmFpbHVyZURlc3RpbmF0aW9uLFxuICBMYW1iZGFEZWZhdWx0TWVtb3J5U2l6ZSxcbiAgTGFtYmRhRGVmYXVsdFRpbWVvdXQsXG4gIExhbWJkYURMUSxcbiAgTGFtYmRhRXZlbnRTb3VyY2VNYXBwaW5nRGVzdGluYXRpb24sXG4gIExhbWJkYUxhdGVzdFZlcnNpb24sXG4gIExhbWJkYVN0YXJQZXJtaXNzaW9ucyxcbiAgTGFtYmRhVHJhY2luZyxcbn0gZnJvbSAnLi4vcnVsZXMvbGFtYmRhJztcbmltcG9ydCB7IFNOU1JlZHJpdmVQb2xpY3kgfSBmcm9tICcuLi9ydWxlcy9zbnMnO1xuaW1wb3J0IHsgU1FTUmVkcml2ZVBvbGljeSB9IGZyb20gJy4uL3J1bGVzL3Nxcyc7XG5pbXBvcnQgeyBTdGVwRnVuY3Rpb25TdGF0ZU1hY2hpbmVYcmF5IH0gZnJvbSAnLi4vcnVsZXMvc3RlcGZ1bmN0aW9ucyc7XG5cbi8qKlxuICogU2VydmVybGVzcyBDaGVja3MgYXJlIGEgY29tcGlsYXRpb24gb2YgcnVsZXMgdG8gdmFsaWRhdGUgaW5mcmFzdHJ1Y3R1cmUtYXMtY29kZSB0ZW1wbGF0ZSBhZ2FpbnN0IHJlY29tbWVuZGVkIHByYWN0aWNlcy5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2ZXJsZXNzQ2hlY2tzIGV4dGVuZHMgTmFnUGFjayB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lID0gJ1NlcnZlcmxlc3MnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlPzogSUNvbnN0cnVjdCwgcHJvcHM/OiBOYWdQYWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgcHJvcHMpO1xuICAgIHRoaXMucGFja05hbWUgPSAnU2VydmVybGVzcyc7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tSZXNvdXJjZShub2RlOiBDZm5SZXNvdXJjZSk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tMYW1iZGEobm9kZSk7XG4gICAgdGhpcy5jaGVja0Nsb3Vkd2F0Y2gobm9kZSk7XG4gICAgdGhpcy5jaGVja0FwaUd3KG5vZGUpO1xuICAgIHRoaXMuY2hlY2tBcHBTeW5jKG5vZGUpO1xuICAgIHRoaXMuY2hlY2tFdmVudEJyaWRnZShub2RlKTtcbiAgICB0aGlzLmNoZWNrU05TKG5vZGUpO1xuICAgIHRoaXMuY2hlY2tTUVMobm9kZSk7XG4gICAgdGhpcy5jaGVja1N0ZXBGdW5jdGlvbnMobm9kZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgTGFtYmRhIFJlc291cmNlc1xuICAgKiBAcGFyYW0gbm9kZSB0aGUgQ2ZuUmVzb3VyY2UgdG8gY2hlY2tcbiAgICogQHBhcmFtIGlnbm9yZXMgbGlzdCBvZiBpZ25vcmVzIGZvciB0aGUgcmVzb3VyY2VcbiAgICovXG4gIHByaXZhdGUgY2hlY2tMYW1iZGEobm9kZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIExhbWJkYSBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIGEgY29uZmlndXJlZCBmYWlsdXJlIGRlc3RpbmF0aW9uIGZvciBhc3luY2hyb25vdXMgaW52b2NhdGlvbnMuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICBcIldoZW4gYSBMYW1iZGEgZnVuY3Rpb24gaXMgaW52b2tlZCBhc3luY2hyb25vdXNseSAoZS5nLiwgYnkgUzMsIFNOUywgb3IgRXZlbnRCcmlkZ2UpLCBpdCdzIGltcG9ydGFudCB0byBjb25maWd1cmUgYSBmYWlsdXJlIGRlc3RpbmF0aW9uLiBUaGlzIGFsbG93cyB5b3UgdG8gY2FwdHVyZSBhbmQgaGFuZGxlIGV2ZW50cyB0aGF0IGZhaWwgcHJvY2Vzc2luZywgaW1wcm92aW5nIHRoZSByZWxpYWJpbGl0eSBhbmQgb2JzZXJ2YWJpbGl0eSBvZiB5b3VyIHNlcnZlcmxlc3MgYXBwbGljYXRpb25zLlwiLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IExhbWJkYUFzeW5jRmFpbHVyZURlc3RpbmF0aW9uLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgTGFtYmRhIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYW4gZXhwbGljaXQgbWVtb3J5IHZhbHVlIGNvbmZpZ3VyZWQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICBcIkxhbWJkYSBhbGxvY2F0ZXMgQ1BVIHBvd2VyIGluIHByb3BvcnRpb24gdG8gdGhlIGFtb3VudCBvZiBtZW1vcnkgY29uZmlndXJlZC4gQnkgZGVmYXVsdCwgeW91ciBmdW5jdGlvbnMgaGF2ZSAxMjggTUIgb2YgbWVtb3J5IGFsbG9jYXRlZC4gWW91IGNhbiBpbmNyZWFzZSB0aGF0IHZhbHVlIHVwIHRvIDEwIEdCLiBXaXRoIG1vcmUgQ1BVIHJlc291cmNlcywgeW91ciBMYW1iZGEgZnVuY3Rpb24ncyBkdXJhdGlvbiBtaWdodCBkZWNyZWFzZS4gIFlvdSBjYW4gdXNlIHRvb2xzIHN1Y2ggYXMgQVdTIExhbWJkYSBQb3dlciBUdW5pbmcgdG8gdGVzdCB5b3VyIGZ1bmN0aW9uIGF0IGRpZmZlcmVudCBtZW1vcnkgc2V0dGluZ3MgdG8gZmluZCB0aGUgb25lIHRoYXQgbWF0Y2hlcyB5b3VyIGNvc3QgYW5kIHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50cyB0aGUgYmVzdC5cIixcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuRVJST1IsXG4gICAgICBydWxlOiBMYW1iZGFEZWZhdWx0TWVtb3J5U2l6ZSxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIExhbWJkYSBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIGFuIGV4cGxpY2l0bHkgZGVmaW5lZCB0aW1lb3V0IHZhbHVlLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0xhbWJkYSBmdW5jdGlvbnMgaGF2ZSBhIGRlZmF1bHQgdGltZW91dCBvZiAzIHNlY29uZHMuIElmIHlvdXIgdGltZW91dCB2YWx1ZSBpcyB0b28gc2hvcnQsIExhbWJkYSBtaWdodCB0ZXJtaW5hdGUgaW52b2NhdGlvbnMgcHJlbWF0dXJlbHkuIE9uIHRoZSBvdGhlciBzaWRlLCBzZXR0aW5nIHRoZSB0aW1lb3V0IG11Y2ggaGlnaGVyIHRoYW4gdGhlIGF2ZXJhZ2UgZXhlY3V0aW9uIG1heSBjYXVzZSBmdW5jdGlvbnMgdG8gZXhlY3V0ZSBmb3IgbG9uZ2VyIHVwb24gY29kZSBtYWxmdW5jdGlvbiwgcmVzdWx0aW5nIGluIGhpZ2hlciBjb3N0cyBhbmQgcG9zc2libHkgcmVhY2hpbmcgY29uY3VycmVuY3kgbGltaXRzIGRlcGVuZGluZyBvbiBob3cgc3VjaCBmdW5jdGlvbnMgYXJlIGludm9rZWQuIFlvdSBjYW4gYWxzbyB1c2UgQVdTIExhbWJkYSBQb3dlciBUdW5pbmcgdG8gdGVzdCB5b3VyIGZ1bmN0aW9uIGF0IGRpZmZlcmVudCB0aW1lb3V0IHNldHRpbmdzIHRvIGZpbmQgdGhlIG9uZSB0aGF0IG1hdGNoZXMgeW91ciBjb3N0IGFuZCBwZXJmb3JtYW5jZSByZXF1aXJlbWVudHMgdGhlIGJlc3QuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuRVJST1IsXG4gICAgICBydWxlOiBMYW1iZGFEZWZhdWx0VGltZW91dCxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIExhbWJkYSBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIGEgZGVhZCBsZXR0ZXIgdGFyZ2V0IGNvbmZpZ3VyZWQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnV2hlbiBhIExhbWJkYSBmdW5jdGlvbiBoYXMgdGhlIERlYWRMZXR0ZXJDb25maWcgcHJvcGVydHkgc2V0LCBmYWlsZWQgbWVzc2FnZXMgY2FuIGJlIHRlbXBvcmFyaWx5IHN0b3JlZCBmb3IgcmV2aWV3IGluIGFuIFNRUyBxdWV1ZSBvciBhbiBTTlMgdG9waWMuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuRVJST1IsXG4gICAgICBydWxlOiBMYW1iZGFETFEsXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBMYW1iZGEgRXZlbnQgU291cmNlIE1hcHBpbmcgZG9lcyBub3QgaGF2ZSBhIGRlc3RpbmF0aW9uIGNvbmZpZ3VyZWQgZm9yIGZhaWxlZCBpbnZvY2F0aW9ucy4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdDb25maWd1cmluZyBhIGRlc3RpbmF0aW9uIGZvciBmYWlsZWQgaW52b2NhdGlvbnMgaW4gTGFtYmRhIEV2ZW50IFNvdXJjZSBNYXBwaW5ncyBhbGxvd3MgeW91IHRvIGNhcHR1cmUgYW5kIHByb2Nlc3MgZXZlbnRzIHRoYXQgZmFpbCB0byBiZSBwcm9jZXNzZWQgYnkgeW91ciBMYW1iZGEgZnVuY3Rpb24uIFRoaXMgaGVscHMgaW4gbW9uaXRvcmluZywgZGVidWdnaW5nLCBhbmQgaW1wbGVtZW50aW5nIHJldHJ5IG1lY2hhbmlzbXMgZm9yIGZhaWxlZCBldmVudHMsIGltcHJvdmluZyB0aGUgcmVsaWFiaWxpdHkgYW5kIG9ic2VydmFiaWxpdHkgb2YgeW91ciBzZXJ2ZXJsZXNzIGFwcGxpY2F0aW9ucy4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IExhbWJkYUV2ZW50U291cmNlTWFwcGluZ0Rlc3RpbmF0aW9uLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgTGFtYmRhIGZ1bmN0aW9uIGRvZXMgbm90IHVzZSB0aGUgbGF0ZXN0IHJ1bnRpbWUgdmVyc2lvbi4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdVc2luZyB0aGUgbGF0ZXN0IHJ1bnRpbWUgdmVyc2lvbiBlbnN1cmVzIHRoYXQgeW91ciBMYW1iZGEgZnVuY3Rpb24gaGFzIGFjY2VzcyB0byB0aGUgbW9zdCByZWNlbnQgZmVhdHVyZXMsIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cywgYW5kIHNlY3VyaXR5IHVwZGF0ZXMuIEl0IGlzIGltcG9ydGFudCB0byByZWd1bGFybHkgdXBkYXRlIHlvdXIgTGFtYmRhIGZ1bmN0aW9ucyB0byB1c2UgdGhlIGxhdGVzdCBydW50aW1lIHZlcnNpb25zIHRvIG1haW50YWluIG9wdGltYWwgcGVyZm9ybWFuY2UgYW5kIHNlY3VyaXR5LicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogTGFtYmRhTGF0ZXN0VmVyc2lvbixcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIExhbWJkYSBJQU0gcm9sZSB1c2VzIHdpbGRjYXJkIHBlcm1pc3Npb25zLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ1lvdSBzaG91bGQgZm9sbG93IGxlYXN0LXByaXZpbGVnZWQgYWNjZXNzIGFuZCBvbmx5IGFsbG93IHRoZSBhY2Nlc3MgbmVlZGVkIHRvIHBlcmZvcm0gYSBnaXZlbiBvcGVyYXRpb24uIElmIHlvdXIgTGFtYmRhIGZ1bmN0aW9uIG5lZWRzIGEgYnJvYWQgcmFuZ2Ugb2YgcGVybWlzc2lvbnMsIHlvdSBzaG91bGQga25vdyBhaGVhZCBvZiB0aW1lIHdoaWNoIHBlcm1pc3Npb25zIHlvdSB3aWxsIG5lZWQsIGhhdmUgZXZhbHVhdGVkIHRoZSByaXNrcyBvZiB1c2luZyBicm9hZCBwZXJtaXNzaW9ucyBhbmQgY2FuIHN1cHByZXNzIHRoaXMgcnVsZS4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5XQVJOLFxuICAgICAgcnVsZTogTGFtYmRhU3RhclBlcm1pc3Npb25zLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgTGFtYmRhIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgdHJhY2luZyBzZXQgdG8gVHJhY2luZy5BQ1RJVkUuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnV2hlbiBhIExhbWJkYSBmdW5jdGlvbiBoYXMgQUNUSVZFIHRyYWNpbmcsIExhbWJkYSBhdXRvbWF0aWNhbGx5IHNhbXBsZXMgaW52b2NhdGlvbiByZXF1ZXN0cywgYmFzZWQgb24gdGhlIHNhbXBsaW5nIGFsZ29yaXRobSBzcGVjaWZpZWQgYnkgWC1SYXkuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuV0FSTixcbiAgICAgIHJ1bGU6IExhbWJkYVRyYWNpbmcsXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIENsb3Vkd2F0Y2ggUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0Nsb3Vkd2F0Y2gobm9kZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIENsb3VkV2F0Y2ggTG9nIEdyb3VwIGRvZXMgbm90IGhhdmUgYW4gZXhwbGljaXQgcmV0ZW50aW9uIHBvbGljeSBkZWZpbmVkLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0J5IGRlZmF1bHQsIGxvZ3MgYXJlIGtlcHQgaW5kZWZpbml0ZWx5IGFuZCBuZXZlciBleHBpcmUuIFlvdSBjYW4gYWRqdXN0IHRoZSByZXRlbnRpb24gcG9saWN5IGZvciBlYWNoIGxvZyBncm91cCwga2VlcGluZyB0aGUgaW5kZWZpbml0ZSByZXRlbnRpb24sIG9yIGNob29zaW5nIGEgcmV0ZW50aW9uIHBlcmlvZCBiZXR3ZWVuIG9uZSBkYXkgYW5kIDEwIHllYXJzLiBGb3IgTGFtYmRhIGZ1bmN0aW9ucywgdGhpcyBhcHBsaWVzIHRvIHRoZWlyIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBDbG91ZFdhdGNoIExvZyBHcm91cHMuJyxcbiAgICAgIGxldmVsOiBOYWdNZXNzYWdlTGV2ZWwuV0FSTixcbiAgICAgIHJ1bGU6IENsb3VkV2F0Y2hMb2dHcm91cFJldGVudGlvblBlcmlvZCxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgQVBJIEdhdGV3YXkgUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0FwaUd3KG5vZGU6IENmblJlc291cmNlKSB7XG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBBUEkgR2F0ZXdheSBTdGFnZSBkb2VzIG5vdCBoYXZlIGFjY2VzcyBsb2dnaW5nIGVuYWJsZWQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnQVBJIEdhdGV3YXkgcHJvdmlkZXMgYWNjZXNzIGxvZ2dpbmcgZm9yIEFQSSBzdGFnZXMuIEVuYWJsZSBhY2Nlc3MgbG9nZ2luZyBvbiB5b3VyIEFQSSBzdGFnZXMgdG8gbW9uaXRvciBBUEkgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcy4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IEFQSUdXQWNjZXNzTG9nZ2luZyxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIEFQSSBHYXRld2F5IFN0YWdlIGlzIHVzaW5nIGRlZmF1bHQgdGhyb3R0bGluZyBzZXR0aW5nLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0FQSSBHYXRld2F5IGRlZmF1bHQgdGhyb3R0bGluZyBzZXR0aW5ncyBtYXkgbm90IGJlIHN1aXRhYmxlIGZvciBhbGwgYXBwbGljYXRpb25zLiBDdXN0b20gdGhyb3R0bGluZyBsaW1pdHMgaGVscCBwcm90ZWN0IHlvdXIgYmFja2VuZCBzeXN0ZW1zIGZyb20gYmVpbmcgb3ZlcndoZWxtZWQgd2l0aCByZXF1ZXN0cywgZW5zdXJlIGNvbnNpc3RlbnQgcGVyZm9ybWFuY2UsIGFuZCBjYW4gYmUgdGFpbG9yZWQgdG8geW91ciBzcGVjaWZpYyB1c2UgY2FzZS4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IEFQSUdXRGVmYXVsdFRocm90dGxpbmcsXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBBUEkgR2F0ZXdheSBsb2dzIGFyZSBub3QgY29uZmlndXJlZCBmb3IgdGhlIEpTT04gZm9ybWF0LicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ1lvdSBjYW4gY3VzdG9taXplIHRoZSBsb2cgZm9ybWF0IHRoYXQgQW1hem9uIEFQSSBHYXRld2F5IHVzZXMgdG8gc2VuZCBsb2dzLiBKU09OIFN0cnVjdHVyZWQgbG9nZ2luZyBtYWtlcyBpdCBlYXNpZXIgdG8gZGVyaXZlIHF1ZXJpZXMgdG8gYW5zd2VyIGFyYml0cmFyeSBxdWVzdGlvbnMgYWJvdXQgdGhlIGhlYWx0aCBvZiB5b3VyIGFwcGxpY2F0aW9uLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLldBUk4sXG4gICAgICBydWxlOiBBUElHV1N0cnVjdHVyZWRMb2dnaW5nLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgQVBJIEdhdGV3YXkgZG9lcyBub3QgaGF2ZSBUcmFjaW5nIGVuYWJsZWQuJyxcbiAgICAgIGV4cGxhbmF0aW9uOlxuICAgICAgICAnQW1hem9uIEFQSSBHYXRld2F5IHByb3ZpZGVzIGFjdGl2ZSB0cmFjaW5nIHN1cHBvcnQgZm9yIEFXUyBYLVJheS4gRW5hYmxlIGFjdGl2ZSB0cmFjaW5nIG9uIHlvdXIgQVBJIHN0YWdlcyB0byBzYW1wbGUgaW5jb21pbmcgcmVxdWVzdHMgYW5kIHNlbmQgdHJhY2VzIHRvIFgtUmF5LicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLldBUk4sXG4gICAgICBydWxlOiBBUElHV1hyYXlFbmFibGVkLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBBcHBTeW5jIFJlc291cmNlc1xuICAgKiBAcGFyYW0gbm9kZSB0aGUgQ2ZuUmVzb3VyY2UgdG8gY2hlY2tcbiAgICogQHBhcmFtIGlnbm9yZXMgbGlzdCBvZiBpZ25vcmVzIGZvciB0aGUgcmVzb3VyY2VcbiAgICovXG4gIHByaXZhdGUgY2hlY2tBcHBTeW5jKG5vZGU6IENmblJlc291cmNlKSB7XG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBBcHBTeW5jIEFQSSBkb2VzIG5vdCBoYXZlIHRyYWNpbmcgZW5hYmxlZCcsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0FXUyBBcHBTeW5jIGNhbiBlbWl0IHRyYWNlcyB0byBBV1MgWC1SYXksIHdoaWNoIGVuYWJsZXMgdmlzdWFsaXppbmcgc2VydmljZSBtYXBzIGZvciBmYXN0ZXIgdHJvdWJsZXNob290aW5nLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLldBUk4sXG4gICAgICBydWxlOiBBcHBTeW5jVHJhY2luZyxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgRXZlbnRCcmlkZ2UgUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0V2ZW50QnJpZGdlKG5vZGU6IENmblJlc291cmNlKSB7XG4gICAgdGhpcy5hcHBseVJ1bGUoe1xuICAgICAgaW5mbzogJ1RoZSBFdmVudEJyaWRnZSBUYXJnZXQgZG9lcyBub3QgaGF2ZSBhIERMUSBjb25maWd1cmVkLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgXCJDb25maWd1cmluZyBhIERlYWQtTGV0dGVyIFF1ZXVlIChETFEpIGZvciBFdmVudEJyaWRnZSBydWxlcyBoZWxwcyBtYW5hZ2UgZmFpbGVkIGV2ZW50IGRlbGl2ZXJpZXMuIFdoZW4gYSBydWxlJ3MgdGFyZ2V0IGZhaWxzIHRvIHByb2Nlc3MgYW4gZXZlbnQsIHRoZSBETFEgY2FwdHVyZXMgdGhlc2UgZmFpbGVkIGV2ZW50cywgYWxsb3dpbmcgZm9yIGFuYWx5c2lzLCB0cm91Ymxlc2hvb3RpbmcsIGFuZCBwb3RlbnRpYWwgcmVwcm9jZXNzaW5nLiBUaGlzIGltcHJvdmVzIHRoZSByZWxpYWJpbGl0eSBhbmQgb2JzZXJ2YWJpbGl0eSBvZiB5b3VyIGV2ZW50LWRyaXZlbiBhcmNoaXRlY3R1cmVzIGJ5IHByb3ZpZGluZyBhIHNhZmV0eSBuZXQgZm9yIGhhbmRsaW5nIGRlbGl2ZXJ5IGZhaWx1cmVzLlwiLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IEV2ZW50QnVzRExRLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBTTlMgUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja1NOUyhub2RlOiBDZm5SZXNvdXJjZSkge1xuICAgIHRoaXMuYXBwbHlSdWxlKHtcbiAgICAgIGluZm86ICdUaGUgU05TIHN1YnNjcmlwdGlvbiBkb2VzIG5vdCBoYXZlIGEgcmVkcml2ZSBwb2xpY3kgY29uZmlndXJlZC4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdDb25maWd1cmluZyBhIHJlZHJpdmUgcG9saWN5IGhlbHBzIG1hbmFnZSBtZXNzYWdlIGRlbGl2ZXJ5IGZhaWx1cmVzIGJ5IHNlbmRpbmcgdW5kZWxpdmVyYWJsZSBtZXNzYWdlcyB0byBhIGRlYWQtbGV0dGVyIHF1ZXVlLicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogU05TUmVkcml2ZVBvbGljeSxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgU1FTIFJlc291cmNlc1xuICAgKiBAcGFyYW0gbm9kZSB0aGUgQ2ZuUmVzb3VyY2UgdG8gY2hlY2tcbiAgICogQHBhcmFtIGlnbm9yZXMgbGlzdCBvZiBpZ25vcmVzIGZvciB0aGUgcmVzb3VyY2VcbiAgICovXG4gIHByaXZhdGUgY2hlY2tTUVMobm9kZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIFNRUyBxdWV1ZSBkb2VzIG5vdCBoYXZlIGEgcmVkcml2ZSBwb2xpY3kgY29uZmlndXJlZC4nLFxuICAgICAgZXhwbGFuYXRpb246XG4gICAgICAgICdDb25maWd1cmluZyBhIHJlZHJpdmUgcG9saWN5IG9uIGFuIFNRUyBxdWV1ZSBhbGxvd3MgeW91IHRvIGRlZmluZSBob3cgbWFueSB0aW1lcyBTUVMgd2lsbCBtYWtlIG1lc3NhZ2VzIGF2YWlsYWJsZSBmb3IgY29uc3VtZXJzIGJlZm9yZSBzZW5kaW5nIHRoZW0gdG8gYSBkZWFkLWxldHRlciBxdWV1ZS4gVGhpcyBoZWxwcyBpbiBtYW5hZ2luZyBtZXNzYWdlIHByb2Nlc3NpbmcgZmFpbHVyZXMgYW5kIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBoYW5kbGluZyBwcm9ibGVtYXRpYyBtZXNzYWdlcy4nLFxuICAgICAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUixcbiAgICAgIHJ1bGU6IFNRU1JlZHJpdmVQb2xpY3ksXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIFN0ZXBGdW5jdGlvbnMgUmVzb3VyY2VzXG4gICAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKiBAcGFyYW0gaWdub3JlcyBsaXN0IG9mIGlnbm9yZXMgZm9yIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja1N0ZXBGdW5jdGlvbnMobm9kZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICB0aGlzLmFwcGx5UnVsZSh7XG4gICAgICBpbmZvOiAnVGhlIFN0ZXBGdW5jdGlvbiBzdGF0ZSBtYWNoaW5lIGRvZXMgbm90IGhhdmUgWC1SYXkgdHJhY2luZyBjb25maWd1cmVkLicsXG4gICAgICBleHBsYW5hdGlvbjpcbiAgICAgICAgJ0FXUyBTdGVwRnVuY3Rpb25zIHByb3ZpZGVzIGFjdGl2ZSB0cmFjaW5nIHN1cHBvcnQgZm9yIEFXUyBYLVJheS4gRW5hYmxlIGFjdGl2ZSB0cmFjaW5nIG9uIHlvdXIgQVBJIHN0YWdlcyB0byBzYW1wbGUgaW5jb21pbmcgcmVxdWVzdHMgYW5kIHNlbmQgdHJhY2VzIHRvIFgtUmF5LicsXG4gICAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLkVSUk9SLFxuICAgICAgcnVsZTogU3RlcEZ1bmN0aW9uU3RhdGVNYWNoaW5lWHJheSxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,6 +15,10 @@ const nag_rules_1 = require("../../nag-rules");
|
|
|
15
15
|
*/
|
|
16
16
|
exports.default = Object.defineProperty((node) => {
|
|
17
17
|
if (node instanceof aws_ec2_1.CfnInstance) {
|
|
18
|
+
const instanceMeta = aws_cdk_lib_1.Stack.of(node).resolve(node.metadataOptions);
|
|
19
|
+
if (instanceMeta?.httpTokens === 'required') {
|
|
20
|
+
return nag_rules_1.NagRuleCompliance.COMPLIANT;
|
|
21
|
+
}
|
|
18
22
|
if (node.launchTemplate === undefined) {
|
|
19
23
|
return nag_rules_1.NagRuleCompliance.NON_COMPLIANT;
|
|
20
24
|
}
|
|
@@ -80,4 +84,4 @@ function hasHttpTokens(node) {
|
|
|
80
84
|
}
|
|
81
85
|
return meta?.httpTokens === 'required';
|
|
82
86
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRUMySU1EU3YyRW5hYmxlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9lYzIvRUMySU1EU3YyRW5hYmxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7RUFHRTtBQUNGLCtCQUE2QjtBQUM3Qiw2Q0FBaUQ7QUFDakQsaUVBR3FDO0FBQ3JDLGlEQUFxRTtBQUNyRSwrQ0FBOEQ7QUFFOUQ7OztHQUdHO0FBQ0gsa0JBQWUsTUFBTSxDQUFDLGNBQWMsQ0FDbEMsQ0FBQyxJQUFpQixFQUFxQixFQUFFO0lBQ3ZDLElBQUksSUFBSSxZQUFZLHFCQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsT0FBTyw2QkFBaUIsQ0FBQyxhQUFhLENBQUM7UUFDekMsQ0FBQztRQUNELE1BQU0sc0JBQXNCLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUNuRCxJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFDO1FBQ0YsS0FBSyxNQUFNLEtBQUssSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxJQUFJLEtBQUssWUFBWSwyQkFBaUIsRUFBRSxDQUFDO2dCQUN2QyxJQUNFLHdCQUF3QixDQUN0QixLQUFLLEVBQ0wsb0JBQVEsQ0FBQyw0QkFBNEIsQ0FDbkMsSUFBSSxFQUNKLHNCQUFzQixDQUFDLGtCQUFrQixDQUMxQyxFQUNELG9CQUFRLENBQUMsNEJBQTRCLENBQ25DLElBQUksRUFDSixzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FDeEMsQ0FDRixFQUNELENBQUM7b0JBQ0QsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDO3dCQUN6QixDQUFDLENBQUMsNkJBQWlCLENBQUMsU0FBUzt3QkFDN0IsQ0FBQyxDQUFDLDZCQUFpQixDQUFD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QyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQzNCLGtCQUFrQixDQUFDLGVBQWUsQ0FDVSxDQUFDO0lBQ2pELENBQUM7U0FBTSxJQUFJLElBQUksWUFBWSx3Q0FBc0IsRUFBRSxDQUFDO1FBQ2xELElBQUksR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQzNCLElBQUksQ0FBQyxlQUFlLENBQzZCLENBQUM7SUFDdEQsQ0FBQztJQUNELE9BQU8sSUFBSSxFQUFFLFVBQVUsS0FBSyxVQUFVLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIENmbkF1dG9TY2FsaW5nR3JvdXAsXG4gIENmbkxhdW5jaENvbmZpZ3VyYXRpb24sXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hdXRvc2NhbGluZyc7XG5pbXBvcnQgeyBDZm5JbnN0YW5jZSwgQ2ZuTGF1bmNoVGVtcGxhdGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IE5hZ1J1bGVDb21wbGlhbmNlLCBOYWdSdWxlcyB9IGZyb20gJy4uLy4uL25hZy1ydWxlcyc7XG5cbi8qKlxuICogVGhlIEVDMiBJbnN0YW5jZSByZXF1aXJlcyBJTURzdjJcbiAqIEBwYXJhbSBub2RlIHRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICovXG5leHBvcnQgZGVmYXVsdCBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gIChub2RlOiBDZm5SZXNvdXJjZSk6IE5hZ1J1bGVDb21wbGlhbmNlID0+IHtcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIENmbkluc3RhbmNlKSB7XG4gICAgICBpZiAobm9kZS5sYXVuY2hUZW1wbGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBOYWdSdWxlQ29tcGxpYW5jZS5OT05fQ09NUExJQU5UO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5zdGFuY2VMYXVuY2hUZW1wbGF0ZSA9IFN0YWNrLm9mKG5vZGUpLnJlc29sdmUoXG4gICAgICAgIG5vZGUubGF1bmNoVGVtcGxhdGVcbiAgICAgICk7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIFN0YWNrLm9mKG5vZGUpLm5vZGUuZmluZEFsbCgpKSB7XG4gICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIENmbkxhdW5jaFRlbXBsYXRlKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNNYXRjaGluZ0xhdW5jaFRlbXBsYXRlKFxuICAgICAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICAgICAgTmFnUnVsZXMucmVzb2x2ZVJlc291cmNlRnJvbUludHJpbnNpYyhcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIGluc3RhbmNlTGF1bmNoVGVtcGxhdGUubGF1bmNoVGVtcGxhdGVOYW1lXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIE5hZ1J1bGVzLnJlc29sdmVSZXNvdXJjZUZyb21JbnRyaW5zaWMoXG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICBpbnN0YW5jZUxhdW5jaFRlbXBsYXRlLmxhdW5jaFRlbXBsYXRlSWRcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGhhc0h0dHBUb2tlbnMoY2hpbGQpXG4gICAgICAgICAgICAgID8gTmFnUnVsZUNvbXBsaWFuY2UuQ09NUExJQU5UXG4gICAgICAgICAgICAgIDogTmFnUnVsZUNvbXBsaWFuY2UuTk9OX0NPTVBMSUFOVDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBOYWdSdWxlQ29tcGxpYW5jZS5OT05fQ09NUExJQU5UO1xuICAgIH0gZWxzZSBpZiAobm9kZSBpbnN0YW5jZW9mIENmbkF1dG9TY2FsaW5nR3JvdXApIHtcbiAgICAgIGlmIChub2RlLmxhdW5jaFRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IG5vZGVMYXVuY2hUZW1wbGF0ZSA9IFN0YWNrLm9mKG5vZGUpLnJlc29sdmUobm9kZS5sYXVuY2hUZW1wbGF0ZSk7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgU3RhY2sub2Yobm9kZSkubm9kZS5maW5kQWxsKCkpIHtcbiAgICAgICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBDZm5MYXVuY2hUZW1wbGF0ZSkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBpc01hdGNoaW5nTGF1bmNoVGVtcGxhdGUoXG4gICAgICAgICAgICAgICAgY2hpbGQsXG4gICAgICAgICAgICAgICAgTmFnUnVsZXMucmVzb2x2ZVJlc291cmNlRnJvbUludHJpbnNpYyhcbiAgICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgICBub2RlTGF1bmNoVGVtcGxhdGUubGF1bmNoVGVtcGxhdGVOYW1lXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBOYWdSdWxlcy5yZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljKFxuICAgICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICAgIG5vZGVMYXVuY2hUZW1wbGF0ZS5sYXVuY2hUZW1wbGF0ZUlkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhc0h0dHBUb2tlbnMoY2hpbGQpXG4gICAgICAgICAgICAgICAgPyBOYWdSdWxlQ29tcGxpYW5jZS5DT01QTElBTlRcbiAgICAgICAgICAgICAgICA6IE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUubGF1bmNoQ29uZmlndXJhdGlvbk5hbWUpIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBTdGFjay5vZihub2RlKS5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIENmbkxhdW5jaENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgaXNNYXRjaGluZ0xhdW5jaENvbmZpZ3VyYXRpb24oY2hpbGQsIG5vZGUubGF1bmNoQ29uZmlndXJhdGlvbk5hbWUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhc0h0dHBUb2tlbnMoY2hpbGQpXG4gICAgICAgICAgICAgICAgPyBOYWdSdWxlQ29tcGxpYW5jZS5DT01QTElBTlRcbiAgICAgICAgICAgICAgICA6IE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gTmFnUnVsZUNvbXBsaWFuY2UuTk9OX0NPTVBMSUFOVDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIE5hZ1J1bGVDb21wbGlhbmNlLk5PVF9BUFBMSUNBQkxFO1xuICAgIH1cbiAgfSxcbiAgJ25hbWUnLFxuICB7IHZhbHVlOiBwYXJzZShfX2ZpbGVuYW1lKS5uYW1lIH1cbik7XG5cbmZ1bmN0aW9uIGlzTWF0Y2hpbmdMYXVuY2hUZW1wbGF0ZShcbiAgbm9kZTogQ2ZuTGF1bmNoVGVtcGxhdGUsXG4gIGxhdW5jaFRlbXBsYXRlTmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgbGF1bmNoVGVtcGxhdGVJZD86IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgbGF1bmNoVGVtcGxhdGVOYW1lID09PSBub2RlLmxhdW5jaFRlbXBsYXRlTmFtZSB8fFxuICAgIGxhdW5jaFRlbXBsYXRlSWQgPT09IE5hZ1J1bGVzLnJlc29sdmVSZXNvdXJjZUZyb21JbnRyaW5zaWMobm9kZSwgbm9kZS5yZWYpXG4gICk7XG59XG5cbmZ1bmN0aW9uIGlzTWF0Y2hpbmdMYXVuY2hDb25maWd1cmF0aW9uKFxuICBub2RlOiBDZm5MYXVuY2hDb25maWd1cmF0aW9uLFxuICBsYXVuY2hDb25maWd1cmF0aW9uTmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgbGF1bmNoQ29uZmlndXJhdGlvbk5hbWUgPT09IG5vZGUubGF1bmNoQ29uZmlndXJhdGlvbk5hbWUgfHxcbiAgICBOYWdSdWxlcy5yZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljKG5vZGUsIGxhdW5jaENvbmZpZ3VyYXRpb25OYW1lKSA9PT1cbiAgICAgIE5hZ1J1bGVzLnJlc29sdmVSZXNvdXJjZUZyb21JbnRyaW5zaWMobm9kZSwgbm9kZS5yZWYpXG4gICk7XG59XG5cbmZ1bmN0aW9uIGhhc0h0dHBUb2tlbnMoXG4gIG5vZGU6IENmbkxhdW5jaFRlbXBsYXRlIHwgQ2ZuTGF1bmNoQ29uZmlndXJhdGlvblxuKTogYm9vbGVhbiB7XG4gIGxldCBtZXRhO1xuICBpZiAobm9kZSBpbnN0YW5jZW9mIENmbkxhdW5jaFRlbXBsYXRlKSB7XG4gICAgY29uc3QgbGF1bmNoVGVtcGxhdGVEYXRhID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShub2RlLmxhdW5jaFRlbXBsYXRlRGF0YSk7XG4gICAgbWV0YSA9IFN0YWNrLm9mKG5vZGUpLnJlc29sdmUoXG4gICAgICBsYXVuY2hUZW1wbGF0ZURhdGEubWV0YWRhdGFPcHRpb25zXG4gICAgKSBhcyBDZm5MYXVuY2hUZW1wbGF0ZS5NZXRhZGF0YU9wdGlvbnNQcm9wZXJ0eTtcbiAgfSBlbHNlIGlmIChub2RlIGluc3RhbmNlb2YgQ2ZuTGF1bmNoQ29uZmlndXJhdGlvbikge1xuICAgIG1ldGEgPSBTdGFjay5vZihub2RlKS5yZXNvbHZlKFxuICAgICAgbm9kZS5tZXRhZGF0YU9wdGlvbnNcbiAgICApIGFzIENmbkxhdW5jaENvbmZpZ3VyYXRpb24uTWV0YWRhdGFPcHRpb25zUHJvcGVydHk7XG4gIH1cbiAgcmV0dXJuIG1ldGE/Lmh0dHBUb2tlbnMgPT09ICdyZXF1aXJlZCc7XG59XG4iXX0=
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRUMySU1EU3YyRW5hYmxlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9lYzIvRUMySU1EU3YyRW5hYmxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7RUFHRTtBQUNGLCtCQUE2QjtBQUM3Qiw2Q0FBaUQ7QUFDakQsaUVBR3FDO0FBQ3JDLGlEQUFxRTtBQUNyRSwrQ0FBOEQ7QUFFOUQ7OztHQUdHO0FBQ0gsa0JBQWUsTUFBTSxDQUFDLGNBQWMsQ0FDbEMsQ0FBQyxJQUFpQixFQUFxQixFQUFFO0lBQ3ZDLElBQUksSUFBSSxZQUFZLHFCQUFXLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFlBQVksR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FFbkQsQ0FBQztRQUNkLElBQUksWUFBWSxFQUFFLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM1QyxPQUFPLDZCQUFpQixDQUFDLFNBQVMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sNkJBQWlCLENBQUMsYUFBYSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxNQUFNLHNCQUFzQixHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FDbkQsSUFBSSxDQUFDLGNBQWMsQ0FDcEIsQ0FBQztRQUNGLEtBQUssTUFBTSxLQUFLLElBQUksbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbEQsSUFBSSxLQUFLLFlBQVksMkJBQWlCLEVBQUUsQ0FBQztnQkFDdkMsSUFDRSx3QkFBd0IsQ0FDdEIsS0FBSyxFQUNMLG9CQUFRLENBQUMsNEJBQTRCLENBQ25DLElBQUksRUFDSixzQkFBc0IsQ0FBQyxrQkFB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LDRCQUE0QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQ3hELENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ3BCLElBQWdEO0lBRWhELElBQUksSUFBSSxDQUFDO0lBQ1QsSUFBSSxJQUFJLFlBQVksMkJBQWlCLEVBQUUsQ0FBQztRQUN0QyxNQUFNLGtCQUFrQixHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMzRSxJQUFJLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUMzQixrQkFBa0IsQ0FBQyxlQUFlLENBQ1UsQ0FBQztJQUNqRCxDQUFDO1NBQU0sSUFBSSxJQUFJLFlBQVksd0NBQXNCLEVBQUUsQ0FBQztRQUNsRCxJQUFJLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUMzQixJQUFJLENBQUMsZUFBZSxDQUM2QixDQUFDO0lBQ3RELENBQUM7SUFDRCxPQUFPLElBQUksRUFBRSxVQUFVLEtBQUssVUFBVSxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cbmltcG9ydCB7IHBhcnNlIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDZm5SZXNvdXJjZSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5BdXRvU2NhbGluZ0dyb3VwLFxuICBDZm5MYXVuY2hDb25maWd1cmF0aW9uLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXV0b3NjYWxpbmcnO1xuaW1wb3J0IHsgQ2ZuSW5zdGFuY2UsIENmbkxhdW5jaFRlbXBsYXRlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBOYWdSdWxlQ29tcGxpYW5jZSwgTmFnUnVsZXMgfSBmcm9tICcuLi8uLi9uYWctcnVsZXMnO1xuXG4vKipcbiAqIFRoZSBFQzIgSW5zdGFuY2UgcmVxdWlyZXMgSU1Ec3YyXG4gKiBAcGFyYW0gbm9kZSB0aGUgQ2ZuUmVzb3VyY2UgdG8gY2hlY2tcbiAqL1xuZXhwb3J0IGRlZmF1bHQgT2JqZWN0LmRlZmluZVByb3BlcnR5KFxuICAobm9kZTogQ2ZuUmVzb3VyY2UpOiBOYWdSdWxlQ29tcGxpYW5jZSA9PiB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBDZm5JbnN0YW5jZSkge1xuICAgICAgY29uc3QgaW5zdGFuY2VNZXRhID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShub2RlLm1ldGFkYXRhT3B0aW9ucykgYXNcbiAgICAgICAgfCB7IGh0dHBUb2tlbnM/OiBzdHJpbmcgfVxuICAgICAgICB8IHVuZGVmaW5lZDtcbiAgICAgIGlmIChpbnN0YW5jZU1ldGE/Lmh0dHBUb2tlbnMgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgcmV0dXJuIE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVDtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLmxhdW5jaFRlbXBsYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQ7XG4gICAgICB9XG4gICAgICBjb25zdCBpbnN0YW5jZUxhdW5jaFRlbXBsYXRlID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShcbiAgICAgICAgbm9kZS5sYXVuY2hUZW1wbGF0ZVxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgU3RhY2sub2Yobm9kZSkubm9kZS5maW5kQWxsKCkpIHtcbiAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgQ2ZuTGF1bmNoVGVtcGxhdGUpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBpc01hdGNoaW5nTGF1bmNoVGVtcGxhdGUoXG4gICAgICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgICAgICBOYWdSdWxlcy5yZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljKFxuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgaW5zdGFuY2VMYXVuY2hUZW1wbGF0ZS5sYXVuY2hUZW1wbGF0ZU5hbWVcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgTmFnUnVsZXMucmVzb2x2ZVJlc291cmNlRnJvbUludHJpbnNpYyhcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIGluc3RhbmNlTGF1bmNoVGVtcGxhdGUubGF1bmNoVGVtcGxhdGVJZFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gaGFzSHR0cFRva2VucyhjaGlsZClcbiAgICAgICAgICAgICAgPyBOYWdSdWxlQ29tcGxpYW5jZS5DT01QTElBTlRcbiAgICAgICAgICAgICAgOiBOYWdSdWxlQ29tcGxpYW5jZS5OT05fQ09NUExJQU5UO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQ7XG4gICAgfSBlbHNlIGlmIChub2RlIGluc3RhbmNlb2YgQ2ZuQXV0b1NjYWxpbmdHcm91cCkge1xuICAgICAgaWYgKG5vZGUubGF1bmNoVGVtcGxhdGUpIHtcbiAgICAgICAgY29uc3Qgbm9kZUxhdW5jaFRlbXBsYXRlID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShub2RlLmxhdW5jaFRlbXBsYXRlKTtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBTdGFjay5vZihub2RlKS5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIENmbkxhdW5jaFRlbXBsYXRlKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGlzTWF0Y2hpbmdMYXVuY2hUZW1wbGF0ZShcbiAgICAgICAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICAgICAgICBOYWdSdWxlcy5yZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljKFxuICAgICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICAgIG5vZGVMYXVuY2hUZW1wbGF0ZS5sYXVuY2hUZW1wbGF0ZU5hbWVcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIE5hZ1J1bGVzLnJlc29sdmVSZXNvdXJjZUZyb21JbnRyaW5zaWMoXG4gICAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgICAgbm9kZUxhdW5jaFRlbXBsYXRlLmxhdW5jaFRlbXBsYXRlSWRcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gaGFzSHR0cFRva2VucyhjaGlsZClcbiAgICAgICAgICAgICAgICA/IE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVFxuICAgICAgICAgICAgICAgIDogTmFnUnVsZUNvbXBsaWFuY2UuTk9OX0NPTVBMSUFOVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobm9kZS5sYXVuY2hDb25maWd1cmF0aW9uTmFtZSkge1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIFN0YWNrLm9mKG5vZGUpLm5vZGUuZmluZEFsbCgpKSB7XG4gICAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgQ2ZuTGF1bmNoQ29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBpc01hdGNoaW5nTGF1bmNoQ29uZmlndXJhdGlvbihjaGlsZCwgbm9kZS5sYXVuY2hDb25maWd1cmF0aW9uTmFtZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gaGFzSHR0cFRva2VucyhjaGlsZClcbiAgICAgICAgICAgICAgICA/IE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVFxuICAgICAgICAgICAgICAgIDogTmFnUnVsZUNvbXBsaWFuY2UuTk9OX0NPTVBMSUFOVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBOYWdSdWxlQ29tcGxpYW5jZS5OT05fQ09NUExJQU5UO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gTmFnUnVsZUNvbXBsaWFuY2UuTk9UX0FQUExJQ0FCTEU7XG4gICAgfVxuICB9LFxuICAnbmFtZScsXG4gIHsgdmFsdWU6IHBhcnNlKF9fZmlsZW5hbWUpLm5hbWUgfVxuKTtcblxuZnVuY3Rpb24gaXNNYXRjaGluZ0xhdW5jaFRlbXBsYXRlKFxuICBub2RlOiBDZm5MYXVuY2hUZW1wbGF0ZSxcbiAgbGF1bmNoVGVtcGxhdGVOYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBsYXVuY2hUZW1wbGF0ZUlkPzogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBsYXVuY2hUZW1wbGF0ZU5hbWUgPT09IG5vZGUubGF1bmNoVGVtcGxhdGVOYW1lIHx8XG4gICAgbGF1bmNoVGVtcGxhdGVJZCA9PT0gTmFnUnVsZXMucmVzb2x2ZVJlc291cmNlRnJvbUludHJpbnNpYyhub2RlLCBub2RlLnJlZilcbiAgKTtcbn1cblxuZnVuY3Rpb24gaXNNYXRjaGluZ0xhdW5jaENvbmZpZ3VyYXRpb24oXG4gIG5vZGU6IENmbkxhdW5jaENvbmZpZ3VyYXRpb24sXG4gIGxhdW5jaENvbmZpZ3VyYXRpb25OYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBsYXVuY2hDb25maWd1cmF0aW9uTmFtZSA9PT0gbm9kZS5sYXVuY2hDb25maWd1cmF0aW9uTmFtZSB8fFxuICAgIE5hZ1J1bGVzLnJlc29sdmVSZXNvdXJjZUZyb21JbnRyaW5zaWMobm9kZSwgbGF1bmNoQ29uZmlndXJhdGlvbk5hbWUpID09PVxuICAgICAgTmFnUnVsZXMucmVzb2x2ZVJlc291cmNlRnJvbUludHJpbnNpYyhub2RlLCBub2RlLnJlZilcbiAgKTtcbn1cblxuZnVuY3Rpb24gaGFzSHR0cFRva2VucyhcbiAgbm9kZTogQ2ZuTGF1bmNoVGVtcGxhdGUgfCBDZm5MYXVuY2hDb25maWd1cmF0aW9uXG4pOiBib29sZWFuIHtcbiAgbGV0IG1ldGE7XG4gIGlmIChub2RlIGluc3RhbmNlb2YgQ2ZuTGF1bmNoVGVtcGxhdGUpIHtcbiAgICBjb25zdCBsYXVuY2hUZW1wbGF0ZURhdGEgPSBTdGFjay5vZihub2RlKS5yZXNvbHZlKG5vZGUubGF1bmNoVGVtcGxhdGVEYXRhKTtcbiAgICBtZXRhID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShcbiAgICAgIGxhdW5jaFRlbXBsYXRlRGF0YS5tZXRhZGF0YU9wdGlvbnNcbiAgICApIGFzIENmbkxhdW5jaFRlbXBsYXRlLk1ldGFkYXRhT3B0aW9uc1Byb3BlcnR5O1xuICB9IGVsc2UgaWYgKG5vZGUgaW5zdGFuY2VvZiBDZm5MYXVuY2hDb25maWd1cmF0aW9uKSB7XG4gICAgbWV0YSA9IFN0YWNrLm9mKG5vZGUpLnJlc29sdmUoXG4gICAgICBub2RlLm1ldGFkYXRhT3B0aW9uc1xuICAgICkgYXMgQ2ZuTGF1bmNoQ29uZmlndXJhdGlvbi5NZXRhZGF0YU9wdGlvbnNQcm9wZXJ0eTtcbiAgfVxuICByZXR1cm4gbWV0YT8uaHR0cFRva2VucyA9PT0gJ3JlcXVpcmVkJztcbn1cbiJdfQ==
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@types/node": "^18",
|
|
53
53
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
54
54
|
"@typescript-eslint/parser": "^8",
|
|
55
|
-
"aws-cdk-lib": "2.
|
|
55
|
+
"aws-cdk-lib": "2.257.0",
|
|
56
56
|
"cdklabs-projen-project-types": "^0.3.29",
|
|
57
57
|
"commit-and-tag-version": "^12",
|
|
58
58
|
"constructs": "10.5.1",
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"jest": "^27",
|
|
65
65
|
"jest-junit": "^16",
|
|
66
66
|
"jsii": "5.8",
|
|
67
|
-
"jsii-diff": "^1.
|
|
67
|
+
"jsii-diff": "^1.139.0",
|
|
68
68
|
"jsii-docgen": "^10.5.0",
|
|
69
|
-
"jsii-pacmak": "^1.
|
|
69
|
+
"jsii-pacmak": "^1.139.0",
|
|
70
70
|
"jsii-rosetta": "5.9",
|
|
71
71
|
"prettier": "^2.8.8",
|
|
72
72
|
"projen": "^0.99.51",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"typescript": "^4.9.5"
|
|
76
76
|
},
|
|
77
77
|
"peerDependencies": {
|
|
78
|
-
"aws-cdk-lib": "^2.
|
|
78
|
+
"aws-cdk-lib": "^2.257.0",
|
|
79
79
|
"constructs": "^10.5.1"
|
|
80
80
|
},
|
|
81
81
|
"keywords": [
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"publishConfig": {
|
|
90
90
|
"access": "public"
|
|
91
91
|
},
|
|
92
|
-
"version": "
|
|
92
|
+
"version": "3.0.2",
|
|
93
93
|
"jest": {
|
|
94
94
|
"coverageProvider": "v8",
|
|
95
95
|
"testMatch": [
|
package/package.json
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "projen build",
|
|
10
10
|
"bump": "projen bump",
|
|
11
|
+
"bump:releasable-commits": "projen bump:releasable-commits",
|
|
11
12
|
"clobber": "projen clobber",
|
|
12
13
|
"compat": "projen compat",
|
|
13
14
|
"compile": "projen compile",
|
|
@@ -37,8 +38,8 @@
|
|
|
37
38
|
"organization": true
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@aws-cdk/integ-runner": "2.
|
|
41
|
-
"@aws-cdk/integ-tests-alpha": "2.
|
|
41
|
+
"@aws-cdk/integ-runner": "2.203.0",
|
|
42
|
+
"@aws-cdk/integ-tests-alpha": "2.263.0-alpha.0",
|
|
42
43
|
"@commitlint/cli": "^20.1.0",
|
|
43
44
|
"@commitlint/config-conventional": "^20.0.0",
|
|
44
45
|
"@stylistic/eslint-plugin": "^2",
|
|
@@ -50,15 +51,15 @@
|
|
|
50
51
|
"@types/uuid": "^11.0.0",
|
|
51
52
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
52
53
|
"@typescript-eslint/parser": "^8",
|
|
53
|
-
"aws-cdk-lib": "2.
|
|
54
|
-
"awslint": "2.
|
|
54
|
+
"aws-cdk-lib": "2.263.0",
|
|
55
|
+
"awslint": "2.263.0-alpha.0",
|
|
55
56
|
"commit-and-tag-version": "^12",
|
|
56
57
|
"eslint": "^9",
|
|
57
58
|
"eslint-import-resolver-typescript": "^4.4.5",
|
|
58
59
|
"eslint-plugin-import": "^2.32.0",
|
|
59
60
|
"husky": "^9.1.7",
|
|
60
61
|
"jest": "^30.4.2",
|
|
61
|
-
"jest-junit": "^
|
|
62
|
+
"jest-junit": "^17",
|
|
62
63
|
"jsii": "~5.9.0",
|
|
63
64
|
"jsii-diff": "^1.138.0",
|
|
64
65
|
"jsii-docgen": "^10.5.0",
|
|
@@ -68,10 +69,10 @@
|
|
|
68
69
|
"projen": "^0.101.6",
|
|
69
70
|
"ts-jest": "^29.4.11",
|
|
70
71
|
"ts-node": "^10.9.2",
|
|
71
|
-
"typescript": "
|
|
72
|
+
"typescript": "^6.0.2"
|
|
72
73
|
},
|
|
73
74
|
"peerDependencies": {
|
|
74
|
-
"aws-cdk-lib": "^2.
|
|
75
|
+
"aws-cdk-lib": "^2.263.0",
|
|
75
76
|
"constructs": "^10.5.1"
|
|
76
77
|
},
|
|
77
78
|
"dependencies": {
|
|
@@ -80,9 +81,9 @@
|
|
|
80
81
|
"@aws-sdk/client-s3": "^3.1083.0",
|
|
81
82
|
"@aws-sdk/client-ses": "^3.1083.0",
|
|
82
83
|
"@aws-sdk/client-ssm": "^3.1083.0",
|
|
83
|
-
"@mavogel/mvc-projen": "^0.0.
|
|
84
|
-
"cdk-nag": "^
|
|
85
|
-
"constructs": "^10.
|
|
84
|
+
"@mavogel/mvc-projen": "^0.0.30",
|
|
85
|
+
"cdk-nag": "^3.0.1",
|
|
86
|
+
"constructs": "^10.5.1",
|
|
86
87
|
"mailparser": "^3.9.14",
|
|
87
88
|
"uuid": "^14.0.1"
|
|
88
89
|
},
|
|
@@ -114,10 +115,11 @@
|
|
|
114
115
|
},
|
|
115
116
|
"main": "lib/index.js",
|
|
116
117
|
"license": "Apache-2.0",
|
|
118
|
+
"stability": "experimental",
|
|
117
119
|
"publishConfig": {
|
|
118
120
|
"access": "public"
|
|
119
121
|
},
|
|
120
|
-
"version": "0.0
|
|
122
|
+
"version": "0.1.0",
|
|
121
123
|
"jest": {
|
|
122
124
|
"coverageProvider": "v8",
|
|
123
125
|
"testMatch": [
|
|
@@ -158,20 +160,17 @@
|
|
|
158
160
|
"^.+\\.[t]sx?$": [
|
|
159
161
|
"ts-jest",
|
|
160
162
|
{
|
|
161
|
-
"tsconfig": "tsconfig.
|
|
163
|
+
"tsconfig": "test/tsconfig.json"
|
|
162
164
|
}
|
|
163
165
|
]
|
|
164
166
|
}
|
|
165
167
|
},
|
|
166
168
|
"types": "lib/index.d.ts",
|
|
167
|
-
"stability": "experimental",
|
|
168
169
|
"jsii": {
|
|
169
170
|
"outdir": "dist",
|
|
170
171
|
"targets": {},
|
|
171
|
-
"
|
|
172
|
-
|
|
173
|
-
"rootDir": "src"
|
|
174
|
-
}
|
|
172
|
+
"tsconfig": "tsconfig.json",
|
|
173
|
+
"validateTsconfig": "strict"
|
|
175
174
|
},
|
|
176
175
|
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
|
177
176
|
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { CfnResource } from 'aws-cdk-lib';
|
|
2
|
-
import { NagMessageLevel } from './nag-rules';
|
|
3
|
-
/**
|
|
4
|
-
* Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore
|
|
5
|
-
* @param resource The resource the suppression is applied to.
|
|
6
|
-
* @param reason The reason given for the suppression.
|
|
7
|
-
* @param ruleId The id of the rule to ignore.
|
|
8
|
-
* @param findingId The id of the finding that is being checked.
|
|
9
|
-
* @param ruleLevel The severity level of the rule.
|
|
10
|
-
*/
|
|
11
|
-
export interface SuppressionIgnoreInput {
|
|
12
|
-
readonly resource: CfnResource;
|
|
13
|
-
readonly reason: string;
|
|
14
|
-
readonly ruleId: string;
|
|
15
|
-
readonly findingId: string;
|
|
16
|
-
readonly ruleLevel: NagMessageLevel;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Interface for creating NagSuppression Ignores
|
|
20
|
-
*/
|
|
21
|
-
export interface INagSuppressionIgnore {
|
|
22
|
-
createMessage(input: SuppressionIgnoreInput): string;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message
|
|
26
|
-
*/
|
|
27
|
-
export declare class SuppressionIgnoreAnd implements INagSuppressionIgnore {
|
|
28
|
-
private andSuppressionIgnores;
|
|
29
|
-
constructor(...SuppressionIgnoreAnds: INagSuppressionIgnore[]);
|
|
30
|
-
createMessage(input: SuppressionIgnoreInput): string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message
|
|
34
|
-
*/
|
|
35
|
-
export declare class SuppressionIgnoreOr implements INagSuppressionIgnore {
|
|
36
|
-
private SuppressionIgnoreOrs;
|
|
37
|
-
constructor(...orSuppressionIgnores: INagSuppressionIgnore[]);
|
|
38
|
-
createMessage(input: SuppressionIgnoreInput): string;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Always ignore the suppression
|
|
42
|
-
*/
|
|
43
|
-
export declare class SuppressionIgnoreAlways implements INagSuppressionIgnore {
|
|
44
|
-
private triggerMessage;
|
|
45
|
-
constructor(triggerMessage: string);
|
|
46
|
-
createMessage(_input: SuppressionIgnoreInput): string;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Don't ignore the suppression
|
|
50
|
-
*/
|
|
51
|
-
export declare class SuppressionIgnoreNever implements INagSuppressionIgnore {
|
|
52
|
-
createMessage(_input: SuppressionIgnoreInput): string;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Ignore Suppressions for Rules with a NagMessageLevel.ERROR
|
|
56
|
-
*/
|
|
57
|
-
export declare class SuppressionIgnoreErrors implements INagSuppressionIgnore {
|
|
58
|
-
createMessage(input: SuppressionIgnoreInput): string;
|
|
59
|
-
}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a, _b, _c, _d, _e;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.SuppressionIgnoreErrors = exports.SuppressionIgnoreNever = exports.SuppressionIgnoreAlways = exports.SuppressionIgnoreOr = exports.SuppressionIgnoreAnd = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const nag_rules_1 = require("./nag-rules");
|
|
7
|
-
/**
|
|
8
|
-
* Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message
|
|
9
|
-
*/
|
|
10
|
-
class SuppressionIgnoreAnd {
|
|
11
|
-
constructor(...SuppressionIgnoreAnds) {
|
|
12
|
-
if (SuppressionIgnoreAnds.length === 0) {
|
|
13
|
-
throw new Error('SuppressionIgnoreAnd needs at least one INagSuppressionIgnore');
|
|
14
|
-
}
|
|
15
|
-
this.andSuppressionIgnores = SuppressionIgnoreAnds;
|
|
16
|
-
}
|
|
17
|
-
createMessage(input) {
|
|
18
|
-
let messages = [];
|
|
19
|
-
for (const i of this.andSuppressionIgnores) {
|
|
20
|
-
const m = i.createMessage(input);
|
|
21
|
-
messages.push(m);
|
|
22
|
-
if (!m) {
|
|
23
|
-
return '';
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return messages.join('\n\t');
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.SuppressionIgnoreAnd = SuppressionIgnoreAnd;
|
|
30
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
31
|
-
SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.38.2" };
|
|
32
|
-
/**
|
|
33
|
-
* Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message
|
|
34
|
-
*/
|
|
35
|
-
class SuppressionIgnoreOr {
|
|
36
|
-
constructor(...orSuppressionIgnores) {
|
|
37
|
-
if (orSuppressionIgnores.length === 0) {
|
|
38
|
-
throw new Error('SuppressionIgnoreOr needs at least one INagSuppressionIgnore');
|
|
39
|
-
}
|
|
40
|
-
this.SuppressionIgnoreOrs = orSuppressionIgnores;
|
|
41
|
-
}
|
|
42
|
-
createMessage(input) {
|
|
43
|
-
let messages = [];
|
|
44
|
-
for (const i of this.SuppressionIgnoreOrs) {
|
|
45
|
-
const m = i.createMessage(input);
|
|
46
|
-
if (m) {
|
|
47
|
-
messages.push(m);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return messages ? messages.join('\n\t') : '';
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.SuppressionIgnoreOr = SuppressionIgnoreOr;
|
|
54
|
-
_b = JSII_RTTI_SYMBOL_1;
|
|
55
|
-
SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.38.2" };
|
|
56
|
-
/**
|
|
57
|
-
* Always ignore the suppression
|
|
58
|
-
*/
|
|
59
|
-
class SuppressionIgnoreAlways {
|
|
60
|
-
constructor(triggerMessage) {
|
|
61
|
-
if (triggerMessage.length === 0) {
|
|
62
|
-
throw new Error('provide a triggerMessage for the SuppressionIgnoreAlways');
|
|
63
|
-
}
|
|
64
|
-
this.triggerMessage = triggerMessage;
|
|
65
|
-
}
|
|
66
|
-
createMessage(_input) {
|
|
67
|
-
return this.triggerMessage;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.SuppressionIgnoreAlways = SuppressionIgnoreAlways;
|
|
71
|
-
_c = JSII_RTTI_SYMBOL_1;
|
|
72
|
-
SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.38.2" };
|
|
73
|
-
/**
|
|
74
|
-
* Don't ignore the suppression
|
|
75
|
-
*/
|
|
76
|
-
class SuppressionIgnoreNever {
|
|
77
|
-
createMessage(_input) {
|
|
78
|
-
return '';
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
exports.SuppressionIgnoreNever = SuppressionIgnoreNever;
|
|
82
|
-
_d = JSII_RTTI_SYMBOL_1;
|
|
83
|
-
SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.38.2" };
|
|
84
|
-
/**
|
|
85
|
-
* Ignore Suppressions for Rules with a NagMessageLevel.ERROR
|
|
86
|
-
*/
|
|
87
|
-
class SuppressionIgnoreErrors {
|
|
88
|
-
createMessage(input) {
|
|
89
|
-
return input.ruleLevel == nag_rules_1.NagMessageLevel.ERROR
|
|
90
|
-
? `${input.ruleId} is categorized as an ERROR and may not be suppressed`
|
|
91
|
-
: '';
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
exports.SuppressionIgnoreErrors = SuppressionIgnoreErrors;
|
|
95
|
-
_e = JSII_RTTI_SYMBOL_1;
|
|
96
|
-
SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.38.2" };
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSwyQ0FBOEM7QUF5QjlDOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFHL0IsWUFBWSxHQUFHLHFCQUE4QztRQUMzRCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxDQUNoRSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUNyRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOztBQXRCSCxvREF1QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFHOUIsWUFBWSxHQUFHLG9CQUE2QztRQUMxRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUNiLDhEQUE4RCxDQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDTixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDOztBQXJCSCxrREFzQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFFbEMsWUFBWSxjQUFzQjtRQUNoQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYiwwREFBMEQsQ0FDM0QsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQThCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOztBQVpILDBEQWFDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsc0JBQXNCO0lBQ2pDLGFBQWEsQ0FBQyxNQUE4QjtRQUMxQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O0FBSEgsd0RBSUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFDbEMsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSwyQkFBZSxDQUFDLEtBQUs7WUFDN0MsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sdURBQXVEO1lBQ3hFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDOztBQUxILDBEQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBDZm5SZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE5hZ01lc3NhZ2VMZXZlbCB9IGZyb20gJy4vbmFnLXJ1bGVzJztcblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgTmFnUnVsZSBhbmQgdGhlIHJlbGV2YW50IE5hZ1N1cHByZXNzaW9uIGZvciB0aGUgSU5hZ1N1cHByZXNzaW9uSWdub3JlXG4gKiBAcGFyYW0gcmVzb3VyY2UgVGhlIHJlc291cmNlIHRoZSBzdXBwcmVzc2lvbiBpcyBhcHBsaWVkIHRvLlxuICogQHBhcmFtIHJlYXNvbiBUaGUgcmVhc29uIGdpdmVuIGZvciB0aGUgc3VwcHJlc3Npb24uXG4gKiBAcGFyYW0gcnVsZUlkIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmUuXG4gKiBAcGFyYW0gZmluZGluZ0lkIFRoZSBpZCBvZiB0aGUgZmluZGluZyB0aGF0IGlzIGJlaW5nIGNoZWNrZWQuXG4gKiBAcGFyYW0gcnVsZUxldmVsIFRoZSBzZXZlcml0eSBsZXZlbCBvZiB0aGUgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdXBwcmVzc2lvbklnbm9yZUlucHV0IHtcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IENmblJlc291cmNlO1xuICByZWFkb25seSByZWFzb246IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbmRpbmdJZDogc3RyaW5nO1xuICByZWFkb25seSBydWxlTGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbDtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNyZWF0aW5nIE5hZ1N1cHByZXNzaW9uIElnbm9yZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nO1xufVxuXG4vKipcbiAqIElnbm9yZSB0aGUgc3VwcHJlc3Npb24gaWYgYWxsIG9mIHRoZSBnaXZlbiBJTmFnU3VwcHJlc3Npb25JZ25vcmUgcmV0dXJuIGEgbm9uLWVtcHR5IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlQW5kIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSBhbmRTdXBwcmVzc2lvbklnbm9yZXM6IElOYWdTdXBwcmVzc2lvbklnbm9yZVtdO1xuXG4gIGNvbnN0cnVjdG9yKC4uLlN1cHByZXNzaW9uSWdub3JlQW5kczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW10pIHtcbiAgICBpZiAoU3VwcHJlc3Npb25JZ25vcmVBbmRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU3VwcHJlc3Npb25JZ25vcmVBbmQgbmVlZHMgYXQgbGVhc3Qgb25lIElOYWdTdXBwcmVzc2lvbklnbm9yZSdcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYW5kU3VwcHJlc3Npb25JZ25vcmVzID0gU3VwcHJlc3Npb25JZ25vcmVBbmRzO1xuICB9XG5cbiAgY3JlYXRlTWVzc2FnZShpbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgbGV0IG1lc3NhZ2VzID0gW107XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuYW5kU3VwcHJlc3Npb25JZ25vcmVzKSB7XG4gICAgICBjb25zdCBtID0gaS5jcmVhdGVNZXNzYWdlKGlucHV0KTtcbiAgICAgIG1lc3NhZ2VzLnB1c2gobSk7XG4gICAgICBpZiAoIW0pIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZXMuam9pbignXFxuXFx0Jyk7XG4gIH1cbn1cblxuLyoqXG4gKiBJZ25vcmUgdGhlIHN1cHByZXNzaW9uIGlmIGFueSBvZiB0aGUgZ2l2ZW4gSU5hZ1N1cHByZXNzaW9uSWdub3JlIHJldHVybiBhIG5vbi1lbXB0eSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZU9yIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSBTdXBwcmVzc2lvbklnbm9yZU9yczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW107XG5cbiAgY29uc3RydWN0b3IoLi4ub3JTdXBwcmVzc2lvbklnbm9yZXM6IElOYWdTdXBwcmVzc2lvbklnbm9yZVtdKSB7XG4gICAgaWYgKG9yU3VwcHJlc3Npb25JZ25vcmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU3VwcHJlc3Npb25JZ25vcmVPciBuZWVkcyBhdCBsZWFzdCBvbmUgSU5hZ1N1cHByZXNzaW9uSWdub3JlJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5TdXBwcmVzc2lvbklnbm9yZU9ycyA9IG9yU3VwcHJlc3Npb25JZ25vcmVzO1xuICB9XG5cbiAgY3JlYXRlTWVzc2FnZShpbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgbGV0IG1lc3NhZ2VzID0gW107XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuU3VwcHJlc3Npb25JZ25vcmVPcnMpIHtcbiAgICAgIGNvbnN0IG0gPSBpLmNyZWF0ZU1lc3NhZ2UoaW5wdXQpO1xuICAgICAgaWYgKG0pIHtcbiAgICAgICAgbWVzc2FnZXMucHVzaChtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzID8gbWVzc2FnZXMuam9pbignXFxuXFx0JykgOiAnJztcbiAgfVxufVxuXG4vKipcbiAqIEFsd2F5cyBpZ25vcmUgdGhlIHN1cHByZXNzaW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZUFsd2F5cyBpbXBsZW1lbnRzIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIHByaXZhdGUgdHJpZ2dlck1lc3NhZ2U6IHN0cmluZztcbiAgY29uc3RydWN0b3IodHJpZ2dlck1lc3NhZ2U6IHN0cmluZykge1xuICAgIGlmICh0cmlnZ2VyTWVzc2FnZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3Byb3ZpZGUgYSB0cmlnZ2VyTWVzc2FnZSBmb3IgdGhlIFN1cHByZXNzaW9uSWdub3JlQWx3YXlzJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy50cmlnZ2VyTWVzc2FnZSA9IHRyaWdnZXJNZXNzYWdlO1xuICB9XG4gIGNyZWF0ZU1lc3NhZ2UoX2lucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyTWVzc2FnZTtcbiAgfVxufVxuXG4vKipcbiAqIERvbid0IGlnbm9yZSB0aGUgc3VwcHJlc3Npb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlTmV2ZXIgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKF9pbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbi8qKlxuICogSWdub3JlIFN1cHByZXNzaW9ucyBmb3IgUnVsZXMgd2l0aCBhIE5hZ01lc3NhZ2VMZXZlbC5FUlJPUlxuICovXG5leHBvcnQgY2xhc3MgU3VwcHJlc3Npb25JZ25vcmVFcnJvcnMgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5wdXQucnVsZUxldmVsID09IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUlxuICAgICAgPyBgJHtpbnB1dC5ydWxlSWR9IGlzIGNhdGVnb3JpemVkIGFzIGFuIEVSUk9SIGFuZCBtYXkgbm90IGJlIHN1cHByZXNzZWRgXG4gICAgICA6ICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interface for creating a rule suppression
|
|
3
|
-
*/
|
|
4
|
-
export interface NagPackSuppression {
|
|
5
|
-
/**
|
|
6
|
-
* The id of the rule to ignore
|
|
7
|
-
*/
|
|
8
|
-
readonly id: string;
|
|
9
|
-
/**
|
|
10
|
-
* The reason to ignore the rule (minimum 10 characters)
|
|
11
|
-
*/
|
|
12
|
-
readonly reason: string;
|
|
13
|
-
/**
|
|
14
|
-
* Rule specific granular suppressions
|
|
15
|
-
*/
|
|
16
|
-
readonly appliesTo?: NagPackSuppressionAppliesTo[];
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* A granular suppression
|
|
20
|
-
*/
|
|
21
|
-
export type NagPackSuppressionAppliesTo = string | RegexAppliesTo;
|
|
22
|
-
/**
|
|
23
|
-
* A regular expression to apply to matching findings
|
|
24
|
-
*/
|
|
25
|
-
export interface RegexAppliesTo {
|
|
26
|
-
/**
|
|
27
|
-
* An ECMA-262 regex string
|
|
28
|
-
*/
|
|
29
|
-
readonly regex: string;
|
|
30
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
-
SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXN1cHByZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVscy9uYWctc3VwcHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7RUFHRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY3JlYXRpbmcgYSBydWxlIHN1cHByZXNzaW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFnUGFja1N1cHByZXNzaW9uIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmVcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcmVhc29uIHRvIGlnbm9yZSB0aGUgcnVsZSAobWluaW11bSAxMCBjaGFyYWN0ZXJzKVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhc29uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSdWxlIHNwZWNpZmljIGdyYW51bGFyIHN1cHByZXNzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGllc1RvPzogTmFnUGFja1N1cHByZXNzaW9uQXBwbGllc1RvW107XG59XG5cbi8qKlxuICogQSBncmFudWxhciBzdXBwcmVzc2lvblxuICovXG5leHBvcnQgdHlwZSBOYWdQYWNrU3VwcHJlc3Npb25BcHBsaWVzVG8gPSBzdHJpbmcgfCBSZWdleEFwcGxpZXNUbztcblxuLyoqXG4gKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBhcHBseSB0byBtYXRjaGluZyBmaW5kaW5nc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2V4QXBwbGllc1RvIHtcbiAgLyoqXG4gICAqIEFuIEVDTUEtMjYyIHJlZ2V4IHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVnZXg6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Stack } from 'aws-cdk-lib';
|
|
2
|
-
import { IConstruct } from 'constructs';
|
|
3
|
-
import { NagPackSuppression } from './models/nag-suppression';
|
|
4
|
-
/**
|
|
5
|
-
* Helper class with methods to add cdk-nag suppressions to cdk resources
|
|
6
|
-
*/
|
|
7
|
-
export declare class NagSuppressions {
|
|
8
|
-
/**
|
|
9
|
-
* Apply cdk-nag suppressions to a Stack and optionally nested stacks
|
|
10
|
-
* @param stack The Stack to apply the suppression to
|
|
11
|
-
* @param suppressions A list of suppressions to apply to the stack
|
|
12
|
-
* @param applyToNestedStacks Apply the suppressions to children stacks (default:false)
|
|
13
|
-
*/
|
|
14
|
-
static addStackSuppressions(stack: Stack, suppressions: NagPackSuppression[], applyToNestedStacks?: boolean): void;
|
|
15
|
-
/**
|
|
16
|
-
* Add cdk-nag suppressions to a CfnResource and optionally its children
|
|
17
|
-
* @param construct The IConstruct(s) to apply the suppression to
|
|
18
|
-
* @param suppressions A list of suppressions to apply to the resource
|
|
19
|
-
* @param applyToChildren Apply the suppressions to children CfnResources (default:false)
|
|
20
|
-
*/
|
|
21
|
-
static addResourceSuppressions(construct: IConstruct | IConstruct[], suppressions: NagPackSuppression[], applyToChildren?: boolean): void;
|
|
22
|
-
/**
|
|
23
|
-
* Add cdk-nag suppressions to a CfnResource and optionally its children via its path
|
|
24
|
-
* @param stack The Stack the construct belongs to
|
|
25
|
-
* @param path The path(s) to the construct in the provided stack
|
|
26
|
-
* @param suppressions A list of suppressions to apply to the resource
|
|
27
|
-
* @param applyToChildren Apply the suppressions to children CfnResources (default:false)
|
|
28
|
-
*/
|
|
29
|
-
static addResourceSuppressionsByPath(stack: Stack, path: string | string[], suppressions: NagPackSuppression[], applyToChildren?: boolean): void;
|
|
30
|
-
}
|