@fjall/components-infrastructure 0.88.1 → 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 +34 -11
- package/dist/lib/app.js +83 -39
- 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/identityCenter.d.ts +4 -4
- package/dist/lib/config/aws/identityCenter.js +17 -62
- package/dist/lib/config/aws/identityCenterGroupMembership.js +27 -37
- package/dist/lib/config/aws/index.d.ts +4 -7
- package/dist/lib/config/aws/index.js +5 -8
- 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/layers/layers/secrets-resolver/bin/resolve-secrets +30 -0
- package/dist/lib/layers/layers/secrets-resolver/bin/resolve-secrets.mjs +212 -0
- package/dist/lib/layers/secrets-resolver/bin/resolve-secrets +30 -0
- package/dist/lib/layers/secrets-resolver/bin/resolve-secrets.mjs +212 -0
- package/dist/lib/patterns/aws/account.js +45 -19
- 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 +9 -89
- package/dist/lib/patterns/aws/database.js +17 -40
- 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 +6 -17
- package/dist/lib/patterns/aws/organisation.js +22 -67
- 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 +12 -3
- package/dist/lib/resources/aws/compute/lambda.js +48 -36
- 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 +33 -69
- 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/identityCenter/assignment.d.ts +0 -2
- package/dist/lib/resources/aws/iam/identityCenter/assignment.js +9 -45
- package/dist/lib/resources/aws/iam/identityCenter/group.d.ts +1 -3
- package/dist/lib/resources/aws/iam/identityCenter/group.js +7 -82
- package/dist/lib/resources/aws/iam/identityCenter/permissionSet.d.ts +1 -3
- package/dist/lib/resources/aws/iam/identityCenter/permissionSet.js +9 -93
- 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 +110 -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/secrets/parameter.js +5 -3
- package/dist/lib/resources/aws/storage/ecr.d.ts +0 -1
- package/dist/lib/resources/aws/storage/ecr.js +5 -7
- 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 -2
- 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/resourceNaming.js +4 -7
- 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 +8 -8
|
@@ -10,7 +10,6 @@ function getConfig(accountName) {
|
|
|
10
10
|
region: process.env.AWS_REGION || "us-east-1",
|
|
11
11
|
environment: "unknown",
|
|
12
12
|
existingAccounts: [],
|
|
13
|
-
costAllocationTags: [],
|
|
14
13
|
secondaryRegions: [],
|
|
15
14
|
allRegions: []
|
|
16
15
|
};
|
|
@@ -28,8 +27,6 @@ function getConfig(accountName) {
|
|
|
28
27
|
config.accountIds[pa.name] = pa.id;
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
|
-
// Get cost allocation tags
|
|
32
|
-
config.costAllocationTags = fjallConfig.getCostAllocationTags();
|
|
33
30
|
// Get regions configuration
|
|
34
31
|
config.primaryRegion = fjallConfig.getPrimaryRegion();
|
|
35
32
|
config.secondaryRegions = fjallConfig.getSecondaryRegions() || [];
|
|
@@ -72,4 +69,4 @@ function getConfig(accountName) {
|
|
|
72
69
|
return config;
|
|
73
70
|
}
|
|
74
71
|
exports.default = getConfig;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw4QkF3RUM7QUF6RkQsZ0NBQXlCO0FBQ3pCLHNDQUFvRDtBQUNwRCx5REFBaUQ7QUFlakQsU0FBZ0IsU0FBUyxDQUFDLFdBQW9CO0lBQzVDLE1BQU0sR0FBRyxHQUFHLGFBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU5QixNQUFNLE1BQU0sR0FBVztRQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVztRQUM3QyxXQUFXLEVBQUUsU0FBUztRQUN0QixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsVUFBVSxFQUFFLEVBQUU7S0FDZixDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUN6Qiw4QkFBVyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBRXJFLDJDQUEyQztJQUMzQyxNQUFNLFdBQVcsR0FBRyxhQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFN0Msd0JBQXdCO0lBQ3hCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUU1RCwyREFBMkQ7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN2RSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sRUFBRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixNQUFNLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3RELE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEUsTUFBTSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEQsTUFBTSxDQUFDLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBRXhFLDZEQUE2RDtJQUM3RCxJQUFJLENBQUMsV0FBVztRQUFFLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RSxvRUFBb0U7SUFDcEUsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtGQUFrRjtJQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELHdFQUF3RTtRQUN4RSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFFN0IsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RFLElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0lBQzFDLENBQUM7U0FBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkUsNkRBQTZEO1FBQzdELE1BQU0sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxrQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEFjY291bnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9yZ2FuaXphdGlvbnNcIjtcblxuaW1wb3J0IEFwcCBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyBDb25maWcgYXMgRmphbGxDb25maWcgfSBmcm9tIFwiQGZqYWxsL3V0aWxcIjtcbmltcG9ydCB7IEZqYWxsTG9nZ2VyIH0gZnJvbSBcIi4vdmFsaWRhdGlvbkxvZ2dlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBleGlzdGluZ0FjY291bnRzOiBBY2NvdW50W107XG4gIGFjY291bnRJZD86IHN0cmluZztcbiAgYWNjb3VudE5hbWU/OiBzdHJpbmc7XG4gIGFjY291bnRJZHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBwcmltYXJ5UmVnaW9uPzogc3RyaW5nO1xuICBzZWNvbmRhcnlSZWdpb25zOiBzdHJpbmdbXTtcbiAgYWxsUmVnaW9uczogc3RyaW5nW107XG4gIGRpc2FzdGVyUmVjb3ZlcnlSZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoYWNjb3VudE5hbWU/OiBzdHJpbmcpOiBDb25maWcge1xuICBjb25zdCBhcHAgPSBBcHAuZ2V0SW5zdGFuY2UoKTtcblxuICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICByZWdpb246IHByb2Nlc3MuZW52LkFXU19SRUdJT04gfHwgXCJ1cy1lYXN0LTFcIixcbiAgICBlbnZpcm9ubWVudDogXCJ1bmtub3duXCIsXG4gICAgZXhpc3RpbmdBY2NvdW50czogW10sXG4gICAgc2Vjb25kYXJ5UmVnaW9uczogW10sXG4gICAgYWxsUmVnaW9uczogW11cbiAgfTtcblxuICBpZiAoIXByb2Nlc3MuZW52LkFXU19SRUdJT04pXG4gICAgRmphbGxMb2dnZXIud2FybihcIkFXU19SRUdJT04gaXMgbm90IHNldCwgZGVmYXVsdGluZyB0byB1cy1lYXN0LTFcIik7XG5cbiAgLy8gUmV0cmlldmUgYW55IHByZS1leGlzdGluZyBhY2NvdW50IGNvbmZpZ1xuICBjb25zdCBmamFsbENvbmZpZyA9IEZqYWxsQ29uZmlnLmxvYWRDb25maWcoKTtcblxuICAvLyBHZXQgZXhpc3RpbmcgYWNjb3VudHNcbiAgY29uZmlnLmV4aXN0aW5nQWNjb3VudHMgPSBmamFsbENvbmZpZy5nZXRFeGlzdGluZ0FjY291bnRzKCk7XG5cbiAgLy8gQnVpbGQgYWNjb3VudCBJRHMgbWFwIGZyb20gcHJvdmlkZXIgYWNjb3VudHMgKG5hbWUg4oaSIGlkKVxuICBjb25zdCBwcm92aWRlckFjY291bnRzID0gZmphbGxDb25maWcucm9vdENvbmZpZy5wcm92aWRlckFjY291bnRzIHx8IFtdO1xuICBpZiAocHJvdmlkZXJBY2NvdW50cy5sZW5ndGggPiAwKSB7XG4gICAgY29uZmlnLmFjY291bnRJZHMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHBhIG9mIHByb3ZpZGVyQWNjb3VudHMpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWRzW3BhLm5hbWVdID0gcGEuaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IHJlZ2lvbnMgY29uZmlndXJhdGlvblxuICBjb25maWcucHJpbWFyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldFByaW1hcnlSZWdpb24oKTtcbiAgY29uZmlnLnNlY29uZGFyeVJlZ2lvbnMgPSBmamFsbENvbmZpZy5nZXRTZWNvbmRhcnlSZWdpb25zKCkgfHwgW107XG4gIGNvbmZpZy5hbGxSZWdpb25zID0gZmphbGxDb25maWcuZ2V0QWxsUmVnaW9ucygpO1xuICBjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldERpc2FzdGVyUmVjb3ZlcnlSZWdpb24oKTtcblxuICAvLyBJZiB1bnNwZWNpZmllZCBhY2NvdW50IG5hbWUgLSB0cnkgdG8gcmV0cmlldmUgZnJvbSBjb250ZXh0XG4gIGlmICghYWNjb3VudE5hbWUpIGFjY291bnROYW1lID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnROYW1lXCIpO1xuICAvLyBJZiB3ZSBoYXZlIGFuIGFjY291bnQgbmFtZSAtIGxvb2sgZm9yIGFzc29jaWF0ZWQgcHJvdmlkZXIgYWNjb3VudFxuICBpZiAoYWNjb3VudE5hbWUpIHtcbiAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnQoYWNjb3VudE5hbWUpO1xuICAgIGlmIChwcm92aWRlckFjY291bnQpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWQgPSBwcm92aWRlckFjY291bnQuaWQ7XG4gICAgICBjb25maWcuYWNjb3VudE5hbWUgPSBwcm92aWRlckFjY291bnQubmFtZTtcbiAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGFuIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBhY2NvdW50SWQgZnJvbSBjb250ZXh0XG4gIGlmICghY29uZmlnLmFjY291bnROYW1lKSB7XG4gICAgY29uc3QgYWNjb3VudElkID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnRJZFwiKTtcbiAgICAvLyBJZiB3ZSBmaW5kIGFuIGFjY291bnRJZCAtIHJldHJpZXZlIHRoZSBhc3NvY2lhdGVkIGFjY291bnQgZnJvbSBjb25maWdcbiAgICBpZiAoYWNjb3VudElkKSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gYWNjb3VudElkO1xuXG4gICAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnRCeUlkKGFjY291bnRJZCk7XG4gICAgICBpZiAocHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIGVudmlyb25tZW50IGZyb20gY29udGV4dCAoaGlnaGVzdCBwcmlvcml0eSlcbiAgY29uc3QgY29udGV4dEVudmlyb25tZW50ID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImVudmlyb25tZW50XCIpO1xuICBpZiAoY29udGV4dEVudmlyb25tZW50KSB7XG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gY29udGV4dEVudmlyb25tZW50O1xuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LkVOVklST05NRU5UICYmIGNvbmZpZy5lbnZpcm9ubWVudCA9PT0gXCJ1bmtub3duXCIpIHtcbiAgICAvLyBGYWxsIGJhY2sgdG8gRU5WSVJPTk1FTlQgdmFyaWFibGUgaWYgbm8gb3RoZXIgc291cmNlIGZvdW5kXG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQ7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZGVmYXVsdCBnZXRDb25maWc7XG4iXX0=
|
|
@@ -1,5 +1,11 @@
|
|
|
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";
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -14,9 +14,15 @@ 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
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyxxREFBbUM7QUFDbkMsZ0RBQThCO0FBQzlCLGtEQUFnQztBQUNoQyw4Q0FBNEI7QUFDNUIsa0RBQWdDO0FBQ2hDLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMscURBQW1DO0FBQ25DLHdDQUFzQjtBQUN0Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9iYWNrdXBUaWVyTWFwcGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2FwaXRhbGlzZVN0cmluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29ubmVjdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlVHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dldENvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVtb3ZhbFBvbGljeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVzb3VyY2VOYW1pbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkVGFnc0FzcGVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFsaWRhdGlvbkxvZ2dlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92cGNVdGlsc1wiO1xuIl19
|
|
@@ -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=
|
|
@@ -16,9 +16,8 @@ const capitaliseString_js_1 = require("./capitaliseString.js");
|
|
|
16
16
|
*/
|
|
17
17
|
class ResourceNaming {
|
|
18
18
|
/** RDS Instance identifier. AWS lowercases this. */
|
|
19
|
-
// TODO: revert to toKebab(name) after webapp redeploy (temp fix to match deployed instance ID "fjalldb")
|
|
20
19
|
static dbInstanceId(name) {
|
|
21
|
-
return
|
|
20
|
+
return (0, capitaliseString_js_1.toKebab)(name);
|
|
22
21
|
}
|
|
23
22
|
/** Aurora cluster identifier. Must be lowercase. */
|
|
24
23
|
static clusterId(name) {
|
|
@@ -54,14 +53,12 @@ class ResourceNaming {
|
|
|
54
53
|
return `${(0, capitaliseString_js_1.toKebab)(name)}-read-replica`;
|
|
55
54
|
}
|
|
56
55
|
/** Credentials secret name. Preserves original casing (Secrets Manager is case-sensitive). */
|
|
57
|
-
// TODO: revert to `${name}/credentials` after webapp redeploy (temp fix to match deployed secret names)
|
|
58
56
|
static credentialsSecretName(name) {
|
|
59
|
-
return `${name}
|
|
57
|
+
return `${name}/credentials`;
|
|
60
58
|
}
|
|
61
59
|
/** Master secret name for rotation. Preserves original casing (Secrets Manager is case-sensitive). */
|
|
62
|
-
// TODO: revert to `${name}/master-secret` after webapp redeploy (temp fix to match deployed secret names)
|
|
63
60
|
static masterSecretName(name) {
|
|
64
|
-
return `${name}
|
|
61
|
+
return `${name}/master-secret`;
|
|
65
62
|
}
|
|
66
63
|
/** Security group description for RDS Instance. */
|
|
67
64
|
static instanceSecurityGroupDescription(name) {
|
|
@@ -81,4 +78,4 @@ class ResourceNaming {
|
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
80
|
exports.ResourceNaming = ResourceNaming;
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VOYW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvcmVzb3VyY2VOYW1pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQWdEO0FBRWhEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBYSxjQUFjO0lBQ3pCLG9EQUFvRDtJQUNwRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVk7UUFDM0IsT0FBTyxHQUFHLElBQUEsNkJBQU8sRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsOERBQThEO0lBQzlELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQzVDLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQVksRUFBRSxNQUFjO1FBQ3BELE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLGNBQWMsTUFBTSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVk7UUFDM0IsT0FBTyxHQUFHLElBQUEsNkJBQU8sRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQVksRUFBRSxNQUFNLEdBQUcsU0FBUztRQUN0RCxPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLGdCQUFnQixDQUNyQixJQUFZLEVBQ1osS0FBYSxFQUNiLE1BQWU7UUFFZixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksVUFBVSxLQUFLLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsOEZBQThGO0lBQzlGLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFZO1FBQ3ZDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsc0dBQXNHO0lBQ3RHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLElBQVk7UUFDbEQsT0FBTyw0Q0FBNEMsSUFBSSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxNQUFNLENBQUMsK0JBQStCLENBQUMsSUFBWTtRQUNqRCxPQUFPLHFDQUFxQyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxJQUFZO1FBQy9DLE9BQU8sZ0NBQWdDLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLElBQVk7UUFDckQsT0FBTyx1Q0FBdUMsSUFBSSxFQUFFLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBaEZELHdDQWdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvS2ViYWIgfSBmcm9tIFwiLi9jYXBpdGFsaXNlU3RyaW5nLmpzXCI7XG5cbi8qKlxuICogQ2VudHJhbGlzZWQgcmVzb3VyY2UgbmFtaW5nIGZvciBpbmZyYXN0cnVjdHVyZS5cbiAqIEVuc3VyZXMgY29uc2lzdGVudCwgcHJlZGljdGFibGUgbmFtZXMgYWNyb3NzIGNvbnN0cnVjdHMgYW5kIHRlc3RzLlxuICpcbiAqIEFXUyBOYW1pbmcgQ29uc3RyYWludHM6XG4gKiAtIERCIEluc3RhbmNlL0NsdXN0ZXIgSUQ6IG1heCA2MyBjaGFycywgYWxwaGFudW1lcmljICsgaHlwaGVucywgY2FzZS1pbnNlbnNpdGl2ZSAobG93ZXJjYXNlZCBieSBBV1MpXG4gKiAtIFNlY3JldCBOYW1lOiBtYXggNTEyIGNoYXJzLCBjYXNlLXNlbnNpdGl2ZSwgcGF0aC1zdHlsZSB3aXRoIGAvYCBpcyBjb252ZW50aW9uYWxcbiAqIC0gUHJveHkgTmFtZTogbWF4IDYwIGNoYXJzLCBhbHBoYW51bWVyaWMgKyBoeXBoZW5zXG4gKlxuICogUkRTIGlkZW50aWZpZXJzIHVzZSB0b0tlYmFiKCkgdG8gaGFuZGxlIFBhc2NhbENhc2UvY2FtZWxDYXNlIGlucHV0cy5cbiAqIFNlY3JldCBuYW1lcyBwcmVzZXJ2ZSB0aGUgdXNlcidzIG9yaWdpbmFsIGNhc2luZyAoU2VjcmV0cyBNYW5hZ2VyIGlzIGNhc2Utc2Vuc2l0aXZlKS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc291cmNlTmFtaW5nIHtcbiAgLyoqIFJEUyBJbnN0YW5jZSBpZGVudGlmaWVyLiBBV1MgbG93ZXJjYXNlcyB0aGlzLiAqL1xuICBzdGF0aWMgZGJJbnN0YW5jZUlkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRvS2ViYWIobmFtZSk7XG4gIH1cblxuICAvKiogQXVyb3JhIGNsdXN0ZXIgaWRlbnRpZmllci4gTXVzdCBiZSBsb3dlcmNhc2UuICovXG4gIHN0YXRpYyBjbHVzdGVySWQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dG9LZWJhYihuYW1lKX0tY2x1c3RlcmA7XG4gIH1cblxuICAvKiogR2xvYmFsIEF1cm9yYSBjbHVzdGVyIGlkZW50aWZpZXIuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgZ2xvYmFsQ2x1c3RlcklkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LWdsb2JhbGA7XG4gIH1cblxuICAvKiogUHJpbWFyeSBjbHVzdGVyIElEIGZvciBHbG9iYWxBdXJvcmEuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgcHJpbWFyeUNsdXN0ZXJJZChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS1wcmltYXJ5LWNsdXN0ZXJgO1xuICB9XG5cbiAgLyoqIFNlY29uZGFyeSBjbHVzdGVyIElEIGZvciBHbG9iYWxBdXJvcmEuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgc2Vjb25kYXJ5Q2x1c3RlcklkKG5hbWU6IHN0cmluZywgcmVnaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS1zZWNvbmRhcnktJHtyZWdpb259YDtcbiAgfVxuXG4gIC8qKiBSRFMgUHJveHkgbmFtZS4gTXVzdCBiZSBsb3dlcmNhc2UgZm9yIGNvbnNpc3RlbmN5LiAqL1xuICBzdGF0aWMgcHJveHlOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LXByb3h5YDtcbiAgfVxuXG4gIC8qKiBBdXJvcmEgd3JpdGVyIGluc3RhbmNlIGlkZW50aWZpZXIuICovXG4gIHN0YXRpYyB3cml0ZXJJbnN0YW5jZUlkKG5hbWU6IHN0cmluZywgc3VmZml4ID0gXCJwcmltYXJ5XCIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgLyoqIEF1cm9yYSByZWFkZXIgaW5zdGFuY2UgaWRlbnRpZmllci4gKi9cbiAgc3RhdGljIHJlYWRlckluc3RhbmNlSWQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgc3VmZml4Pzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgaWQgPSBzdWZmaXggPz8gYHJlYWRlci0ke2luZGV4fWA7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LSR7aWR9YDtcbiAgfVxuXG4gIC8qKiBSRFMgcmVhZCByZXBsaWNhIGlkZW50aWZpZXIuICovXG4gIHN0YXRpYyByZWFkUmVwbGljYUlkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LXJlYWQtcmVwbGljYWA7XG4gIH1cblxuICAvKiogQ3JlZGVudGlhbHMgc2VjcmV0IG5hbWUuIFByZXNlcnZlcyBvcmlnaW5hbCBjYXNpbmcgKFNlY3JldHMgTWFuYWdlciBpcyBjYXNlLXNlbnNpdGl2ZSkuICovXG4gIHN0YXRpYyBjcmVkZW50aWFsc1NlY3JldE5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7bmFtZX0vY3JlZGVudGlhbHNgO1xuICB9XG5cbiAgLyoqIE1hc3RlciBzZWNyZXQgbmFtZSBmb3Igcm90YXRpb24uIFByZXNlcnZlcyBvcmlnaW5hbCBjYXNpbmcgKFNlY3JldHMgTWFuYWdlciBpcyBjYXNlLXNlbnNpdGl2ZSkuICovXG4gIHN0YXRpYyBtYXN0ZXJTZWNyZXROYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke25hbWV9L21hc3Rlci1zZWNyZXRgO1xuICB9XG5cbiAgLyoqIFNlY3VyaXR5IGdyb3VwIGRlc2NyaXB0aW9uIGZvciBSRFMgSW5zdGFuY2UuICovXG4gIHN0YXRpYyBpbnN0YW5jZVNlY3VyaXR5R3JvdXBEZXNjcmlwdGlvbihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VjdXJpdHkgZ3JvdXAgZm9yIFJEUyBkYXRhYmFzZSBpbnN0YW5jZSAke25hbWV9YDtcbiAgfVxuXG4gIC8qKiBTZWN1cml0eSBncm91cCBkZXNjcmlwdGlvbiBmb3IgQXVyb3JhIGNsdXN0ZXIuICovXG4gIHN0YXRpYyBjbHVzdGVyU2VjdXJpdHlHcm91cERlc2NyaXB0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBTZWN1cml0eSBncm91cCBmb3IgQXVyb3JhIGNsdXN0ZXIgJHtuYW1lfWA7XG4gIH1cblxuICAvKiogU2VjdXJpdHkgZ3JvdXAgZGVzY3JpcHRpb24gZm9yIFJEUyBQcm94eS4gKi9cbiAgc3RhdGljIHByb3h5U2VjdXJpdHlHcm91cERlc2NyaXB0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBTZWN1cml0eSBncm91cCBmb3IgUkRTIFByb3h5ICR7bmFtZX1gO1xuICB9XG5cbiAgLyoqIFNlY3VyaXR5IGdyb3VwIGRlc2NyaXB0aW9uIGZvciByZWFkIHJlcGxpY2EuICovXG4gIHN0YXRpYyByZWFkUmVwbGljYVNlY3VyaXR5R3JvdXBEZXNjcmlwdGlvbihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VjdXJpdHkgZ3JvdXAgZm9yIFJEUyBSZWFkIFJlcGxpY2EgJHtuYW1lfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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:
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StandardTagsAspect = void 0;
|
|
4
4
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const backupTierMapping_1 = require("./backupTierMapping");
|
|
5
6
|
/**
|
|
6
7
|
* Aspect to apply special Fjall tags to specific resource types.
|
|
7
8
|
*
|
|
@@ -58,6 +59,10 @@ class StandardTagsAspect {
|
|
|
58
59
|
}
|
|
59
60
|
/**
|
|
60
61
|
* Add disaster recovery tier tag to S3 buckets with backupVaultTier property.
|
|
62
|
+
* This serves as a per-resource override when `backupVaultTier` is set on a
|
|
63
|
+
* specific S3 bucket. CDK child tags override parent tags, so this takes
|
|
64
|
+
* precedence over the app-level backup tag set via `App.getApp({ backup })`.
|
|
65
|
+
*
|
|
61
66
|
* Tag format: fjall:disasterRecovery:tier = "{tier}"
|
|
62
67
|
*
|
|
63
68
|
* Tier mapping:
|
|
@@ -71,13 +76,8 @@ class StandardTagsAspect {
|
|
|
71
76
|
const backupConstruct = construct;
|
|
72
77
|
if (backupConstruct.backupVaultTier) {
|
|
73
78
|
const tier = backupConstruct.backupVaultTier;
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
resilient: "resilient",
|
|
77
|
-
enterprise: "enterprise"
|
|
78
|
-
};
|
|
79
|
-
const tagValue = tierMap[tier] || tier;
|
|
80
|
-
aws_cdk_lib_1.Tags.of(resource).add("fjall:disasterRecovery:tier", tagValue);
|
|
79
|
+
const tagValue = backupTierMapping_1.BACKUP_TIER_TAG_MAP[tier];
|
|
80
|
+
aws_cdk_lib_1.Tags.of(resource).add(backupTierMapping_1.BACKUP_TIER_TAG_KEY, tagValue);
|
|
81
81
|
break;
|
|
82
82
|
}
|
|
83
83
|
construct = construct.node.scope;
|
|
@@ -85,4 +85,4 @@ class StandardTagsAspect {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
exports.StandardTagsAspect = StandardTagsAspect;
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRUYWdzQXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL3N0YW5kYXJkVGFnc0FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBcUU7QUFHckUsMkRBSTZCO0FBTzdCOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsa0JBQWtCO0lBQS9CO1FBQ21CLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUE2RWxFLENBQUM7SUEzRUMsS0FBSyxDQUFDLElBQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLHlCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFtQixDQUFDO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2xELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsZUFBZSxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBa0IsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxlQUFlLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBRXRDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNyQyxLQUFLLENBQUMsT0FBTztZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDO1FBRTlELElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLGtCQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ssZ0JBQWdCLENBQUMsUUFBcUI7UUFDNUMsSUFBSSxTQUFTLEdBQTJCLFFBQVEsQ0FBQztRQUNqRCxPQUFPLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sZUFBZSxHQUFHLFNBQWlDLENBQUM7WUFDMUQsSUFBSSxlQUFlLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7Z0JBRTdDLE1BQU0sUUFBUSxHQUFHLHVDQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsdUNBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3JELE1BQU07WUFDUixDQUFDO1lBQ0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE5RUQsZ0RBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJQXNwZWN0LCBDZm5SZXNvdXJjZSwgU3RhY2ssIFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHR5cGUgQ2ZuVlBDIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IHR5cGUgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICB0eXBlIEJhY2t1cFRpZXIsXG4gIEJBQ0tVUF9USUVSX1RBR19LRVksXG4gIEJBQ0tVUF9USUVSX1RBR19NQVBcbn0gZnJvbSBcIi4vYmFja3VwVGllck1hcHBpbmdcIjtcblxuLyoqIENvbnN0cnVjdCB3aXRoIG9wdGlvbmFsIGJhY2t1cFZhdWx0VGllciBwcm9wZXJ0eSAqL1xuaW50ZXJmYWNlIElCYWNrdXBUaWVyQ29uc3RydWN0IGV4dGVuZHMgSUNvbnN0cnVjdCB7XG4gIGJhY2t1cFZhdWx0VGllcj86IEJhY2t1cFRpZXI7XG59XG5cbi8qKlxuICogQXNwZWN0IHRvIGFwcGx5IHNwZWNpYWwgRmphbGwgdGFncyB0byBzcGVjaWZpYyByZXNvdXJjZSB0eXBlcy5cbiAqXG4gKiBUaGlzIGFzcGVjdCBoYW5kbGVzIHRhZ3MgdGhhdCBkZXBlbmQgb24gcmVzb3VyY2Utc3BlY2lmaWMgcHJvcGVydGllczpcbiAqIC0gZmphbGw6b3BlcmF0aW9uczpwb29sIG9uIFZQQ3Mgd2l0aCBJUEFNIGNvbmZpZ3VyYXRpb25cbiAqIC0gZmphbGw6ZGlzYXN0ZXJSZWNvdmVyeTp0aWVyIG9uIFMzIGJ1Y2tldHMgd2l0aCBiYWNrdXAgY29uZmlndXJhdGlvblxuICpcbiAqIFN0YW5kYXJkIEZqYWxsIHRhZ3MgKGNvc3RBbGxvY2F0aW9uOmVudmlyb25tZW50LCBjb3N0QWxsb2NhdGlvbjpzZXJ2aWNlLCBldGMuKVxuICogYXJlIGFwcGxpZWQgdmlhIFRhZ3Mub2YoYXBwKS5hZGQoKSBpbiB0aGUgQXBwIGNsYXNzLCB3aGljaCBwcm9wZXJseSBtZXJnZXNcbiAqIHdpdGggZXhpc3RpbmcgdGFncyBmcm9tIEwyIGNvbnN0cnVjdHMuXG4gKlxuICogVGhpcyBhc3BlY3QgdXNlcyBUYWdzLm9mKG5vZGUpLmFkZCgpIHRvIHByb3Blcmx5IG1lcmdlIHdpdGggZXhpc3RpbmcgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWdzQXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc2VkUmVzb3VyY2VzID0gbmV3IFdlYWtTZXQ8SUNvbnN0cnVjdD4oKTtcblxuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvY2Vzc2VkUmVzb3VyY2VzLmhhcyhub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghQ2ZuUmVzb3VyY2UuaXNDZm5SZXNvdXJjZShub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc291cmNlID0gbm9kZSBhcyBDZm5SZXNvdXJjZTtcbiAgICB0aGlzLnByb2Nlc3NlZFJlc291cmNlcy5hZGQobm9kZSk7XG5cbiAgICBpZiAocmVzb3VyY2Uubm9kZS5wYXRoLmluY2x1ZGVzKFwiU2VjcmV0Um90YXRpb25cIikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocmVzb3VyY2UuY2ZuUmVzb3VyY2VUeXBlID09PSBcIkFXUzo6RUMyOjpWUENcIikge1xuICAgICAgdGhpcy5hZGRJcGFtUG9vbFRhZyhyZXNvdXJjZSBhcyBDZm5WUEMpO1xuICAgIH1cblxuICAgIGlmIChyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUgPT09IFwiQVdTOjpTMzo6QnVja2V0XCIpIHtcbiAgICAgIHRoaXMuYWRkQmFja3VwVGllclRhZyhyZXNvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBJUEFNIHBvb2wgdGFnIHRvIFZQQ3MgdGhhdCB1c2UgSVBBTSBmb3IgSVAgYWRkcmVzcyBhbGxvY2F0aW9uLlxuICAgKiBUYWcgZm9ybWF0OiBmamFsbDpvcGVyYXRpb25zOnBvb2wgPSBcInthY2NvdW50SWR9LXtyZWdpb259XCJcbiAgICovXG4gIHByaXZhdGUgYWRkSXBhbVBvb2xUYWcodnBjOiBDZm5WUEMpOiB2b2lkIHtcbiAgICBjb25zdCBpcGFtUG9vbElkID0gdnBjLmlwdjRJcGFtUG9vbElkO1xuXG4gICAgaWYgKCFpcGFtUG9vbElkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZih2cGMpO1xuICAgIGNvbnN0IGFjY291bnRJZCA9XG4gICAgICBzdGFjay5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50SWRcIikgfHxcbiAgICAgIHN0YWNrLmFjY291bnQgfHxcbiAgICAgIHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQ7XG4gICAgY29uc3QgcmVnaW9uID0gc3RhY2sucmVnaW9uIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTjtcblxuICAgIGlmIChhY2NvdW50SWQgJiYgcmVnaW9uKSB7XG4gICAgICBUYWdzLm9mKHZwYykuYWRkKFwiZmphbGw6b3BlcmF0aW9uczpwb29sXCIsIGAke2FjY291bnRJZH0tJHtyZWdpb259YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBkaXNhc3RlciByZWNvdmVyeSB0aWVyIHRhZyB0byBTMyBidWNrZXRzIHdpdGggYmFja3VwVmF1bHRUaWVyIHByb3BlcnR5LlxuICAgKiBUaGlzIHNlcnZlcyBhcyBhIHBlci1yZXNvdXJjZSBvdmVycmlkZSB3aGVuIGBiYWNrdXBWYXVsdFRpZXJgIGlzIHNldCBvbiBhXG4gICAqIHNwZWNpZmljIFMzIGJ1Y2tldC4gQ0RLIGNoaWxkIHRhZ3Mgb3ZlcnJpZGUgcGFyZW50IHRhZ3MsIHNvIHRoaXMgdGFrZXNcbiAgICogcHJlY2VkZW5jZSBvdmVyIHRoZSBhcHAtbGV2ZWwgYmFja3VwIHRhZyBzZXQgdmlhIGBBcHAuZ2V0QXBwKHsgYmFja3VwIH0pYC5cbiAgICpcbiAgICogVGFnIGZvcm1hdDogZmphbGw6ZGlzYXN0ZXJSZWNvdmVyeTp0aWVyID0gXCJ7dGllcn1cIlxuICAgKlxuICAgKiBUaWVyIG1hcHBpbmc6XG4gICAqIC0gc3RhbmRhcmQgLT4gXCJkZWZhdWx0XCIgKG1hdGNoZXMgZXhpc3RpbmcgYmFja3VwIHBsYW5zKVxuICAgKiAtIHJlc2lsaWVudCAtPiBcInJlc2lsaWVudFwiXG4gICAqIC0gZW50ZXJwcmlzZSAtPiBcImVudGVycHJpc2VcIlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRCYWNrdXBUaWVyVGFnKHJlc291cmNlOiBDZm5SZXNvdXJjZSk6IHZvaWQge1xuICAgIGxldCBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSByZXNvdXJjZTtcbiAgICB3aGlsZSAoY29uc3RydWN0KSB7XG4gICAgICBjb25zdCBiYWNrdXBDb25zdHJ1Y3QgPSBjb25zdHJ1Y3QgYXMgSUJhY2t1cFRpZXJDb25zdHJ1Y3Q7XG4gICAgICBpZiAoYmFja3VwQ29uc3RydWN0LmJhY2t1cFZhdWx0VGllcikge1xuICAgICAgICBjb25zdCB0aWVyID0gYmFja3VwQ29uc3RydWN0LmJhY2t1cFZhdWx0VGllcjtcblxuICAgICAgICBjb25zdCB0YWdWYWx1ZSA9IEJBQ0tVUF9USUVSX1RBR19NQVBbdGllcl07XG4gICAgICAgIFRhZ3Mub2YocmVzb3VyY2UpLmFkZChCQUNLVVBfVElFUl9UQUdfS0VZLCB0YWdWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY29uc3RydWN0ID0gY29uc3RydWN0Lm5vZGUuc2NvcGU7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type IVpc, SubnetType } from "aws-cdk-lib/aws-ec2";
|
|
2
|
+
/**
|
|
3
|
+
* Check if a VPC has NAT gateways.
|
|
4
|
+
* - For Fjall Vpc: uses the hasNatGateways property directly
|
|
5
|
+
* - For other VPCs: checks if private subnets exist (assumes NAT if present)
|
|
6
|
+
* - Safe default: false (avoids placing resources in PRIVATE_WITH_EGRESS without connectivity)
|
|
7
|
+
*/
|
|
8
|
+
export declare function vpcHasNatGateways(vpc: IVpc): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the appropriate private subnet type based on NAT gateway availability.
|
|
11
|
+
* - With NAT: PRIVATE_WITH_EGRESS (internet access via NAT)
|
|
12
|
+
* - Without NAT: PRIVATE_ISOLATED (VPC endpoints only, no internet)
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolvePrivateSubnetType(vpc: IVpc): SubnetType;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vpcHasNatGateways = vpcHasNatGateways;
|
|
4
|
+
exports.resolvePrivateSubnetType = resolvePrivateSubnetType;
|
|
5
|
+
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
6
|
+
/**
|
|
7
|
+
* Check if a VPC has NAT gateways.
|
|
8
|
+
* - For Fjall Vpc: uses the hasNatGateways property directly
|
|
9
|
+
* - For other VPCs: checks if private subnets exist (assumes NAT if present)
|
|
10
|
+
* - Safe default: false (avoids placing resources in PRIVATE_WITH_EGRESS without connectivity)
|
|
11
|
+
*/
|
|
12
|
+
function vpcHasNatGateways(vpc) {
|
|
13
|
+
if ("hasNatGateways" in vpc && typeof vpc.hasNatGateways === "boolean") {
|
|
14
|
+
return vpc.hasNatGateways;
|
|
15
|
+
}
|
|
16
|
+
return vpc.privateSubnets.length > 0;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the appropriate private subnet type based on NAT gateway availability.
|
|
20
|
+
* - With NAT: PRIVATE_WITH_EGRESS (internet access via NAT)
|
|
21
|
+
* - Without NAT: PRIVATE_ISOLATED (VPC endpoints only, no internet)
|
|
22
|
+
*/
|
|
23
|
+
function resolvePrivateSubnetType(vpc) {
|
|
24
|
+
return vpcHasNatGateways(vpc)
|
|
25
|
+
? aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS
|
|
26
|
+
: aws_ec2_1.SubnetType.PRIVATE_ISOLATED;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvdnBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSw4Q0FLQztBQU9ELDREQUlDO0FBeEJELGlEQUE0RDtBQUU1RDs7Ozs7R0FLRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLEdBQVM7SUFDekMsSUFBSSxnQkFBZ0IsSUFBSSxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxHQUFTO0lBQ2hELE9BQU8saUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxvQkFBVSxDQUFDLG1CQUFtQjtRQUNoQyxDQUFDLENBQUMsb0JBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJVnBjLCBTdWJuZXRUeXBlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuLyoqXG4gKiBDaGVjayBpZiBhIFZQQyBoYXMgTkFUIGdhdGV3YXlzLlxuICogLSBGb3IgRmphbGwgVnBjOiB1c2VzIHRoZSBoYXNOYXRHYXRld2F5cyBwcm9wZXJ0eSBkaXJlY3RseVxuICogLSBGb3Igb3RoZXIgVlBDczogY2hlY2tzIGlmIHByaXZhdGUgc3VibmV0cyBleGlzdCAoYXNzdW1lcyBOQVQgaWYgcHJlc2VudClcbiAqIC0gU2FmZSBkZWZhdWx0OiBmYWxzZSAoYXZvaWRzIHBsYWNpbmcgcmVzb3VyY2VzIGluIFBSSVZBVEVfV0lUSF9FR1JFU1Mgd2l0aG91dCBjb25uZWN0aXZpdHkpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2cGNIYXNOYXRHYXRld2F5cyh2cGM6IElWcGMpOiBib29sZWFuIHtcbiAgaWYgKFwiaGFzTmF0R2F0ZXdheXNcIiBpbiB2cGMgJiYgdHlwZW9mIHZwYy5oYXNOYXRHYXRld2F5cyA9PT0gXCJib29sZWFuXCIpIHtcbiAgICByZXR1cm4gdnBjLmhhc05hdEdhdGV3YXlzO1xuICB9XG4gIHJldHVybiB2cGMucHJpdmF0ZVN1Ym5ldHMubGVuZ3RoID4gMDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBhcHByb3ByaWF0ZSBwcml2YXRlIHN1Ym5ldCB0eXBlIGJhc2VkIG9uIE5BVCBnYXRld2F5IGF2YWlsYWJpbGl0eS5cbiAqIC0gV2l0aCBOQVQ6IFBSSVZBVEVfV0lUSF9FR1JFU1MgKGludGVybmV0IGFjY2VzcyB2aWEgTkFUKVxuICogLSBXaXRob3V0IE5BVDogUFJJVkFURV9JU09MQVRFRCAoVlBDIGVuZHBvaW50cyBvbmx5LCBubyBpbnRlcm5ldClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQcml2YXRlU3VibmV0VHlwZSh2cGM6IElWcGMpOiBTdWJuZXRUeXBlIHtcbiAgcmV0dXJuIHZwY0hhc05hdEdhdGV3YXlzKHZwYylcbiAgICA/IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgIDogU3VibmV0VHlwZS5QUklWQVRFX0lTT0xBVEVEO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/components-infrastructure",
|
|
3
|
-
"version": "0.88.
|
|
3
|
+
"version": "0.88.4",
|
|
4
4
|
"bin": {
|
|
5
5
|
"infrastructure": "bin/infrastructure.js"
|
|
6
6
|
},
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"clean": "rm -rf ./dist",
|
|
16
16
|
"clean:node": "rm -rf ./node_modules",
|
|
17
|
-
"build": "tsc",
|
|
17
|
+
"build": "tsc && cp -r lib/layers dist/lib/layers",
|
|
18
18
|
"watch": "tsc -w",
|
|
19
19
|
"test": "jest",
|
|
20
20
|
"cdk": "cdk",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"@types/uuid": "^10.0.0",
|
|
30
30
|
"@typescript-eslint/eslint-plugin": "^8.26.1",
|
|
31
31
|
"@typescript-eslint/parser": "^8.26.1",
|
|
32
|
-
"eslint": "^9.
|
|
32
|
+
"eslint": "^9.39.1",
|
|
33
33
|
"jest": "^29.3.1",
|
|
34
34
|
"prettier": "^3.2.5",
|
|
35
35
|
"typescript": "^5.8.2"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@aws-sdk/client-organizations": "^3.
|
|
39
|
-
"@fjall/util": "^0.88.
|
|
38
|
+
"@aws-sdk/client-organizations": "^3.997.0",
|
|
39
|
+
"@fjall/util": "^0.88.4",
|
|
40
40
|
"cdk-time-sleep": "^1.0.0",
|
|
41
41
|
"constructs": "^10.0.0",
|
|
42
42
|
"uuid": "^10.0.0"
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"overrides": {
|
|
45
45
|
"@smithy/core": "2.5.5"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "bae02efe8e447ef008c7bc3eef3398ded4872f42",
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"aws-cdk": "^2.
|
|
50
|
-
"aws-cdk-lib": "^2.
|
|
49
|
+
"aws-cdk": "^2.239.0",
|
|
50
|
+
"aws-cdk-lib": "^2.239.0",
|
|
51
51
|
"constructs": "^10.0.0"
|
|
52
52
|
},
|
|
53
53
|
"engines": {
|