@fjall/components-infrastructure 0.66.0 → 0.68.0

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 (49) hide show
  1. package/dist/lib/app.js +5 -3
  2. package/dist/lib/config/aws/cloudTrail.d.ts +1 -0
  3. package/dist/lib/config/aws/cloudTrail.js +2 -2
  4. package/dist/lib/config/aws/ipam.d.ts +7 -1
  5. package/dist/lib/config/aws/ipam.js +11 -16
  6. package/dist/lib/config/aws/ipamPoolId.js +6 -4
  7. package/dist/lib/patterns/aws/ec2.d.ts +43 -0
  8. package/dist/lib/patterns/aws/ec2.js +123 -0
  9. package/dist/lib/patterns/aws/managedAccount.js +3 -2
  10. package/dist/lib/patterns/aws/managedPlatform.js +21 -7
  11. package/dist/lib/resources/aws/networking/ipamPool.js +10 -7
  12. package/dist/lib/utils/getCidr.d.ts +8 -0
  13. package/dist/lib/utils/getCidr.js +40 -0
  14. package/dist/lib/utils/getConfig.d.ts +4 -1
  15. package/dist/lib/utils/getConfig.js +8 -2
  16. package/package.json +3 -3
  17. package/dist/lib/__tests__/patterns/__snapshots__/compute.test.js.snap +0 -433
  18. package/dist/lib/__tests__/patterns/compute.test.d.ts +0 -1
  19. package/dist/lib/__tests__/patterns/compute.test.js +0 -137
  20. package/dist/lib/__tests__/simple.test.d.ts +0 -0
  21. package/dist/lib/__tests__/simple.test.js +0 -12
  22. package/dist/lib/resources/aws/organisations/account.d.ts +0 -37
  23. package/dist/lib/resources/aws/organisations/account.js +0 -220
  24. package/dist/lib/resources/aws/organisations/delegatedAdministrator.d.ts +0 -14
  25. package/dist/lib/resources/aws/organisations/delegatedAdministrator.js +0 -61
  26. package/dist/lib/resources/aws/organisations/index.d.ts +0 -8
  27. package/dist/lib/resources/aws/organisations/index.js +0 -22
  28. package/dist/lib/resources/aws/organisations/interfaces.d.ts +0 -105
  29. package/dist/lib/resources/aws/organisations/interfaces.js +0 -3
  30. package/dist/lib/resources/aws/organisations/organisation.d.ts +0 -47
  31. package/dist/lib/resources/aws/organisations/organisation.js +0 -263
  32. package/dist/lib/resources/aws/organisations/organisationalUnit.d.ts +0 -28
  33. package/dist/lib/resources/aws/organisations/organisationalUnit.js +0 -170
  34. package/dist/lib/resources/aws/organisations/policy.d.ts +0 -17
  35. package/dist/lib/resources/aws/organisations/policy.js +0 -93
  36. package/dist/lib/resources/aws/organisations/trustedServiceAccess.d.ts +0 -13
  37. package/dist/lib/resources/aws/organisations/trustedServiceAccess.js +0 -58
  38. package/dist/lib/resources/aws/organisations/types.d.ts +0 -165
  39. package/dist/lib/resources/aws/organisations/types.js +0 -36
  40. package/dist/lib/utils/directTagging.d.ts +0 -31
  41. package/dist/lib/utils/directTagging.js +0 -86
  42. package/dist/lib/utils/fjallConstruct.d.ts +0 -8
  43. package/dist/lib/utils/fjallConstruct.js +0 -18
  44. package/dist/lib/utils/fjallStackSynthesizer.d.ts +0 -9
  45. package/dist/lib/utils/fjallStackSynthesizer.js +0 -22
  46. package/dist/lib/utils/tagContext.d.ts +0 -28
  47. package/dist/lib/utils/tagContext.js +0 -53
  48. package/dist/lib/utils/tagSynthesizer.d.ts +0 -13
  49. package/dist/lib/utils/tagSynthesizer.js +0 -55
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ class CidrBlock {
5
+ constructor() {
6
+ this.configFile = "../cidr-config.json";
7
+ // Import config, or create it if it doesn't exist
8
+ if (fs.existsSync(this.configFile)) {
9
+ const configString = fs.readFileSync(this.configFile, "utf-8");
10
+ this.cidrBlock = JSON.parse(configString);
11
+ }
12
+ else {
13
+ this.cidrBlock = {};
14
+ for (let i = 1; i <= 255; i++) {
15
+ this.cidrBlock[`${i}.0.0.0/8`] = true;
16
+ }
17
+ const configString = JSON.stringify(this.cidrBlock, null, 2);
18
+ fs.writeFileSync(this.configFile, configString);
19
+ }
20
+ }
21
+ writeState() {
22
+ // JSON-ify config and write to file
23
+ const configString = JSON.stringify(this.cidrBlock, null, 2);
24
+ fs.writeFileSync(this.configFile, configString);
25
+ }
26
+ getCidrBlock() {
27
+ for (const key in this.cidrBlock) {
28
+ if (this.cidrBlock[key]) {
29
+ return key;
30
+ }
31
+ }
32
+ return "0.0.0.0/8";
33
+ }
34
+ updateState(cidrBlock, status) {
35
+ this.cidrBlock[cidrBlock] = status;
36
+ this.writeState();
37
+ }
38
+ }
39
+ exports.default = CidrBlock;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2lkci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi91dGlscy9nZXRDaWRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQXlCO0FBTXpCLE1BQXFCLFNBQVM7SUFJNUI7UUFGUSxlQUFVLEdBQUcscUJBQXFCLENBQUM7UUFHekMsa0RBQWtEO1FBQ2xELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDeEMsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLG9DQUFvQztRQUNwQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBWTtRQUNWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQixFQUFFLE1BQWU7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQXRDRCw0QkFzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcblxuaW50ZXJmYWNlIGNpZHJUYWJsZSB7XG4gIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENpZHJCbG9jayB7XG4gIHByaXZhdGUgY2lkckJsb2NrOiBjaWRyVGFibGU7XG4gIHByaXZhdGUgY29uZmlnRmlsZSA9IFwiLi4vY2lkci1jb25maWcuanNvblwiO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIEltcG9ydCBjb25maWcsIG9yIGNyZWF0ZSBpdCBpZiBpdCBkb2Vzbid0IGV4aXN0XG4gICAgaWYgKGZzLmV4aXN0c1N5bmModGhpcy5jb25maWdGaWxlKSkge1xuICAgICAgY29uc3QgY29uZmlnU3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHRoaXMuY29uZmlnRmlsZSwgXCJ1dGYtOFwiKTtcbiAgICAgIHRoaXMuY2lkckJsb2NrID0gSlNPTi5wYXJzZShjb25maWdTdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNpZHJCbG9jayA9IHt9O1xuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMjU1OyBpKyspIHtcbiAgICAgICAgdGhpcy5jaWRyQmxvY2tbYCR7aX0uMC4wLjAvOGBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbmZpZ1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuY2lkckJsb2NrLCBudWxsLCAyKTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5jb25maWdGaWxlLCBjb25maWdTdHJpbmcpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlU3RhdGUoKSB7XG4gICAgLy8gSlNPTi1pZnkgY29uZmlnIGFuZCB3cml0ZSB0byBmaWxlXG4gICAgY29uc3QgY29uZmlnU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodGhpcy5jaWRyQmxvY2ssIG51bGwsIDIpO1xuICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5jb25maWdGaWxlLCBjb25maWdTdHJpbmcpO1xuICB9XG5cbiAgZ2V0Q2lkckJsb2NrKCkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY2lkckJsb2NrKSB7XG4gICAgICBpZiAodGhpcy5jaWRyQmxvY2tba2V5XSkge1xuICAgICAgICByZXR1cm4ga2V5O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gXCIwLjAuMC4wLzhcIjtcbiAgfVxuXG4gIHVwZGF0ZVN0YXRlKGNpZHJCbG9jazogc3RyaW5nLCBzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNpZHJCbG9ja1tjaWRyQmxvY2tdID0gc3RhdHVzO1xuICAgIHRoaXMud3JpdGVTdGF0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,12 +1,15 @@
1
1
  import { Account } from "@aws-sdk/client-organizations";
