@fjall/components-infrastructure 0.88.3 → 0.88.4
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/dist/lib/app.d.ts +33 -10
- package/dist/lib/app.js +79 -36
- package/dist/lib/aspects/index.d.ts +1 -0
- package/dist/lib/aspects/index.js +6 -0
- package/dist/lib/config/aws/accountAuditRole.d.ts +20 -0
- package/dist/lib/config/aws/accountAuditRole.js +38 -0
- package/dist/lib/config/aws/accountMonitoringRole.d.ts +22 -0
- package/dist/lib/config/aws/accountMonitoringRole.js +133 -0
- package/dist/lib/config/aws/cloudTrail.d.ts +0 -3
- package/dist/lib/config/aws/cloudTrail.js +2 -2
- package/dist/lib/config/aws/disasterRecovery.js +26 -14
- package/dist/lib/config/aws/ecrDefaultImage.js +4 -3
- package/dist/lib/config/aws/index.d.ts +4 -0
- package/dist/lib/config/aws/index.js +5 -1
- package/dist/lib/config/aws/oidcConnector.d.ts +8 -0
- package/dist/lib/config/aws/oidcConnector.js +46 -0
- package/dist/lib/config/aws/platform.d.ts +2 -0
- package/dist/lib/config/aws/platform.js +6 -0
- package/dist/lib/config/index.d.ts +2 -0
- package/dist/lib/config/index.js +21 -0
- package/dist/lib/patterns/aws/account.js +22 -10
- package/dist/lib/patterns/aws/cdn.d.ts +19 -40
- package/dist/lib/patterns/aws/cdn.js +21 -17
- package/dist/lib/patterns/aws/compute.d.ts +6 -7
- package/dist/lib/patterns/aws/compute.js +7 -9
- package/dist/lib/patterns/aws/database.d.ts +7 -87
- package/dist/lib/patterns/aws/database.js +15 -38
- package/dist/lib/patterns/aws/index.d.ts +1 -1
- package/dist/lib/patterns/aws/index.js +2 -2
- package/dist/lib/patterns/aws/interfaces/cdn.d.ts +26 -0
- package/dist/lib/patterns/aws/interfaces/cdn.js +14 -0
- package/dist/lib/patterns/aws/interfaces/connector.d.ts +4 -181
- package/dist/lib/patterns/aws/interfaces/connector.js +16 -113
- package/dist/lib/patterns/aws/interfaces/index.d.ts +1 -0
- package/dist/lib/patterns/aws/interfaces/index.js +5 -2
- package/dist/lib/patterns/aws/interfaces/pattern.d.ts +6 -6
- package/dist/lib/patterns/aws/interfaces/pattern.js +1 -1
- package/dist/lib/patterns/aws/network.js +6 -9
- package/dist/lib/patterns/aws/organisation.d.ts +4 -2
- package/dist/lib/patterns/aws/organisation.js +21 -8
- package/dist/lib/patterns/aws/payload.js +11 -12
- package/dist/lib/patterns/aws/storage.d.ts +3 -2
- package/dist/lib/patterns/aws/storage.js +1 -1
- package/dist/lib/resources/aws/audit/auditRole.js +4 -4
- package/dist/lib/resources/aws/audit/index.d.ts +1 -0
- package/dist/lib/resources/aws/audit/index.js +6 -0
- package/dist/lib/resources/aws/backup/backupPlan.js +3 -2
- package/dist/lib/resources/aws/backup/backupVault.js +5 -3
- package/dist/lib/resources/aws/base/awsStack.d.ts +4 -2
- package/dist/lib/resources/aws/base/awsStack.js +8 -2
- package/dist/lib/resources/aws/cdn/cloudFront.d.ts +14 -0
- package/dist/lib/resources/aws/cdn/cloudFront.js +52 -18
- package/dist/lib/resources/aws/compute/ec2.js +18 -22
- package/dist/lib/resources/aws/compute/ecs.d.ts +9 -8
- package/dist/lib/resources/aws/compute/ecs.js +53 -41
- package/dist/lib/resources/aws/compute/index.d.ts +1 -0
- package/dist/lib/resources/aws/compute/index.js +2 -1
- package/dist/lib/resources/aws/compute/lambda.d.ts +0 -2
- package/dist/lib/resources/aws/compute/lambda.js +12 -27
- package/dist/lib/resources/aws/database/dynamodb.js +3 -13
- package/dist/lib/resources/aws/database/index.d.ts +8 -2
- package/dist/lib/resources/aws/database/index.js +19 -3
- package/dist/lib/resources/aws/database/rdsAurora.d.ts +2 -3
- package/dist/lib/resources/aws/database/rdsAurora.js +32 -68
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.d.ts +6 -6
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +25 -29
- package/dist/lib/resources/aws/database/rdsDefaults.d.ts +11 -0
- package/dist/lib/resources/aws/database/rdsDefaults.js +15 -0
- package/dist/lib/resources/aws/database/rdsHelpers.d.ts +39 -0
- package/dist/lib/resources/aws/database/rdsHelpers.js +75 -0
- package/dist/lib/resources/aws/database/rdsInstance.d.ts +7 -8
- package/dist/lib/resources/aws/database/rdsInstance.js +40 -84
- package/dist/lib/resources/aws/database/rdsProxyOutput.d.ts +7 -0
- package/dist/lib/resources/aws/database/rdsProxyOutput.js +18 -0
- package/dist/lib/resources/aws/iam/index.d.ts +0 -1
- package/dist/lib/resources/aws/iam/index.js +1 -2
- package/dist/lib/resources/aws/index.d.ts +0 -1
- package/dist/lib/resources/aws/index.js +1 -2
- package/dist/lib/resources/aws/logging/cloudTrail.js +13 -3
- package/dist/lib/resources/aws/logging/index.d.ts +2 -0
- package/dist/lib/resources/aws/logging/index.js +19 -0
- package/dist/lib/resources/aws/messaging/index.d.ts +3 -2
- package/dist/lib/resources/aws/messaging/index.js +4 -3
- package/dist/lib/resources/aws/messaging/sqs.js +14 -11
- package/dist/lib/resources/aws/messaging/utils.d.ts +1 -2
- package/dist/lib/resources/aws/messaging/utils.js +3 -4
- package/dist/lib/resources/aws/monitoring/index.d.ts +0 -1
- package/dist/lib/resources/aws/monitoring/index.js +4 -17
- package/dist/lib/resources/aws/networking/hostedZone.d.ts +28 -0
- package/dist/lib/resources/aws/networking/hostedZone.js +153 -0
- package/dist/lib/resources/aws/networking/index.d.ts +2 -0
- package/dist/lib/resources/aws/networking/index.js +3 -1
- package/dist/lib/resources/aws/networking/ipamPool.js +57 -31
- package/dist/lib/resources/aws/networking/securityGroup.d.ts +5 -0
- package/dist/lib/resources/aws/networking/securityGroup.js +14 -0
- package/dist/lib/resources/aws/networking/vpc.js +9 -4
- package/dist/lib/resources/aws/organisation/costAllocationTagActivator.d.ts +17 -0
- package/dist/lib/resources/aws/organisation/costAllocationTagActivator.js +66 -0
- package/dist/lib/resources/aws/organisation/index.d.ts +1 -0
- package/dist/lib/resources/aws/organisation/index.js +4 -2
- package/dist/lib/resources/aws/secrets/index.d.ts +0 -1
- package/dist/lib/resources/aws/secrets/index.js +1 -2
- package/dist/lib/resources/aws/storage/ecr.d.ts +0 -1
- package/dist/lib/resources/aws/storage/ecr.js +5 -5
- package/dist/lib/resources/aws/storage/s3.d.ts +3 -3
- package/dist/lib/resources/aws/storage/s3.js +1 -1
- package/dist/lib/resources/aws/utilities/index.d.ts +5 -0
- package/dist/lib/resources/aws/utilities/index.js +22 -0
- package/dist/lib/utils/backupTierMapping.d.ts +11 -0
- package/dist/lib/utils/backupTierMapping.js +17 -0
- package/dist/lib/utils/capitaliseString.d.ts +6 -0
- package/dist/lib/utils/capitaliseString.js +10 -1
- package/dist/lib/utils/connections.d.ts +46 -0
- package/dist/lib/utils/connections.js +159 -0
- package/dist/lib/utils/connector.d.ts +183 -0
- package/dist/lib/utils/connector.js +117 -0
- package/dist/lib/utils/databaseTypes.d.ts +85 -0
- package/dist/lib/utils/databaseTypes.js +34 -0
- package/dist/lib/utils/env.d.ts +42 -0
- package/dist/lib/utils/env.js +128 -0
- package/dist/lib/utils/getConfig.d.ts +0 -5
- package/dist/lib/utils/getConfig.js +1 -4
- package/dist/lib/utils/index.d.ts +6 -0
- package/dist/lib/utils/index.js +7 -1
- package/dist/lib/utils/removalPolicy.d.ts +2 -0
- package/dist/lib/utils/removalPolicy.js +16 -0
- package/dist/lib/utils/standardTagsAspect.d.ts +4 -0
- package/dist/lib/utils/standardTagsAspect.js +8 -8
- package/dist/lib/utils/vpcUtils.d.ts +14 -0
- package/dist/lib/utils/vpcUtils.js +28 -0
- package/package.json +6 -6
|
@@ -17,6 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./instanceProfile"), exports);
|
|
18
18
|
__exportStar(require("./managedPolicy"), exports);
|
|
19
19
|
__exportStar(require("./policy"), exports);
|
|
20
|
-
__exportStar(require("./securityGroup"), exports);
|
|
21
20
|
__exportStar(require("./role"), exports);
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9pYW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFrQztBQUNsQyxrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2luc3RhbmNlUHJvZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFuYWdlZFBvbGljeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcG9saWN5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb2xlXCI7XG4iXX0=
|
|
@@ -18,8 +18,7 @@ __exportStar(require("./networking"), exports);
|
|
|
18
18
|
__exportStar(require("./storage"), exports);
|
|
19
19
|
__exportStar(require("./base"), exports);
|
|
20
20
|
__exportStar(require("./backup"), exports);
|
|
21
|
-
__exportStar(require("./monitoring"), exports);
|
|
22
21
|
__exportStar(require("./cdn"), exports);
|
|
23
22
|
__exportStar(require("./messaging"), exports);
|
|
24
23
|
__exportStar(require("./organisation"), exports);
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLDRDQUEwQjtBQUMxQix5Q0FBdUI7QUFDdkIsMkNBQXlCO0FBQ3pCLHdDQUFzQjtBQUN0Qiw4Q0FBNEI7QUFDNUIsaURBQStCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbmV0d29ya2luZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmFnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmFja3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jZG5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lc3NhZ2luZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3JnYW5pc2F0aW9uXCI7XG4iXX0=
|
|
@@ -12,7 +12,8 @@ class Trail extends constructs_1.Construct {
|
|
|
12
12
|
constructor(scope, id, props) {
|
|
13
13
|
super(scope, id);
|
|
14
14
|
const encryptionKey = new secrets_1.CustomerManagedKey(this, `${id}CloudTrailEncryptionKey`, {
|
|
15
|
-
aliasName: `cmk/cloudtrail/${id}/encryptionKey
|
|
15
|
+
aliasName: `cmk/cloudtrail/${id}/encryptionKey`,
|
|
16
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY
|
|
16
17
|
});
|
|
17
18
|
this.bucket = new storage_1.S3Bucket(this, `${id}CloudTrailBucket`, {
|
|
18
19
|
bucketName: props.bucketName,
|
|
@@ -20,7 +21,6 @@ class Trail extends constructs_1.Construct {
|
|
|
20
21
|
encryption: aws_s3_1.BucketEncryption.KMS,
|
|
21
22
|
encryptionKey: encryptionKey.key,
|
|
22
23
|
versioned: false,
|
|
23
|
-
removalPolicy: aws_cdk_lib_1.RemovalPolicy.RETAIN,
|
|
24
24
|
lifecycleRules: [{ expiration: aws_cdk_lib_1.Duration.days(365), enabled: true }]
|
|
25
25
|
});
|
|
26
26
|
this.bucket.grantReadWrite(new aws_iam_1.ServicePrincipal("cloudtrail.amazonaws.com"));
|
|
@@ -30,6 +30,16 @@ class Trail extends constructs_1.Construct {
|
|
|
30
30
|
trailName: props.trailName || `${id}Trail`,
|
|
31
31
|
encryptionKey: encryptionKey.key
|
|
32
32
|
});
|
|
33
|
+
// TODO: Revert to RemovalPolicy.RETAIN for production
|
|
34
|
+
this.trail.applyRemovalPolicy(aws_cdk_lib_1.RemovalPolicy.DESTROY);
|
|
35
|
+
// Ensure the autoDeleteObjects custom resource is fully provisioned before
|
|
36
|
+
// the trail starts writing to the bucket. Without this, a create-rollback
|
|
37
|
+
// leaves the bucket non-empty (CloudTrail writes logs immediately) and the
|
|
38
|
+
// auto-delete Lambda was never created — causing ROLLBACK_FAILED.
|
|
39
|
+
const autoDeleteResource = this.bucket.node.tryFindChild("AutoDeleteObjectsCustomResource");
|
|
40
|
+
if (autoDeleteResource) {
|
|
41
|
+
this.trail.node.addDependency(autoDeleteResource);
|
|
42
|
+
}
|
|
33
43
|
}
|
|
34
44
|
}
|
|
35
45
|
exports.Trail = Trail;
|
|
@@ -42,4 +52,4 @@ class TrailStack extends aws_cdk_lib_1.Stack {
|
|
|
42
52
|
}
|
|
43
53
|
}
|
|
44
54
|
exports.TrailStack = TrailStack;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRUcmFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2xvZ2dpbmcvY2xvdWRUcmFpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkQ7QUFDN0QseURBQXlEO0FBQ3pELDJDQUF1QztBQUN2Qyx3Q0FBZ0Q7QUFDaEQsd0NBQXNDO0FBQ3RDLCtDQUFzRDtBQUN0RCxpREFBdUQ7QUFNdkQsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUFJbEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQzFDLElBQUksRUFDSixHQUFHLEVBQUUseUJBQXlCLEVBQzlCO1lBQ0UsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQjtZQUMvQyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1NBQ3JDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxrQkFBUSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsa0JBQWtCLEVBQUU7WUFDeEQsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsVUFBVSxFQUFFLHlCQUFnQixDQUFDLEdBQUc7WUFDaEMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxHQUFHO1lBQ2hDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLGNBQWMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNwRSxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FDeEIsSUFBSSwwQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUNqRCxDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUU7WUFDekQsR0FBRyxLQUFLO1lBQ1IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLEdBQUcsRUFBRSxPQUFPO1lBQzFDLGFBQWEsRUFBRSxhQUFhLENBQUMsR0FBRztTQUNqQyxDQUFDLENBQUM7UUFDSCxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELDJFQUEyRTtRQUMzRSwwRUFBMEU7UUFDMUUsMkVBQTJFO1FBQzNFLGtFQUFrRTtRQUNsRSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FDdEQsaUNBQWlDLENBQ2xDLENBQUM7UUFDRixJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUErQixDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWhERCxzQkFnREM7QUFFRCxNQUFhLFVBQVcsU0FBUSxtQkFBSztJQUNuQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNsQixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFSRCxnQ0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgQ2xvdWRUcmFpbCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkdHJhaWxcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDdXN0b21lck1hbmFnZWRLZXkgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgUzNCdWNrZXQgfSBmcm9tIFwiLi4vc3RvcmFnZVwiO1xuaW1wb3J0IHsgQnVja2V0RW5jcnlwdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG5pbnRlcmZhY2UgQ2xvdWRUcmFpbFByb3BzIGV4dGVuZHMgQ2xvdWRUcmFpbC5UcmFpbFByb3BzIHtcbiAgYnVja2V0TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVHJhaWwgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhaWw6IENsb3VkVHJhaWwuVHJhaWw7XG4gIHB1YmxpYyByZWFkb25seSBidWNrZXQ6IFMzQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDbG91ZFRyYWlsUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZW5jcnlwdGlvbktleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7aWR9Q2xvdWRUcmFpbEVuY3J5cHRpb25LZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvY2xvdWR0cmFpbC8ke2lkfS9lbmNyeXB0aW9uS2V5YCxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuYnVja2V0ID0gbmV3IFMzQnVja2V0KHRoaXMsIGAke2lkfUNsb3VkVHJhaWxCdWNrZXRgLCB7XG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lLFxuICAgICAgYnVja2V0S2V5RW5hYmxlZDogdHJ1ZSxcbiAgICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uS01TLFxuICAgICAgZW5jcnlwdGlvbktleTogZW5jcnlwdGlvbktleS5rZXksXG4gICAgICB2ZXJzaW9uZWQ6IGZhbHNlLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IFt7IGV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoMzY1KSwgZW5hYmxlZDogdHJ1ZSB9XVxuICAgIH0pO1xuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZFdyaXRlKFxuICAgICAgbmV3IFNlcnZpY2VQcmluY2lwYWwoXCJjbG91ZHRyYWlsLmFtYXpvbmF3cy5jb21cIilcbiAgICApO1xuXG4gICAgdGhpcy50cmFpbCA9IG5ldyBDbG91ZFRyYWlsLlRyYWlsKHRoaXMsIGAke2lkfUNsb3VkVHJhaWxgLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICB0cmFpbE5hbWU6IHByb3BzLnRyYWlsTmFtZSB8fCBgJHtpZH1UcmFpbGAsXG4gICAgICBlbmNyeXB0aW9uS2V5OiBlbmNyeXB0aW9uS2V5LmtleVxuICAgIH0pO1xuICAgIC8vIFRPRE86IFJldmVydCB0byBSZW1vdmFsUG9saWN5LlJFVEFJTiBmb3IgcHJvZHVjdGlvblxuICAgIHRoaXMudHJhaWwuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAvLyBFbnN1cmUgdGhlIGF1dG9EZWxldGVPYmplY3RzIGN1c3RvbSByZXNvdXJjZSBpcyBmdWxseSBwcm92aXNpb25lZCBiZWZvcmVcbiAgICAvLyB0aGUgdHJhaWwgc3RhcnRzIHdyaXRpbmcgdG8gdGhlIGJ1Y2tldC4gV2l0aG91dCB0aGlzLCBhIGNyZWF0ZS1yb2xsYmFja1xuICAgIC8vIGxlYXZlcyB0aGUgYnVja2V0IG5vbi1lbXB0eSAoQ2xvdWRUcmFpbCB3cml0ZXMgbG9ncyBpbW1lZGlhdGVseSkgYW5kIHRoZVxuICAgIC8vIGF1dG8tZGVsZXRlIExhbWJkYSB3YXMgbmV2ZXIgY3JlYXRlZCDigJQgY2F1c2luZyBST0xMQkFDS19GQUlMRUQuXG4gICAgY29uc3QgYXV0b0RlbGV0ZVJlc291cmNlID0gdGhpcy5idWNrZXQubm9kZS50cnlGaW5kQ2hpbGQoXG4gICAgICBcIkF1dG9EZWxldGVPYmplY3RzQ3VzdG9tUmVzb3VyY2VcIlxuICAgICk7XG4gICAgaWYgKGF1dG9EZWxldGVSZXNvdXJjZSkge1xuICAgICAgdGhpcy50cmFpbC5ub2RlLmFkZERlcGVuZGVuY3koYXV0b0RlbGV0ZVJlc291cmNlIGFzIENvbnN0cnVjdCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFpbFN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2xvdWRUcmFpbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBUcmFpbCh0aGlzLCBpZCwge1xuICAgICAgLi4ucHJvcHNcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cloudTrail"), exports);
|
|
18
|
+
__exportStar(require("./logGroup"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9sb2dnaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNkI7QUFDN0IsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY2xvdWRUcmFpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nR3JvdXBcIjtcbiJdfQ==
|
|
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./sqs"), exports);
|
|
18
|
-
__exportStar(require("./sns"), exports);
|
|
19
17
|
__exportStar(require("./eventbridge"), exports);
|
|
20
|
-
|
|
18
|
+
__exportStar(require("./sns"), exports);
|
|
19
|
+
__exportStar(require("./sqs"), exports);
|
|
20
|
+
__exportStar(require("./utils"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9tZXNzYWdpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qix3Q0FBc0I7QUFDdEIsd0NBQXNCO0FBQ3RCLDBDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2V2ZW50YnJpZGdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Nxc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbiJdfQ==
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SQSQueue = exports.SQS_LIMITS = void 0;
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
5
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
|
+
const capitaliseString_1 = require("../../../utils/capitaliseString");
|
|
6
7
|
const aws_sqs_1 = require("aws-cdk-lib/aws-sqs");
|
|
7
8
|
const utils_1 = require("./utils");
|
|
8
9
|
/**
|
|
@@ -80,6 +81,8 @@ class SQSQueue extends constructs_1.Construct {
|
|
|
80
81
|
constructor(scope, id, props) {
|
|
81
82
|
super(scope, id);
|
|
82
83
|
this.id = id;
|
|
84
|
+
// Sanitise id for CloudFormation output keys (must be alphanumeric)
|
|
85
|
+
const outputName = (0, capitaliseString_1.toPascalCase)(id);
|
|
83
86
|
const isFifo = props.queueType === "fifo";
|
|
84
87
|
const queueName = props.queueName
|
|
85
88
|
? isFifo
|
|
@@ -114,13 +117,13 @@ class SQSQueue extends constructs_1.Construct {
|
|
|
114
117
|
maxReceiveCount: props.deadLetterQueue.maxReceiveCount ??
|
|
115
118
|
SQS_LIMITS.DEAD_LETTER_QUEUE.DEFAULT_RECEIVE_COUNT
|
|
116
119
|
};
|
|
117
|
-
new aws_cdk_lib_1.CfnOutput(this, `${
|
|
118
|
-
key: `${
|
|
120
|
+
new aws_cdk_lib_1.CfnOutput(this, `${outputName}DeadLetterQueueUrl`, {
|
|
121
|
+
key: `${outputName}DeadLetterQueueUrl`,
|
|
119
122
|
value: this.dlq.queueUrl,
|
|
120
123
|
description: `Dead letter queue URL for ${id}`
|
|
121
124
|
});
|
|
122
|
-
new aws_cdk_lib_1.CfnOutput(this, `${
|
|
123
|
-
key: `${
|
|
125
|
+
new aws_cdk_lib_1.CfnOutput(this, `${outputName}DeadLetterQueueArn`, {
|
|
126
|
+
key: `${outputName}DeadLetterQueueArn`,
|
|
124
127
|
value: this.dlq.queueArn,
|
|
125
128
|
description: `Dead letter queue ARN for ${id}`
|
|
126
129
|
});
|
|
@@ -155,18 +158,18 @@ class SQSQueue extends constructs_1.Construct {
|
|
|
155
158
|
: undefined,
|
|
156
159
|
removalPolicy: (0, utils_1.toRemovalPolicy)(props.removalPolicy)
|
|
157
160
|
});
|
|
158
|
-
new aws_cdk_lib_1.CfnOutput(this, `${
|
|
159
|
-
key: `${
|
|
161
|
+
new aws_cdk_lib_1.CfnOutput(this, `${outputName}QueueUrl`, {
|
|
162
|
+
key: `${outputName}QueueUrl`,
|
|
160
163
|
value: this.queue.queueUrl,
|
|
161
164
|
description: `SQS queue URL for ${id}`
|
|
162
165
|
});
|
|
163
|
-
new aws_cdk_lib_1.CfnOutput(this, `${
|
|
164
|
-
key: `${
|
|
166
|
+
new aws_cdk_lib_1.CfnOutput(this, `${outputName}QueueArn`, {
|
|
167
|
+
key: `${outputName}QueueArn`,
|
|
165
168
|
value: this.queue.queueArn,
|
|
166
169
|
description: `SQS queue ARN for ${id}`
|
|
167
170
|
});
|
|
168
|
-
new aws_cdk_lib_1.CfnOutput(this, `${
|
|
169
|
-
key: `${
|
|
171
|
+
new aws_cdk_lib_1.CfnOutput(this, `${outputName}QueueName`, {
|
|
172
|
+
key: `${outputName}QueueName`,
|
|
170
173
|
value: this.queue.queueName,
|
|
171
174
|
description: `SQS queue name for ${id}`
|
|
172
175
|
});
|
|
@@ -228,4 +231,4 @@ class SQSQueue extends constructs_1.Construct {
|
|
|
228
231
|
}
|
|
229
232
|
}
|
|
230
233
|
exports.SQSQueue = SQSQueue;
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvbWVzc2FnaW5nL3Nxcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQWtEO0FBQ2xELGlEQU82QjtBQUU3QixtQ0FBMEM7QUFFMUM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLEdBQUc7SUFDakIsa0JBQWtCLEVBQUU7UUFDbEIsV0FBVyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVc7UUFDL0IsZUFBZSxFQUFFLEVBQUU7S0FDcEI7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixXQUFXLEVBQUUsRUFBRSxFQUFFLFdBQVc7UUFDNUIsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVO1FBQ2hDLGVBQWUsRUFBRSxNQUFNLEVBQUUsU0FBUztRQUNsQyxZQUFZLEVBQUUsQ0FBQztLQUNoQjtJQUNELEtBQUssRUFBRTtRQUNMLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLEdBQUcsQ0FBQyxhQUFhO0tBQy9CO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsV0FBVyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsRUFBRTtLQUNoQjtJQUNELFlBQVksRUFBRTtRQUNaLFNBQVMsRUFBRSxDQUFDO1FBQ1osU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO0tBQzVCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsaUJBQWlCLEVBQUUsQ0FBQztRQUNwQixpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLHFCQUFxQixFQUFFLENBQUM7UUFDeEIsc0JBQXNCLEVBQUUsRUFBRTtLQUMzQjtJQUNELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxDQUFDO1FBQ1gsUUFBUSxFQUFFLEVBQUU7S0FDYjtDQUNPLENBQUM7QUFFRixnQ0FBVTtBQXVCbkIsU0FBUyxZQUFZLENBQ25CLFVBQTJDO0lBRTNDLFFBQVEsVUFBVSxF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QkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFoTEQsNEJBZ0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIFF1ZXVlLFxuICB0eXBlIElRdWV1ZSxcbiAgdHlwZSBEZWFkTGV0dGVyUXVldWUsXG4gIFF1ZXVlRW5jcnlwdGlvbixcbiAgRmlmb1Rocm91Z2hwdXRMaW1pdCxcbiAgRGVkdXBsaWNhdGlvblNjb3BlXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3FzXCI7XG5pbXBvcnQgeyB0eXBlIElHcmFudGFibGUsIHR5cGUgR3JhbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgdG9SZW1vdmFsUG9saWN5IH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuLyoqXG4gKiBBV1MgU1FTIHNlcnZpY2UgbGltaXRzIGFuZCBkZWZhdWx0cy5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU1NpbXBsZVF1ZXVlU2VydmljZS9sYXRlc3QvU1FTRGV2ZWxvcGVyR3VpZGUvc3FzLXF1b3Rhcy5odG1sXG4gKi9cbmNvbnN0IFNRU19MSU1JVFMgPSB7XG4gIFZJU0lCSUxJVFlfVElNRU9VVDoge1xuICAgIE1JTl9TRUNPTkRTOiAwLFxuICAgIE1BWF9TRUNPTkRTOiA0MzIwMCwgLy8gMTIgaG91cnNcbiAgICBERUZBVUxUX1NFQ09ORFM6IDMwXG4gIH0sXG4gIE1FU1NBR0VfUkVURU5USU9OOiB7XG4gICAgTUlOX1NFQ09ORFM6IDYwLCAvLyAxIG1pbnV0ZVxuICAgIE1BWF9TRUNPTkRTOiAxMjA5NjAwLCAvLyAxNCBkYXlzXG4gICAgREVGQVVMVF9TRUNPTkRTOiAzNDU2MDAsIC8vIDQgZGF5c1xuICAgIERFRkFVTFRfREFZUzogNFxuICB9LFxuICBERUxBWToge1xuICAgIE1JTl9TRUNPTkRTOiAwLFxuICAgIE1BWF9TRUNPTkRTOiA5MDAgLy8gMTUgbWludXRlc1xuICB9LFxuICBSRUNFSVZFX1dBSVRfVElNRToge1xuICAgIE1JTl9TRUNPTkRTOiAwLFxuICAgIE1BWF9TRUNPTkRTOiAyMFxuICB9LFxuICBNRVNTQUdFX1NJWkU6IHtcbiAgICBNSU5fQllURVM6IDEsXG4gICAgTUFYX0JZVEVTOiAyNjIxNDQgLy8gMjU2IEtCXG4gIH0sXG4gIERFQURfTEVUVEVSX1FVRVVFOiB7XG4gICAgTUlOX1JFQ0VJVkVfQ09VTlQ6IDEsXG4gICAgTUFYX1JFQ0VJVkVfQ09VTlQ6IDEwMDAsXG4gICAgREVGQVVMVF9SRUNFSVZFX0NPVU5UOiAzLFxuICAgIERFRkFVTFRfUkVURU5USU9OX0RBWVM6IDE0XG4gIH0sXG4gIEJBVENIOiB7XG4gICAgTUlOX1NJWkU6IDEsXG4gICAgTUFYX1NJWkU6IDEwXG4gIH1cbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB7IFNRU19MSU1JVFMgfTtcblxuZXhwb3J0IGludGVyZmFjZSBTUVNRdWV1ZVByb3BzIHtcbiAgcXVldWVOYW1lPzogc3RyaW5nO1xuICBxdWV1ZVR5cGU/OiBcInN0YW5kYXJkXCIgfCBcImZpZm9cIjtcbiAgdmlzaWJpbGl0eVRpbWVvdXQ/OiBudW1iZXI7XG4gIG1lc3NhZ2VSZXRlbnRpb25QZXJpb2Q/OiBudW1iZXI7XG4gIHJlY2VpdmVNZXNzYWdlV2FpdFRpbWU/OiBudW1iZXI7XG4gIG1heE1lc3NhZ2VTaXplPzogbnVtYmVyO1xuICBkZWxpdmVyeURlbGF5PzogbnVtYmVyO1xuICBkZWFkTGV0dGVyUXVldWU/OiB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBtYXhSZWNlaXZlQ291bnQ/OiBudW1iZXI7XG4gICAgcXVldWU/OiBJUXVldWU7XG4gIH07XG4gIGVuY3J5cHRpb24/OiBcIlNTRV9TUVNcIiB8IFwiU1NFX0tNU1wiIHwgXCJOT05FXCI7XG4gIGttc0tleUFybj86IHN0cmluZztcbiAgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbj86IGJvb2xlYW47XG4gIGZpZm9UaHJvdWdocHV0TGltaXQ/OiBcInBlclF1ZXVlXCIgfCBcInBlck1lc3NhZ2VHcm91cElkXCI7XG4gIGRlZHVwbGljYXRpb25TY29wZT86IFwicXVldWVcIiB8IFwibWVzc2FnZUdyb3VwXCI7XG4gIHJlbW92YWxQb2xpY3k/OiBcIkRFU1RST1lcIiB8IFwiUkVUQUlOXCI7XG59XG5cbmZ1bmN0aW9uIHRvRW5jcnlwdGlvbihcbiAgZW5jcnlwdGlvbj86IFwiU1NFX1NRU1wiIHwgXCJTU0VfS01TXCIgfCBcIk5PTkVcIlxuKTogUXVldWVFbmNyeXB0aW9uIHtcbiAgc3dpdGNoIChlbmNyeXB0aW9uKSB7XG4gICAgY2FzZSBcIlNTRV9LTVNcIjpcbiAgICAgIHJldHVybiBRdWV1ZUVuY3J5cHRpb24uS01TO1xuICAgIGNhc2UgXCJOT05FXCI6XG4gICAgICByZXR1cm4gUXVldWVFbmNyeXB0aW9uLlVORU5DUllQVEVEO1xuICAgIGNhc2UgXCJTU0VfU1FTXCI6XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBRdWV1ZUVuY3J5cHRpb24uU1FTX01BTkFHRUQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdG9GaWZvVGhyb3VnaHB1dExpbWl0KFxuICBsaW1pdD86IFwicGVyUXVldWVcIiB8IFwicGVyTWVzc2FnZUdyb3VwSWRcIlxuKTogRmlmb1Rocm91Z2hwdXRMaW1pdCB8IHVuZGVmaW5lZCB7XG4gIHN3aXRjaCAobGltaXQpIHtcbiAgICBjYXNlIFwicGVyUXVldWVcIjpcbiAgICAgIHJldHVybiBGaWZvVGhyb3VnaHB1dExpbWl0LlBFUl9RVUVVRTtcbiAgICBjYXNlIFwicGVyTWVzc2FnZUdyb3VwSWRcIjpcbiAgICAgIHJldHVybiBGaWZvVGhyb3VnaHB1dExpbWl0LlBFUl9NRVNTQUdFX0dST1VQX0lEO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRvRGVkdXBsaWNhdGlvblNjb3BlKFxuICBzY29wZT86IFwicXVldWVcIiB8IFwibWVzc2FnZUdyb3VwXCJcbik6IERlZHVwbGljYXRpb25TY29wZSB8IHVuZGVmaW5lZCB7XG4gIHN3aXRjaCAoc2NvcGUpIHtcbiAgICBjYXNlIFwicXVldWVcIjpcbiAgICAgIHJldHVybiBEZWR1cGxpY2F0aW9uU2NvcGUuUVVFVUU7XG4gICAgY2FzZSBcIm1lc3NhZ2VHcm91cFwiOlxuICAgICAgcmV0dXJuIERlZHVwbGljYXRpb25TY29wZS5NRVNTQUdFX0dST1VQO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTUVNRdWV1ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xuICBwcml2YXRlIHF1ZXVlOiBRdWV1ZTtcbiAgcHJpdmF0ZSBkbHE/OiBRdWV1ZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU1FTUXVldWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuXG4gICAgY29uc3QgaXNGaWZvID0gcHJvcHMucXVldWVUeXBlID09PSBcImZpZm9cIjtcbiAgICBjb25zdCBxdWV1ZU5hbWUgPSBwcm9wcy5xdWV1ZU5hbWVcbiAgICAgID8gaXNGaWZvXG4gICAgICAgID8gYCR7cHJvcHMucXVldWVOYW1lfS5maWZvYFxuICAgICAgICA6IHByb3BzLnF1ZXVlTmFtZVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBDcmVhdGUgRGVhZCBMZXR0ZXIgUXVldWUgaWYgZW5hYmxlZFxuICAgIGxldCBkZWFkTGV0dGVyUXVldWU6IERlYWRMZXR0ZXJRdWV1ZSB8IHVuZGVmaW5lZDtcbiAgICBpZiAocHJvcHMuZGVhZExldHRlclF1ZXVlPy5lbmFibGVkKSB7XG4gICAgICBpZiAocHJvcHMuZGVhZExldHRlclF1ZXVlLnF1ZXVlKSB7XG4gICAgICAgIGRlYWRMZXR0ZXJRdWV1ZSA9IHtcbiAgICAgICAgICBxdWV1ZTogcHJvcHMuZGVhZExldHRlclF1ZXVlLnF1ZXVlLFxuICAgICAgICAgIG1heFJlY2VpdmVDb3VudDpcbiAgICAgICAgICAgIHByb3BzLmRlYWRMZXR0ZXJRdWV1ZS5tYXhSZWNlaXZlQ291bnQgPz9cbiAgICAgICAgICAgIFNRU19MSU1JVFMuREVBRF9MRVRURVJfUVVFVUUuREVGQVVMVF9SRUNFSVZFX0NPVU5UXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkbHFOYW1lID0gcXVldWVOYW1lXG4gICAgICAgICAgPyBpc0ZpZm9cbiAgICAgICAgICAgID8gYCR7cHJvcHMucXVldWVOYW1lfS1kbHEuZmlmb2BcbiAgICAgICAgICAgIDogYCR7cHJvcHMucXVldWVOYW1lfS1kbHFgXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgdGhpcy5kbHEgPSBuZXcgUXVldWUodGhpcywgYCR7aWR9RGVhZExldHRlclF1ZXVlYCwge1xuICAgICAgICAgIHF1ZXVlTmFtZTogZGxxTmFtZSxcbiAgICAgICAgICBmaWZvOiBpc0ZpZm8sXG4gICAgICAgICAgZW5jcnlwdGlvbjogdG9FbmNyeXB0aW9uKHByb3BzLmVuY3J5cHRpb24pLFxuICAgICAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cyhcbiAgICAgICAgICAgIFNRU19MSU1JVFMuREVBRF9MRVRURVJfUVVFVUUuREVGQVVMVF9SRVRFTlRJT05fREFZU1xuICAgICAgICAgICksXG4gICAgICAgICAgcmVtb3ZhbFBvbGljeTogdG9SZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3kpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlYWRMZXR0ZXJRdWV1ZSA9IHtcbiAgICAgICAgICBxdWV1ZTogdGhpcy5kbHEsXG4gICAgICAgICAgbWF4UmVjZWl2ZUNvdW50OlxuICAgICAgICAgICAgcHJvcHMuZGVhZExldHRlclF1ZXVlLm1heFJlY2VpdmVDb3VudCA/P1xuICAgICAgICAgICAgU1FTX0xJTUlUUy5ERUFEX0xFVFRFUl9RVUVVRS5ERUZBVUxUX1JFQ0VJVkVfQ09VTlRcbiAgICAgICAgfTtcblxuICAgICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGAke2lkfURlYWRMZXR0ZXJRdWV1ZVVybGAsIHtcbiAgICAgICAgICBrZXk6IGAke2lkfURlYWRMZXR0ZXJRdWV1ZVVybGAsXG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGxxLnF1ZXVlVXJsLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgRGVhZCBsZXR0ZXIgcXVldWUgVVJMIGZvciAke2lkfWBcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtpZH1EZWFkTGV0dGVyUXVldWVBcm5gLCB7XG4gICAgICAgICAga2V5OiBgJHtpZH1EZWFkTGV0dGVyUXVldWVBcm5gLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLmRscS5xdWV1ZUFybixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYERlYWQgbGV0dGVyIHF1ZXVlIEFSTiBmb3IgJHtpZH1gXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucXVldWUgPSBuZXcgUXVldWUodGhpcywgYCR7aWR9UXVldWVgLCB7XG4gICAgICBxdWV1ZU5hbWUsXG4gICAgICBmaWZvOiBpc0ZpZm8sXG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogcHJvcHMudmlzaWJpbGl0eVRpbWVvdXRcbiAgICAgICAgPyBEdXJhdGlvbi5zZWNvbmRzKHByb3BzLnZpc2liaWxpdHlUaW1lb3V0KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJldGVudGlvblBlcmlvZDogcHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZFxuICAgICAgICA/IER1cmF0aW9uLnNlY29uZHMocHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByZWNlaXZlTWVzc2FnZVdhaXRUaW1lOiBwcm9wcy5yZWNlaXZlTWVzc2FnZVdhaXRUaW1lXG4gICAgICAgID8gRHVyYXRpb24uc2Vjb25kcyhwcm9wcy5yZWNlaXZlTWVzc2FnZVdhaXRUaW1lKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG1heE1lc3NhZ2VTaXplQnl0ZXM6IHByb3BzLm1heE1lc3NhZ2VTaXplLFxuICAgICAgZGVsaXZlcnlEZWxheTogcHJvcHMuZGVsaXZlcnlEZWxheVxuICAgICAgICA/IER1cmF0aW9uLnNlY29uZHMocHJvcHMuZGVsaXZlcnlEZWxheSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBkZWFkTGV0dGVyUXVldWUsXG4gICAgICBlbmNyeXB0aW9uOiB0b0VuY3J5cHRpb24ocHJvcHMuZW5jcnlwdGlvbiksXG4gICAgICBjb250ZW50QmFzZWREZWR1cGxpY2F0aW9uOiBpc0ZpZm9cbiAgICAgICAgPyAocHJvcHMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbiA/PyB0cnVlKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGZpZm9UaHJvdWdocHV0TGltaXQ6IGlzRmlmb1xuICAgICAgICA/IHRvRmlmb1Rocm91Z2hwdXRMaW1pdChwcm9wcy5maWZvVGhyb3VnaHB1dExpbWl0KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZHVwbGljYXRpb25TY29wZTogaXNGaWZvXG4gICAgICAgID8gdG9EZWR1cGxpY2F0aW9uU2NvcGUocHJvcHMuZGVkdXBsaWNhdGlvblNjb3BlKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHRvUmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5KVxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtpZH1RdWV1ZVVybGAsIHtcbiAgICAgIGtleTogYCR7aWR9UXVldWVVcmxgLFxuICAgICAgdmFsdWU6IHRoaXMucXVldWUucXVldWVVcmwsXG4gICAgICBkZXNjcmlwdGlvbjogYFNRUyBxdWV1ZSBVUkwgZm9yICR7aWR9YFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtpZH1RdWV1ZUFybmAsIHtcbiAgICAgIGtleTogYCR7aWR9UXVldWVBcm5gLFxuICAgICAgdmFsdWU6IHRoaXMucXVldWUucXVldWVBcm4sXG4gICAgICBkZXNjcmlwdGlvbjogYFNRUyBxdWV1ZSBBUk4gZm9yICR7aWR9YFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtpZH1RdWV1ZU5hbWVgLCB7XG4gICAgICBrZXk6IGAke2lkfVF1ZXVlTmFtZWAsXG4gICAgICB2YWx1ZTogdGhpcy5xdWV1ZS5xdWV1ZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYFNRUyBxdWV1ZSBuYW1lIGZvciAke2lkfWBcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIFNRUyBxdWV1ZSBVUkwuXG4gICAqL1xuICBwdWJsaWMgZ2V0UXVldWVVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5xdWV1ZVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIFNRUyBxdWV1ZSBBUk4uXG4gICAqL1xuICBwdWJsaWMgZ2V0UXVldWVBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5xdWV1ZUFybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIFNRUyBxdWV1ZSBuYW1lLlxuICAgKi9cbiAgcHVibGljIGdldFF1ZXVlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLnF1ZXVlTmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVuZGVybHlpbmcgQ0RLIFF1ZXVlIGNvbnN0cnVjdC5cbiAgICovXG4gIHB1YmxpYyBnZXRRdWV1ZSgpOiBJUXVldWUge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVhZCBsZXR0ZXIgcXVldWUgaWYgY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBnZXREZWFkTGV0dGVyUXVldWUoKTogSVF1ZXVlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5kbHE7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgc2VuZCBtZXNzYWdlIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLlxuICAgKi9cbiAgcHVibGljIGdyYW50U2VuZChncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKGdyYW50ZWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IGNvbnN1bWUgKHJlY2VpdmUgYW5kIGRlbGV0ZSkgbWVzc2FnZSBwZXJtaXNzaW9ucyB0byB0aGUgZ3JhbnRlZS5cbiAgICovXG4gIHB1YmxpYyBncmFudENvbnN1bWUoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5ncmFudENvbnN1bWVNZXNzYWdlcyhncmFudGVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCBwdXJnZSBxdWV1ZSBwZXJtaXNzaW9ucyB0byB0aGUgZ3JhbnRlZS5cbiAgICovXG4gIHB1YmxpYyBncmFudFB1cmdlKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuZ3JhbnRQdXJnZShncmFudGVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCBzZW5kIGFuZCBjb25zdW1lIG1lc3NhZ2UgcGVybWlzc2lvbnMgdG8gdGhlIGdyYW50ZWUuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRTZW5kQW5kQ29uc3VtZShncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQge1xuICAgIHRoaXMucXVldWUuZ3JhbnRTZW5kTWVzc2FnZXMoZ3JhbnRlZSk7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuZ3JhbnRDb25zdW1lTWVzc2FnZXMoZ3JhbnRlZSk7XG4gIH1cbn1cbiJdfQ==
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvbWVzc2FnaW5nL3Nxcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQWtEO0FBQ2xELHNFQUErRDtBQUMvRCxpREFPNkI7QUFFN0IsbUNBQTBDO0FBRTFDOzs7R0FHRztBQUNILE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGtCQUFrQixFQUFFO1FBQ2xCLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXO1FBQy9CLGVBQWUsRUFBRSxFQUFFO0tBQ3BCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsV0FBVyxFQUFFLEVBQUUsRUFBRSxXQUFXO1FBQzVCLFdBQVcsRUFBRSxPQUFPLEVBQUUsVUFBVTtRQUNoQyxlQUFlLEVBQUUsTUFBTSxFQUFFLFNBQVM7UUFDbEMsWUFBWSxFQUFFLENBQUM7S0FDaEI7SUFDRCxLQUFLLEVBQUU7UUFDTCxXQUFXLEVBQUUsQ0FBQztRQUNkLFdBQVcsRUFBRSxHQUFHLENBQUMsYUFBYTtLQUMvQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLEVBQUU7S0FDaEI7SUFDRCxZQUFZLEVBQUU7UUFDWixTQUFTLEVBQUUsQ0FBQztRQUNaLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztLQUM1QjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLGlCQUFpQixFQUFFLENBQUM7UUFDcEIsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLHNCQUFzQixFQUFFLEVBQUU7S0FDM0I7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsQ0FBQztRQUNYLFFBQVEsRUFBRSxFQUFFO0tBQ2I7Q0FDTyxDQUFDO0FBRUYsZ0NBQVU7QUF1Qm5CLFNBQVMsWUFBWSxDQUNuQixVQUEyQztJQUUz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QUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFuTEQsNEJBbUxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHRvUGFzY2FsQ2FzZSB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9jYXBpdGFsaXNlU3RyaW5nXCI7XG5pbXBvcnQge1xuICBRdWV1ZSxcbiAgdHlwZSBJUXVldWUsXG4gIHR5cGUgRGVhZExldHRlclF1ZXVlLFxuICBRdWV1ZUVuY3J5cHRpb24sXG4gIEZpZm9UaHJvdWdocHV0TGltaXQsXG4gIERlZHVwbGljYXRpb25TY29wZVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNxc1wiO1xuaW1wb3J0IHsgdHlwZSBJR3JhbnRhYmxlLCB0eXBlIEdyYW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IHRvUmVtb3ZhbFBvbGljeSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbi8qKlxuICogQVdTIFNRUyBzZXJ2aWNlIGxpbWl0cyBhbmQgZGVmYXVsdHMuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NTaW1wbGVRdWV1ZVNlcnZpY2UvbGF0ZXN0L1NRU0RldmVsb3Blckd1aWRlL3Nxcy1xdW90YXMuaHRtbFxuICovXG5jb25zdCBTUVNfTElNSVRTID0ge1xuICBWSVNJQklMSVRZX1RJTUVPVVQ6IHtcbiAgICBNSU5fU0VDT05EUzogMCxcbiAgICBNQVhfU0VDT05EUzogNDMyMDAsIC8vIDEyIGhvdXJzXG4gICAgREVGQVVMVF9TRUNPTkRTOiAzMFxuICB9LFxuICBNRVNTQUdFX1JFVEVOVElPTjoge1xuICAgIE1JTl9TRUNPTkRTOiA2MCwgLy8gMSBtaW51dGVcbiAgICBNQVhfU0VDT05EUzogMTIwOTYwMCwgLy8gMTQgZGF5c1xuICAgIERFRkFVTFRfU0VDT05EUzogMzQ1NjAwLCAvLyA0IGRheXNcbiAgICBERUZBVUxUX0RBWVM6IDRcbiAgfSxcbiAgREVMQVk6IHtcbiAgICBNSU5fU0VDT05EUzogMCxcbiAgICBNQVhfU0VDT05EUzogOTAwIC8vIDE1IG1pbnV0ZXNcbiAgfSxcbiAgUkVDRUlWRV9XQUlUX1RJTUU6IHtcbiAgICBNSU5fU0VDT05EUzogMCxcbiAgICBNQVhfU0VDT05EUzogMjBcbiAgfSxcbiAgTUVTU0FHRV9TSVpFOiB7XG4gICAgTUlOX0JZVEVTOiAxLFxuICAgIE1BWF9CWVRFUzogMjYyMTQ0IC8vIDI1NiBLQlxuICB9LFxuICBERUFEX0xFVFRFUl9RVUVVRToge1xuICAgIE1JTl9SRUNFSVZFX0NPVU5UOiAxLFxuICAgIE1BWF9SRUNFSVZFX0NPVU5UOiAxMDAwLFxuICAgIERFRkFVTFRfUkVDRUlWRV9DT1VOVDogMyxcbiAgICBERUZBVUxUX1JFVEVOVElPTl9EQVlTOiAxNFxuICB9LFxuICBCQVRDSDoge1xuICAgIE1JTl9TSVpFOiAxLFxuICAgIE1BWF9TSVpFOiAxMFxuICB9XG59IGFzIGNvbnN0O1xuXG5leHBvcnQgeyBTUVNfTElNSVRTIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1FTUXVldWVQcm9wcyB7XG4gIHF1ZXVlTmFtZT86IHN0cmluZztcbiAgcXVldWVUeXBlPzogXCJzdGFuZGFyZFwiIHwgXCJmaWZvXCI7XG4gIHZpc2liaWxpdHlUaW1lb3V0PzogbnVtYmVyO1xuICBtZXNzYWdlUmV0ZW50aW9uUGVyaW9kPzogbnVtYmVyO1xuICByZWNlaXZlTWVzc2FnZVdhaXRUaW1lPzogbnVtYmVyO1xuICBtYXhNZXNzYWdlU2l6ZT86IG51bWJlcjtcbiAgZGVsaXZlcnlEZWxheT86IG51bWJlcjtcbiAgZGVhZExldHRlclF1ZXVlPzoge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgbWF4UmVjZWl2ZUNvdW50PzogbnVtYmVyO1xuICAgIHF1ZXVlPzogSVF1ZXVlO1xuICB9O1xuICBlbmNyeXB0aW9uPzogXCJTU0VfU1FTXCIgfCBcIlNTRV9LTVNcIiB8IFwiTk9ORVwiO1xuICBrbXNLZXlBcm4/OiBzdHJpbmc7XG4gIGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24/OiBib29sZWFuO1xuICBmaWZvVGhyb3VnaHB1dExpbWl0PzogXCJwZXJRdWV1ZVwiIHwgXCJwZXJNZXNzYWdlR3JvdXBJZFwiO1xuICBkZWR1cGxpY2F0aW9uU2NvcGU/OiBcInF1ZXVlXCIgfCBcIm1lc3NhZ2VHcm91cFwiO1xuICByZW1vdmFsUG9saWN5PzogXCJERVNUUk9ZXCIgfCBcIlJFVEFJTlwiO1xufVxuXG5mdW5jdGlvbiB0b0VuY3J5cHRpb24oXG4gIGVuY3J5cHRpb24/OiBcIlNTRV9TUVNcIiB8IFwiU1NFX0tNU1wiIHwgXCJOT05FXCJcbik6IFF1ZXVlRW5jcnlwdGlvbiB7XG4gIHN3aXRjaCAoZW5jcnlwdGlvbikge1xuICAgIGNhc2UgXCJTU0VfS01TXCI6XG4gICAgICByZXR1cm4gUXVldWVFbmNyeXB0aW9uLktNUztcbiAgICBjYXNlIFwiTk9ORVwiOlxuICAgICAgcmV0dXJuIFF1ZXVlRW5jcnlwdGlvbi5VTkVOQ1JZUFRFRDtcbiAgICBjYXNlIFwiU1NFX1NRU1wiOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gUXVldWVFbmNyeXB0aW9uLlNRU19NQU5BR0VEO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRvRmlmb1Rocm91Z2hwdXRMaW1pdChcbiAgbGltaXQ/OiBcInBlclF1ZXVlXCIgfCBcInBlck1lc3NhZ2VHcm91cElkXCJcbik6IEZpZm9UaHJvdWdocHV0TGltaXQgfCB1bmRlZmluZWQge1xuICBzd2l0Y2ggKGxpbWl0KSB7XG4gICAgY2FzZSBcInBlclF1ZXVlXCI6XG4gICAgICByZXR1cm4gRmlmb1Rocm91Z2hwdXRMaW1pdC5QRVJfUVVFVUU7XG4gICAgY2FzZSBcInBlck1lc3NhZ2VHcm91cElkXCI6XG4gICAgICByZXR1cm4gRmlmb1Rocm91Z2hwdXRMaW1pdC5QRVJfTUVTU0FHRV9HUk9VUF9JRDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5mdW5jdGlvbiB0b0RlZHVwbGljYXRpb25TY29wZShcbiAgc2NvcGU/OiBcInF1ZXVlXCIgfCBcIm1lc3NhZ2VHcm91cFwiXG4pOiBEZWR1cGxpY2F0aW9uU2NvcGUgfCB1bmRlZmluZWQge1xuICBzd2l0Y2ggKHNjb3BlKSB7XG4gICAgY2FzZSBcInF1ZXVlXCI6XG4gICAgICByZXR1cm4gRGVkdXBsaWNhdGlvblNjb3BlLlFVRVVFO1xuICAgIGNhc2UgXCJtZXNzYWdlR3JvdXBcIjpcbiAgICAgIHJldHVybiBEZWR1cGxpY2F0aW9uU2NvcGUuTUVTU0FHRV9HUk9VUDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU1FTUXVldWUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBxdWV1ZTogUXVldWU7XG4gIHByaXZhdGUgZGxxPzogUXVldWU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNRU1F1ZXVlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuaWQgPSBpZDtcblxuICAgIC8vIFNhbml0aXNlIGlkIGZvciBDbG91ZEZvcm1hdGlvbiBvdXRwdXQga2V5cyAobXVzdCBiZSBhbHBoYW51bWVyaWMpXG4gICAgY29uc3Qgb3V0cHV0TmFtZSA9IHRvUGFzY2FsQ2FzZShpZCk7XG5cbiAgICBjb25zdCBpc0ZpZm8gPSBwcm9wcy5xdWV1ZVR5cGUgPT09IFwiZmlmb1wiO1xuICAgIGNvbnN0IHF1ZXVlTmFtZSA9IHByb3BzLnF1ZXVlTmFtZVxuICAgICAgPyBpc0ZpZm9cbiAgICAgICAgPyBgJHtwcm9wcy5xdWV1ZU5hbWV9LmZpZm9gXG4gICAgICAgIDogcHJvcHMucXVldWVOYW1lXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vIENyZWF0ZSBEZWFkIExldHRlciBRdWV1ZSBpZiBlbmFibGVkXG4gICAgbGV0IGRlYWRMZXR0ZXJRdWV1ZTogRGVhZExldHRlclF1ZXVlIHwgdW5kZWZpbmVkO1xuICAgIGlmIChwcm9wcy5kZWFkTGV0dGVyUXVldWU/LmVuYWJsZWQpIHtcbiAgICAgIGlmIChwcm9wcy5kZWFkTGV0dGVyUXVldWUucXVldWUpIHtcbiAgICAgICAgZGVhZExldHRlclF1ZXVlID0ge1xuICAgICAgICAgIHF1ZXVlOiBwcm9wcy5kZWFkTGV0dGVyUXVldWUucXVldWUsXG4gICAgICAgICAgbWF4UmVjZWl2ZUNvdW50OlxuICAgICAgICAgICAgcHJvcHMuZGVhZExldHRlclF1ZXVlLm1heFJlY2VpdmVDb3VudCA/P1xuICAgICAgICAgICAgU1FTX0xJTUlUUy5ERUFEX0xFVFRFUl9RVUVVRS5ERUZBVUxUX1JFQ0VJVkVfQ09VTlRcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRscU5hbWUgPSBxdWV1ZU5hbWVcbiAgICAgICAgICA/IGlzRmlmb1xuICAgICAgICAgICAgPyBgJHtwcm9wcy5xdWV1ZU5hbWV9LWRscS5maWZvYFxuICAgICAgICAgICAgOiBgJHtwcm9wcy5xdWV1ZU5hbWV9LWRscWBcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICB0aGlzLmRscSA9IG5ldyBRdWV1ZSh0aGlzLCBgJHtpZH1EZWFkTGV0dGVyUXVldWVgLCB7XG4gICAgICAgICAgcXVldWVOYW1lOiBkbHFOYW1lLFxuICAgICAgICAgIGZpZm86IGlzRmlmbyxcbiAgICAgICAgICBlbmNyeXB0aW9uOiB0b0VuY3J5cHRpb24ocHJvcHMuZW5jcnlwdGlvbiksXG4gICAgICAgICAgcmV0ZW50aW9uUGVyaW9kOiBEdXJhdGlvbi5kYXlzKFxuICAgICAgICAgICAgU1FTX0xJTUlUUy5ERUFEX0xFVFRFUl9RVUVVRS5ERUZBVUxUX1JFVEVOVElPTl9EQVlTXG4gICAgICAgICAgKSxcbiAgICAgICAgICByZW1vdmFsUG9saWN5OiB0b1JlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVhZExldHRlclF1ZXVlID0ge1xuICAgICAgICAgIHF1ZXVlOiB0aGlzLmRscSxcbiAgICAgICAgICBtYXhSZWNlaXZlQ291bnQ6XG4gICAgICAgICAgICBwcm9wcy5kZWFkTGV0dGVyUXVldWUubWF4UmVjZWl2ZUNvdW50ID8/XG4gICAgICAgICAgICBTUVNfTElNSVRTLkRFQURfTEVUVEVSX1FVRVVFLkRFRkFVTFRfUkVDRUlWRV9DT1VOVFxuICAgICAgICB9O1xuXG4gICAgICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7b3V0cHV0TmFtZX1EZWFkTGV0dGVyUXVldWVVcmxgLCB7XG4gICAgICAgICAga2V5OiBgJHtvdXRwdXROYW1lfURlYWRMZXR0ZXJRdWV1ZVVybGAsXG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGxxLnF1ZXVlVXJsLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgRGVhZCBsZXR0ZXIgcXVldWUgVVJMIGZvciAke2lkfWBcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtvdXRwdXROYW1lfURlYWRMZXR0ZXJRdWV1ZUFybmAsIHtcbiAgICAgICAgICBrZXk6IGAke291dHB1dE5hbWV9RGVhZExldHRlclF1ZXVlQXJuYCxcbiAgICAgICAgICB2YWx1ZTogdGhpcy5kbHEucXVldWVBcm4sXG4gICAgICAgICAgZGVzY3JpcHRpb246IGBEZWFkIGxldHRlciBxdWV1ZSBBUk4gZm9yICR7aWR9YFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnF1ZXVlID0gbmV3IFF1ZXVlKHRoaXMsIGAke2lkfVF1ZXVlYCwge1xuICAgICAgcXVldWVOYW1lLFxuICAgICAgZmlmbzogaXNGaWZvLFxuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IHByb3BzLnZpc2liaWxpdHlUaW1lb3V0XG4gICAgICAgID8gRHVyYXRpb24uc2Vjb25kcyhwcm9wcy52aXNpYmlsaXR5VGltZW91dClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByZXRlbnRpb25QZXJpb2Q6IHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RcbiAgICAgICAgPyBEdXJhdGlvbi5zZWNvbmRzKHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2QpXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgcmVjZWl2ZU1lc3NhZ2VXYWl0VGltZTogcHJvcHMucmVjZWl2ZU1lc3NhZ2VXYWl0VGltZVxuICAgICAgICA/IER1cmF0aW9uLnNlY29uZHMocHJvcHMucmVjZWl2ZU1lc3NhZ2VXYWl0VGltZSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBtYXhNZXNzYWdlU2l6ZUJ5dGVzOiBwcm9wcy5tYXhNZXNzYWdlU2l6ZSxcbiAgICAgIGRlbGl2ZXJ5RGVsYXk6IHByb3BzLmRlbGl2ZXJ5RGVsYXlcbiAgICAgICAgPyBEdXJhdGlvbi5zZWNvbmRzKHByb3BzLmRlbGl2ZXJ5RGVsYXkpXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZGVhZExldHRlclF1ZXVlLFxuICAgICAgZW5jcnlwdGlvbjogdG9FbmNyeXB0aW9uKHByb3BzLmVuY3J5cHRpb24pLFxuICAgICAgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogaXNGaWZvXG4gICAgICAgID8gKHByb3BzLmNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24gPz8gdHJ1ZSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBmaWZvVGhyb3VnaHB1dExpbWl0OiBpc0ZpZm9cbiAgICAgICAgPyB0b0ZpZm9UaHJvdWdocHV0TGltaXQocHJvcHMuZmlmb1Rocm91Z2hwdXRMaW1pdClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBkZWR1cGxpY2F0aW9uU2NvcGU6IGlzRmlmb1xuICAgICAgICA/IHRvRGVkdXBsaWNhdGlvblNjb3BlKHByb3BzLmRlZHVwbGljYXRpb25TY29wZSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByZW1vdmFsUG9saWN5OiB0b1JlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSlcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7b3V0cHV0TmFtZX1RdWV1ZVVybGAsIHtcbiAgICAgIGtleTogYCR7b3V0cHV0TmFtZX1RdWV1ZVVybGAsXG4gICAgICB2YWx1ZTogdGhpcy5xdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBgU1FTIHF1ZXVlIFVSTCBmb3IgJHtpZH1gXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGAke291dHB1dE5hbWV9UXVldWVBcm5gLCB7XG4gICAgICBrZXk6IGAke291dHB1dE5hbWV9UXVldWVBcm5gLFxuICAgICAgdmFsdWU6IHRoaXMucXVldWUucXVldWVBcm4sXG4gICAgICBkZXNjcmlwdGlvbjogYFNRUyBxdWV1ZSBBUk4gZm9yICR7aWR9YFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtvdXRwdXROYW1lfVF1ZXVlTmFtZWAsIHtcbiAgICAgIGtleTogYCR7b3V0cHV0TmFtZX1RdWV1ZU5hbWVgLFxuICAgICAgdmFsdWU6IHRoaXMucXVldWUucXVldWVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IGBTUVMgcXVldWUgbmFtZSBmb3IgJHtpZH1gXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTUVMgcXVldWUgVVJMLlxuICAgKi9cbiAgcHVibGljIGdldFF1ZXVlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUucXVldWVVcmw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTUVMgcXVldWUgQVJOLlxuICAgKi9cbiAgcHVibGljIGdldFF1ZXVlQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUucXVldWVBcm47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTUVMgcXVldWUgbmFtZS5cbiAgICovXG4gIHB1YmxpYyBnZXRRdWV1ZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5xdWV1ZU5hbWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB1bmRlcmx5aW5nIENESyBRdWV1ZSBjb25zdHJ1Y3QuXG4gICAqL1xuICBwdWJsaWMgZ2V0UXVldWUoKTogSVF1ZXVlIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlYWQgbGV0dGVyIHF1ZXVlIGlmIGNvbmZpZ3VyZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGVhZExldHRlclF1ZXVlKCk6IElRdWV1ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZGxxO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHNlbmQgbWVzc2FnZSBwZXJtaXNzaW9ucyB0byB0aGUgZ3JhbnRlZS5cbiAgICovXG4gIHB1YmxpYyBncmFudFNlbmQoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5ncmFudFNlbmRNZXNzYWdlcyhncmFudGVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCBjb25zdW1lIChyZWNlaXZlIGFuZCBkZWxldGUpIG1lc3NhZ2UgcGVybWlzc2lvbnMgdG8gdGhlIGdyYW50ZWUuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRDb25zdW1lKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuZ3JhbnRDb25zdW1lTWVzc2FnZXMoZ3JhbnRlZSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgcHVyZ2UgcXVldWUgcGVybWlzc2lvbnMgdG8gdGhlIGdyYW50ZWUuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRQdXJnZShncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLmdyYW50UHVyZ2UoZ3JhbnRlZSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgc2VuZCBhbmQgY29uc3VtZSBtZXNzYWdlIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLlxuICAgKi9cbiAgcHVibGljIGdyYW50U2VuZEFuZENvbnN1bWUoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50IHtcbiAgICB0aGlzLnF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKGdyYW50ZWUpO1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLmdyYW50Q29uc3VtZU1lc3NhZ2VzKGdyYW50ZWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toRemovalPolicy = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9tZXNzYWdpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBSXJDLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBNEIsRUFBaUIsRUFBRSxDQUM3RSxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQywyQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsMkJBQWEsQ0FBQyxPQUFPLENBQUM7QUFEeEQsUUFBQSxlQUFlLG1CQUN5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IHR5cGUgUmVtb3ZhbFBvbGljeVN0cmluZyA9IFwiREVTVFJPWVwiIHwgXCJSRVRBSU5cIjtcblxuZXhwb3J0IGNvbnN0IHRvUmVtb3ZhbFBvbGljeSA9IChwb2xpY3k/OiBSZW1vdmFsUG9saWN5U3RyaW5nKTogUmVtb3ZhbFBvbGljeSA9PlxuICBwb2xpY3kgPT09IFwiUkVUQUlOXCIgPyBSZW1vdmFsUG9saWN5LlJFVEFJTiA6IFJlbW92YWxQb2xpY3kuREVTVFJPWTtcbiJdfQ==
|
|
4
|
+
var removalPolicy_1 = require("../../../utils/removalPolicy");
|
|
5
|
+
Object.defineProperty(exports, "toRemovalPolicy", { enumerable: true, get: function () { return removalPolicy_1.toRemovalPolicy; } });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9tZXNzYWdpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQStEO0FBQXRELGdIQUFBLGVBQWUsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHRvUmVtb3ZhbFBvbGljeSB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9yZW1vdmFsUG9saWN5XCI7XG5cbmV4cG9ydCB0eXBlIFJlbW92YWxQb2xpY3lTdHJpbmcgPSBcIkRFU1RST1lcIiB8IFwiUkVUQUlOXCI7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./monitoringRole";
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./monitoringRole"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9tb25pdG9yaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tb25pdG9yaW5nUm9sZVwiO1xuIl19
|
|
2
|
+
// Per-app monitoring roles have been removed.
|
|
3
|
+
// Monitoring is now handled by the per-account AccountMonitoringRole
|
|
4
|
+
// construct in config/aws/accountMonitoringRole.ts.
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9tb25pdG9yaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw4Q0FBOEM7QUFDOUMscUVBQXFFO0FBQ3JFLG9EQUFvRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIFBlci1hcHAgbW9uaXRvcmluZyByb2xlcyBoYXZlIGJlZW4gcmVtb3ZlZC5cbi8vIE1vbml0b3JpbmcgaXMgbm93IGhhbmRsZWQgYnkgdGhlIHBlci1hY2NvdW50IEFjY291bnRNb25pdG9yaW5nUm9sZVxuLy8gY29uc3RydWN0IGluIGNvbmZpZy9hd3MvYWNjb3VudE1vbml0b3JpbmdSb2xlLnRzLlxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { type ARecordProps, type CnameRecordProps, HostedZone as AWSHostedZone, type MxRecordProps, type NsRecordProps, type TxtRecordProps } from "aws-cdk-lib/aws-route53";
|
|
3
|
+
import { type AwsStack } from "../base/awsStack";
|
|
4
|
+
export interface HostedZoneProps {
|
|
5
|
+
zoneName: string;
|
|
6
|
+
hostedZoneId?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class HostedZoneFactory {
|
|
9
|
+
static import(stack: AwsStack, hostedZoneId: string, zoneName: string): HostedZone;
|
|
10
|
+
}
|
|
11
|
+
export declare class HostedZone extends Construct {
|
|
12
|
+
private hostedZone;
|
|
13
|
+
private hostedZoneId;
|
|
14
|
+
private importedHostedZone;
|
|
15
|
+
private zoneName;
|
|
16
|
+
private scope;
|
|
17
|
+
constructor(scope: Construct, id: string, props: HostedZoneProps);
|
|
18
|
+
getInternalHostedZone(): AWSHostedZone;
|
|
19
|
+
safeZoneName(): string;
|
|
20
|
+
private addHostedZone;
|
|
21
|
+
private importHostedZone;
|
|
22
|
+
private delegateHostedZone;
|
|
23
|
+
addARecord(props: Omit<ARecordProps, "zone">): void;
|
|
24
|
+
addCname(props: Omit<CnameRecordProps, "zone">): void;
|
|
25
|
+
addMx(props: Omit<MxRecordProps, "zone">): void;
|
|
26
|
+
addNS(props: Omit<NsRecordProps, "zone">): void;
|
|
27
|
+
addTxt(props: Omit<TxtRecordProps, "zone">): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HostedZone = exports.HostedZoneFactory = void 0;
|
|
4
|
+
const constructs_1 = require("constructs");
|
|
5
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
|
+
const capitaliseString_1 = require("../../../utils/capitaliseString");
|
|
7
|
+
const iam_1 = require("../iam");
|
|
8
|
+
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
9
|
+
const aws_route53_1 = require("aws-cdk-lib/aws-route53");
|
|
10
|
+
function getSafeZoneName(zoneName) {
|
|
11
|
+
return zoneName.split(".").join("");
|
|
12
|
+
}
|
|
13
|
+
class HostedZoneFactory {
|
|
14
|
+
static import(stack, hostedZoneId, zoneName) {
|
|
15
|
+
const safeZoneName = getSafeZoneName(zoneName);
|
|
16
|
+
return new HostedZone(stack.getStack(), `${safeZoneName}HostedZone`, {
|
|
17
|
+
hostedZoneId: hostedZoneId,
|
|
18
|
+
zoneName: zoneName
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.HostedZoneFactory = HostedZoneFactory;
|
|
23
|
+
class HostedZone extends constructs_1.Construct {
|
|
24
|
+
constructor(scope, id, props) {
|
|
25
|
+
super(scope, id);
|
|
26
|
+
this.scope = scope;
|
|
27
|
+
this.zoneName = props.zoneName;
|
|
28
|
+
// If a hostedZoneId is provided import it, unless create a new hosted zone
|
|
29
|
+
if (!props.hostedZoneId) {
|
|
30
|
+
this.addHostedZone(props.zoneName);
|
|
31
|
+
this.hostedZoneId = this.hostedZone.hostedZoneId;
|
|
32
|
+
this.delegateHostedZone();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.hostedZoneId = props.hostedZoneId;
|
|
36
|
+
this.importHostedZone(props.zoneName);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
getInternalHostedZone() {
|
|
40
|
+
return this.hostedZone || this.importedHostedZone;
|
|
41
|
+
}
|
|
42
|
+
safeZoneName() {
|
|
43
|
+
return getSafeZoneName(this.zoneName);
|
|
44
|
+
}
|
|
45
|
+
addHostedZone(zoneName) {
|
|
46
|
+
this.hostedZone = new aws_route53_1.HostedZone(this, `${this.safeZoneName()}HostedZone`, {
|
|
47
|
+
zoneName: zoneName,
|
|
48
|
+
comment: `Hosted Zone for ${zoneName}`
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
importHostedZone(zoneName) {
|
|
52
|
+
this.importedHostedZone = aws_route53_1.HostedZone.fromHostedZoneAttributes(
|
|
53
|
+
// HostedZone.fromHostedZoneAttributes explicitly must be passed a stack as parent scope
|
|
54
|
+
this.scope,
|
|
55
|
+
// Use safeZoneName in the id so we can theoretically
|
|
56
|
+
// import multiple hosted zones in a single app
|
|
57
|
+
`${this.safeZoneName()}ImportedHostedZone`, {
|
|
58
|
+
hostedZoneId: this.hostedZoneId,
|
|
59
|
+
zoneName: zoneName
|
|
60
|
+
});
|
|
61
|
+
aws_cdk_lib_1.Tags.of(this.importedHostedZone).add("fjall:costAllocation:environment", "management");
|
|
62
|
+
aws_cdk_lib_1.Tags.of(this.importedHostedZone).add("fjall:costAllocation:service", "hostedZone");
|
|
63
|
+
aws_cdk_lib_1.Tags.of(this.importedHostedZone).add("fjall:costAllocation:domain", zoneName);
|
|
64
|
+
// Make export name unique by including the stack name to avoid conflicts
|
|
65
|
+
// when multiple stacks import the same hosted zone
|
|
66
|
+
const stack = aws_cdk_lib_1.Stack.of(this);
|
|
67
|
+
const stackName = stack.stackName;
|
|
68
|
+
const exportName = `${stackName}${this.safeZoneName()}HostedZoneId`;
|
|
69
|
+
const safeKey = (0, capitaliseString_1.toPascalCase)(this.safeZoneName());
|
|
70
|
+
new aws_cdk_lib_1.CfnOutput(this, `${safeKey}HostedZoneId`, {
|
|
71
|
+
key: `${safeKey}HostedZoneId`,
|
|
72
|
+
value: this.hostedZoneId,
|
|
73
|
+
exportName: exportName
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
delegateHostedZone() {
|
|
77
|
+
const domainLabel = this.hostedZone.zoneName.split(".")[0] ?? "default";
|
|
78
|
+
const safeDomainLabel = (0, capitaliseString_1.toPascalCase)(domainLabel);
|
|
79
|
+
const role = new iam_1.Role(this, `${safeDomainLabel}DelegateHostedZoneRole`, {
|
|
80
|
+
assumedBy: new aws_iam_1.OrganizationPrincipal(aws_cdk_lib_1.Fn.importValue("OrganisationId")),
|
|
81
|
+
roleName: `${domainLabel}DelegateHostedZoneRole`,
|
|
82
|
+
inlinePolicies: {
|
|
83
|
+
["listHostedZones"]: new aws_iam_1.PolicyDocument({
|
|
84
|
+
statements: [
|
|
85
|
+
new aws_iam_1.PolicyStatement({
|
|
86
|
+
actions: ["route53:ListHostedZonesByName"],
|
|
87
|
+
resources: ["*"]
|
|
88
|
+
})
|
|
89
|
+
]
|
|
90
|
+
}),
|
|
91
|
+
["changeResourceRecordSets"]: new aws_iam_1.PolicyDocument({
|
|
92
|
+
statements: [
|
|
93
|
+
new aws_iam_1.PolicyStatement({
|
|
94
|
+
actions: ["route53:ChangeResourceRecordSets"],
|
|
95
|
+
resources: [
|
|
96
|
+
`arn:aws:route53:::hostedzone/${this.hostedZone.hostedZoneId}`
|
|
97
|
+
]
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
})
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
this.hostedZone.grantDelegation(role);
|
|
104
|
+
new aws_cdk_lib_1.CfnOutput(this, "DelegateHostedZoneRoleArn", {
|
|
105
|
+
key: `${safeDomainLabel}DelegateHostedZoneRoleArn`,
|
|
106
|
+
value: role.roleArn,
|
|
107
|
+
exportName: `${domainLabel}DelegateHostedZoneRoleArn`
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
addARecord(props) {
|
|
111
|
+
new aws_route53_1.ARecord(this, "ARecord", {
|
|
112
|
+
zone: this.importedHostedZone,
|
|
113
|
+
recordName: props.recordName,
|
|
114
|
+
comment: props.comment || `A Record for ${this.importedHostedZone.zoneName}`,
|
|
115
|
+
target: props.target,
|
|
116
|
+
ttl: props.ttl
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
addCname(props) {
|
|
120
|
+
new aws_route53_1.CnameRecord(this, "CnameRecord", {
|
|
121
|
+
domainName: props.domainName,
|
|
122
|
+
zone: this.importedHostedZone,
|
|
123
|
+
comment: props.comment || `CNAME Record for ${this.importedHostedZone.zoneName}`,
|
|
124
|
+
ttl: props.ttl
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
addMx(props) {
|
|
128
|
+
new aws_route53_1.MxRecord(this, "MxRecord", {
|
|
129
|
+
zone: this.importedHostedZone,
|
|
130
|
+
comment: props.comment || `MX Record for ${this.importedHostedZone.zoneName}`,
|
|
131
|
+
values: props.values,
|
|
132
|
+
ttl: props.ttl
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
addNS(props) {
|
|
136
|
+
new aws_route53_1.NsRecord(this, "NsRecord", {
|
|
137
|
+
zone: this.importedHostedZone,
|
|
138
|
+
comment: props.comment || `NS Record for ${this.importedHostedZone.zoneName}`,
|
|
139
|
+
values: props.values,
|
|
140
|
+
ttl: props.ttl
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
addTxt(props) {
|
|
144
|
+
new aws_route53_1.TxtRecord(this, "TxtRecord", {
|
|
145
|
+
zone: this.importedHostedZone,
|
|
146
|
+
comment: props.comment || `TXT Record for ${this.importedHostedZone.zoneName}`,
|
|
147
|
+
values: props.values,
|
|
148
|
+
ttl: props.ttl
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.HostedZone = HostedZone;
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkWm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL25ldHdvcmtpbmcvaG9zdGVkWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQXlEO0FBQ3pELHNFQUErRDtBQUMvRCxnQ0FBOEI7QUFDOUIsaURBSTZCO0FBQzdCLHlEQWFpQztBQUlqQyxTQUFTLGVBQWUsQ0FBQyxRQUFnQjtJQUN2QyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFPRCxNQUFhLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWUsRUFBRSxZQUFvQixFQUFFLFFBQWdCO1FBQ25FLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLFlBQVksWUFBWSxFQUFFO1lBQ25FLFlBQVksRUFBRSxZQUFZO1lBQzFCLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQVRELDhDQVNDO0FBRUQsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFRdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUUvQiwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZ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L0IsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDN0IsT0FBTyxFQUNMLEtBQUssQ0FBQyxPQUFPLElBQUksa0JBQWtCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7WUFDdkUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVLRCxnQ0E0S0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBGbiwgU3RhY2ssIFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHRvUGFzY2FsQ2FzZSB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9jYXBpdGFsaXNlU3RyaW5nXCI7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHtcbiAgT3JnYW5pemF0aW9uUHJpbmNpcGFsLFxuICBQb2xpY3lEb2N1bWVudCxcbiAgUG9saWN5U3RhdGVtZW50XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQge1xuICBBUmVjb3JkLFxuICB0eXBlIEFSZWNvcmRQcm9wcyxcbiAgQ25hbWVSZWNvcmQsXG4gIHR5cGUgQ25hbWVSZWNvcmRQcm9wcyxcbiAgSG9zdGVkWm9uZSBhcyBBV1NIb3N0ZWRab25lLFxuICB0eXBlIElIb3N0ZWRab25lLFxuICBNeFJlY29yZCxcbiAgdHlwZSBNeFJlY29yZFByb3BzLFxuICBOc1JlY29yZCxcbiAgdHlwZSBOc1JlY29yZFByb3BzLFxuICBUeHRSZWNvcmQsXG4gIHR5cGUgVHh0UmVjb3JkUHJvcHNcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5cbmltcG9ydCB7IHR5cGUgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYmFzZS9hd3NTdGFja1wiO1xuXG5mdW5jdGlvbiBnZXRTYWZlWm9uZU5hbWUoem9uZU5hbWU6IHN0cmluZykge1xuICByZXR1cm4gem9uZU5hbWUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZVByb3BzIHtcbiAgem9uZU5hbWU6IHN0cmluZztcbiAgaG9zdGVkWm9uZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSG9zdGVkWm9uZUZhY3Rvcnkge1xuICBzdGF0aWMgaW1wb3J0KHN0YWNrOiBBd3NTdGFjaywgaG9zdGVkWm9uZUlkOiBzdHJpbmcsIHpvbmVOYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzYWZlWm9uZU5hbWUgPSBnZXRTYWZlWm9uZU5hbWUoem9uZU5hbWUpO1xuXG4gICAgcmV0dXJuIG5ldyBIb3N0ZWRab25lKHN0YWNrLmdldFN0YWNrKCksIGAke3NhZmVab25lTmFtZX1Ib3N0ZWRab25lYCwge1xuICAgICAgaG9zdGVkWm9uZUlkOiBob3N0ZWRab25lSWQsXG4gICAgICB6b25lTmFtZTogem9uZU5hbWVcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSG9zdGVkWm9uZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgaG9zdGVkWm9uZSE6IEFXU0hvc3RlZFpvbmU7XG4gIHByaXZhdGUgaG9zdGVkWm9uZUlkITogc3RyaW5nO1xuICBwcml2YXRlIGltcG9ydGVkSG9zdGVkWm9uZSE6IElIb3N0ZWRab25lO1xuICBwcml2YXRlIHpvbmVOYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzY29wZTogQ29uc3RydWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBIb3N0ZWRab25lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIHRoaXMuem9uZU5hbWUgPSBwcm9wcy56b25lTmFtZTtcblxuICAgIC8vIElmIGEgaG9zdGVkWm9uZUlkIGlzIHByb3ZpZGVkIGltcG9ydCBpdCwgdW5sZXNzIGNyZWF0ZSBhIG5ldyBob3N0ZWQgem9uZVxuICAgIGlmICghcHJvcHMuaG9zdGVkWm9uZUlkKSB7XG4gICAgICB0aGlzLmFkZEhvc3RlZFpvbmUocHJvcHMuem9uZU5hbWUpO1xuICAgICAgdGhpcy5ob3N0ZWRab25lSWQgPSB0aGlzLmhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkO1xuICAgICAgdGhpcy5kZWxlZ2F0ZUhvc3RlZFpvbmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0ZWRab25lSWQgPSBwcm9wcy5ob3N0ZWRab25lSWQ7XG4gICAgICB0aGlzLmltcG9ydEhvc3RlZFpvbmUocHJvcHMuem9uZU5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldEludGVybmFsSG9zdGVkWm9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0ZWRab25lIHx8IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lO1xuICB9XG5cbiAgc2FmZVpvbmVOYW1lKCkge1xuICAgIHJldHVybiBnZXRTYWZlWm9uZU5hbWUodGhpcy56b25lTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEhvc3RlZFpvbmUoem9uZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuaG9zdGVkWm9uZSA9IG5ldyBBV1NIb3N0ZWRab25lKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3RoaXMuc2FmZVpvbmVOYW1lKCl9SG9zdGVkWm9uZWAsXG4gICAgICB7XG4gICAgICAgIHpvbmVOYW1lOiB6b25lTmFtZSxcbiAgICAgICAgY29tbWVudDogYEhvc3RlZCBab25lIGZvciAke3pvbmVOYW1lfWBcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbXBvcnRIb3N0ZWRab25lKHpvbmVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSA9IEFXU0hvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKFxuICAgICAgLy8gSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXMgZXhwbGljaXRseSBtdXN0IGJlIHBhc3NlZCBhIHN0YWNrIGFzIHBhcmVudCBzY29wZVxuICAgICAgdGhpcy5zY29wZSxcblxuICAgICAgLy8gVXNlIHNhZmVab25lTmFtZSBpbiB0aGUgaWQgc28gd2UgY2FuIHRoZW9yZXRpY2FsbHlcbiAgICAgIC8vICBpbXBvcnQgbXVsdGlwbGUgaG9zdGVkIHpvbmVzIGluIGEgc2luZ2xlIGFwcFxuICAgICAgYCR7dGhpcy5zYWZlWm9uZU5hbWUoKX1JbXBvcnRlZEhvc3RlZFpvbmVgLFxuICAgICAge1xuICAgICAgICBob3N0ZWRab25lSWQ6IHRoaXMuaG9zdGVkWm9uZUlkLFxuICAgICAgICB6b25lTmFtZTogem9uZU5hbWVcbiAgICAgIH1cbiAgICApO1xuXG4gICAgVGFncy5vZih0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSkuYWRkKFxuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiLFxuICAgICAgXCJtYW5hZ2VtZW50XCJcbiAgICApO1xuICAgIFRhZ3Mub2YodGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUpLmFkZChcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiLFxuICAgICAgXCJob3N0ZWRab25lXCJcbiAgICApO1xuICAgIFRhZ3Mub2YodGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUpLmFkZChcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZG9tYWluXCIsXG4gICAgICB6b25lTmFtZVxuICAgICk7XG5cbiAgICAvLyBNYWtlIGV4cG9ydCBuYW1lIHVuaXF1ZSBieSBpbmNsdWRpbmcgdGhlIHN0YWNrIG5hbWUgdG8gYXZvaWQgY29uZmxpY3RzXG4gICAgLy8gd2hlbiBtdWx0aXBsZSBzdGFja3MgaW1wb3J0IHRoZSBzYW1lIGhvc3RlZCB6b25lXG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZih0aGlzKTtcbiAgICBjb25zdCBzdGFja05hbWUgPSBzdGFjay5zdGFja05hbWU7XG4gICAgY29uc3QgZXhwb3J0TmFtZSA9IGAke3N0YWNrTmFtZX0ke3RoaXMuc2FmZVpvbmVOYW1lKCl9SG9zdGVkWm9uZUlkYDtcblxuICAgIGNvbnN0IHNhZmVLZXkgPSB0b1Bhc2NhbENhc2UodGhpcy5zYWZlWm9uZU5hbWUoKSk7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtzYWZlS2V5fUhvc3RlZFpvbmVJZGAsIHtcbiAgICAgIGtleTogYCR7c2FmZUtleX1Ib3N0ZWRab25lSWRgLFxuICAgICAgdmFsdWU6IHRoaXMuaG9zdGVkWm9uZUlkLFxuICAgICAgZXhwb3J0TmFtZTogZXhwb3J0TmFtZVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxlZ2F0ZUhvc3RlZFpvbmUoKSB7XG4gICAgY29uc3QgZG9tYWluTGFiZWwgPSB0aGlzLmhvc3RlZFpvbmUuem9uZU5hbWUuc3BsaXQoXCIuXCIpWzBdID8/IFwiZGVmYXVsdFwiO1xuICAgIGNvbnN0IHNhZmVEb21haW5MYWJlbCA9IHRvUGFzY2FsQ2FzZShkb21haW5MYWJlbCk7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyBSb2xlKHRoaXMsIGAke3NhZmVEb21haW5MYWJlbH1EZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlYCwge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgT3JnYW5pemF0aW9uUHJpbmNpcGFsKEZuLmltcG9ydFZhbHVlKFwiT3JnYW5pc2F0aW9uSWRcIikpLFxuICAgICAgcm9sZU5hbWU6IGAke2RvbWFpbkxhYmVsfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVgLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgW1wibGlzdEhvc3RlZFpvbmVzXCJdOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXCJyb3V0ZTUzOkxpc3RIb3N0ZWRab25lc0J5TmFtZVwiXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSksXG4gICAgICAgIFtcImNoYW5nZVJlc291cmNlUmVjb3JkU2V0c1wiXTogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgYWN0aW9uczogW1wicm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNcIl0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lLyR7dGhpcy5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZH1gXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5ob3N0ZWRab25lLmdyYW50RGVsZWdhdGlvbihyb2xlKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJEZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlQXJuXCIsIHtcbiAgICAgIGtleTogYCR7c2FmZURvbWFpbkxhYmVsfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVBcm5gLFxuICAgICAgdmFsdWU6IHJvbGUucm9sZUFybixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2RvbWFpbkxhYmVsfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVBcm5gXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkQVJlY29yZChwcm9wczogT21pdDxBUmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBBUmVjb3JkKHRoaXMsIFwiQVJlY29yZFwiLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHByb3BzLnJlY29yZE5hbWUsXG4gICAgICBjb21tZW50OlxuICAgICAgICBwcm9wcy5jb21tZW50IHx8IGBBIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdGFyZ2V0OiBwcm9wcy50YXJnZXQsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZENuYW1lKHByb3BzOiBPbWl0PENuYW1lUmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBDbmFtZVJlY29yZCh0aGlzLCBcIkNuYW1lUmVjb3JkXCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYENOQU1FIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRNeChwcm9wczogT21pdDxNeFJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgTXhSZWNvcmQodGhpcywgXCJNeFJlY29yZFwiLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYE1YIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZE5TKHByb3BzOiBPbWl0PE5zUmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBOc1JlY29yZCh0aGlzLCBcIk5zUmVjb3JkXCIsIHtcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgTlMgUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB2YWx1ZXM6IHByb3BzLnZhbHVlcyxcbiAgICAgIHR0bDogcHJvcHMudHRsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHh0KHByb3BzOiBPbWl0PFR4dFJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgVHh0UmVjb3JkKHRoaXMsIFwiVHh0UmVjb3JkXCIsIHtcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgVFhUIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -14,7 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./hostedZone"), exports);
|
|
17
18
|
__exportStar(require("./ipam"), exports);
|
|
18
19
|
__exportStar(require("./ipamPool"), exports);
|
|
20
|
+
__exportStar(require("./securityGroup"), exports);
|
|
19
21
|
__exportStar(require("./vpc"), exports);
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNkI7QUFDN0IseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQixrREFBZ0M7QUFDaEMsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vaG9zdGVkWm9uZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaXBhbVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaXBhbVBvb2xcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlY3VyaXR5R3JvdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZwY1wiO1xuIl19
|