@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.
Files changed (122) hide show
  1. package/dist/lib/app.d.ts +2 -1
  2. package/dist/lib/app.js +4 -2
  3. package/dist/lib/config/aws/accountId.d.ts +6 -0
  4. package/dist/lib/config/aws/accountId.js +33 -0
  5. package/dist/lib/config/aws/cloudTrail.d.ts +10 -0
  6. package/dist/lib/config/aws/cloudTrail.js +22 -0
  7. package/dist/lib/config/aws/costAllocationTags.d.ts +2 -3
  8. package/dist/lib/config/aws/costAllocationTags.js +6 -5
  9. package/dist/lib/config/aws/ecrDefaultImage.d.ts +11 -0
  10. package/dist/lib/config/aws/ecrDefaultImage.js +127 -0
  11. package/dist/lib/config/aws/eventBus.d.ts +7 -0
  12. package/dist/lib/config/aws/eventBus.js +24 -0
  13. package/dist/lib/config/aws/identityCenter.d.ts +11 -3
  14. package/dist/lib/config/aws/identityCenter.js +24 -29
  15. package/dist/lib/config/aws/identityCenterUser.d.ts +16 -0
  16. package/dist/lib/config/aws/identityCenterUser.js +125 -0
  17. package/dist/lib/config/aws/index.d.ts +8 -4
  18. package/dist/lib/config/aws/index.js +9 -5
  19. package/dist/lib/config/aws/ipam.d.ts +2 -2
  20. package/dist/lib/config/aws/ipam.js +25 -7
  21. package/dist/lib/config/aws/ipamDelegateAdmin.d.ts +4 -5
  22. package/dist/lib/config/aws/ipamDelegateAdmin.js +9 -13
  23. package/dist/lib/config/aws/ipamPoolId.d.ts +10 -0
  24. package/dist/lib/config/aws/ipamPoolId.js +38 -0
  25. package/dist/lib/config/aws/organisation.d.ts +28 -0
  26. package/dist/lib/config/aws/organisation.js +112 -0
  27. package/dist/lib/config/aws/organisationId.d.ts +4 -2
  28. package/dist/lib/config/aws/organisationId.js +13 -7
  29. package/dist/lib/config/aws/ramSharing.d.ts +4 -0
  30. package/dist/lib/config/aws/ramSharing.js +35 -0
  31. package/dist/lib/patterns/aws/basicApp.d.ts +5 -4
  32. package/dist/lib/patterns/aws/basicApp.js +18 -18
  33. package/dist/lib/patterns/aws/buildkite.d.ts +40 -31
  34. package/dist/lib/patterns/aws/buildkite.js +74 -46
  35. package/dist/lib/patterns/aws/freeTierApp.d.ts +47 -0
  36. package/dist/lib/patterns/aws/freeTierApp.js +95 -0
  37. package/dist/lib/patterns/aws/hostedZone.d.ts +11 -0
  38. package/dist/lib/patterns/aws/hostedZone.js +73 -0
  39. package/dist/lib/patterns/aws/index.d.ts +3 -0
  40. package/dist/lib/patterns/aws/index.js +4 -1
  41. package/dist/lib/patterns/aws/managedAccount.d.ts +13 -0
  42. package/dist/lib/patterns/aws/managedAccount.js +40 -0
  43. package/dist/lib/patterns/aws/managedOrganisation.d.ts +14 -24
  44. package/dist/lib/patterns/aws/managedOrganisation.js +39 -146
  45. package/dist/lib/patterns/aws/managedPlatform.d.ts +13 -0
  46. package/dist/lib/patterns/aws/managedPlatform.js +22 -0
  47. package/dist/lib/patterns/aws/spotInstanceApp.d.ts +47 -0
  48. package/dist/lib/patterns/aws/spotInstanceApp.js +95 -0
  49. package/dist/lib/patterns/aws/subdomainHostedZone.d.ts +9 -0
  50. package/dist/lib/patterns/aws/subdomainHostedZone.js +39 -0
  51. package/dist/lib/resources/aws/awsStack.d.ts +2 -2
  52. package/dist/lib/resources/aws/awsStack.js +3 -3
  53. package/dist/lib/resources/aws/compute/ecs.d.ts +2 -4
  54. package/dist/lib/resources/aws/compute/ecs.js +10 -6
  55. package/dist/lib/resources/aws/compute/ecsFreeTier.d.ts +76 -0
  56. package/dist/lib/resources/aws/compute/ecsFreeTier.js +352 -0
  57. package/dist/lib/resources/aws/compute/ecsSpot.d.ts +76 -0
  58. package/dist/lib/resources/aws/compute/ecsSpot.js +334 -0
  59. package/dist/lib/resources/aws/compute/index.d.ts +2 -0
  60. package/dist/lib/resources/aws/compute/index.js +19 -0
  61. package/dist/lib/resources/aws/compute/lambda.d.ts +7 -7
  62. package/dist/lib/resources/aws/compute/lambda.js +8 -7
  63. package/dist/lib/resources/aws/database/database.d.ts +16 -0
  64. package/dist/lib/resources/aws/database/database.js +30 -0
  65. package/dist/lib/resources/aws/database/databaseFreeTier.d.ts +17 -0
  66. package/dist/lib/resources/aws/database/databaseFreeTier.js +31 -0
  67. package/dist/lib/resources/aws/database/databaseInstance.d.ts +17 -0
  68. package/dist/lib/resources/aws/database/databaseInstance.js +32 -0
  69. package/dist/lib/resources/aws/database/index.d.ts +2 -0
  70. package/dist/lib/resources/aws/database/index.js +19 -0
  71. package/dist/lib/resources/aws/database/rds.d.ts +23 -0
  72. package/dist/lib/resources/aws/database/rds.js +130 -0
  73. package/dist/lib/resources/aws/database/rdsFreeTier.d.ts +36 -0
  74. package/dist/lib/resources/aws/database/rdsFreeTier.js +80 -0
  75. package/dist/lib/resources/aws/database/rdsInstance.d.ts +42 -0
  76. package/dist/lib/resources/aws/database/rdsInstance.js +173 -0
  77. package/dist/lib/resources/aws/logging/cloudTrail.d.ts +18 -0
  78. package/dist/lib/resources/aws/logging/cloudTrail.js +46 -0
  79. package/dist/lib/resources/aws/logging/logGroup.d.ts +3 -3
  80. package/dist/lib/resources/aws/logging/logGroup.js +3 -3
  81. package/dist/lib/resources/aws/networking/index.d.ts +1 -1
  82. package/dist/lib/resources/aws/networking/index.js +2 -2
  83. package/dist/lib/resources/aws/networking/ipamPool.d.ts +16 -3
  84. package/dist/lib/resources/aws/networking/ipamPool.js +78 -6
  85. package/dist/lib/resources/aws/networking/vpc.d.ts +29 -0
  86. package/dist/lib/resources/aws/networking/vpc.js +66 -0
  87. package/dist/lib/resources/aws/secrets/alias.d.ts +5 -0
  88. package/dist/lib/resources/aws/secrets/alias.js +13 -0
  89. package/dist/lib/resources/aws/secrets/index.d.ts +5 -0
  90. package/dist/lib/resources/aws/secrets/index.js +22 -0
  91. package/dist/lib/resources/aws/secrets/kms.d.ts +14 -0
  92. package/dist/lib/resources/aws/secrets/kms.js +34 -0
  93. package/dist/lib/resources/aws/secrets/parameter.d.ts +26 -0
  94. package/dist/lib/resources/aws/secrets/parameter.js +100 -0
  95. package/dist/lib/resources/aws/secrets/secret.d.ts +24 -0
  96. package/dist/lib/resources/aws/secrets/secret.js +53 -0
  97. package/dist/lib/resources/aws/storage/ecr.d.ts +12 -0
  98. package/dist/lib/resources/aws/storage/ecr.js +31 -0
  99. package/dist/lib/resources/aws/storage/index.d.ts +2 -0
  100. package/dist/lib/resources/aws/storage/index.js +19 -0
  101. package/dist/lib/resources/aws/storage/s3.d.ts +11 -0
  102. package/dist/lib/resources/aws/storage/s3.js +44 -0
  103. package/dist/lib/resources/aws/utilities/codeBuild.d.ts +15 -0
  104. package/dist/lib/resources/aws/utilities/codeBuild.js +28 -0
  105. package/dist/lib/resources/aws/utilities/customResource.js +2 -2
  106. package/dist/lib/types.d.ts +3 -0
  107. package/dist/lib/types.js +3 -0
  108. package/dist/lib/utils/capitalizeString.d.ts +1 -0
  109. package/dist/lib/utils/capitalizeString.js +8 -0
  110. package/dist/lib/utils/getAccountId.d.ts +1 -1
  111. package/dist/lib/utils/getAccountId.js +7 -5
  112. package/dist/lib/utils/getAsync.d.ts +10 -0
  113. package/dist/lib/utils/getAsync.js +37 -0
  114. package/dist/lib/utils/getCidr.d.ts +8 -0
  115. package/dist/lib/utils/getCidr.js +42 -0
  116. package/dist/lib/utils/getConfig.d.ts +6 -3
  117. package/dist/lib/utils/getConfig.js +32 -14
  118. package/dist/lib/utils/stripAndCamelCase.d.ts +1 -0
  119. package/dist/lib/utils/stripAndCamelCase.js +17 -0
  120. package/dist/lib/utils/usersConfig.d.ts +7 -0
  121. package/dist/lib/utils/usersConfig.js +18 -0
  122. 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,8 @@
