@fjall/components-infrastructure 0.1.10 → 0.1.16
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 +2 -1
- package/dist/lib/app.js +4 -2
- package/dist/lib/config/aws/accountId.d.ts +6 -0
- package/dist/lib/config/aws/accountId.js +33 -0
- package/dist/lib/config/aws/cloudTrail.d.ts +10 -0
- package/dist/lib/config/aws/cloudTrail.js +22 -0
- package/dist/lib/config/aws/costAllocationTags.d.ts +2 -3
- package/dist/lib/config/aws/costAllocationTags.js +6 -5
- package/dist/lib/config/aws/ecrDefaultImage.d.ts +11 -0
- package/dist/lib/config/aws/ecrDefaultImage.js +127 -0
- package/dist/lib/config/aws/eventBus.d.ts +7 -0
- package/dist/lib/config/aws/eventBus.js +24 -0
- package/dist/lib/config/aws/identityCenter.d.ts +11 -3
- package/dist/lib/config/aws/identityCenter.js +24 -29
- package/dist/lib/config/aws/identityCenterUser.d.ts +16 -0
- package/dist/lib/config/aws/identityCenterUser.js +125 -0
- package/dist/lib/config/aws/index.d.ts +8 -4
- package/dist/lib/config/aws/index.js +9 -5
- package/dist/lib/config/aws/ipam.d.ts +2 -2
- package/dist/lib/config/aws/ipam.js +25 -7
- package/dist/lib/config/aws/ipamDelegateAdmin.d.ts +4 -5
- package/dist/lib/config/aws/ipamDelegateAdmin.js +9 -13
- package/dist/lib/config/aws/ipamPoolId.d.ts +10 -0
- package/dist/lib/config/aws/ipamPoolId.js +38 -0
- package/dist/lib/config/aws/organisation.d.ts +28 -0
- package/dist/lib/config/aws/organisation.js +112 -0
- package/dist/lib/config/aws/organisationId.d.ts +4 -2
- package/dist/lib/config/aws/organisationId.js +13 -7
- package/dist/lib/config/aws/ramSharing.d.ts +4 -0
- package/dist/lib/config/aws/ramSharing.js +35 -0
- package/dist/lib/patterns/aws/basicApp.d.ts +5 -4
- package/dist/lib/patterns/aws/basicApp.js +18 -18
- package/dist/lib/patterns/aws/buildkite.d.ts +40 -31
- package/dist/lib/patterns/aws/buildkite.js +74 -46
- package/dist/lib/patterns/aws/freeTierApp.d.ts +47 -0
- package/dist/lib/patterns/aws/freeTierApp.js +95 -0
- package/dist/lib/patterns/aws/hostedZone.d.ts +11 -0
- package/dist/lib/patterns/aws/hostedZone.js +73 -0
- package/dist/lib/patterns/aws/index.d.ts +3 -0
- package/dist/lib/patterns/aws/index.js +4 -1
- package/dist/lib/patterns/aws/managedAccount.d.ts +13 -0
- package/dist/lib/patterns/aws/managedAccount.js +40 -0
- package/dist/lib/patterns/aws/managedOrganisation.d.ts +14 -24
- package/dist/lib/patterns/aws/managedOrganisation.js +39 -146
- package/dist/lib/patterns/aws/managedPlatform.d.ts +13 -0
- package/dist/lib/patterns/aws/managedPlatform.js +22 -0
- package/dist/lib/patterns/aws/spotInstanceApp.d.ts +47 -0
- package/dist/lib/patterns/aws/spotInstanceApp.js +95 -0
- package/dist/lib/patterns/aws/subdomainHostedZone.d.ts +9 -0
- package/dist/lib/patterns/aws/subdomainHostedZone.js +39 -0
- package/dist/lib/resources/aws/awsStack.d.ts +2 -2
- package/dist/lib/resources/aws/awsStack.js +3 -3
- package/dist/lib/resources/aws/compute/ecs.d.ts +2 -4
- package/dist/lib/resources/aws/compute/ecs.js +10 -6
- package/dist/lib/resources/aws/compute/ecsFreeTier.d.ts +76 -0
- package/dist/lib/resources/aws/compute/ecsFreeTier.js +352 -0
- package/dist/lib/resources/aws/compute/ecsSpot.d.ts +76 -0
- package/dist/lib/resources/aws/compute/ecsSpot.js +334 -0
- package/dist/lib/resources/aws/compute/index.d.ts +2 -0
- package/dist/lib/resources/aws/compute/index.js +19 -0
- package/dist/lib/resources/aws/compute/lambda.d.ts +7 -7
- package/dist/lib/resources/aws/compute/lambda.js +8 -7
- package/dist/lib/resources/aws/database/database.d.ts +16 -0
- package/dist/lib/resources/aws/database/database.js +30 -0
- package/dist/lib/resources/aws/database/databaseFreeTier.d.ts +17 -0
- package/dist/lib/resources/aws/database/databaseFreeTier.js +31 -0
- package/dist/lib/resources/aws/database/databaseInstance.d.ts +17 -0
- package/dist/lib/resources/aws/database/databaseInstance.js +32 -0
- package/dist/lib/resources/aws/database/index.d.ts +2 -0
- package/dist/lib/resources/aws/database/index.js +19 -0
- package/dist/lib/resources/aws/database/rds.d.ts +23 -0
- package/dist/lib/resources/aws/database/rds.js +130 -0
- package/dist/lib/resources/aws/database/rdsFreeTier.d.ts +36 -0
- package/dist/lib/resources/aws/database/rdsFreeTier.js +80 -0
- package/dist/lib/resources/aws/database/rdsInstance.d.ts +42 -0
- package/dist/lib/resources/aws/database/rdsInstance.js +173 -0
- package/dist/lib/resources/aws/logging/cloudTrail.d.ts +18 -0
- package/dist/lib/resources/aws/logging/cloudTrail.js +46 -0
- package/dist/lib/resources/aws/logging/logGroup.d.ts +3 -3
- package/dist/lib/resources/aws/logging/logGroup.js +3 -3
- package/dist/lib/resources/aws/networking/index.d.ts +1 -1
- package/dist/lib/resources/aws/networking/index.js +2 -2
- package/dist/lib/resources/aws/networking/ipamPool.d.ts +16 -3
- package/dist/lib/resources/aws/networking/ipamPool.js +78 -6
- package/dist/lib/resources/aws/networking/vpc.d.ts +29 -0
- package/dist/lib/resources/aws/networking/vpc.js +66 -0
- package/dist/lib/resources/aws/secrets/alias.d.ts +5 -0
- package/dist/lib/resources/aws/secrets/alias.js +13 -0
- package/dist/lib/resources/aws/secrets/index.d.ts +5 -0
- package/dist/lib/resources/aws/secrets/index.js +22 -0
- package/dist/lib/resources/aws/secrets/kms.d.ts +14 -0
- package/dist/lib/resources/aws/secrets/kms.js +34 -0
- package/dist/lib/resources/aws/secrets/parameter.d.ts +26 -0
- package/dist/lib/resources/aws/secrets/parameter.js +100 -0
- package/dist/lib/resources/aws/secrets/secret.d.ts +24 -0
- package/dist/lib/resources/aws/secrets/secret.js +53 -0
- package/dist/lib/resources/aws/storage/ecr.d.ts +12 -0
- package/dist/lib/resources/aws/storage/ecr.js +31 -0
- package/dist/lib/resources/aws/storage/index.d.ts +2 -0
- package/dist/lib/resources/aws/storage/index.js +19 -0
- package/dist/lib/resources/aws/storage/s3.d.ts +11 -0
- package/dist/lib/resources/aws/storage/s3.js +44 -0
- package/dist/lib/resources/aws/utilities/codeBuild.d.ts +15 -0
- package/dist/lib/resources/aws/utilities/codeBuild.js +28 -0
- package/dist/lib/resources/aws/utilities/customResource.js +2 -2
- package/dist/lib/types.d.ts +3 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/utils/capitalizeString.d.ts +1 -0
- package/dist/lib/utils/capitalizeString.js +8 -0
- package/dist/lib/utils/getAccountId.d.ts +1 -1
- package/dist/lib/utils/getAccountId.js +7 -5
- package/dist/lib/utils/getAsync.d.ts +10 -0
- package/dist/lib/utils/getAsync.js +37 -0
- package/dist/lib/utils/getCidr.d.ts +8 -0
- package/dist/lib/utils/getCidr.js +42 -0
- package/dist/lib/utils/getConfig.d.ts +6 -3
- package/dist/lib/utils/getConfig.js +32 -14
- package/dist/lib/utils/stripAndCamelCase.d.ts +1 -0
- package/dist/lib/utils/stripAndCamelCase.js +17 -0
- package/dist/lib/utils/usersConfig.d.ts +7 -0
- package/dist/lib/utils/usersConfig.js +18 -0
- package/package.json +7 -3
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const client_organizations_1 = require("@aws-sdk/client-organizations");
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
/**
|
|
6
|
+
* This is an example of an async class that will resolve when a synth is run
|
|
7
|
+
*/
|
|
8
|
+
class Accounts {
|
|
9
|
+
constructor(region) {
|
|
10
|
+
this.configFile = "fjall/accounts-config.json";
|
|
11
|
+
// Ensure fjall directory exists
|
|
12
|
+
fs.mkdirSync("fjall", { recursive: true });
|
|
13
|
+
// Make API Call
|
|
14
|
+
const client = new client_organizations_1.OrganizationsClient({
|
|
15
|
+
region: region
|
|
16
|
+
});
|
|
17
|
+
const request = new client_organizations_1.ListAccountsCommand({
|
|
18
|
+
MaxResults: Number("20")
|
|
19
|
+
});
|
|
20
|
+
this.ready = new Promise((resolve, reject) => {
|
|
21
|
+
client
|
|
22
|
+
.send(request)
|
|
23
|
+
.then((result) => {
|
|
24
|
+
const configString = JSON.stringify(result.Accounts);
|
|
25
|
+
fs.writeFileSync(this.configFile, configString);
|
|
26
|
+
resolve(undefined);
|
|
27
|
+
})
|
|
28
|
+
.catch(reject);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
getAccounts() {
|
|
32
|
+
const data = fs.readFileSync(this.configFile, "utf-8");
|
|
33
|
+
return JSON.parse(data);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = Accounts;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvZ2V0QXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx3RUFJdUM7QUFDdkMseUJBQXlCO0FBRXpCOztHQUVHO0FBQ0gsTUFBcUIsUUFBUTtJQUszQixZQUFZLE1BQWM7UUFGbEIsZUFBVSxHQUFHLDRCQUE0QixDQUFDO1FBR2hELGdDQUFnQztRQUNoQyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLGdCQUFnQjtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLDBDQUFtQixDQUFDO1lBQ3JDLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQ0FBbUIsQ0FBQztZQUN0QyxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLE1BQU07aUJBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDYixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQWMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFoQ0QsMkJBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWNjb3VudCxcbiAgTGlzdEFjY291bnRzQ29tbWFuZCxcbiAgT3JnYW5pemF0aW9uc0NsaWVudFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9yZ2FuaXphdGlvbnNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuXG4vKipcbiAqIFRoaXMgaXMgYW4gZXhhbXBsZSBvZiBhbiBhc3luYyBjbGFzcyB0aGF0IHdpbGwgcmVzb2x2ZSB3aGVuIGEgc3ludGggaXMgcnVuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFjY291bnRzIHtcbiAgcHVibGljIHJlYWR5OiBQcm9taXNlPHZvaWQ+O1xuXG4gIHByaXZhdGUgY29uZmlnRmlsZSA9IFwiZmphbGwvYWNjb3VudHMtY29uZmlnLmpzb25cIjtcblxuICBjb25zdHJ1Y3RvcihyZWdpb246IHN0cmluZykge1xuICAgIC8vIEVuc3VyZSBmamFsbCBkaXJlY3RvcnkgZXhpc3RzXG4gICAgZnMubWtkaXJTeW5jKFwiZmphbGxcIiwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICAvLyBNYWtlIEFQSSBDYWxsXG4gICAgY29uc3QgY2xpZW50ID0gbmV3IE9yZ2FuaXphdGlvbnNDbGllbnQoe1xuICAgICAgcmVnaW9uOiByZWdpb25cbiAgICB9KTtcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IExpc3RBY2NvdW50c0NvbW1hbmQoe1xuICAgICAgTWF4UmVzdWx0czogTnVtYmVyKFwiMjBcIilcbiAgICB9KTtcbiAgICB0aGlzLnJlYWR5ID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY2xpZW50XG4gICAgICAgIC5zZW5kKHJlcXVlc3QpXG4gICAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICBjb25zdCBjb25maWdTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQuQWNjb3VudHMpO1xuICAgICAgICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5jb25maWdGaWxlLCBjb25maWdTdHJpbmcpO1xuICAgICAgICAgIHJlc29sdmUodW5kZWZpbmVkKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRBY2NvdW50cygpOiBBY2NvdW50W10ge1xuICAgIGNvbnN0IGRhdGEgPSBmcy5yZWFkRmlsZVN5bmModGhpcy5jb25maWdGaWxlLCBcInV0Zi04XCIpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpIGFzIEFjY291bnRbXTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
class CidrBlock {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.configFile = "fjall/cidr-config.json";
|
|
7
|
+
// Ensure fjall directory exists
|
|
8
|
+
fs.mkdirSync("fjall", { recursive: true });
|
|
9
|
+
// Import config, or create it if it doesn't exist
|
|
10
|
+
if (fs.existsSync(this.configFile)) {
|
|
11
|
+
const configString = fs.readFileSync(this.configFile, "utf-8");
|
|
12
|
+
this.cidrBlock = JSON.parse(configString);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
this.cidrBlock = {};
|
|
16
|
+
for (let i = 1; i <= 255; i++) {
|
|
17
|
+
this.cidrBlock[`${i}.0.0.0/8`] = true;
|
|
18
|
+
}
|
|
19
|
+
const configString = JSON.stringify(this.cidrBlock, null, 2);
|
|
20
|
+
fs.writeFileSync(this.configFile, configString);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
writeState() {
|
|
24
|
+
// JSON-ify config and write to file
|
|
25
|
+
const configString = JSON.stringify(this.cidrBlock, null, 2);
|
|
26
|
+
fs.writeFileSync(this.configFile, configString);
|
|
27
|
+
}
|
|
28
|
+
getCidrBlock() {
|
|
29
|
+
for (const key in this.cidrBlock) {
|
|
30
|
+
if (this.cidrBlock[key]) {
|
|
31
|
+
return key;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return "0.0.0.0/8";
|
|
35
|
+
}
|
|
36
|
+
updateState(cidrBlock, status) {
|
|
37
|
+
this.cidrBlock[cidrBlock] = status;
|
|
38
|
+
this.writeState();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.default = CidrBlock;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2lkci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi91dGlscy9nZXRDaWRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQXlCO0FBTXpCLE1BQXFCLFNBQVM7SUFJNUI7UUFGUSxlQUFVLEdBQUcsd0JBQXdCLENBQUM7UUFHNUMsZ0NBQWdDO1FBQ2hDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0Msa0RBQWtEO1FBQ2xELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3ZDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RCxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLG9DQUFvQztRQUNwQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBWTtRQUNWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZCLE9BQU8sR0FBRyxDQUFDO2FBQ1o7U0FDRjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsU0FBaUIsRUFBRSxNQUFlO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUF6Q0QsNEJBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5cbmludGVyZmFjZSBjaWRyVGFibGUge1xuICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaWRyQmxvY2sge1xuICBwcml2YXRlIGNpZHJCbG9jazogY2lkclRhYmxlO1xuICBwcml2YXRlIGNvbmZpZ0ZpbGUgPSBcImZqYWxsL2NpZHItY29uZmlnLmpzb25cIjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBFbnN1cmUgZmphbGwgZGlyZWN0b3J5IGV4aXN0c1xuICAgIGZzLm1rZGlyU3luYyhcImZqYWxsXCIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gSW1wb3J0IGNvbmZpZywgb3IgY3JlYXRlIGl0IGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICBpZiAoZnMuZXhpc3RzU3luYyh0aGlzLmNvbmZpZ0ZpbGUpKSB7XG4gICAgICBjb25zdCBjb25maWdTdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmModGhpcy5jb25maWdGaWxlLCBcInV0Zi04XCIpO1xuICAgICAgdGhpcy5jaWRyQmxvY2sgPSBKU09OLnBhcnNlKGNvbmZpZ1N0cmluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2lkckJsb2NrID0ge307XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAyNTU7IGkrKykge1xuICAgICAgICB0aGlzLmNpZHJCbG9ja1tgJHtpfS4wLjAuMC84YF0gPSB0cnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgY29uZmlnU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodGhpcy5jaWRyQmxvY2ssIG51bGwsIDIpO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLmNvbmZpZ0ZpbGUsIGNvbmZpZ1N0cmluZyk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVTdGF0ZSgpIHtcbiAgICAvLyBKU09OLWlmeSBjb25maWcgYW5kIHdyaXRlIHRvIGZpbGVcbiAgICBjb25zdCBjb25maWdTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmNpZHJCbG9jaywgbnVsbCwgMik7XG4gICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLmNvbmZpZ0ZpbGUsIGNvbmZpZ1N0cmluZyk7XG4gIH1cblxuICBnZXRDaWRyQmxvY2soKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jaWRyQmxvY2spIHtcbiAgICAgIGlmICh0aGlzLmNpZHJCbG9ja1trZXldKSB7XG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcIjAuMC4wLjAvOFwiO1xuICB9XG5cbiAgdXBkYXRlU3RhdGUoY2lkckJsb2NrOiBzdHJpbmcsIHN0YXR1czogYm9vbGVhbikge1xuICAgIHRoaXMuY2lkckJsb2NrW2NpZHJCbG9ja10gPSBzdGF0dXM7XG4gICAgdGhpcy53cml0ZVN0YXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { Account } from "@aws-sdk/client-organizations";
|
|
1
2
|
interface Config {
|
|
2
3
|
environment: string;
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
accountId: string;
|
|
5
|
+
accountName: string;
|
|
6
|
+
region: string;
|
|
7
|
+
existingAccounts: Account[];
|
|
5
8
|
}
|
|
6
|
-
export declare function
|
|
9
|
+
export declare function getEnvironmentConfig(accountName: string): Config;
|
|
7
10
|
export declare function getConfig(): Config;
|
|
8
11
|
export default getConfig;
|
|
@@ -1,36 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getConfig = exports.
|
|
3
|
+
exports.getConfig = exports.getEnvironmentConfig = void 0;
|
|
4
4
|
const app_1 = require("../app");
|
|
5
5
|
const util_1 = require("@fjall/util");
|
|
6
|
-
function
|
|
6
|
+
function getEnvironmentConfig(accountName) {
|
|
7
7
|
const config = util_1.Config.loadConfig();
|
|
8
|
-
const providerAccount = config.getProviderAccount(
|
|
8
|
+
const providerAccount = config.getProviderAccount(accountName);
|
|
9
|
+
const existingAccounts = config.getExistingAccounts();
|
|
10
|
+
const region = process.env.AWS_REGION;
|
|
9
11
|
if (!providerAccount) {
|
|
10
|
-
console.
|
|
11
|
-
throw new Error(`No provider account found for
|
|
12
|
+
console.error(`No provider account found for account: ${accountName}`);
|
|
13
|
+
throw new Error(`No provider account found for account: ${accountName}`);
|
|
14
|
+
}
|
|
15
|
+
if (!region) {
|
|
16
|
+
console.error("Variable AWS_REGION is not set in your environment, please specify");
|
|
17
|
+
throw new Error("Variable AWS_REGION is not set in your environment, please specify");
|
|
12
18
|
}
|
|
13
19
|
return {
|
|
14
|
-
environment: environment,
|
|
15
|
-
|
|
20
|
+
environment: providerAccount.environment,
|
|
21
|
+
accountId: providerAccount.id,
|
|
22
|
+
accountName: providerAccount.name,
|
|
23
|
+
region: region,
|
|
24
|
+
existingAccounts: existingAccounts
|
|
16
25
|
};
|
|
17
26
|
}
|
|
18
|
-
exports.
|
|
27
|
+
exports.getEnvironmentConfig = getEnvironmentConfig;
|
|
19
28
|
function getConfig() {
|
|
20
29
|
const app = app_1.default.getInstance();
|
|
21
30
|
// Get cdk deploy --context config
|
|
22
|
-
const env = app.node.tryGetContext("
|
|
31
|
+
const env = app.node.tryGetContext("accountName");
|
|
23
32
|
const config = util_1.Config.loadConfig();
|
|
24
33
|
const providerAccount = config.getProviderAccount(env);
|
|
34
|
+
const existingAccounts = config.getExistingAccounts();
|
|
35
|
+
const region = process.env.AWS_REGION;
|
|
25
36
|
if (!providerAccount) {
|
|
26
|
-
console.warn(`No provider account found for
|
|
27
|
-
|
|
37
|
+
console.warn(`No provider account found for account: ${env}`);
|
|
38
|
+
throw new Error(`No provider account found for account: ${env}`);
|
|
39
|
+
}
|
|
40
|
+
if (!region) {
|
|
41
|
+
console.error("Variable AWS_REGION is not set in your environment");
|
|
42
|
+
throw new Error("Variable AWS_REGION is not set in your environment");
|
|
28
43
|
}
|
|
29
44
|
return {
|
|
30
|
-
environment:
|
|
31
|
-
|
|
45
|
+
environment: providerAccount.environment,
|
|
46
|
+
accountId: providerAccount.id,
|
|
47
|
+
accountName: providerAccount.name,
|
|
48
|
+
region: region,
|
|
49
|
+
existingAccounts: existingAccounts
|
|
32
50
|
};
|
|
33
51
|
}
|
|
34
52
|
exports.getConfig = getConfig;
|
|
35
53
|
exports.default = getConfig;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxnQ0FBeUI7QUFDekIsc0NBQW9EO0FBVXBELFNBQWdCLG9CQUFvQixDQUFDLFdBQW1CO0lBQ3RELE1BQU0sTUFBTSxHQUFHLGFBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUN0RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztJQUV0QyxJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsV0FBVyxFQUFFLENBQUMsQ0FBQztLQUMxRTtJQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUNYLG9FQUFvRSxDQUNyRSxDQUFDO1FBQ0YsTUFBTSxJQUFJLEtBQUssQ0FDYixvRUFBb0UsQ0FDckUsQ0FBQztLQUNIO0lBRUQsT0FBTztRQUNMLFdBQVcsRUFBRSxlQUFlLENBQUMsV0FBVztRQUN4QyxTQUFTLEVBQUUsZUFBZSxDQUFDLEVBQUU7UUFDN0IsV0FBVyxFQUFFLGVBQWUsQ0FBQyxJQUFJO1FBQ2pDLE1BQU0sRUFBRSxNQUFNO1FBQ2QsZ0JBQWdCLEVBQUUsZ0JBQWdCO0tBQ25DLENBQUM7QUFDSixDQUFDO0FBM0JELG9EQTJCQztBQUVELFNBQWdCLFNBQVM7SUFDdkIsTUFBTSxHQUFHLEdBQUcsYUFBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTlCLGtDQUFrQztJQUNsQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxNQUFNLE1BQU0sR0FBRyxhQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFFdEMsSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDbEU7SUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztLQUN2RTtJQUVELE9BQU87UUFDTCxXQUFXLEVBQUUsZUFBZSxDQUFDLFdBQVc7UUFDeEMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxFQUFFO1FBQzdCLFdBQVcsRUFBRSxlQUFlLENBQUMsSUFBSTtRQUNqQyxNQUFNLEVBQUUsTUFBTTtRQUNkLGdCQUFnQixFQUFFLGdCQUFnQjtLQUNuQyxDQUFDO0FBQ0osQ0FBQztBQTVCRCw4QkE0QkM7QUFDRCxrQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2NvdW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcmdhbml6YXRpb25zXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uL2FwcFwiO1xuaW1wb3J0IHsgQ29uZmlnIGFzIEZqYWxsQ29uZmlnIH0gZnJvbSBcIkBmamFsbC91dGlsXCI7XG5cbmludGVyZmFjZSBDb25maWcge1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBhY2NvdW50SWQ6IHN0cmluZztcbiAgYWNjb3VudE5hbWU6IHN0cmluZztcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIGV4aXN0aW5nQWNjb3VudHM6IEFjY291bnRbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudmlyb25tZW50Q29uZmlnKGFjY291bnROYW1lOiBzdHJpbmcpOiBDb25maWcge1xuICBjb25zdCBjb25maWcgPSBGamFsbENvbmZpZy5sb2FkQ29uZmlnKCk7XG4gIGNvbnN0IHByb3ZpZGVyQWNjb3VudCA9IGNvbmZpZy5nZXRQcm92aWRlckFjY291bnQoYWNjb3VudE5hbWUpO1xuICBjb25zdCBleGlzdGluZ0FjY291bnRzID0gY29uZmlnLmdldEV4aXN0aW5nQWNjb3VudHMoKTtcbiAgY29uc3QgcmVnaW9uID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTjtcblxuICBpZiAoIXByb3ZpZGVyQWNjb3VudCkge1xuICAgIGNvbnNvbGUuZXJyb3IoYE5vIHByb3ZpZGVyIGFjY291bnQgZm91bmQgZm9yIGFjY291bnQ6ICR7YWNjb3VudE5hbWV9YCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyBwcm92aWRlciBhY2NvdW50IGZvdW5kIGZvciBhY2NvdW50OiAke2FjY291bnROYW1lfWApO1xuICB9XG5cbiAgaWYgKCFyZWdpb24pIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgXCJWYXJpYWJsZSBBV1NfUkVHSU9OIGlzIG5vdCBzZXQgaW4geW91ciBlbnZpcm9ubWVudCwgcGxlYXNlIHNwZWNpZnlcIlxuICAgICk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJWYXJpYWJsZSBBV1NfUkVHSU9OIGlzIG5vdCBzZXQgaW4geW91ciBlbnZpcm9ubWVudCwgcGxlYXNlIHNwZWNpZnlcIlxuICAgICk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVudmlyb25tZW50OiBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQsXG4gICAgYWNjb3VudElkOiBwcm92aWRlckFjY291bnQuaWQsXG4gICAgYWNjb3VudE5hbWU6IHByb3ZpZGVyQWNjb3VudC5uYW1lLFxuICAgIHJlZ2lvbjogcmVnaW9uLFxuICAgIGV4aXN0aW5nQWNjb3VudHM6IGV4aXN0aW5nQWNjb3VudHNcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZygpOiBDb25maWcge1xuICBjb25zdCBhcHAgPSBBcHAuZ2V0SW5zdGFuY2UoKTtcblxuICAvLyBHZXQgY2RrIGRlcGxveSAtLWNvbnRleHQgY29uZmlnXG4gIGNvbnN0IGVudiA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50TmFtZVwiKTtcblxuICBjb25zdCBjb25maWcgPSBGamFsbENvbmZpZy5sb2FkQ29uZmlnKCk7XG4gIGNvbnN0IHByb3ZpZGVyQWNjb3VudCA9IGNvbmZpZy5nZXRQcm92aWRlckFjY291bnQoZW52KTtcbiAgY29uc3QgZXhpc3RpbmdBY2NvdW50cyA9IGNvbmZpZy5nZXRFeGlzdGluZ0FjY291bnRzKCk7XG4gIGNvbnN0IHJlZ2lvbiA9IHByb2Nlc3MuZW52LkFXU19SRUdJT047XG5cbiAgaWYgKCFwcm92aWRlckFjY291bnQpIHtcbiAgICBjb25zb2xlLndhcm4oYE5vIHByb3ZpZGVyIGFjY291bnQgZm91bmQgZm9yIGFjY291bnQ6ICR7ZW52fWApO1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gcHJvdmlkZXIgYWNjb3VudCBmb3VuZCBmb3IgYWNjb3VudDogJHtlbnZ9YCk7XG4gIH1cblxuICBpZiAoIXJlZ2lvbikge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJWYXJpYWJsZSBBV1NfUkVHSU9OIGlzIG5vdCBzZXQgaW4geW91ciBlbnZpcm9ubWVudFwiKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJWYXJpYWJsZSBBV1NfUkVHSU9OIGlzIG5vdCBzZXQgaW4geW91ciBlbnZpcm9ubWVudFwiKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZW52aXJvbm1lbnQ6IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudCxcbiAgICBhY2NvdW50SWQ6IHByb3ZpZGVyQWNjb3VudC5pZCxcbiAgICBhY2NvdW50TmFtZTogcHJvdmlkZXJBY2NvdW50Lm5hbWUsXG4gICAgcmVnaW9uOiByZWdpb24sXG4gICAgZXhpc3RpbmdBY2NvdW50czogZXhpc3RpbmdBY2NvdW50c1xuICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgZ2V0Q29uZmlnO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function stripAndCamelCase(input: string): string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stripAndCamelCase = void 0;
|
|
4
|
+
function stripAndCamelCase(input) {
|
|
5
|
+
const lettersOnly = input.replace(/[^a-zA-Z]/g, " ");
|
|
6
|
+
return lettersOnly
|
|
7
|
+
.split(" ")
|
|
8
|
+
.map((word, index) => {
|
|
9
|
+
if (index === 0) {
|
|
10
|
+
return word.toLowerCase();
|
|
11
|
+
}
|
|
12
|
+
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
13
|
+
})
|
|
14
|
+
.join("");
|
|
15
|
+
}
|
|
16
|
+
exports.stripAndCamelCase = stripAndCamelCase;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBBbmRDYW1lbENhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvc3RyaXBBbmRDYW1lbENhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsaUJBQWlCLENBQUMsS0FBYTtJQUM3QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyRCxPQUFPLFdBQVc7U0FDZixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ25CLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEUsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQztBQVhELDhDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHN0cmlwQW5kQ2FtZWxDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBsZXR0ZXJzT25seSA9IGlucHV0LnJlcGxhY2UoL1teYS16QS1aXS9nLCBcIiBcIik7XG4gIHJldHVybiBsZXR0ZXJzT25seVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAubWFwKCh3b3JkLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgIHJldHVybiB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcbiAgICB9KVxuICAgIC5qb2luKFwiXCIpO1xufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
class UsersConfig {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.configFile = "fjall/users-config.json";
|
|
7
|
+
if (!fs.existsSync(this.configFile)) {
|
|
8
|
+
throw new Error(`Config file ${this.configFile} does not exist`);
|
|
9
|
+
}
|
|
10
|
+
const fileContent = fs.readFileSync(this.configFile, "utf-8");
|
|
11
|
+
this.users = JSON.parse(fileContent);
|
|
12
|
+
}
|
|
13
|
+
getUsers() {
|
|
14
|
+
return this.users;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = UsersConfig;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnNDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvdXNlcnNDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5QkFBeUI7QUFHekIsTUFBcUIsV0FBVztJQUk5QjtRQUhRLGVBQVUsR0FBRyx5QkFBeUIsQ0FBQztRQUk3QyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLElBQUksQ0FBQyxVQUFVLGlCQUFpQixDQUFDLENBQUM7U0FDbEU7UUFFRCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQWhCRCw4QkFnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiLi4vY29uZmlnL2F3cy9pZGVudGl0eUNlbnRlclVzZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXNlcnNDb25maWcge1xuICBwcml2YXRlIGNvbmZpZ0ZpbGUgPSBcImZqYWxsL3VzZXJzLWNvbmZpZy5qc29uXCI7XG4gIHB1YmxpYyB1c2VyczogVXNlcltdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLmNvbmZpZ0ZpbGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmZpZyBmaWxlICR7dGhpcy5jb25maWdGaWxlfSBkb2VzIG5vdCBleGlzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVDb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKHRoaXMuY29uZmlnRmlsZSwgXCJ1dGYtOFwiKTtcbiAgICB0aGlzLnVzZXJzID0gSlNPTi5wYXJzZShmaWxlQ29udGVudCk7XG4gIH1cblxuICBnZXRVc2VycygpIHtcbiAgICByZXR1cm4gdGhpcy51c2VycztcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/components-infrastructure",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"bin": {
|
|
5
5
|
"infrastructure": "bin/infrastructure.js"
|
|
6
6
|
},
|
|
@@ -53,8 +53,9 @@
|
|
|
53
53
|
"typescript": "~4.9.4"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-sdk/client-cost-explorer": "^3.
|
|
57
|
-
"@
|
|
56
|
+
"@aws-sdk/client-cost-explorer": "^3.717.0",
|
|
57
|
+
"@aws-sdk/client-organizations": "^3.716.0",
|
|
58
|
+
"@fjall/util": "^0.1.16",
|
|
58
59
|
"@pepperize/cdk-organizations": "^0.7.135",
|
|
59
60
|
"aws-cdk": "^2.146.0",
|
|
60
61
|
"aws-cdk-lib": "^2.146.0",
|
|
@@ -62,5 +63,8 @@
|
|
|
62
63
|
"constructs": "^10.0.0",
|
|
63
64
|
"source-map-support": "^0.5.21",
|
|
64
65
|
"uuid": "^9.0.0"
|
|
66
|
+
},
|
|
67
|
+
"overrides": {
|
|
68
|
+
"@smithy/core": "2.5.5"
|
|
65
69
|
}
|
|
66
70
|
}
|