2
2
  import { ICostAllocationTags } from "../config/aws";
3
- interface Config {
3
+ export interface Config {
4
4
  region: string;
5
5
  environment: string;
6
6
  existingAccounts: Account[];
7
7
  costAllocationTags: ICostAllocationTags[];
8
8
  accountId?: string;
9
9
  accountName?: string;
10
+ primaryRegion?: string;
11
+ secondaryRegions: string[];
12
+ allRegions: string[];
10
13
  }
11
14
  export declare function getConfig(accountName?: string): Config;
12
15
  export default getConfig;
@@ -9,7 +9,9 @@ function getConfig(accountName) {
9
9
  region: process.env.AWS_REGION || "us-east-1",
10
10
  environment: "unknown",
11
11
  existingAccounts: [],
12
- costAllocationTags: []
12
+ costAllocationTags: [],
13
+ secondaryRegions: [],
14
+ allRegions: []
13
15
  };
14
16
  if (!process.env.AWS_REGION)
15
17
  console.warn("AWS_REGION is not set, defaulting to us-east-1");
@@ -19,6 +21,10 @@ function getConfig(accountName) {
19
21
  config.existingAccounts = fjallConfig.getExistingAccounts();
20
22
  // Get cost allocation tags
21
23
  config.costAllocationTags = fjallConfig.getCostAllocationTags();
24
+ // Get regions configuration
25
+ config.primaryRegion = fjallConfig.getPrimaryRegion();
26
+ config.secondaryRegions = fjallConfig.getSecondaryRegions() || [];
27
+ config.allRegions = fjallConfig.getAllRegions();
22
28
  // If unspecified account name - try to retrieve from context
23
29
  if (!accountName)
24
30
  accountName = app.node.tryGetContext("accountName");
@@ -56,4 +62,4 @@ function getConfig(accountName) {
56
62
  return config;
57
63
  }
58
64
  exports.default = getConfig;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWVBLDhCQTJEQztBQXhFRCxnQ0FBeUI7QUFDekIsc0NBQW9EO0FBWXBELFNBQWdCLFNBQVMsQ0FBQyxXQUFvQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxhQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFOUIsTUFBTSxNQUFNLEdBQVc7UUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLFdBQVc7UUFDN0MsV0FBVyxFQUFFLFNBQVM7UUFDdEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixrQkFBa0IsRUFBRSxFQUFFO0tBQ3ZCLENBQUM7SUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUVqRSwyQ0FBMkM7SUFDM0MsTUFBTSxXQUFXLEdBQUcsYUFBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRTdDLHdCQUF3QjtJQUN4QixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFFNUQsMkJBQTJCO0lBQzNCLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUVoRSw2REFBNkQ7SUFDN0QsSUFBSSxDQUFDLFdBQVc7UUFBRSxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsb0VBQW9FO0lBQ3BFLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsd0VBQXdFO1FBQ3hFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUU3QixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0lBQzFDLENBQUM7U0FBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkUsNkRBQTZEO1FBQzdELE1BQU0sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxrQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2NvdW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcmdhbml6YXRpb25zXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uL2FwcFwiO1xuaW1wb3J0IHsgQ29uZmlnIGFzIEZqYWxsQ29uZmlnIH0gZnJvbSBcIkBmamFsbC91dGlsXCI7XG5pbXBvcnQgeyBJQ29zdEFsbG9jYXRpb25UYWdzIH0gZnJvbSBcIi4uL2NvbmZpZy9hd3NcIjtcblxuaW50ZXJmYWNlIENvbmZpZyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBleGlzdGluZ0FjY291bnRzOiBBY2NvdW50W107XG4gIGNvc3RBbGxvY2F0aW9uVGFnczogSUNvc3RBbGxvY2F0aW9uVGFnc1tdO1xuICBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIGFjY291bnROYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnKGFjY291bnROYW1lPzogc3RyaW5nKTogQ29uZmlnIHtcbiAgY29uc3QgYXBwID0gQXBwLmdldEluc3RhbmNlKCk7XG5cbiAgY29uc3QgY29uZmlnOiBDb25maWcgPSB7XG4gICAgcmVnaW9uOiBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIHx8IFwidXMtZWFzdC0xXCIsXG4gICAgZW52aXJvbm1lbnQ6IFwidW5rbm93blwiLFxuICAgIGV4aXN0aW5nQWNjb3VudHM6IFtdLFxuICAgIGNvc3RBbGxvY2F0aW9uVGFnczogW11cbiAgfTtcblxuICBpZiAoIXByb2Nlc3MuZW52LkFXU19SRUdJT04pXG4gICAgY29uc29sZS53YXJuKFwiQVdTX1JFR0lPTiBpcyBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIHVzLWVhc3QtMVwiKTtcblxuICAvLyBSZXRyaWV2ZSBhbnkgcHJlLWV4aXN0aW5nIGFjY291bnQgY29uZmlnXG4gIGNvbnN0IGZqYWxsQ29uZmlnID0gRmphbGxDb25maWcubG9hZENvbmZpZygpO1xuXG4gIC8vIEdldCBleGlzdGluZyBhY2NvdW50c1xuICBjb25maWcuZXhpc3RpbmdBY2NvdW50cyA9IGZqYWxsQ29uZmlnLmdldEV4aXN0aW5nQWNjb3VudHMoKTtcblxuICAvLyBHZXQgY29zdCBhbGxvY2F0aW9uIHRhZ3NcbiAgY29uZmlnLmNvc3RBbGxvY2F0aW9uVGFncyA9IGZqYWxsQ29uZmlnLmdldENvc3RBbGxvY2F0aW9uVGFncygpO1xuXG4gIC8vIElmIHVuc3BlY2lmaWVkIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBmcm9tIGNvbnRleHRcbiAgaWYgKCFhY2NvdW50TmFtZSkgYWNjb3VudE5hbWUgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiYWNjb3VudE5hbWVcIik7XG4gIC8vIElmIHdlIGhhdmUgYW4gYWNjb3VudCBuYW1lIC0gbG9vayBmb3IgYXNzb2NpYXRlZCBwcm92aWRlciBhY2NvdW50XG4gIGlmIChhY2NvdW50TmFtZSkge1xuICAgIGNvbnN0IHByb3ZpZGVyQWNjb3VudCA9IGZqYWxsQ29uZmlnLmdldFByb3ZpZGVyQWNjb3VudChhY2NvdW50TmFtZSk7XG4gICAgaWYgKCEhcHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gcHJvdmlkZXJBY2NvdW50LmlkO1xuICAgICAgY29uZmlnLmFjY291bnROYW1lID0gcHJvdmlkZXJBY2NvdW50Lm5hbWU7XG4gICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2Ugc3RpbGwgZG9uJ3QgaGF2ZSBhbiBhY2NvdW50IG5hbWUgLSB0cnkgdG8gcmV0cmlldmUgYWNjb3VudElkIGZyb20gY29udGV4dFxuICBpZiAoIWNvbmZpZy5hY2NvdW50TmFtZSkge1xuICAgIGNvbnN0IGFjY291bnRJZCA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50SWRcIik7XG4gICAgLy8gSWYgd2UgZmluZCBhbiBhY2NvdW50SWQgLSByZXRyaWV2ZSB0aGUgYXNzb2NpYXRlZCBhY2NvdW50IGZyb20gY29uZmlnXG4gICAgaWYgKGFjY291bnRJZCkge1xuICAgICAgY29uZmlnLmFjY291bnRJZCA9IGFjY291bnRJZDtcblxuICAgICAgY29uc3QgcHJvdmlkZXJBY2NvdW50ID0gZmphbGxDb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50QnlJZChhY2NvdW50SWQpO1xuICAgICAgaWYgKCEhcHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIGVudmlyb25tZW50IGZyb20gY29udGV4dCAoaGlnaGVzdCBwcmlvcml0eSlcbiAgY29uc3QgY29udGV4dEVudmlyb25tZW50ID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImVudmlyb25tZW50XCIpO1xuICBpZiAoY29udGV4dEVudmlyb25tZW50KSB7XG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gY29udGV4dEVudmlyb25tZW50O1xuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LkVOVklST05NRU5UICYmIGNvbmZpZy5lbnZpcm9ubWVudCA9PT0gXCJ1bmtub3duXCIpIHtcbiAgICAvLyBGYWxsIGJhY2sgdG8gRU5WSVJPTk1FTlQgdmFyaWFibGUgaWYgbm8gb3RoZXIgc291cmNlIGZvdW5kXG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQ7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZGVmYXVsdCBnZXRDb25maWc7XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSw4QkFrRUM7QUFsRkQsZ0NBQXlCO0FBQ3pCLHNDQUFvRDtBQWVwRCxTQUFnQixTQUFTLENBQUMsV0FBb0I7SUFDNUMsTUFBTSxHQUFHLEdBQUcsYUFBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTlCLE1BQU0sTUFBTSxHQUFXO1FBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxXQUFXO1FBQzdDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsa0JBQWtCLEVBQUUsRUFBRTtRQUN0QixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLFVBQVUsRUFBRSxFQUFFO0tBQ2YsQ0FBQztJQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVU7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBRWpFLDJDQUEyQztJQUMzQyxNQUFNLFdBQVcsR0FBRyxhQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFN0Msd0JBQXdCO0lBQ3hCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUU1RCwyQkFBMkI7SUFDM0IsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRWhFLDRCQUE0QjtJQUM1QixNQUFNLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3RELE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEUsTUFBTSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFaEQsNkRBQTZEO0lBQzdELElBQUksQ0FBQyxXQUFXO1FBQUUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLG9FQUFvRTtJQUNwRSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtGQUFrRjtJQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELHdFQUF3RTtRQUN4RSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFFN0IsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN0QixNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQzFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRSxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztJQUMxQyxDQUFDO1NBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3ZFLDZEQUE2RDtRQUM3RCxNQUFNLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsa0JBQWUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuXG5pbXBvcnQgQXBwIGZyb20gXCIuLi9hcHBcIjtcbmltcG9ydCB7IENvbmZpZyBhcyBGamFsbENvbmZpZyB9IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuaW1wb3J0IHsgSUNvc3RBbGxvY2F0aW9uVGFncyB9IGZyb20gXCIuLi9jb25maWcvYXdzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG4gIGV4aXN0aW5nQWNjb3VudHM6IEFjY291bnRbXTtcbiAgY29zdEFsbG9jYXRpb25UYWdzOiBJQ29zdEFsbG9jYXRpb25UYWdzW107XG4gIGFjY291bnRJZD86IHN0cmluZztcbiAgYWNjb3VudE5hbWU/OiBzdHJpbmc7XG4gIHByaW1hcnlSZWdpb24/OiBzdHJpbmc7XG4gIHNlY29uZGFyeVJlZ2lvbnM6IHN0cmluZ1tdO1xuICBhbGxSZWdpb25zOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZyhhY2NvdW50TmFtZT86IHN0cmluZyk6IENvbmZpZyB7XG4gIGNvbnN0IGFwcCA9IEFwcC5nZXRJbnN0YW5jZSgpO1xuXG4gIGNvbnN0IGNvbmZpZzogQ29uZmlnID0ge1xuICAgIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCBcInVzLWVhc3QtMVwiLFxuICAgIGVudmlyb25tZW50OiBcInVua25vd25cIixcbiAgICBleGlzdGluZ0FjY291bnRzOiBbXSxcbiAgICBjb3N0QWxsb2NhdGlvblRhZ3M6IFtdLFxuICAgIHNlY29uZGFyeVJlZ2lvbnM6IFtdLFxuICAgIGFsbFJlZ2lvbnM6IFtdXG4gIH07XG5cbiAgaWYgKCFwcm9jZXNzLmVudi5BV1NfUkVHSU9OKVxuICAgIGNvbnNvbGUud2FybihcIkFXU19SRUdJT04gaXMgbm90IHNldCwgZGVmYXVsdGluZyB0byB1cy1lYXN0LTFcIik7XG5cbiAgLy8gUmV0cmlldmUgYW55IHByZS1leGlzdGluZyBhY2NvdW50IGNvbmZpZ1xuICBjb25zdCBmamFsbENvbmZpZyA9IEZqYWxsQ29uZmlnLmxvYWRDb25maWcoKTtcblxuICAvLyBHZXQgZXhpc3RpbmcgYWNjb3VudHNcbiAgY29uZmlnLmV4aXN0aW5nQWNjb3VudHMgPSBmamFsbENvbmZpZy5nZXRFeGlzdGluZ0FjY291bnRzKCk7XG5cbiAgLy8gR2V0IGNvc3QgYWxsb2NhdGlvbiB0YWdzXG4gIGNvbmZpZy5jb3N0QWxsb2NhdGlvblRhZ3MgPSBmamFsbENvbmZpZy5nZXRDb3N0QWxsb2NhdGlvblRhZ3MoKTtcblxuICAvLyBHZXQgcmVnaW9ucyBjb25maWd1cmF0aW9uXG4gIGNvbmZpZy5wcmltYXJ5UmVnaW9uID0gZmphbGxDb25maWcuZ2V0UHJpbWFyeVJlZ2lvbigpO1xuICBjb25maWcuc2Vjb25kYXJ5UmVnaW9ucyA9IGZqYWxsQ29uZmlnLmdldFNlY29uZGFyeVJlZ2lvbnMoKSB8fCBbXTtcbiAgY29uZmlnLmFsbFJlZ2lvbnMgPSBmamFsbENvbmZpZy5nZXRBbGxSZWdpb25zKCk7XG5cbiAgLy8gSWYgdW5zcGVjaWZpZWQgYWNjb3VudCBuYW1lIC0gdHJ5IHRvIHJldHJpZXZlIGZyb20gY29udGV4dFxuICBpZiAoIWFjY291bnROYW1lKSBhY2NvdW50TmFtZSA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50TmFtZVwiKTtcbiAgLy8gSWYgd2UgaGF2ZSBhbiBhY2NvdW50IG5hbWUgLSBsb29rIGZvciBhc3NvY2lhdGVkIHByb3ZpZGVyIGFjY291bnRcbiAgaWYgKGFjY291bnROYW1lKSB7XG4gICAgY29uc3QgcHJvdmlkZXJBY2NvdW50ID0gZmphbGxDb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50KGFjY291bnROYW1lKTtcbiAgICBpZiAoISFwcm92aWRlckFjY291bnQpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWQgPSBwcm92aWRlckFjY291bnQuaWQ7XG4gICAgICBjb25maWcuYWNjb3VudE5hbWUgPSBwcm92aWRlckFjY291bnQubmFtZTtcbiAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGFuIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBhY2NvdW50SWQgZnJvbSBjb250ZXh0XG4gIGlmICghY29uZmlnLmFjY291bnROYW1lKSB7XG4gICAgY29uc3QgYWNjb3VudElkID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnRJZFwiKTtcbiAgICAvLyBJZiB3ZSBmaW5kIGFuIGFjY291bnRJZCAtIHJldHJpZXZlIHRoZSBhc3NvY2lhdGVkIGFjY291bnQgZnJvbSBjb25maWdcbiAgICBpZiAoYWNjb3VudElkKSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gYWNjb3VudElkO1xuXG4gICAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnRCeUlkKGFjY291bnRJZCk7XG4gICAgICBpZiAoISFwcm92aWRlckFjY291bnQpIHtcbiAgICAgICAgY29uZmlnLmFjY291bnROYW1lID0gcHJvdmlkZXJBY2NvdW50Lm5hbWU7XG4gICAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBmb3IgZW52aXJvbm1lbnQgZnJvbSBjb250ZXh0IChoaWdoZXN0IHByaW9yaXR5KVxuICBjb25zdCBjb250ZXh0RW52aXJvbm1lbnQgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiZW52aXJvbm1lbnRcIik7XG4gIGlmIChjb250ZXh0RW52aXJvbm1lbnQpIHtcbiAgICBjb25maWcuZW52aXJvbm1lbnQgPSBjb250ZXh0RW52aXJvbm1lbnQ7XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQgJiYgY29uZmlnLmVudmlyb25tZW50ID09PSBcInVua25vd25cIikge1xuICAgIC8vIEZhbGwgYmFjayB0byBFTlZJUk9OTUVOVCB2YXJpYWJsZSBpZiBubyBvdGhlciBzb3VyY2UgZm91bmRcbiAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm9jZXNzLmVudi5FTlZJUk9OTUVOVDtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldENvbmZpZztcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.66.0",
3
+ "version": "0.68.0",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@aws-sdk/client-organizations": "^3.716.0",
38
- "@fjall/util": "^0.66.0",
38
+ "@fjall/util": "^0.68.0",
39
39
  "@pepperize/cdk-organizations": "^0.7.135",
40
40
  "cdk-time-sleep": "^1.0.0",
41
41
  "constructs": "^10.0.0",
@@ -44,7 +44,7 @@
44
44
  "overrides": {
45
45
  "@smithy/core": "2.5.5"
46
46
  },
47
- "gitHead": "f94ebc2ff763d06fac91525b71bbccbd0fea1500",
47
+ "gitHead": "d92a20f44b62cb2bdb970dd16397d615059ccc29",
48
48
  "peerDependencies": {
49
49
  "aws-cdk": "^2.206.0",
50
50
  "aws-cdk-lib": "^2.206.0",
@@ -1,433 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`Infrastructure Testing Basic Infrastructure should match network stack snapshot: network-stack.json 1`] = `
4
- {
5
- "Parameters": {
6
- "BootstrapVersion": {
7
- "Default": "/cdk-bootstrap/hnb659fds/version",
8
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]",
9
- "Type": "AWS::SSM::Parameter::Value<String>",
10
- },
11
- },
12
- "Resources": {
13
- "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER": {
14
- "Properties": {
15
- "CidrBlock": "10.0.0.0/16",
16
- "EnableDnsHostnames": true,
17
- "EnableDnsSupport": true,
18
- "InstanceTenancy": "default",
19
- "Tags": [
20
- {
21
- "Key": "Name",
22
- "Value": "vpc-SnapshotTestDefaultVpc",
23
- },
24
- ],
25
- },
26
- "Type": "AWS::EC2::VPC",
27
- },
28
- "vpcSnapshotTestDefaultVpcIGWCONSTRUCT_ID_PLACEHOLDER": {
29
- "Properties": {
30
- "Tags": [
31
- {
32
- "Key": "Name",
33
- "Value": "vpc-SnapshotTestDefaultVpc",
34
- },
35
- ],
36
- },
37
- "Type": "AWS::EC2::InternetGateway",
38
- },
39
- "vpcSnapshotTestDefaultVpcPrivateSubnet1DefaultRouteCONSTRUCT_ID_PLACEHOLDER": {
40
- "Properties": {
41
- "DestinationCidrBlock": "0.0.0.0/0",
42
- "NatGatewayId": {
43
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet1NATGatewayCONSTRUCT_ID_PLACEHOLDER",
44
- },
45
- "RouteTableId": {
46
- "Ref": "vpcSnapshotTestDefaultVpcPrivateSubnet1RouteTableCONSTRUCT_ID_PLACEHOLDER",
47
- },
48
- },
49
- "Type": "AWS::EC2::Route",
50
- },
51
- "vpcSnapshotTestDefaultVpcPrivateSubnet1RouteTableAssociationCONSTRUCT_ID_PLACEHOLDER": {
52
- "Properties": {
53
- "RouteTableId": {
54
- "Ref": "vpcSnapshotTestDefaultVpcPrivateSubnet1RouteTableCONSTRUCT_ID_PLACEHOLDER",
55
- },
56
- "SubnetId": {
57
- "Ref": "vpcSnapshotTestDefaultVpcPrivateSubnet1SubnetCONSTRUCT_ID_PLACEHOLDER",
58
- },
59
- },
60
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
61
- },
62
- "vpcSnapshotTestDefaultVpcPrivateSubnet1RouteTableCONSTRUCT_ID_PLACEHOLDER": {
63
- "Properties": {
64
- "Tags": [
65
- {
66
- "Key": "Name",
67
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PrivateSubnet1",
68
- },
69
- ],
70
- "VpcId": {
71
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
72
- },
73
- },
74
- "Type": "AWS::EC2::RouteTable",
75
- },
76
- "vpcSnapshotTestDefaultVpcPrivateSubnet1SubnetCONSTRUCT_ID_PLACEHOLDER": {
77
- "Properties": {
78
- "AvailabilityZone": {
79
- "Fn::Select": [
80
- 0,
81
- {
82
- "Fn::GetAZs": "",
83
- },
84
- ],
85
- },
86
- "CidrBlock": "10.0.128.0/18",
87
- "MapPublicIpOnLaunch": false,
88
- "Tags": [
89
- {
90
- "Key": "aws-cdk:subnet-name",
91
- "Value": "Private",
92
- },
93
- {
94
- "Key": "aws-cdk:subnet-type",
95
- "Value": "Private",
96
- },
97
- {
98
- "Key": "Name",
99
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PrivateSubnet1",
100
- },
101
- ],
102
- "VpcId": {
103
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
104
- },
105
- },
106
- "Type": "AWS::EC2::Subnet",
107
- },
108
- "vpcSnapshotTestDefaultVpcPrivateSubnet2DefaultRouteCONSTRUCT_ID_PLACEHOLDER": {
109
- "Properties": {
110
- "DestinationCidrBlock": "0.0.0.0/0",
111
- "NatGatewayId": {
112
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet2NATGatewayCONSTRUCT_ID_PLACEHOLDER",
113
- },
114
- "RouteTableId": {
115
- "Ref": "vpcSnapshotTestDefaultVpcPrivateSubnet2RouteTableCONSTRUCT_ID_PLACEHOLDER",
116
- },
117
- },
118
- "Type": "AWS::EC2::Route",
119
- },
120
- "vpcSnapshotTestDefaultVpcPrivateSubnet2RouteTableAssociationCONSTRUCT_ID_PLACEHOLDER": {
121
- "Properties": {
122
- "RouteTableId": {
123
- "Ref": "vpcSnapshotTestDefaultVpcPrivateSubnet2RouteTableCONSTRUCT_ID_PLACEHOLDER",
124
- },
125
- "SubnetId": {
126
- "Ref": "vpcSnapshotTestDefaultVpcPrivateSubnet2SubnetCONSTRUCT_ID_PLACEHOLDER",
127
- },
128
- },
129
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
130
- },
131
- "vpcSnapshotTestDefaultVpcPrivateSubnet2RouteTableCONSTRUCT_ID_PLACEHOLDER": {
132
- "Properties": {
133
- "Tags": [
134
- {
135
- "Key": "Name",
136
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PrivateSubnet2",
137
- },
138
- ],
139
- "VpcId": {
140
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
141
- },
142
- },
143
- "Type": "AWS::EC2::RouteTable",
144
- },
145
- "vpcSnapshotTestDefaultVpcPrivateSubnet2SubnetCONSTRUCT_ID_PLACEHOLDER": {
146
- "Properties": {
147
- "AvailabilityZone": {
148
- "Fn::Select": [
149
- 1,
150
- {
151
- "Fn::GetAZs": "",
152
- },
153
- ],
154
- },
155
- "CidrBlock": "10.0.192.0/18",
156
- "MapPublicIpOnLaunch": false,
157
- "Tags": [
158
- {
159
- "Key": "aws-cdk:subnet-name",
160
- "Value": "Private",
161
- },
162
- {
163
- "Key": "aws-cdk:subnet-type",
164
- "Value": "Private",
165
- },
166
- {
167
- "Key": "Name",
168
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PrivateSubnet2",
169
- },
170
- ],
171
- "VpcId": {
172
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
173
- },
174
- },
175
- "Type": "AWS::EC2::Subnet",
176
- },
177
- "vpcSnapshotTestDefaultVpcPublicSubnet1DefaultRouteCONSTRUCT_ID_PLACEHOLDER": {
178
- "DependsOn": [
179
- "vpcSnapshotTestDefaultVpcVPCGWCONSTRUCT_ID_PLACEHOLDER",
180
- ],
181
- "Properties": {
182
- "DestinationCidrBlock": "0.0.0.0/0",
183
- "GatewayId": {
184
- "Ref": "vpcSnapshotTestDefaultVpcIGWCONSTRUCT_ID_PLACEHOLDER",
185
- },
186
- "RouteTableId": {
187
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet1RouteTableCONSTRUCT_ID_PLACEHOLDER",
188
- },
189
- },
190
- "Type": "AWS::EC2::Route",
191
- },
192
- "vpcSnapshotTestDefaultVpcPublicSubnet1EIPCONSTRUCT_ID_PLACEHOLDER": {
193
- "Properties": {
194
- "Domain": "vpc",
195
- "Tags": [
196
- {
197
- "Key": "Name",
198
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet1",
199
- },
200
- ],
201
- },
202
- "Type": "AWS::EC2::EIP",
203
- },
204
- "vpcSnapshotTestDefaultVpcPublicSubnet1NATGatewayCONSTRUCT_ID_PLACEHOLDER": {
205
- "DependsOn": [
206
- "vpcSnapshotTestDefaultVpcPublicSubnet1DefaultRouteCONSTRUCT_ID_PLACEHOLDER",
207
- "vpcSnapshotTestDefaultVpcPublicSubnet1RouteTableAssociationCONSTRUCT_ID_PLACEHOLDER",
208
- ],
209
- "Properties": {
210
- "AllocationId": {
211
- "Fn::GetAtt": [
212
- "vpcSnapshotTestDefaultVpcPublicSubnet1EIPCONSTRUCT_ID_PLACEHOLDER",
213
- "AllocationId",
214
- ],
215
- },
216
- "SubnetId": {
217
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet1SubnetCONSTRUCT_ID_PLACEHOLDER",
218
- },
219
- "Tags": [
220
- {
221
- "Key": "Name",
222
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet1",
223
- },
224
- ],
225
- },
226
- "Type": "AWS::EC2::NatGateway",
227
- },
228
- "vpcSnapshotTestDefaultVpcPublicSubnet1RouteTableAssociationCONSTRUCT_ID_PLACEHOLDER": {
229
- "Properties": {
230
- "RouteTableId": {
231
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet1RouteTableCONSTRUCT_ID_PLACEHOLDER",
232
- },
233
- "SubnetId": {
234
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet1SubnetCONSTRUCT_ID_PLACEHOLDER",
235
- },
236
- },
237
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
238
- },
239
- "vpcSnapshotTestDefaultVpcPublicSubnet1RouteTableCONSTRUCT_ID_PLACEHOLDER": {
240
- "Properties": {
241
- "Tags": [
242
- {
243
- "Key": "Name",
244
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet1",
245
- },
246
- ],
247
- "VpcId": {
248
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
249
- },
250
- },
251
- "Type": "AWS::EC2::RouteTable",
252
- },
253
- "vpcSnapshotTestDefaultVpcPublicSubnet1SubnetCONSTRUCT_ID_PLACEHOLDER": {
254
- "Properties": {
255
- "AvailabilityZone": {
256
- "Fn::Select": [
257
- 0,
258
- {
259
- "Fn::GetAZs": "",
260
- },
261
- ],
262
- },
263
- "CidrBlock": "10.0.0.0/18",
264
- "MapPublicIpOnLaunch": true,
265
- "Tags": [
266
- {
267
- "Key": "aws-cdk:subnet-name",
268
- "Value": "Public",
269
- },
270
- {
271
- "Key": "aws-cdk:subnet-type",
272
- "Value": "Public",
273
- },
274
- {
275
- "Key": "Name",
276
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet1",
277
- },
278
- ],
279
- "VpcId": {
280
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
281
- },
282
- },
283
- "Type": "AWS::EC2::Subnet",
284
- },
285
- "vpcSnapshotTestDefaultVpcPublicSubnet2DefaultRouteCONSTRUCT_ID_PLACEHOLDER": {
286
- "DependsOn": [
287
- "vpcSnapshotTestDefaultVpcVPCGWCONSTRUCT_ID_PLACEHOLDER",
288
- ],
289
- "Properties": {
290
- "DestinationCidrBlock": "0.0.0.0/0",
291
- "GatewayId": {
292
- "Ref": "vpcSnapshotTestDefaultVpcIGWCONSTRUCT_ID_PLACEHOLDER",
293
- },
294
- "RouteTableId": {
295
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet2RouteTableCONSTRUCT_ID_PLACEHOLDER",
296
- },
297
- },
298
- "Type": "AWS::EC2::Route",
299
- },
300
- "vpcSnapshotTestDefaultVpcPublicSubnet2EIPCONSTRUCT_ID_PLACEHOLDER": {
301
- "Properties": {
302
- "Domain": "vpc",
303
- "Tags": [
304
- {
305
- "Key": "Name",
306
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet2",
307
- },
308
- ],
309
- },
310
- "Type": "AWS::EC2::EIP",
311
- },
312
- "vpcSnapshotTestDefaultVpcPublicSubnet2NATGatewayCONSTRUCT_ID_PLACEHOLDER": {
313
- "DependsOn": [
314
- "vpcSnapshotTestDefaultVpcPublicSubnet2DefaultRouteCONSTRUCT_ID_PLACEHOLDER",
315
- "vpcSnapshotTestDefaultVpcPublicSubnet2RouteTableAssociationCONSTRUCT_ID_PLACEHOLDER",
316
- ],
317
- "Properties": {
318
- "AllocationId": {
319
- "Fn::GetAtt": [
320
- "vpcSnapshotTestDefaultVpcPublicSubnet2EIPCONSTRUCT_ID_PLACEHOLDER",
321
- "AllocationId",
322
- ],
323
- },
324
- "SubnetId": {
325
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet2SubnetCONSTRUCT_ID_PLACEHOLDER",
326
- },
327
- "Tags": [
328
- {
329
- "Key": "Name",
330
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet2",
331
- },
332
- ],
333
- },
334
- "Type": "AWS::EC2::NatGateway",
335
- },
336
- "vpcSnapshotTestDefaultVpcPublicSubnet2RouteTableAssociationCONSTRUCT_ID_PLACEHOLDER": {
337
- "Properties": {
338
- "RouteTableId": {
339
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet2RouteTableCONSTRUCT_ID_PLACEHOLDER",
340
- },
341
- "SubnetId": {
342
- "Ref": "vpcSnapshotTestDefaultVpcPublicSubnet2SubnetCONSTRUCT_ID_PLACEHOLDER",
343
- },
344
- },
345
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
346
- },
347
- "vpcSnapshotTestDefaultVpcPublicSubnet2RouteTableCONSTRUCT_ID_PLACEHOLDER": {
348
- "Properties": {
349
- "Tags": [
350
- {
351
- "Key": "Name",
352
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet2",
353
- },
354
- ],
355
- "VpcId": {
356
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
357
- },
358
- },
359
- "Type": "AWS::EC2::RouteTable",
360
- },
361
- "vpcSnapshotTestDefaultVpcPublicSubnet2SubnetCONSTRUCT_ID_PLACEHOLDER": {
362
- "Properties": {
363
- "AvailabilityZone": {
364
- "Fn::Select": [
365
- 1,
366
- {
367
- "Fn::GetAZs": "",
368
- },
369
- ],
370
- },
371
- "CidrBlock": "10.0.64.0/18",
372
- "MapPublicIpOnLaunch": true,
373
- "Tags": [
374
- {
375
- "Key": "aws-cdk:subnet-name",
376
- "Value": "Public",
377
- },
378
- {
379
- "Key": "aws-cdk:subnet-type",
380
- "Value": "Public",
381
- },
382
- {
383
- "Key": "Name",
384
- "Value": "SnapshotTestNetwork/vpc-SnapshotTestDefaultVpc/PublicSubnet2",
385
- },
386
- ],
387
- "VpcId": {
388
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
389
- },
390
- },
391
- "Type": "AWS::EC2::Subnet",
392
- },
393
- "vpcSnapshotTestDefaultVpcVPCGWCONSTRUCT_ID_PLACEHOLDER": {
394
- "Properties": {
395
- "InternetGatewayId": {
396
- "Ref": "vpcSnapshotTestDefaultVpcIGWCONSTRUCT_ID_PLACEHOLDER",
397
- },
398
- "VpcId": {
399
- "Ref": "vpcSnapshotTestDefaultVpcCONSTRUCT_ID_PLACEHOLDER",
400
- },
401
- },
402
- "Type": "AWS::EC2::VPCGatewayAttachment",
403
- },
404
- },
405
- "Rules": {
406
- "CheckBootstrapVersion": {
407
- "Assertions": [
408
- {
409
- "Assert": {
410
- "Fn::Not": [
411
- {
412
- "Fn::Contains": [
413
- [
414
- "1",
415
- "2",
416
- "3",
417
- "4",
418
- "5",
419
- ],
420
- {
421
- "Ref": "BootstrapVersion",
422
- },
423
- ],
424
- },
425
- ],
426
- },
427
- "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.",
428
- },
429
- ],
430
- },
431
- },
432
- }
433
- `;
@@ -1 +0,0 @@
1
- export {};