1
+ export default class CidrBlock {
2
+ private cidrBlock;
3
+ private configFile;
4
+ constructor();
5
+ writeState(): void;
6
+ getCidrBlock(): string;
7
+ updateState(cidrBlock: string, status: boolean): void;
8
+ }
@@ -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
- account?: string;
4
- region?: string;
4
+ accountId: string;
5
+ accountName: string;
6
+ region: string;
7
+ existingAccounts: Account[];
5
8
  }
6
- export declare function getEnviornmentConfig(environment: string): Config;
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.getEnviornmentConfig = void 0;
3
+ exports.getConfig = exports.getEnvironmentConfig = void 0;
4
4
  const app_1 = require("../app");
5
5
  const util_1 = require("@fjall/util");
6
- function getEnviornmentConfig(environment) {
6
+ function getEnvironmentConfig(accountName) {
7
7
  const config = util_1.Config.loadConfig();
8
- const providerAccount = config.getProviderAccount(environment);
8
+ const providerAccount = config.getProviderAccount(accountName);
9
+ const existingAccounts = config.getExistingAccounts();
10
+ const region = process.env.AWS_REGION;
9
11
  if (!providerAccount) {
10
- console.warn(`No provider account found for environment: ${environment}`);
11
- throw new Error(`No provider account found for environment: ${environment}`);
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
- account: providerAccount.id
20
+ environment: providerAccount.environment,
21
+ accountId: providerAccount.id,
22
+ accountName: providerAccount.name,
23
+ region: region,
24
+ existingAccounts: existingAccounts
16
25
  };
17
26
  }
18
- exports.getEnviornmentConfig = getEnviornmentConfig;
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("environment");
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 environment: ${env}. Defaulting to no account`);
27
- // throw new Error(`No provider account found for environment: ${env}`);
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: env,
31
- account: providerAccount?.id
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBeUI7QUFDekIsc0NBQW9EO0FBUXBELFNBQWdCLG9CQUFvQixDQUFDLFdBQW1CO0lBQ3RELE1BQU0sTUFBTSxHQUFHLGFBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFL0QsSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sSUFBSSxLQUFLLENBQ2IsOENBQThDLFdBQVcsRUFBRSxDQUM1RCxDQUFDO0tBQ0g7SUFFRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLFdBQVc7UUFDeEIsT0FBTyxFQUFFLGVBQWUsQ0FBQyxFQUFFO0tBQzVCLENBQUM7QUFDSixDQUFDO0FBZkQsb0RBZUM7QUFFRCxTQUFnQixTQUFTO0lBQ3ZCLE1BQU0sR0FBRyxHQUFHLGFBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU5QixrQ0FBa0M7SUFDbEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFbEQsTUFBTSxNQUFNLEdBQUcsYUFBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2RCxJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztRQUM5RiwwRUFBMEU7S0FDekU7SUFFRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEdBQUc7UUFDaEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFO0tBQzdCLENBQUM7QUFDSixDQUFDO0FBbEJELDhCQWtCQztBQUNELGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBcHAgZnJvbSBcIi4uL2FwcFwiO1xuaW1wb3J0IHsgQ29uZmlnIGFzIEZqYWxsQ29uZmlnIH0gZnJvbSBcIkBmamFsbC91dGlsXCI7XG5cbmludGVyZmFjZSBDb25maWcge1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBhY2NvdW50Pzogc3RyaW5nO1xuICByZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnZpb3JubWVudENvbmZpZyhlbnZpcm9ubWVudDogc3RyaW5nKTogQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnID0gRmphbGxDb25maWcubG9hZENvbmZpZygpO1xuICBjb25zdCBwcm92aWRlckFjY291bnQgPSBjb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50KGVudmlyb25tZW50KTtcblxuICBpZiAoIXByb3ZpZGVyQWNjb3VudCkge1xuICAgIGNvbnNvbGUud2FybihgTm8gcHJvdmlkZXIgYWNjb3VudCBmb3VuZCBmb3IgZW52aXJvbm1lbnQ6ICR7ZW52aXJvbm1lbnR9YCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYE5vIHByb3ZpZGVyIGFjY291bnQgZm91bmQgZm9yIGVudmlyb25tZW50OiAke2Vudmlyb25tZW50fWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbnZpcm9ubWVudDogZW52aXJvbm1lbnQsXG4gICAgYWNjb3VudDogcHJvdmlkZXJBY2NvdW50LmlkXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogQ29uZmlnIHtcbiAgY29uc3QgYXBwID0gQXBwLmdldEluc3RhbmNlKCk7XG5cbiAgLy8gR2V0IGNkayBkZXBsb3kgLS1jb250ZXh0IGNvbmZpZ1xuICBjb25zdCBlbnYgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiZW52aXJvbm1lbnRcIik7XG5cbiAgY29uc3QgY29uZmlnID0gRmphbGxDb25maWcubG9hZENvbmZpZygpO1xuICBjb25zdCBwcm92aWRlckFjY291bnQgPSBjb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50KGVudik7XG5cbiAgaWYgKCFwcm92aWRlckFjY291bnQpIHtcbiAgICBjb25zb2xlLndhcm4oYE5vIHByb3ZpZGVyIGFjY291bnQgZm91bmQgZm9yIGVudmlyb25tZW50OiAke2Vudn0uIERlZmF1bHRpbmcgdG8gbm8gYWNjb3VudGApO1xuICAvLyAgIHRocm93IG5ldyBFcnJvcihgTm8gcHJvdmlkZXIgYWNjb3VudCBmb3VuZCBmb3IgZW52aXJvbm1lbnQ6ICR7ZW52fWApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbnZpcm9ubWVudDogZW52LFxuICAgIGFjY291bnQ6IHByb3ZpZGVyQWNjb3VudD8uaWRcbiAgfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGdldENvbmZpZztcbiJdfQ==
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,7 @@
1
+ import { User } from "../config/aws/identityCenterUser";
2
+ export default class UsersConfig {
3
+ private configFile;
4
+ users: User[];
5
+ constructor();
6
+ getUsers(): User[];
7
+ }
@@ -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.10",
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.245.0",
57
- "@fjall/util": "^0.1.10",
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
  }