@fjall/components-infrastructure 0.88.3 → 0.89.2
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/LICENSE +21 -0
- 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 +53 -20
- 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 +9 -720
- package/dist/lib/patterns/aws/compute.js +27 -432
- package/dist/lib/patterns/aws/computeEc2.d.ts +67 -0
- package/dist/lib/patterns/aws/computeEc2.js +46 -0
- package/dist/lib/patterns/aws/computeEcs.d.ts +446 -0
- package/dist/lib/patterns/aws/computeEcs.js +246 -0
- package/dist/lib/patterns/aws/computeLambda.d.ts +220 -0
- package/dist/lib/patterns/aws/computeLambda.js +147 -0
- package/dist/lib/patterns/aws/database.d.ts +7 -87
- package/dist/lib/patterns/aws/database.js +15 -38
- package/dist/lib/patterns/aws/domainDelegation.d.ts +8 -0
- package/dist/lib/patterns/aws/domainDelegation.js +54 -0
- package/dist/lib/patterns/aws/domainFactory.d.ts +8 -0
- package/dist/lib/patterns/aws/domainFactory.js +23 -0
- package/dist/lib/patterns/aws/index.d.ts +4 -1
- package/dist/lib/patterns/aws/index.js +6 -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/domain.d.ts +2 -0
- package/dist/lib/patterns/aws/interfaces/domain.js +6 -0
- package/dist/lib/patterns/aws/interfaces/index.d.ts +2 -0
- package/dist/lib/patterns/aws/interfaces/index.js +5 -2
- package/dist/lib/patterns/aws/interfaces/pattern.d.ts +9 -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 +21 -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 +23 -10
- package/dist/lib/resources/aws/compute/ecs.js +121 -64
- 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/domain.d.ts +13 -0
- package/dist/lib/resources/aws/networking/domain.js +102 -0
- package/dist/lib/resources/aws/networking/domainCertificate.d.ts +13 -0
- package/dist/lib/resources/aws/networking/domainCertificate.js +28 -0
- package/dist/lib/resources/aws/networking/hostedZone.d.ts +28 -0
- package/dist/lib/resources/aws/networking/hostedZone.js +150 -0
- package/dist/lib/resources/aws/networking/index.d.ts +4 -0
- package/dist/lib/resources/aws/networking/index.js +5 -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 +1 -12
- package/dist/lib/utils/capitaliseString.js +8 -28
- 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/dnsRecords.d.ts +4 -0
- package/dist/lib/utils/dnsRecords.js +108 -0
- package/dist/lib/utils/domainTypes.d.ts +37 -0
- package/dist/lib/utils/domainTypes.js +10 -0
- package/dist/lib/utils/env.d.ts +42 -0
- package/dist/lib/utils/env.js +122 -0
- package/dist/lib/utils/getConfig.d.ts +0 -5
- package/dist/lib/utils/getConfig.js +42 -19
- package/dist/lib/utils/index.d.ts +7 -0
- package/dist/lib/utils/index.js +8 -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 +7 -6
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addDnsRecords = addDnsRecords;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const aws_route53_1 = require("aws-cdk-lib/aws-route53");
|
|
6
|
+
const capitaliseString_1 = require("./capitaliseString");
|
|
7
|
+
const domainTypes_1 = require("./domainTypes");
|
|
8
|
+
function addDnsRecords(scope, zone, zoneName, records) {
|
|
9
|
+
const safeZone = (0, capitaliseString_1.toPascalCase)((0, capitaliseString_1.getSafeZoneName)(zoneName));
|
|
10
|
+
records.forEach((record, index) => {
|
|
11
|
+
if (record.value.startsWith(domainTypes_1.ALIAS_CDK_PREFIX)) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const safeName = (0, capitaliseString_1.toPascalCase)(record.name === domainTypes_1.DNS_APEX ? "Apex" : record.name);
|
|
15
|
+
const constructId = `${safeZone}${safeName}${record.type}Record${index}`;
|
|
16
|
+
const ttl = record.ttl ? aws_cdk_lib_1.Duration.seconds(record.ttl) : undefined;
|
|
17
|
+
const recordName = record.name === domainTypes_1.DNS_APEX ? zoneName : `${record.name}.${zoneName}`;
|
|
18
|
+
switch (record.type) {
|
|
19
|
+
case "A":
|
|
20
|
+
new aws_route53_1.ARecord(scope, constructId, {
|
|
21
|
+
zone,
|
|
22
|
+
recordName,
|
|
23
|
+
target: aws_route53_1.RecordTarget.fromIpAddresses(record.value),
|
|
24
|
+
ttl
|
|
25
|
+
});
|
|
26
|
+
break;
|
|
27
|
+
case "AAAA":
|
|
28
|
+
new aws_route53_1.AaaaRecord(scope, constructId, {
|
|
29
|
+
zone,
|
|
30
|
+
recordName,
|
|
31
|
+
target: aws_route53_1.RecordTarget.fromIpAddresses(record.value),
|
|
32
|
+
ttl
|
|
33
|
+
});
|
|
34
|
+
break;
|
|
35
|
+
case "CNAME":
|
|
36
|
+
new aws_route53_1.CnameRecord(scope, constructId, {
|
|
37
|
+
zone,
|
|
38
|
+
recordName,
|
|
39
|
+
domainName: record.value,
|
|
40
|
+
ttl
|
|
41
|
+
});
|
|
42
|
+
break;
|
|
43
|
+
case "MX":
|
|
44
|
+
new aws_route53_1.MxRecord(scope, constructId, {
|
|
45
|
+
zone,
|
|
46
|
+
recordName,
|
|
47
|
+
values: [
|
|
48
|
+
{
|
|
49
|
+
hostName: record.value,
|
|
50
|
+
priority: record.priority ?? 10
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
ttl
|
|
54
|
+
});
|
|
55
|
+
break;
|
|
56
|
+
case "TXT":
|
|
57
|
+
new aws_route53_1.TxtRecord(scope, constructId, {
|
|
58
|
+
zone,
|
|
59
|
+
recordName,
|
|
60
|
+
values: [record.value],
|
|
61
|
+
ttl
|
|
62
|
+
});
|
|
63
|
+
break;
|
|
64
|
+
case "NS":
|
|
65
|
+
new aws_route53_1.NsRecord(scope, constructId, {
|
|
66
|
+
zone,
|
|
67
|
+
recordName,
|
|
68
|
+
values: [record.value],
|
|
69
|
+
ttl
|
|
70
|
+
});
|
|
71
|
+
break;
|
|
72
|
+
case "SRV":
|
|
73
|
+
new aws_route53_1.SrvRecord(scope, constructId, {
|
|
74
|
+
zone,
|
|
75
|
+
recordName,
|
|
76
|
+
values: [
|
|
77
|
+
{
|
|
78
|
+
hostName: record.value,
|
|
79
|
+
priority: record.priority ?? 10,
|
|
80
|
+
weight: record.weight ?? 0,
|
|
81
|
+
port: record.port ?? 443
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
ttl
|
|
85
|
+
});
|
|
86
|
+
break;
|
|
87
|
+
case "CAA":
|
|
88
|
+
new aws_route53_1.CaaRecord(scope, constructId, {
|
|
89
|
+
zone,
|
|
90
|
+
recordName,
|
|
91
|
+
values: [
|
|
92
|
+
{
|
|
93
|
+
flag: 0,
|
|
94
|
+
tag: record.value.includes("issuewild")
|
|
95
|
+
? aws_route53_1.CaaTag.ISSUEWILD
|
|
96
|
+
: record.value.includes("iodef")
|
|
97
|
+
? aws_route53_1.CaaTag.IODEF
|
|
98
|
+
: aws_route53_1.CaaTag.ISSUE,
|
|
99
|
+
value: record.value
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
ttl
|
|
103
|
+
});
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zUmVjb3Jkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi91dGlscy9kbnNSZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBbUJBLHNDQThHQztBQWhJRCw2Q0FBdUM7QUFDdkMseURBWWlDO0FBQ2pDLHlEQUFtRTtBQUVuRSwrQ0FBMkQ7QUFFM0QsU0FBZ0IsYUFBYSxDQUMzQixLQUFnQixFQUNoQixJQUFpQixFQUNqQixRQUFnQixFQUNoQixPQUF5QjtJQUV6QixNQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFZLEVBQUMsSUFBQSxrQ0FBZSxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFekQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNoQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLDhCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUEsK0JBQVksRUFDM0IsTUFBTSxDQUFDLElBQUksS0FBSyxzQkFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2hELENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksU0FBUyxLQUFLLEVBQUUsQ0FBQztRQUN6RSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FDZCxNQUFNLENBQUMsSUFBSSxLQUFLLHNCQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEs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LENBQUMsQ0FBQztnQkFDSCxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBBUmVjb3JkLFxuICBBYWFhUmVjb3JkLFxuICBDbmFtZVJlY29yZCxcbiAgTXhSZWNvcmQsXG4gIFR4dFJlY29yZCxcbiAgTnNSZWNvcmQsXG4gIFNydlJlY29yZCxcbiAgQ2FhUmVjb3JkLFxuICBDYWFUYWcsXG4gIFJlY29yZFRhcmdldCxcbiAgdHlwZSBJSG9zdGVkWm9uZVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IHRvUGFzY2FsQ2FzZSwgZ2V0U2FmZVpvbmVOYW1lIH0gZnJvbSBcIi4vY2FwaXRhbGlzZVN0cmluZ1wiO1xuaW1wb3J0IHR5cGUgeyBEbnNSZWNvcmRJbnB1dCB9IGZyb20gXCIuL2RvbWFpblR5cGVzXCI7XG5pbXBvcnQgeyBBTElBU19DREtfUFJFRklYLCBETlNfQVBFWCB9IGZyb20gXCIuL2RvbWFpblR5cGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGREbnNSZWNvcmRzKFxuICBzY29wZTogQ29uc3RydWN0LFxuICB6b25lOiBJSG9zdGVkWm9uZSxcbiAgem9uZU5hbWU6IHN0cmluZyxcbiAgcmVjb3JkczogRG5zUmVjb3JkSW5wdXRbXVxuKTogdm9pZCB7XG4gIGNvbnN0IHNhZmVab25lID0gdG9QYXNjYWxDYXNlKGdldFNhZmVab25lTmFtZSh6b25lTmFtZSkpO1xuXG4gIHJlY29yZHMuZm9yRWFjaCgocmVjb3JkLCBpbmRleCkgPT4ge1xuICAgIGlmIChyZWNvcmQudmFsdWUuc3RhcnRzV2l0aChBTElBU19DREtfUFJFRklYKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNhZmVOYW1lID0gdG9QYXNjYWxDYXNlKFxuICAgICAgcmVjb3JkLm5hbWUgPT09IEROU19BUEVYID8gXCJBcGV4XCIgOiByZWNvcmQubmFtZVxuICAgICk7XG4gICAgY29uc3QgY29uc3RydWN0SWQgPSBgJHtzYWZlWm9uZX0ke3NhZmVOYW1lfSR7cmVjb3JkLnR5cGV9UmVjb3JkJHtpbmRleH1gO1xuICAgIGNvbnN0IHR0bCA9IHJlY29yZC50dGwgPyBEdXJhdGlvbi5zZWNvbmRzKHJlY29yZC50dGwpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJlY29yZE5hbWUgPVxuICAgICAgcmVjb3JkLm5hbWUgPT09IEROU19BUEVYID8gem9uZU5hbWUgOiBgJHtyZWNvcmQubmFtZX0uJHt6b25lTmFtZX1gO1xuXG4gICAgc3dpdGNoIChyZWNvcmQudHlwZSkge1xuICAgICAgY2FzZSBcIkFcIjpcbiAgICAgICAgbmV3IEFSZWNvcmQoc2NvcGUsIGNvbnN0cnVjdElkLCB7XG4gICAgICAgICAgem9uZSxcbiAgICAgICAgICByZWNvcmROYW1lLFxuICAgICAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21JcEFkZHJlc3NlcyhyZWNvcmQudmFsdWUpLFxuICAgICAgICAgIHR0bFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiQUFBQVwiOlxuICAgICAgICBuZXcgQWFhYVJlY29yZChzY29wZSwgY29uc3RydWN0SWQsIHtcbiAgICAgICAgICB6b25lLFxuICAgICAgICAgIHJlY29yZE5hbWUsXG4gICAgICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUlwQWRkcmVzc2VzKHJlY29yZC52YWx1ZSksXG4gICAgICAgICAgdHRsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJDTkFNRVwiOlxuICAgICAgICBuZXcgQ25hbWVSZWNvcmQoc2NvcGUsIGNvbnN0cnVjdElkLCB7XG4gICAgICAgICAgem9uZSxcbiAgICAgICAgICByZWNvcmROYW1lLFxuICAgICAgICAgIGRvbWFpbk5hbWU6IHJlY29yZC52YWx1ZSxcbiAgICAgICAgICB0dGxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIk1YXCI6XG4gICAgICAgIG5ldyBNeFJlY29yZChzY29wZSwgY29uc3RydWN0SWQsIHtcbiAgICAgICAgICB6b25lLFxuICAgICAgICAgIHJlY29yZE5hbWUsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGhvc3ROYW1lOiByZWNvcmQudmFsdWUsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiByZWNvcmQucHJpb3JpdHkgPz8gMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHR0bFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiVFhUXCI6XG4gICAgICAgIG5ldyBUeHRSZWNvcmQoc2NvcGUsIGNvbnN0cnVjdElkLCB7XG4gICAgICAgICAgem9uZSxcbiAgICAgICAgICByZWNvcmROYW1lLFxuICAgICAgICAgIHZhbHVlczogW3JlY29yZC52YWx1ZV0sXG4gICAgICAgICAgdHRsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJOU1wiOlxuICAgICAgICBuZXcgTnNSZWNvcmQoc2NvcGUsIGNvbnN0cnVjdElkLCB7XG4gICAgICAgICAgem9uZSxcbiAgICAgICAgICByZWNvcmROYW1lLFxuICAgICAgICAgIHZhbHVlczogW3JlY29yZC52YWx1ZV0sXG4gICAgICAgICAgdHRsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJTUlZcIjpcbiAgICAgICAgbmV3IFNydlJlY29yZChzY29wZSwgY29uc3RydWN0SWQsIHtcbiAgICAgICAgICB6b25lLFxuICAgICAgICAgIHJlY29yZE5hbWUsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGhvc3ROYW1lOiByZWNvcmQudmFsdWUsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiByZWNvcmQucHJpb3JpdHkgPz8gMTAsXG4gICAgICAgICAgICAgIHdlaWdodDogcmVjb3JkLndlaWdodCA/PyAwLFxuICAgICAgICAgICAgICBwb3J0OiByZWNvcmQucG9ydCA/PyA0NDNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHR0bFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiQ0FBXCI6XG4gICAgICAgIG5ldyBDYWFSZWNvcmQoc2NvcGUsIGNvbnN0cnVjdElkLCB7XG4gICAgICAgICAgem9uZSxcbiAgICAgICAgICByZWNvcmROYW1lLFxuICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmbGFnOiAwLFxuICAgICAgICAgICAgICB0YWc6IHJlY29yZC52YWx1ZS5pbmNsdWRlcyhcImlzc3Vld2lsZFwiKVxuICAgICAgICAgICAgICAgID8gQ2FhVGFnLklTU1VFV0lMRFxuICAgICAgICAgICAgICAgIDogcmVjb3JkLnZhbHVlLmluY2x1ZGVzKFwiaW9kZWZcIilcbiAgICAgICAgICAgICAgICAgID8gQ2FhVGFnLklPREVGXG4gICAgICAgICAgICAgICAgICA6IENhYVRhZy5JU1NVRSxcbiAgICAgICAgICAgICAgdmFsdWU6IHJlY29yZC52YWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgdHRsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export { DNS_APEX, getDomainExportNames, type ManagedDomainExports } from "@fjall/util";
|
|
2
|
+
export interface DnsRecordInput {
|
|
3
|
+
type: "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "NS" | "SRV" | "CAA";
|
|
4
|
+
name: string;
|
|
5
|
+
value: string;
|
|
6
|
+
ttl?: number;
|
|
7
|
+
priority?: number;
|
|
8
|
+
weight?: number;
|
|
9
|
+
port?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface DelegationInput {
|
|
12
|
+
subdomain: string;
|
|
13
|
+
targetAccount: string;
|
|
14
|
+
}
|
|
15
|
+
export interface CertificateInput {
|
|
16
|
+
domainName: string;
|
|
17
|
+
subjectAlternativeNames?: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface DomainApexProps {
|
|
20
|
+
type: "domain";
|
|
21
|
+
zoneName: string;
|
|
22
|
+
records?: DnsRecordInput[];
|
|
23
|
+
delegations?: DelegationInput[];
|
|
24
|
+
certificates?: CertificateInput[];
|
|
25
|
+
hostedZoneId?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface DomainDelegatedProps {
|
|
28
|
+
type: "delegated";
|
|
29
|
+
zoneName: string;
|
|
30
|
+
parentZoneName: string;
|
|
31
|
+
parentAccountName: string;
|
|
32
|
+
records?: DnsRecordInput[];
|
|
33
|
+
certificates?: CertificateInput[];
|
|
34
|
+
}
|
|
35
|
+
export type IDomainProps = DomainApexProps | DomainDelegatedProps;
|
|
36
|
+
export declare const ALIAS_CDK_PREFIX: "ALIAS:";
|
|
37
|
+
export { addDnsRecords } from "./dnsRecords";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addDnsRecords = exports.ALIAS_CDK_PREFIX = exports.getDomainExportNames = exports.DNS_APEX = void 0;
|
|
4
|
+
var util_1 = require("@fjall/util");
|
|
5
|
+
Object.defineProperty(exports, "DNS_APEX", { enumerable: true, get: function () { return util_1.DNS_APEX; } });
|
|
6
|
+
Object.defineProperty(exports, "getDomainExportNames", { enumerable: true, get: function () { return util_1.getDomainExportNames; } });
|
|
7
|
+
exports.ALIAS_CDK_PREFIX = "ALIAS:";
|
|
8
|
+
var dnsRecords_1 = require("./dnsRecords");
|
|
9
|
+
Object.defineProperty(exports, "addDnsRecords", { enumerable: true, get: function () { return dnsRecords_1.addDnsRecords; } });
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvZG9tYWluVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBSXFCO0FBSG5CLGdHQUFBLFFBQVEsT0FBQTtBQUNSLDRHQUFBLG9CQUFvQixPQUFBO0FBNENULFFBQUEsZ0JBQWdCLEdBQUcsUUFBaUIsQ0FBQztBQUVsRCwyQ0FBNkM7QUFBcEMsMkdBQUEsYUFBYSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgRE5TX0FQRVgsXG4gIGdldERvbWFpbkV4cG9ydE5hbWVzLFxuICB0eXBlIE1hbmFnZWREb21haW5FeHBvcnRzXG59IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERuc1JlY29yZElucHV0IHtcbiAgdHlwZTogXCJBXCIgfCBcIkFBQUFcIiB8IFwiQ05BTUVcIiB8IFwiTVhcIiB8IFwiVFhUXCIgfCBcIk5TXCIgfCBcIlNSVlwiIHwgXCJDQUFcIjtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICB0dGw/OiBudW1iZXI7XG4gIHByaW9yaXR5PzogbnVtYmVyO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG4gIHBvcnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZWdhdGlvbklucHV0IHtcbiAgc3ViZG9tYWluOiBzdHJpbmc7XG4gIHRhcmdldEFjY291bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZXJ0aWZpY2F0ZUlucHV0IHtcbiAgZG9tYWluTmFtZTogc3RyaW5nO1xuICBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbkFwZXhQcm9wcyB7XG4gIHR5cGU6IFwiZG9tYWluXCI7XG4gIHpvbmVOYW1lOiBzdHJpbmc7XG4gIHJlY29yZHM/OiBEbnNSZWNvcmRJbnB1dFtdO1xuICBkZWxlZ2F0aW9ucz86IERlbGVnYXRpb25JbnB1dFtdO1xuICBjZXJ0aWZpY2F0ZXM/OiBDZXJ0aWZpY2F0ZUlucHV0W107XG4gIGhvc3RlZFpvbmVJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb21haW5EZWxlZ2F0ZWRQcm9wcyB7XG4gIHR5cGU6IFwiZGVsZWdhdGVkXCI7XG4gIHpvbmVOYW1lOiBzdHJpbmc7XG4gIHBhcmVudFpvbmVOYW1lOiBzdHJpbmc7XG4gIHBhcmVudEFjY291bnROYW1lOiBzdHJpbmc7XG4gIHJlY29yZHM/OiBEbnNSZWNvcmRJbnB1dFtdO1xuICBjZXJ0aWZpY2F0ZXM/OiBDZXJ0aWZpY2F0ZUlucHV0W107XG59XG5cbmV4cG9ydCB0eXBlIElEb21haW5Qcm9wcyA9IERvbWFpbkFwZXhQcm9wcyB8IERvbWFpbkRlbGVnYXRlZFByb3BzO1xuXG5leHBvcnQgY29uc3QgQUxJQVNfQ0RLX1BSRUZJWCA9IFwiQUxJQVM6XCIgYXMgY29uc3Q7XG5cbmV4cG9ydCB7IGFkZERuc1JlY29yZHMgfSBmcm9tIFwiLi9kbnNSZWNvcmRzXCI7XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declarative environment configuration utility.
|
|
3
|
+
*
|
|
4
|
+
* Resolves environment-specific values at CDK synth time without requiring
|
|
5
|
+
* an App instance. This allows `env()` to be used in `App.getApp()` arguments.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { App, env } from "@fjall/components-infrastructure";
|
|
10
|
+
*
|
|
11
|
+
* const app = App.getApp("myapp", {
|
|
12
|
+
* network: { maxAzs: env({ default: 2, production: 3 }) }
|
|
13
|
+
* });
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
type EnvConfig<T> = {
|
|
17
|
+
default: T;
|
|
18
|
+
} & Partial<Record<string, T>>;
|
|
19
|
+
/**
|
|
20
|
+
* Resolve the current deployment environment without App dependency.
|
|
21
|
+
*
|
|
22
|
+
* Resolution order:
|
|
23
|
+
* 1. Module cache (cached after first call)
|
|
24
|
+
* 2. `process.env.ENVIRONMENT`
|
|
25
|
+
* 3. `-c environment=<value>` from process.argv
|
|
26
|
+
* 4. `CDK_DEFAULT_ACCOUNT` → providerAccounts lookup
|
|
27
|
+
* 5. `-c accountName=<value>` → providerAccounts lookup
|
|
28
|
+
* 6. `"unknown"` (with warning)
|
|
29
|
+
*/
|
|
30
|
+
export declare function getEnvironment(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Resolve an environment-specific value at CDK synth time.
|
|
33
|
+
*
|
|
34
|
+
* @param config - Object with `default` key and optional environment overrides
|
|
35
|
+
* @returns The value for the current environment, or the default
|
|
36
|
+
*/
|
|
37
|
+
export declare function env<T>(config: EnvConfig<T>): T;
|
|
38
|
+
/**
|
|
39
|
+
* Reset the environment cache. For testing only.
|
|
40
|
+
*/
|
|
41
|
+
export declare function _resetEnvironmentCache(): void;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEnvironment = getEnvironment;
|
|
4
|
+
exports.env = env;
|
|
5
|
+
exports._resetEnvironmentCache = _resetEnvironmentCache;
|
|
6
|
+
const validationLogger_1 = require("./validationLogger");
|
|
7
|
+
let cachedEnvironment;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the current deployment environment without App dependency.
|
|
10
|
+
*
|
|
11
|
+
* Resolution order:
|
|
12
|
+
* 1. Module cache (cached after first call)
|
|
13
|
+
* 2. `process.env.ENVIRONMENT`
|
|
14
|
+
* 3. `-c environment=<value>` from process.argv
|
|
15
|
+
* 4. `CDK_DEFAULT_ACCOUNT` → providerAccounts lookup
|
|
16
|
+
* 5. `-c accountName=<value>` → providerAccounts lookup
|
|
17
|
+
* 6. `"unknown"` (with warning)
|
|
18
|
+
*/
|
|
19
|
+
function getEnvironment() {
|
|
20
|
+
if (cachedEnvironment !== undefined) {
|
|
21
|
+
return cachedEnvironment;
|
|
22
|
+
}
|
|
23
|
+
// 1. process.env.ENVIRONMENT
|
|
24
|
+
if (process.env.ENVIRONMENT) {
|
|
25
|
+
cachedEnvironment = process.env.ENVIRONMENT;
|
|
26
|
+
return cachedEnvironment;
|
|
27
|
+
}
|
|
28
|
+
// 2. -c environment=<value> from process.argv
|
|
29
|
+
const envFromArgv = parseContextArg("environment");
|
|
30
|
+
if (envFromArgv) {
|
|
31
|
+
cachedEnvironment = envFromArgv;
|
|
32
|
+
return cachedEnvironment;
|
|
33
|
+
}
|
|
34
|
+
// 3. CDK_DEFAULT_ACCOUNT → providerAccounts lookup
|
|
35
|
+
const accountId = process.env.CDK_DEFAULT_ACCOUNT;
|
|
36
|
+
if (accountId) {
|
|
37
|
+
const env = resolveEnvironmentFromAccountId(accountId);
|
|
38
|
+
if (env) {
|
|
39
|
+
cachedEnvironment = env;
|
|
40
|
+
return cachedEnvironment;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// 4. -c accountName=<value> → providerAccounts lookup
|
|
44
|
+
const accountName = parseContextArg("accountName");
|
|
45
|
+
if (accountName) {
|
|
46
|
+
const env = resolveEnvironmentFromAccountName(accountName);
|
|
47
|
+
if (env) {
|
|
48
|
+
cachedEnvironment = env;
|
|
49
|
+
return cachedEnvironment;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// 5. Fallback
|
|
53
|
+
validationLogger_1.FjallLogger.warn("[fjall] Could not determine environment. " +
|
|
54
|
+
"Set ENVIRONMENT env var or pass -c environment=<value>.");
|
|
55
|
+
cachedEnvironment = "unknown";
|
|
56
|
+
return cachedEnvironment;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Resolve an environment-specific value at CDK synth time.
|
|
60
|
+
*
|
|
61
|
+
* @param config - Object with `default` key and optional environment overrides
|
|
62
|
+
* @returns The value for the current environment, or the default
|
|
63
|
+
*/
|
|
64
|
+
function env(config) {
|
|
65
|
+
const environment = getEnvironment();
|
|
66
|
+
if (environment in config) {
|
|
67
|
+
return config[environment];
|
|
68
|
+
}
|
|
69
|
+
return config.default;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Reset the environment cache. For testing only.
|
|
73
|
+
*/
|
|
74
|
+
function _resetEnvironmentCache() {
|
|
75
|
+
cachedEnvironment = undefined;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Parse a `-c key=value` argument from process.argv.
|
|
79
|
+
*/
|
|
80
|
+
function parseContextArg(key) {
|
|
81
|
+
const args = process.argv;
|
|
82
|
+
for (let i = 0; i < args.length - 1; i++) {
|
|
83
|
+
if (args[i] === "-c") {
|
|
84
|
+
const parts = args[i + 1].split("=");
|
|
85
|
+
if (parts[0] === key && parts.length >= 2) {
|
|
86
|
+
return parts.slice(1).join("=");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Parse orgConfig from CDK context (-c orgConfig=<json>) in process.argv.
|
|
94
|
+
*/
|
|
95
|
+
function getProviderAccountsFromContext() {
|
|
96
|
+
try {
|
|
97
|
+
const raw = parseContextArg("orgConfig");
|
|
98
|
+
if (!raw)
|
|
99
|
+
return [];
|
|
100
|
+
const parsed = JSON.parse(raw);
|
|
101
|
+
return parsed.providerAccounts ?? [];
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
validationLogger_1.FjallLogger.warn(`[fjall] Failed to parse orgConfig from CDK context: ${error instanceof Error ? error.message : String(error)}`);
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Look up environment from account ID via orgConfig CDK context.
|
|
110
|
+
*/
|
|
111
|
+
function resolveEnvironmentFromAccountId(accountId) {
|
|
112
|
+
const accounts = getProviderAccountsFromContext();
|
|
113
|
+
return accounts.find((pa) => pa.id === accountId)?.environment;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Look up environment from account name via orgConfig CDK context.
|
|
117
|
+
*/
|
|
118
|
+
function resolveEnvironmentFromAccountName(accountName) {
|
|
119
|
+
const accounts = getProviderAccountsFromContext();
|
|
120
|
+
return accounts.find((pa) => pa.name === accountName)?.environment;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2Vudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtDQSx3Q0E2Q0M7QUFRRCxrQkFRQztBQUtELHdEQUVDO0FBckdELHlEQUFpRDtBQW9CakQsSUFBSSxpQkFBcUMsQ0FBQztBQUUxQzs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsY0FBYztJQUM1QixJQUFJLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDNUMsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsOENBQThDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztRQUNoQyxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsTUFBTSxHQUFHLEdBQUcsK0JBQStCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztZQUN4QixPQUFPLGlCQUFpQixDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hC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LEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsV0FBVyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFByb3ZpZGVyQWNjb3VudCB9IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuaW1wb3J0IHsgRmphbGxMb2dnZXIgfSBmcm9tIFwiLi92YWxpZGF0aW9uTG9nZ2VyXCI7XG5cbi8qKlxuICogRGVjbGFyYXRpdmUgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvbiB1dGlsaXR5LlxuICpcbiAqIFJlc29sdmVzIGVudmlyb25tZW50LXNwZWNpZmljIHZhbHVlcyBhdCBDREsgc3ludGggdGltZSB3aXRob3V0IHJlcXVpcmluZ1xuICogYW4gQXBwIGluc3RhbmNlLiBUaGlzIGFsbG93cyBgZW52KClgIHRvIGJlIHVzZWQgaW4gYEFwcC5nZXRBcHAoKWAgYXJndW1lbnRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQXBwLCBlbnYgfSBmcm9tIFwiQGZqYWxsL2NvbXBvbmVudHMtaW5mcmFzdHJ1Y3R1cmVcIjtcbiAqXG4gKiBjb25zdCBhcHAgPSBBcHAuZ2V0QXBwKFwibXlhcHBcIiwge1xuICogICBuZXR3b3JrOiB7IG1heEF6czogZW52KHsgZGVmYXVsdDogMiwgcHJvZHVjdGlvbjogMyB9KSB9XG4gKiB9KTtcbiAqIGBgYFxuICovXG5cbnR5cGUgRW52Q29uZmlnPFQ+ID0geyBkZWZhdWx0OiBUIH0gJiBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIFQ+PjtcblxubGV0IGNhY2hlZEVudmlyb25tZW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgY3VycmVudCBkZXBsb3ltZW50IGVudmlyb25tZW50IHdpdGhvdXQgQXBwIGRlcGVuZGVuY3kuXG4gKlxuICogUmVzb2x1dGlvbiBvcmRlcjpcbiAqIDEuIE1vZHVsZSBjYWNoZSAoY2FjaGVkIGFmdGVyIGZpcnN0IGNhbGwpXG4gKiAyLiBgcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlRgXG4gKiAzLiBgLWMgZW52aXJvbm1lbnQ9PHZhbHVlPmAgZnJvbSBwcm9jZXNzLmFyZ3ZcbiAqIDQuIGBDREtfREVGQVVMVF9BQ0NPVU5UYCDihpIgcHJvdmlkZXJBY2NvdW50cyBsb29rdXBcbiAqIDUuIGAtYyBhY2NvdW50TmFtZT08dmFsdWU+YCDihpIgcHJvdmlkZXJBY2NvdW50cyBsb29rdXBcbiAqIDYuIGBcInVua25vd25cImAgKHdpdGggd2FybmluZylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudmlyb25tZW50KCk6IHN0cmluZyB7XG4gIGlmIChjYWNoZWRFbnZpcm9ubWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGNhY2hlZEVudmlyb25tZW50O1xuICB9XG5cbiAgLy8gMS4gcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlRcbiAgaWYgKHByb2Nlc3MuZW52LkVOVklST05NRU5UKSB7XG4gICAgY2FjaGVkRW52aXJvbm1lbnQgPSBwcm9jZXNzLmVudi5FTlZJUk9OTUVOVDtcbiAgICByZXR1cm4gY2FjaGVkRW52aXJvbm1lbnQ7XG4gIH1cblxuICAvLyAyLiAtYyBlbnZpcm9ubWVudD08dmFsdWU+IGZyb20gcHJvY2Vzcy5hcmd2XG4gIGNvbnN0IGVudkZyb21Bcmd2ID0gcGFyc2VDb250ZXh0QXJnKFwiZW52aXJvbm1lbnRcIik7XG4gIGlmIChlbnZGcm9tQXJndikge1xuICAgIGNhY2hlZEVudmlyb25tZW50ID0gZW52RnJvbUFyZ3Y7XG4gICAgcmV0dXJuIGNhY2hlZEVudmlyb25tZW50O1xuICB9XG5cbiAgLy8gMy4gQ0RLX0RFRkFVTFRfQUNDT1VOVCDihpIgcHJvdmlkZXJBY2NvdW50cyBsb29rdXBcbiAgY29uc3QgYWNjb3VudElkID0gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVDtcbiAgaWYgKGFjY291bnRJZCkge1xuICAgIGNvbnN0IGVudiA9IHJlc29sdmVFbnZpcm9ubWVudEZyb21BY2NvdW50SWQoYWNjb3VudElkKTtcbiAgICBpZiAoZW52KSB7XG4gICAgICBjYWNoZWRFbnZpcm9ubWVudCA9IGVudjtcbiAgICAgIHJldHVybiBjYWNoZWRFbnZpcm9ubWVudDtcbiAgICB9XG4gIH1cblxuICAvLyA0LiAtYyBhY2NvdW50TmFtZT08dmFsdWU+IOKGkiBwcm92aWRlckFjY291bnRzIGxvb2t1cFxuICBjb25zdCBhY2NvdW50TmFtZSA9IHBhcnNlQ29udGV4dEFyZyhcImFjY291bnROYW1lXCIpO1xuICBpZiAoYWNjb3VudE5hbWUpIHtcbiAgICBjb25zdCBlbnYgPSByZXNvbHZlRW52aXJvbm1lbnRGcm9tQWNjb3VudE5hbWUoYWNjb3VudE5hbWUpO1xuICAgIGlmIChlbnYpIHtcbiAgICAgIGNhY2hlZEVudmlyb25tZW50ID0gZW52O1xuICAgICAgcmV0dXJuIGNhY2hlZEVudmlyb25tZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIDUuIEZhbGxiYWNrXG4gIEZqYWxsTG9nZ2VyLndhcm4oXG4gICAgXCJbZmphbGxdIENvdWxkIG5vdCBkZXRlcm1pbmUgZW52aXJvbm1lbnQuIFwiICtcbiAgICAgIFwiU2V0IEVOVklST05NRU5UIGVudiB2YXIgb3IgcGFzcyAtYyBlbnZpcm9ubWVudD08dmFsdWU+LlwiXG4gICk7XG4gIGNhY2hlZEVudmlyb25tZW50ID0gXCJ1bmtub3duXCI7XG4gIHJldHVybiBjYWNoZWRFbnZpcm9ubWVudDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGFuIGVudmlyb25tZW50LXNwZWNpZmljIHZhbHVlIGF0IENESyBzeW50aCB0aW1lLlxuICpcbiAqIEBwYXJhbSBjb25maWcgLSBPYmplY3Qgd2l0aCBgZGVmYXVsdGAga2V5IGFuZCBvcHRpb25hbCBlbnZpcm9ubWVudCBvdmVycmlkZXNcbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQsIG9yIHRoZSBkZWZhdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnY8VD4oY29uZmlnOiBFbnZDb25maWc8VD4pOiBUIHtcbiAgY29uc3QgZW52aXJvbm1lbnQgPSBnZXRFbnZpcm9ubWVudCgpO1xuXG4gIGlmIChlbnZpcm9ubWVudCBpbiBjb25maWcpIHtcbiAgICByZXR1cm4gY29uZmlnW2Vudmlyb25tZW50XSBhcyBUO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5kZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlc2V0IHRoZSBlbnZpcm9ubWVudCBjYWNoZS4gRm9yIHRlc3Rpbmcgb25seS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9yZXNldEVudmlyb25tZW50Q2FjaGUoKTogdm9pZCB7XG4gIGNhY2hlZEVudmlyb25tZW50ID0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFBhcnNlIGEgYC1jIGtleT12YWx1ZWAgYXJndW1lbnQgZnJvbSBwcm9jZXNzLmFyZ3YuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlQ29udGV4dEFyZyhrZXk6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGFyZ3MgPSBwcm9jZXNzLmFyZ3Y7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICBpZiAoYXJnc1tpXSA9PT0gXCItY1wiKSB7XG4gICAgICBjb25zdCBwYXJ0cyA9IGFyZ3NbaSArIDFdLnNwbGl0KFwiPVwiKTtcbiAgICAgIGlmIChwYXJ0c1swXSA9PT0ga2V5ICYmIHBhcnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgIHJldHVybiBwYXJ0cy5zbGljZSgxKS5qb2luKFwiPVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBQYXJzZSBvcmdDb25maWcgZnJvbSBDREsgY29udGV4dCAoLWMgb3JnQ29uZmlnPTxqc29uPikgaW4gcHJvY2Vzcy5hcmd2LlxuICovXG5mdW5jdGlvbiBnZXRQcm92aWRlckFjY291bnRzRnJvbUNvbnRleHQoKTogUHJvdmlkZXJBY2NvdW50W10ge1xuICB0cnkge1xuICAgIGNvbnN0IHJhdyA9IHBhcnNlQ29udGV4dEFyZyhcIm9yZ0NvbmZpZ1wiKTtcbiAgICBpZiAoIXJhdykgcmV0dXJuIFtdO1xuICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocmF3KSBhcyB7IHByb3ZpZGVyQWNjb3VudHM/OiBQcm92aWRlckFjY291bnRbXSB9O1xuICAgIHJldHVybiBwYXJzZWQucHJvdmlkZXJBY2NvdW50cyA/PyBbXTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBGamFsbExvZ2dlci53YXJuKFxuICAgICAgYFtmamFsbF0gRmFpbGVkIHRvIHBhcnNlIG9yZ0NvbmZpZyBmcm9tIENESyBjb250ZXh0OiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKX1gXG4gICAgKTtcbiAgICByZXR1cm4gW107XG4gIH1cbn1cblxuLyoqXG4gKiBMb29rIHVwIGVudmlyb25tZW50IGZyb20gYWNjb3VudCBJRCB2aWEgb3JnQ29uZmlnIENESyBjb250ZXh0LlxuICovXG5mdW5jdGlvbiByZXNvbHZlRW52aXJvbm1lbnRGcm9tQWNjb3VudElkKFxuICBhY2NvdW50SWQ6IHN0cmluZ1xuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYWNjb3VudHMgPSBnZXRQcm92aWRlckFjY291bnRzRnJvbUNvbnRleHQoKTtcbiAgcmV0dXJuIGFjY291bnRzLmZpbmQoKHBhKSA9PiBwYS5pZCA9PT0gYWNjb3VudElkKT8uZW52aXJvbm1lbnQ7XG59XG5cbi8qKlxuICogTG9vayB1cCBlbnZpcm9ubWVudCBmcm9tIGFjY291bnQgbmFtZSB2aWEgb3JnQ29uZmlnIENESyBjb250ZXh0LlxuICovXG5mdW5jdGlvbiByZXNvbHZlRW52aXJvbm1lbnRGcm9tQWNjb3VudE5hbWUoXG4gIGFjY291bnROYW1lOiBzdHJpbmdcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGFjY291bnRzID0gZ2V0UHJvdmlkZXJBY2NvdW50c0Zyb21Db250ZXh0KCk7XG4gIHJldHVybiBhY2NvdW50cy5maW5kKChwYSkgPT4gcGEubmFtZSA9PT0gYWNjb3VudE5hbWUpPy5lbnZpcm9ubWVudDtcbn1cbiJdfQ==
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { type Account } from "@aws-sdk/client-organizations";
|
|
2
|
-
export interface ICostAllocationTags {
|
|
3
|
-
TagKey: string;
|
|
4
|
-
Status: string;
|
|
5
|
-
}
|
|
6
2
|
export interface Config {
|
|
7
3
|
region: string;
|
|
8
4
|
environment: string;
|
|
9
5
|
existingAccounts: Account[];
|
|
10
|
-
costAllocationTags: ICostAllocationTags[];
|
|
11
6
|
accountId?: string;
|
|
12
7
|
accountName?: string;
|
|
13
8
|
accountIds?: Record<string, string>;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getConfig = getConfig;
|
|
4
4
|
const app_1 = require("../app");
|
|
5
|
-
const util_1 = require("@fjall/util");
|
|
6
5
|
const validationLogger_1 = require("./validationLogger");
|
|
7
6
|
function getConfig(accountName) {
|
|
8
7
|
const app = app_1.default.getInstance();
|
|
@@ -10,37 +9,61 @@ function getConfig(accountName) {
|
|
|
10
9
|
region: process.env.AWS_REGION || "us-east-1",
|
|
11
10
|
environment: "unknown",
|
|
12
11
|
existingAccounts: [],
|
|
13
|
-
costAllocationTags: [],
|
|
14
12
|
secondaryRegions: [],
|
|
15
13
|
allRegions: []
|
|
16
14
|
};
|
|
17
15
|
if (!process.env.AWS_REGION)
|
|
18
16
|
validationLogger_1.FjallLogger.warn("AWS_REGION is not set, defaulting to us-east-1");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
let providerAccounts = [];
|
|
18
|
+
// Primary: read org config from CDK context (injected by CLI/worker)
|
|
19
|
+
const orgConfigRaw = app.node.tryGetContext("orgConfig");
|
|
20
|
+
if (typeof orgConfigRaw === "string") {
|
|
21
|
+
try {
|
|
22
|
+
const orgConfig = JSON.parse(orgConfigRaw);
|
|
23
|
+
providerAccounts = Array.isArray(orgConfig.providerAccounts)
|
|
24
|
+
? orgConfig.providerAccounts
|
|
25
|
+
: [];
|
|
26
|
+
config.primaryRegion =
|
|
27
|
+
typeof orgConfig.primaryRegion === "string"
|
|
28
|
+
? orgConfig.primaryRegion
|
|
29
|
+
: undefined;
|
|
30
|
+
config.secondaryRegions = Array.isArray(orgConfig.secondaryRegions)
|
|
31
|
+
? orgConfig.secondaryRegions
|
|
32
|
+
: [];
|
|
33
|
+
config.disasterRecoveryRegion =
|
|
34
|
+
typeof orgConfig.disasterRecoveryRegion === "string"
|
|
35
|
+
? orgConfig.disasterRecoveryRegion
|
|
36
|
+
: undefined;
|
|
37
|
+
// Compute allRegions from org config fields
|
|
38
|
+
const regions = new Set();
|
|
39
|
+
if (config.primaryRegion)
|
|
40
|
+
regions.add(config.primaryRegion);
|
|
41
|
+
for (const r of config.secondaryRegions)
|
|
42
|
+
regions.add(r);
|
|
43
|
+
if (config.disasterRecoveryRegion)
|
|
44
|
+
regions.add(config.disasterRecoveryRegion);
|
|
45
|
+
config.allRegions = [...regions];
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
validationLogger_1.FjallLogger.warn(`Failed to parse orgConfig from CDK context: ${error instanceof Error ? error.message : String(error)}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
validationLogger_1.FjallLogger.warn("No orgConfig context provided — org-level config (accounts, regions) will be empty");
|
|
53
|
+
}
|
|
23
54
|
// Build account IDs map from provider accounts (name → id)
|
|
24
|
-
const providerAccounts = fjallConfig.rootConfig.providerAccounts || [];
|
|
25
55
|
if (providerAccounts.length > 0) {
|
|
26
56
|
config.accountIds = {};
|
|
27
57
|
for (const pa of providerAccounts) {
|
|
28
58
|
config.accountIds[pa.name] = pa.id;
|
|
29
59
|
}
|
|
30
60
|
}
|
|
31
|
-
// Get cost allocation tags
|
|
32
|
-
config.costAllocationTags = fjallConfig.getCostAllocationTags();
|
|
33
|
-
// Get regions configuration
|
|
34
|
-
config.primaryRegion = fjallConfig.getPrimaryRegion();
|
|
35
|
-
config.secondaryRegions = fjallConfig.getSecondaryRegions() || [];
|
|
36
|
-
config.allRegions = fjallConfig.getAllRegions();
|
|
37
|
-
config.disasterRecoveryRegion = fjallConfig.getDisasterRecoveryRegion();
|
|
38
61
|
// If unspecified account name - try to retrieve from context
|
|
39
62
|
if (!accountName)
|
|
40
63
|
accountName = app.node.tryGetContext("accountName");
|
|
41
64
|
// If we have an account name - look for associated provider account
|
|
42
65
|
if (accountName) {
|
|
43
|
-
const providerAccount =
|
|
66
|
+
const providerAccount = providerAccounts.find((pa) => pa.name === accountName);
|
|
44
67
|
if (providerAccount) {
|
|
45
68
|
config.accountId = providerAccount.id;
|
|
46
69
|
config.accountName = providerAccount.name;
|
|
@@ -51,9 +74,9 @@ function getConfig(accountName) {
|
|
|
51
74
|
if (!config.accountName) {
|
|
52
75
|
const accountId = app.node.tryGetContext("accountId");
|
|
53
76
|
// If we find an accountId - retrieve the associated account from config
|
|
54
|
-
if (accountId) {
|
|
77
|
+
if (typeof accountId === "string") {
|
|
55
78
|
config.accountId = accountId;
|
|
56
|
-
const providerAccount =
|
|
79
|
+
const providerAccount = providerAccounts.find((pa) => pa.id === accountId);
|
|
57
80
|
if (providerAccount) {
|
|
58
81
|
config.accountName = providerAccount.name;
|
|
59
82
|
config.environment = providerAccount.environment;
|
|
@@ -62,7 +85,7 @@ function getConfig(accountName) {
|
|
|
62
85
|
}
|
|
63
86
|
// Check for environment from context (highest priority)
|
|
64
87
|
const contextEnvironment = app.node.tryGetContext("environment");
|
|
65
|
-
if (contextEnvironment) {
|
|
88
|
+
if (typeof contextEnvironment === "string") {
|
|
66
89
|
config.environment = contextEnvironment;
|
|
67
90
|
}
|
|
68
91
|
else if (process.env.ENVIRONMENT && config.environment === "unknown") {
|
|
@@ -72,4 +95,4 @@ function getConfig(accountName) {
|
|
|
72
95
|
return config;
|
|
73
96
|
}
|
|
74
97
|
exports.default = getConfig;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXlCQSw4QkE0RUM7QUFuR0QsZ0NBQXlCO0FBQ3pCLHNDQUFvRDtBQUNwRCx5REFBaUQ7QUFxQmpELFNBQWdCLFNBQVMsQ0FBQyxXQUFvQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxhQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFOUIsTUFBTSxNQUFNLEdBQVc7UUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLFdBQVc7UUFDN0MsV0FBVyxFQUFFLFNBQVM7UUFDdEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixrQkFBa0IsRUFBRSxFQUFFO1FBQ3RCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsVUFBVSxFQUFFLEVBQUU7S0FDZixDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUN6Qiw4QkFBVyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBRXJFLDJDQUEyQztJQUMzQyxNQUFNLFdBQVcsR0FBRyxhQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFN0Msd0JBQXdCO0lBQ3hCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUU1RCwyREFBMkQ7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN2RSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sRUFBRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixNQUFNLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFaEUsNEJBQTRCO0lBQzVCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdEQsTUFBTSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRSxNQUFNLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoRCxNQUFNLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFFeEUsNkRBQTZEO0lBQzdELElBQUksQ0FBQyxXQUFXO1FBQUUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLG9FQUFvRTtJQUNwRSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsd0VBQXdFO1FBQ3hFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUU3QixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEUsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUMxQyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7WUFDbkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7SUFDMUMsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN2RSw2REFBNkQ7UUFDN0QsTUFBTSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQWNjb3VudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuXG5pbXBvcnQgQXBwIGZyb20gXCIuLi9hcHBcIjtcbmltcG9ydCB7IENvbmZpZyBhcyBGamFsbENvbmZpZyB9IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuaW1wb3J0IHsgRmphbGxMb2dnZXIgfSBmcm9tIFwiLi92YWxpZGF0aW9uTG9nZ2VyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvc3RBbGxvY2F0aW9uVGFncyB7XG4gIFRhZ0tleTogc3RyaW5nO1xuICBTdGF0dXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuICByZWdpb246IHN0cmluZztcbiAgZW52aXJvbm1lbnQ6IHN0cmluZztcbiAgZXhpc3RpbmdBY2NvdW50czogQWNjb3VudFtdO1xuICBjb3N0QWxsb2NhdGlvblRhZ3M6IElDb3N0QWxsb2NhdGlvblRhZ3NbXTtcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBhY2NvdW50TmFtZT86IHN0cmluZztcbiAgYWNjb3VudElkcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByaW1hcnlSZWdpb24/OiBzdHJpbmc7XG4gIHNlY29uZGFyeVJlZ2lvbnM6IHN0cmluZ1tdO1xuICBhbGxSZWdpb25zOiBzdHJpbmdbXTtcbiAgZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZyhhY2NvdW50TmFtZT86IHN0cmluZyk6IENvbmZpZyB7XG4gIGNvbnN0IGFwcCA9IEFwcC5nZXRJbnN0YW5jZSgpO1xuXG4gIGNvbnN0IGNvbmZpZzogQ29uZmlnID0ge1xuICAgIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCBcInVzLWVhc3QtMVwiLFxuICAgIGVudmlyb25tZW50OiBcInVua25vd25cIixcbiAgICBleGlzdGluZ0FjY291bnRzOiBbXSxcbiAgICBjb3N0QWxsb2NhdGlvblRhZ3M6IFtdLFxuICAgIHNlY29uZGFyeVJlZ2lvbnM6IFtdLFxuICAgIGFsbFJlZ2lvbnM6IFtdXG4gIH07XG5cbiAgaWYgKCFwcm9jZXNzLmVudi5BV1NfUkVHSU9OKVxuICAgIEZqYWxsTG9nZ2VyLndhcm4oXCJBV1NfUkVHSU9OIGlzIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gdXMtZWFzdC0xXCIpO1xuXG4gIC8vIFJldHJpZXZlIGFueSBwcmUtZXhpc3RpbmcgYWNjb3VudCBjb25maWdcbiAgY29uc3QgZmphbGxDb25maWcgPSBGamFsbENvbmZpZy5sb2FkQ29uZmlnKCk7XG5cbiAgLy8gR2V0IGV4aXN0aW5nIGFjY291bnRzXG4gIGNvbmZpZy5leGlzdGluZ0FjY291bnRzID0gZmphbGxDb25maWcuZ2V0RXhpc3RpbmdBY2NvdW50cygpO1xuXG4gIC8vIEJ1aWxkIGFjY291bnQgSURzIG1hcCBmcm9tIHByb3ZpZGVyIGFjY291bnRzIChuYW1lIOKGkiBpZClcbiAgY29uc3QgcHJvdmlkZXJBY2NvdW50cyA9IGZqYWxsQ29uZmlnLnJvb3RDb25maWcucHJvdmlkZXJBY2NvdW50cyB8fCBbXTtcbiAgaWYgKHByb3ZpZGVyQWNjb3VudHMubGVuZ3RoID4gMCkge1xuICAgIGNvbmZpZy5hY2NvdW50SWRzID0ge307XG4gICAgZm9yIChjb25zdCBwYSBvZiBwcm92aWRlckFjY291bnRzKSB7XG4gICAgICBjb25maWcuYWNjb3VudElkc1twYS5uYW1lXSA9IHBhLmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBjb3N0IGFsbG9jYXRpb24gdGFnc1xuICBjb25maWcuY29zdEFsbG9jYXRpb25UYWdzID0gZmphbGxDb25maWcuZ2V0Q29zdEFsbG9jYXRpb25UYWdzKCk7XG5cbiAgLy8gR2V0IHJlZ2lvbnMgY29uZmlndXJhdGlvblxuICBjb25maWcucHJpbWFyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldFByaW1hcnlSZWdpb24oKTtcbiAgY29uZmlnLnNlY29uZGFyeVJlZ2lvbnMgPSBmamFsbENvbmZpZy5nZXRTZWNvbmRhcnlSZWdpb25zKCkgfHwgW107XG4gIGNvbmZpZy5hbGxSZWdpb25zID0gZmphbGxDb25maWcuZ2V0QWxsUmVnaW9ucygpO1xuICBjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldERpc2FzdGVyUmVjb3ZlcnlSZWdpb24oKTtcblxuICAvLyBJZiB1bnNwZWNpZmllZCBhY2NvdW50IG5hbWUgLSB0cnkgdG8gcmV0cmlldmUgZnJvbSBjb250ZXh0XG4gIGlmICghYWNjb3VudE5hbWUpIGFjY291bnROYW1lID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnROYW1lXCIpO1xuICAvLyBJZiB3ZSBoYXZlIGFuIGFjY291bnQgbmFtZSAtIGxvb2sgZm9yIGFzc29jaWF0ZWQgcHJvdmlkZXIgYWNjb3VudFxuICBpZiAoYWNjb3VudE5hbWUpIHtcbiAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnQoYWNjb3VudE5hbWUpO1xuICAgIGlmIChwcm92aWRlckFjY291bnQpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWQgPSBwcm92aWRlckFjY291bnQuaWQ7XG4gICAgICBjb25maWcuYWNjb3VudE5hbWUgPSBwcm92aWRlckFjY291bnQubmFtZTtcbiAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGFuIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBhY2NvdW50SWQgZnJvbSBjb250ZXh0XG4gIGlmICghY29uZmlnLmFjY291bnROYW1lKSB7XG4gICAgY29uc3QgYWNjb3VudElkID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnRJZFwiKTtcbiAgICAvLyBJZiB3ZSBmaW5kIGFuIGFjY291bnRJZCAtIHJldHJpZXZlIHRoZSBhc3NvY2lhdGVkIGFjY291bnQgZnJvbSBjb25maWdcbiAgICBpZiAoYWNjb3VudElkKSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gYWNjb3VudElkO1xuXG4gICAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnRCeUlkKGFjY291bnRJZCk7XG4gICAgICBpZiAocHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIGVudmlyb25tZW50IGZyb20gY29udGV4dCAoaGlnaGVzdCBwcmlvcml0eSlcbiAgY29uc3QgY29udGV4dEVudmlyb25tZW50ID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImVudmlyb25tZW50XCIpO1xuICBpZiAoY29udGV4dEVudmlyb25tZW50KSB7XG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gY29udGV4dEVudmlyb25tZW50O1xuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LkVOVklST05NRU5UICYmIGNvbmZpZy5lbnZpcm9ubWVudCA9PT0gXCJ1bmtub3duXCIpIHtcbiAgICAvLyBGYWxsIGJhY2sgdG8gRU5WSVJPTk1FTlQgdmFyaWFibGUgaWYgbm8gb3RoZXIgc291cmNlIGZvdW5kXG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQ7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZGVmYXVsdCBnZXRDb25maWc7XG4iXX0=
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw4QkF3R0M7QUF6SEQsZ0NBQXlCO0FBRXpCLHlEQUFpRDtBQWVqRCxTQUFnQixTQUFTLENBQUMsV0FBb0I7SUFDNUMsTUFBTSxHQUFHLEdBQUcsYUFBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTlCLE1BQU0sTUFBTSxHQUFXO1FBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxXQUFXO1FBQzdDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixVQUFVLEVBQUUsRUFBRTtLQUNmLENBQUM7SUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1FBQ3pCLDhCQUFXLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFFckUsSUFBSSxnQkFBZ0IsR0FBc0IsRUFBRSxDQUFDO0lBRTdDLHFFQUFxRTtJQUNyRSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV6RCxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUE0QixDQUFDO1lBQ3RFLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO2dCQUMxRCxDQUFDLENBQUUsU0FBUyxDQUFDLGdCQUFzQztnQkFDbkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLE1BQU0sQ0FBQyxhQUFhO2dCQUNsQixPQUFPLFNBQVMsQ0FBQyxhQUFhLEtBQUssUUFBUTtvQkFDekMs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LENBQzNDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FDNUIsQ0FBQztZQUNGLElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLElBQUksT0FBTyxrQkFBa0IsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0lBQzFDLENBQUM7U0FBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkUsNkRBQTZEO1FBQzdELE1BQU0sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxrQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEFjY291bnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9yZ2FuaXphdGlvbnNcIjtcblxuaW1wb3J0IEFwcCBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyB0eXBlIFByb3ZpZGVyQWNjb3VudCB9IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuaW1wb3J0IHsgRmphbGxMb2dnZXIgfSBmcm9tIFwiLi92YWxpZGF0aW9uTG9nZ2VyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG4gIGV4aXN0aW5nQWNjb3VudHM6IEFjY291bnRbXTtcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBhY2NvdW50TmFtZT86IHN0cmluZztcbiAgYWNjb3VudElkcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByaW1hcnlSZWdpb24/OiBzdHJpbmc7XG4gIHNlY29uZGFyeVJlZ2lvbnM6IHN0cmluZ1tdO1xuICBhbGxSZWdpb25zOiBzdHJpbmdbXTtcbiAgZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZyhhY2NvdW50TmFtZT86IHN0cmluZyk6IENvbmZpZyB7XG4gIGNvbnN0IGFwcCA9IEFwcC5nZXRJbnN0YW5jZSgpO1xuXG4gIGNvbnN0IGNvbmZpZzogQ29uZmlnID0ge1xuICAgIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCBcInVzLWVhc3QtMVwiLFxuICAgIGVudmlyb25tZW50OiBcInVua25vd25cIixcbiAgICBleGlzdGluZ0FjY291bnRzOiBbXSxcbiAgICBzZWNvbmRhcnlSZWdpb25zOiBbXSxcbiAgICBhbGxSZWdpb25zOiBbXVxuICB9O1xuXG4gIGlmICghcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTilcbiAgICBGamFsbExvZ2dlci53YXJuKFwiQVdTX1JFR0lPTiBpcyBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIHVzLWVhc3QtMVwiKTtcblxuICBsZXQgcHJvdmlkZXJBY2NvdW50czogUHJvdmlkZXJBY2NvdW50W10gPSBbXTtcblxuICAvLyBQcmltYXJ5OiByZWFkIG9yZyBjb25maWcgZnJvbSBDREsgY29udGV4dCAoaW5qZWN0ZWQgYnkgQ0xJL3dvcmtlcilcbiAgY29uc3Qgb3JnQ29uZmlnUmF3ID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcIm9yZ0NvbmZpZ1wiKTtcblxuICBpZiAodHlwZW9mIG9yZ0NvbmZpZ1JhdyA9PT0gXCJzdHJpbmdcIikge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvcmdDb25maWcgPSBKU09OLnBhcnNlKG9yZ0NvbmZpZ1JhdykgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICBwcm92aWRlckFjY291bnRzID0gQXJyYXkuaXNBcnJheShvcmdDb25maWcucHJvdmlkZXJBY2NvdW50cylcbiAgICAgICAgPyAob3JnQ29uZmlnLnByb3ZpZGVyQWNjb3VudHMgYXMgUHJvdmlkZXJBY2NvdW50W10pXG4gICAgICAgIDogW107XG4gICAgICBjb25maWcucHJpbWFyeVJlZ2lvbiA9XG4gICAgICAgIHR5cGVvZiBvcmdDb25maWcucHJpbWFyeVJlZ2lvbiA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gb3JnQ29uZmlnLnByaW1hcnlSZWdpb25cbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbmZpZy5zZWNvbmRhcnlSZWdpb25zID0gQXJyYXkuaXNBcnJheShvcmdDb25maWcuc2Vjb25kYXJ5UmVnaW9ucylcbiAgICAgICAgPyAob3JnQ29uZmlnLnNlY29uZGFyeVJlZ2lvbnMgYXMgc3RyaW5nW10pXG4gICAgICAgIDogW107XG4gICAgICBjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbiA9XG4gICAgICAgIHR5cGVvZiBvcmdDb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbiA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gb3JnQ29uZmlnLmRpc2FzdGVyUmVjb3ZlcnlSZWdpb25cbiAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgLy8gQ29tcHV0ZSBhbGxSZWdpb25zIGZyb20gb3JnIGNvbmZpZyBmaWVsZHNcbiAgICAgIGNvbnN0IHJlZ2lvbnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgIGlmIChjb25maWcucHJpbWFyeVJlZ2lvbikgcmVnaW9ucy5hZGQoY29uZmlnLnByaW1hcnlSZWdpb24pO1xuICAgICAgZm9yIChjb25zdCByIG9mIGNvbmZpZy5zZWNvbmRhcnlSZWdpb25zKSByZWdpb25zLmFkZChyKTtcbiAgICAgIGlmIChjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbilcbiAgICAgICAgcmVnaW9ucy5hZGQoY29uZmlnLmRpc2FzdGVyUmVjb3ZlcnlSZWdpb24pO1xuICAgICAgY29uZmlnLmFsbFJlZ2lvbnMgPSBbLi4ucmVnaW9uc107XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEZqYWxsTG9nZ2VyLndhcm4oXG4gICAgICAgIGBGYWlsZWQgdG8gcGFyc2Ugb3JnQ29uZmlnIGZyb20gQ0RLIGNvbnRleHQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpfWBcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIEZqYWxsTG9nZ2VyLndhcm4oXG4gICAgICBcIk5vIG9yZ0NvbmZpZyBjb250ZXh0IHByb3ZpZGVkIOKAlCBvcmctbGV2ZWwgY29uZmlnIChhY2NvdW50cywgcmVnaW9ucykgd2lsbCBiZSBlbXB0eVwiXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJ1aWxkIGFjY291bnQgSURzIG1hcCBmcm9tIHByb3ZpZGVyIGFjY291bnRzIChuYW1lIOKGkiBpZClcbiAgaWYgKHByb3ZpZGVyQWNjb3VudHMubGVuZ3RoID4gMCkge1xuICAgIGNvbmZpZy5hY2NvdW50SWRzID0ge307XG4gICAgZm9yIChjb25zdCBwYSBvZiBwcm92aWRlckFjY291bnRzKSB7XG4gICAgICBjb25maWcuYWNjb3VudElkc1twYS5uYW1lXSA9IHBhLmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHVuc3BlY2lmaWVkIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBmcm9tIGNvbnRleHRcbiAgaWYgKCFhY2NvdW50TmFtZSkgYWNjb3VudE5hbWUgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiYWNjb3VudE5hbWVcIik7XG4gIC8vIElmIHdlIGhhdmUgYW4gYWNjb3VudCBuYW1lIC0gbG9vayBmb3IgYXNzb2NpYXRlZCBwcm92aWRlciBhY2NvdW50XG4gIGlmIChhY2NvdW50TmFtZSkge1xuICAgIGNvbnN0IHByb3ZpZGVyQWNjb3VudCA9IHByb3ZpZGVyQWNjb3VudHMuZmluZChcbiAgICAgIChwYSkgPT4gcGEubmFtZSA9PT0gYWNjb3VudE5hbWVcbiAgICApO1xuICAgIGlmIChwcm92aWRlckFjY291bnQpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWQgPSBwcm92aWRlckFjY291bnQuaWQ7XG4gICAgICBjb25maWcuYWNjb3VudE5hbWUgPSBwcm92aWRlckFjY291bnQubmFtZTtcbiAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGFuIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBhY2NvdW50SWQgZnJvbSBjb250ZXh0XG4gIGlmICghY29uZmlnLmFjY291bnROYW1lKSB7XG4gICAgY29uc3QgYWNjb3VudElkID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnRJZFwiKTtcbiAgICAvLyBJZiB3ZSBmaW5kIGFuIGFjY291bnRJZCAtIHJldHJpZXZlIHRoZSBhc3NvY2lhdGVkIGFjY291bnQgZnJvbSBjb25maWdcbiAgICBpZiAodHlwZW9mIGFjY291bnRJZCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgY29uZmlnLmFjY291bnRJZCA9IGFjY291bnRJZDtcblxuICAgICAgY29uc3QgcHJvdmlkZXJBY2NvdW50ID0gcHJvdmlkZXJBY2NvdW50cy5maW5kKFxuICAgICAgICAocGEpID0+IHBhLmlkID09PSBhY2NvdW50SWRcbiAgICAgICk7XG4gICAgICBpZiAocHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIGVudmlyb25tZW50IGZyb20gY29udGV4dCAoaGlnaGVzdCBwcmlvcml0eSlcbiAgY29uc3QgY29udGV4dEVudmlyb25tZW50ID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImVudmlyb25tZW50XCIpO1xuICBpZiAodHlwZW9mIGNvbnRleHRFbnZpcm9ubWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IGNvbnRleHRFbnZpcm9ubWVudDtcbiAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5FTlZJUk9OTUVOVCAmJiBjb25maWcuZW52aXJvbm1lbnQgPT09IFwidW5rbm93blwiKSB7XG4gICAgLy8gRmFsbCBiYWNrIHRvIEVOVklST05NRU5UIHZhcmlhYmxlIGlmIG5vIG90aGVyIHNvdXJjZSBmb3VuZFxuICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb2Nlc3MuZW52LkVOVklST05NRU5UO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0Q29uZmlnO1xuIl19
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
export * from "./backupTierMapping";
|
|
1
2
|
export * from "./capitaliseString";
|
|
3
|
+
export * from "./connections";
|
|
4
|
+
export * from "./databaseTypes";
|
|
2
5
|
export * from "./getConfig";
|
|
6
|
+
export * from "./removalPolicy";
|
|
3
7
|
export * from "./resourceNaming";
|
|
4
8
|
export * from "./standardTagsAspect";
|
|
5
9
|
export * from "./validationLogger";
|
|
10
|
+
export * from "./env";
|
|
11
|
+
export * from "./vpcUtils";
|
|
12
|
+
export * from "./domainTypes";
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -14,9 +14,16 @@ 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("./backupTierMapping"), exports);
|
|
17
18
|
__exportStar(require("./capitaliseString"), exports);
|
|
19
|
+
__exportStar(require("./connections"), exports);
|
|
20
|
+
__exportStar(require("./databaseTypes"), exports);
|
|
18
21
|
__exportStar(require("./getConfig"), exports);
|
|
22
|
+
__exportStar(require("./removalPolicy"), exports);
|
|
19
23
|
__exportStar(require("./resourceNaming"), exports);
|
|
20
24
|
__exportStar(require("./standardTagsAspect"), exports);
|
|
21
25
|
__exportStar(require("./validationLogger"), exports);
|
|
22
|
-
|
|
26
|
+
__exportStar(require("./env"), exports);
|
|
27
|
+
__exportStar(require("./vpcUtils"), exports);
|
|
28
|
+
__exportStar(require("./domainTypes"), exports);
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyxxREFBbUM7QUFDbkMsZ0RBQThCO0FBQzlCLGtEQUFnQztBQUNoQyw4Q0FBNEI7QUFDNUIsa0RBQWdDO0FBQ2hDLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMscURBQW1DO0FBQ25DLHdDQUFzQjtBQUN0Qiw2Q0FBMkI7QUFDM0IsZ0RBQThCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYmFja3VwVGllck1hcHBpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhcGl0YWxpc2VTdHJpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Nvbm5lY3Rpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZVR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9nZXRDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlbW92YWxQb2xpY3lcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlc291cmNlTmFtaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZFRhZ3NBc3BlY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRpb25Mb2dnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdnBjVXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RvbWFpblR5cGVzXCI7XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toRemovalPolicy = toRemovalPolicy;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
function toRemovalPolicy(value) {
|
|
6
|
+
switch (value) {
|
|
7
|
+
case "DESTROY":
|
|
8
|
+
return aws_cdk_lib_1.RemovalPolicy.DESTROY;
|
|
9
|
+
case "SNAPSHOT":
|
|
10
|
+
return aws_cdk_lib_1.RemovalPolicy.SNAPSHOT;
|
|
11
|
+
case "RETAIN":
|
|
12
|
+
default:
|
|
13
|
+
return aws_cdk_lib_1.RemovalPolicy.RETAIN;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZhbFBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi91dGlscy9yZW1vdmFsUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsMENBWUM7QUFkRCw2Q0FBNEM7QUFFNUMsU0FBZ0IsZUFBZSxDQUM3QixLQUF5QztJQUV6QyxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxTQUFTO1lBQ1osT0FBTywyQkFBYSxDQUFDLE9BQU8sQ0FBQztRQUMvQixLQUFLLFVBQVU7WUFDYixPQUFPLDJCQUFhLENBQUMsUUFBUSxDQUFDO1FBQ2hDLEtBQUssUUFBUSxDQUFDO1FBQ2Q7WUFDRSxPQUFPLDJCQUFhLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9SZW1vdmFsUG9saWN5KFxuICB2YWx1ZT86IFwiREVTVFJPWVwiIHwgXCJSRVRBSU5cIiB8IFwiU05BUFNIT1RcIlxuKTogUmVtb3ZhbFBvbGljeSB7XG4gIHN3aXRjaCAodmFsdWUpIHtcbiAgICBjYXNlIFwiREVTVFJPWVwiOlxuICAgICAgcmV0dXJuIFJlbW92YWxQb2xpY3kuREVTVFJPWTtcbiAgICBjYXNlIFwiU05BUFNIT1RcIjpcbiAgICAgIHJldHVybiBSZW1vdmFsUG9saWN5LlNOQVBTSE9UO1xuICAgIGNhc2UgXCJSRVRBSU5cIjpcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFJlbW92YWxQb2xpY3kuUkVUQUlOO1xuICB9XG59XG4iXX0=
|
|
@@ -23,6 +23,10 @@ export declare class StandardTagsAspect implements IAspect {
|
|
|
23
23
|
private addIpamPoolTag;
|
|
24
24
|
/**
|
|
25
25
|
* Add disaster recovery tier tag to S3 buckets with backupVaultTier property.
|
|
26
|
+
* This serves as a per-resource override when `backupVaultTier` is set on a
|
|
27
|
+
* specific S3 bucket. CDK child tags override parent tags, so this takes
|
|
28
|
+
* precedence over the app-level backup tag set via `App.getApp({ backup })`.
|
|
29
|
+
*
|
|
26
30
|
* Tag format: fjall:disasterRecovery:tier = "{tier}"
|
|
27
31
|
*
|
|
28
32
|
* Tier mapping:
|