@fjall/components-infrastructure 0.71.8 → 0.72.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 (43) hide show
  1. package/dist/lib/patterns/aws/ec2.d.ts +43 -0
  2. package/dist/lib/patterns/aws/ec2.js +123 -0
  3. package/dist/lib/patterns/aws/storage.d.ts +11 -3
  4. package/dist/lib/patterns/aws/storage.js +19 -8
  5. package/dist/lib/resources/aws/compute/ecs.js +5 -5
  6. package/dist/lib/resources/aws/database/rdsFreeTier.js +2 -2
  7. package/dist/lib/resources/aws/database/rdsInstance.js +2 -2
  8. package/dist/lib/utils/getCidr.d.ts +8 -0
  9. package/dist/lib/utils/getCidr.js +40 -0
  10. package/package.json +3 -3
  11. package/dist/lib/__tests__/patterns/__snapshots__/compute.test.js.snap +0 -433
  12. package/dist/lib/__tests__/patterns/compute.test.d.ts +0 -1
  13. package/dist/lib/__tests__/patterns/compute.test.js +0 -137
  14. package/dist/lib/__tests__/simple.test.d.ts +0 -0
  15. package/dist/lib/__tests__/simple.test.js +0 -12
  16. package/dist/lib/resources/aws/organisations/account.d.ts +0 -37
  17. package/dist/lib/resources/aws/organisations/account.js +0 -220
  18. package/dist/lib/resources/aws/organisations/delegatedAdministrator.d.ts +0 -14
  19. package/dist/lib/resources/aws/organisations/delegatedAdministrator.js +0 -61
  20. package/dist/lib/resources/aws/organisations/index.d.ts +0 -8
  21. package/dist/lib/resources/aws/organisations/index.js +0 -22
  22. package/dist/lib/resources/aws/organisations/interfaces.d.ts +0 -105
  23. package/dist/lib/resources/aws/organisations/interfaces.js +0 -3
  24. package/dist/lib/resources/aws/organisations/organisation.d.ts +0 -47
  25. package/dist/lib/resources/aws/organisations/organisation.js +0 -263
  26. package/dist/lib/resources/aws/organisations/organisationalUnit.d.ts +0 -28
  27. package/dist/lib/resources/aws/organisations/organisationalUnit.js +0 -170
  28. package/dist/lib/resources/aws/organisations/policy.d.ts +0 -17
  29. package/dist/lib/resources/aws/organisations/policy.js +0 -93
  30. package/dist/lib/resources/aws/organisations/trustedServiceAccess.d.ts +0 -13
  31. package/dist/lib/resources/aws/organisations/trustedServiceAccess.js +0 -58
  32. package/dist/lib/resources/aws/organisations/types.d.ts +0 -165
  33. package/dist/lib/resources/aws/organisations/types.js +0 -36
  34. package/dist/lib/utils/directTagging.d.ts +0 -31
  35. package/dist/lib/utils/directTagging.js +0 -86
  36. package/dist/lib/utils/fjallConstruct.d.ts +0 -8
  37. package/dist/lib/utils/fjallConstruct.js +0 -18
  38. package/dist/lib/utils/fjallStackSynthesizer.d.ts +0 -9
  39. package/dist/lib/utils/fjallStackSynthesizer.js +0 -22
  40. package/dist/lib/utils/tagContext.d.ts +0 -28
  41. package/dist/lib/utils/tagContext.js +0 -53
  42. package/dist/lib/utils/tagSynthesizer.d.ts +0 -13
  43. package/dist/lib/utils/tagSynthesizer.js +0 -55
@@ -66,7 +66,7 @@ class RdsInstance extends constructs_1.Construct {
66
66
  securityGroups: [this.databaseSecurityGroup],
67
67
  engine: props.engine ||
68
68
  aws_rds_1.DatabaseInstanceEngine.postgres({
69
- version: aws_rds_1.PostgresEngineVersion.VER_16_3
69
+ version: aws_rds_1.PostgresEngineVersion.VER_17_5
70
70
  }),
71
71
  allocatedStorage: props.allocatedStorage,
72
72
  backupRetention: props.backupRetention || aws_cdk_lib_1.Duration.days(14),
@@ -188,4 +188,4 @@ class RdsInstance extends constructs_1.Construct {
188
188
  }
189
189
  }
190
190
  exports.RdsInstance = RdsInstance;
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBaUU7QUFDakUsaURBUzZCO0FBQzdCLGlEQVc2QjtBQUM3Qix1RUFHd0M7QUFDeEMsMkNBQXVDO0FBQ3ZDLGdDQUF1QztBQUN2Qyx3Q0FBd0Q7QUFHeEQsMkNBQXdDO0FBcUJ4QyxNQUFhLFdBQVksU0FBUSxzQkFBUztJQWF4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBRS9CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZTtRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHO1lBQ2xCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNYLENBQUMsQ0FBQyxJQUFJLFNBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7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RUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQiwwQkFBMEIsRUFDeEIsS0FBSyxDQUFDLDBCQUEwQixJQUFJLHFCQUFxQjtTQUM1RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQWU7UUFDdEMsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBYTtnQkFDekIsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVUsSUFBSSxLQUFLLEVBQUUsR0FBRztvQkFDM0MsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixJQUFJLEVBQUU7b0JBQy9DLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7aUJBQy9EO2FBQ0YsQ0FBQztZQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF6UEQsa0NBeVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFBvcnQsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EsXG4gIERhdGFiYXNlUHJveHksXG4gIElJbnN0YW5jZUVuZ2luZSxcbiAgUG9zdGdyZXNFbmdpbmVWZXJzaW9uLFxuICBQcm94eVRhcmdldCxcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7XG4gIFNlY3JldFJvdGF0aW9uLFxuICBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9iYXNlL2F3c1N0YWNrXCI7XG5pbXBvcnQgeyBWcGMgfSBmcm9tIFwiLi4vbmV0d29ya2luZy92cGNcIjtcblxuaW50ZXJmYWNlIFJkc1Byb3BzIHtcbiAgdnBjPzogSVZwYztcbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICBlbmdpbmU/OiBJSW5zdGFuY2VFbmdpbmU7XG4gIGluc3RhbmNlVHlwZT86IHN0cmluZztcbiAgbWF4QWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYmFja3VwUmV0ZW50aW9uPzogRHVyYXRpb247XG4gIGNsdXN0ZXJJZGVudGlmaWVyPzogc3RyaW5nO1xuICBtb25pdG9yaW5nSW50ZXJ2YWw/OiBEdXJhdGlvbjtcbiAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHM/OiBib29sZWFuO1xuICBkYXRhYmFzZVByb3h5PzogYm9vbGVhbjtcbiAgLy8gVE9ETzogVGhlIGJlbG93IGNvdWxkIGJlIGEgbnVtYmVyLCB0aGVuIGl0IHNjYWxlcyBiYXNlZCBvbiB0aGUgYW1vdW50XG4gIHJlYWRSZXBsaWNhPzogYm9vbGVhbjtcbiAgc2VjdXJpdHlHcm91cElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgUmRzSW5zdGFuY2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgZGF0YWJhc2VTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHByaXZhdGUgcG9ydDogbnVtYmVyO1xuICBwcml2YXRlIGRhdGFiYXNlQ3JlZGVudGlhbHM6IFNlY3JldDtcbiAgcHJpdmF0ZSBlbmNyeXB0aW9uS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIHByaXZhdGUgZGF0YWJhc2VQZXJmb3JtYW5jZUluc2lnaHRzS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIHByaXZhdGUgZGF0YWJhc2U6IERhdGFiYXNlSW5zdGFuY2U7XG4gIHByaXZhdGUgbWFzdGVyU2VjcmV0OiBTZWNyZXQ7XG4gIHByaXZhdGUgZGF0YWJhc2VQcm94eTogRGF0YWJhc2VQcm94eTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5wb3J0ID0gcHJvcHMucG9ydCB8fCA1NDMyO1xuXG4gICAgdGhpcy5hZGRWcGMocHJvcHMpO1xuICAgIHRoaXMuYWRkRGF0YWJhc2UocHJvcHMpO1xuICAgIHRoaXMucm90YXRlU2VjcmV0KHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5kYXRhYmFzZVByb3h5KSB7XG4gICAgICB0aGlzLmFkZFByb3h5KHByb3BzKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMucmVhZFJlcGxpY2EpIHtcbiAgICAgIHRoaXMuYWRkUmVhZFJlcGxpY2EocHJvcHMpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFZwYyhwcm9wczogUmRzUHJvcHMpIHtcbiAgICB0aGlzLnZwYyA9IHByb3BzLnZwY1xuICAgICAgPyBwcm9wcy52cGNcbiAgICAgIDogbmV3IFZwYyh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9VnBjYCwge30pO1xuICB9XG5cbiAgYWRkRGF0YWJhc2UocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gRGF0YWJhc2UgQ3JlZGVudGlhbHNcbiAgICB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMgPSBuZXcgU2VjcmV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICB7XG4gICAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBcInBvc3RncmVzXCJcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVNwYWNlOiBmYWxzZSxcbiAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3VzdG9tZXIgTWFuYWdlZCBLZXlzXG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q2x1c3RlckVuY3J5cHRpb25LZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9lbmNyeXB0aW9uS2V5YFxuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cykge1xuICAgICAgdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgICB0aGlzLFxuICAgICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UGVyZm9ybWFuY2VJbnNpZ2h0c0tleWAsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9JbnNpZ2h0c0tleWBcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWN1cml0eUdyb3VwYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvL1RPRE86IFJlbW92ZSB0aGlzIGxpbmUsIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS4gUmVwbGFjZSB3aXRoIHNlcGVyYXRlZCBzZWN1cml0eSBncm91cHNcbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLFxuICAgICAgUG9ydC50Y3AoNTQzMilcbiAgICApO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLmNvbm5lY3Rpb25zO1xuXG4gICAgLy8gRGF0YWJhc2UgQ2x1c3RlclxuICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgRGF0YWJhc2VJbnN0YW5jZShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICAgIH0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgICBlbmdpbmU6XG4gICAgICAgICAgcHJvcHMuZW5naW5lIHx8XG4gICAgICAgICAgRGF0YWJhc2VJbnN0YW5jZUVuZ2luZS5wb3N0Z3Jlcyh7XG4gICAgICAgICAgICB2ZXJzaW9uOiBQb3N0Z3Jlc0VuZ2luZVZlcnNpb24uVkVSXzE2XzNcbiAgICAgICAgICB9KSxcbiAgICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgICAgYmFja3VwUmV0ZW50aW9uOiBwcm9wcy5iYWNrdXBSZXRlbnRpb24gfHwgRHVyYXRpb24uZGF5cygxNCksXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0aW9uS2V5OiB0aGlzLmVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgICBzdG9yYWdlVHlwZTogU3RvcmFnZVR5cGUuR1AzLFxuICAgICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxLFxuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlNOQVBTSE9ULFxuICAgICAgICBkZWxldGVBdXRvbWF0ZWRCYWNrdXBzOiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cyxcbiAgICAgICAgcGVyZm9ybWFuY2VJbnNpZ2h0RW5jcnlwdGlvbktleTogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0c1xuICAgICAgICAgID8gdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGVcbiAgICAgICAgICA/IG5ldyBJbnN0YW5jZVR5cGUocHJvcHMuaW5zdGFuY2VUeXBlKVxuICAgICAgICAgIDogbmV3IEluc3RhbmNlVHlwZShcInI2Zy5sYXJnZVwiKSxcbiAgICAgICAgbWF4QWxsb2NhdGVkU3RvcmFnZTogcHJvcHMubWF4QWxsb2NhdGVkU3RvcmFnZSB8fCA1MDAsXG4gICAgICAgIG1vbml0b3JpbmdJbnRlcnZhbDogcHJvcHMubW9uaXRvcmluZ0ludGVydmFsIHx8IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIG11bHRpQXo6IHRydWUsXG4gICAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICAgIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93OlxuICAgICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiLFxuICAgICAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMuZnJvbVNlY3JldCh0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0KVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByb3RhdGVTZWNyZXQocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gUm90YXRlIHRoZSBTZWNyZXQgZXZlcnkgMzAgZGF5c1xuICAgIHRoaXMubWFzdGVyU2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCwge1xuICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfU1hc3RlclNlY3JldGBcbiAgICB9KTtcblxuICAgIG5ldyBTZWNyZXRSb3RhdGlvbih0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9U2VjcmV0Um90YXRpb25gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogbmV3IFNlY3JldFJvdGF0aW9uQXBwbGljYXRpb24oXG4gICAgICAgIFwiU2VjcmV0c01hbmFnZXJSRFNQb3N0Z3JlU1FMUm90YXRpb25NdWx0aVVzZXJcIixcbiAgICAgICAgXCIxLjEuMzY3XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBpc011bHRpVXNlcjogdHJ1ZVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgc2VjcmV0OiB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0LFxuICAgICAgbWFzdGVyU2VjcmV0OiB0aGlzLm1hc3RlclNlY3JldC5zZWNyZXQsXG4gICAgICB0YXJnZXQ6IHRoaXMuZGF0YWJhc2UsXG4gICAgICB2cGM6IHRoaXMuZGF0YWJhc2UudnBjXG4gICAgfSk7XG4gIH1cblxuICBhZGRQcm94eShwcm9wczogUmRzUHJvcHMpIHtcbiAgICB0aGlzLmRhdGFiYXNlUHJveHkgPSBuZXcgRGF0YWJhc2VQcm94eShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VQcm94eWAsXG4gICAgICB7XG4gICAgICAgIHByb3h5VGFyZ2V0OiBQcm94eVRhcmdldC5mcm9tSW5zdGFuY2UodGhpcy5kYXRhYmFzZSksXG4gICAgICAgIHNlY3JldHM6IFt0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0XSxcbiAgICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgbmV3IHNlY3VyaXR5IGdyb3VwLCBhbmQgcmVtb3ZlIHRoZSBsaW5lIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZVxuICAgICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJveHlFbmRwb2ludE91dHB1dGAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgZXhwb3J0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgdmFsdWU6IHRoaXMuZGF0YWJhc2VQcm94eS5lbmRwb2ludFxuICAgIH0pO1xuICB9XG5cbiAgYWRkUmVhZFJlcGxpY2EocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgY29uc3QgcmVhZFJlcGxpY2FQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UmVhZFJlcGxpY2FSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1JlYWRSZXBsaWNhSW5zaWdodHNLZXlgXG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJlYWRSZXBsaWNhYCwge1xuICAgICAgc291cmNlRGF0YWJhc2VJbnN0YW5jZTogdGhpcy5kYXRhYmFzZSxcbiAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgfSxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgIGJhY2t1cFJldGVudGlvbjogcHJvcHMuYmFja3VwUmV0ZW50aW9uIHx8IER1cmF0aW9uLmRheXMoMTQpLFxuICAgICAgc3RvcmFnZUVuY3J5cHRlZDogdHJ1ZSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0aW9uS2V5OiB0aGlzLmVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlLkdQMyxcbiAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzEsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlNOQVBTSE9ULFxuICAgICAgZGVsZXRlQXV0b21hdGVkQmFja3VwczogZmFsc2UsXG4gICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiBwcm9wcy5lbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzLFxuICAgICAgcGVyZm9ybWFuY2VJbnNpZ2h0RW5jcnlwdGlvbktleTogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0c1xuICAgICAgICA/IHJlYWRSZXBsaWNhUGVyZm9ybWFuY2VJbnNpZ2h0c0tleS5rZXlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1gLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGVcbiAgICAgICAgPyBuZXcgSW5zdGFuY2VUeXBlKHByb3BzLmluc3RhbmNlVHlwZSlcbiAgICAgICAgOiBuZXcgSW5zdGFuY2VUeXBlKFwicjZnLmxhcmdlXCIpLFxuICAgICAgbWF4QWxsb2NhdGVkU3RvcmFnZTogcHJvcHMubWF4QWxsb2NhdGVkU3RvcmFnZSB8fCA1MDAsXG4gICAgICBtb25pdG9yaW5nSW50ZXJ2YWw6IHByb3BzLm1vbml0b3JpbmdJbnRlcnZhbCB8fCBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgbXVsdGlBejogdHJ1ZSxcbiAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzpcbiAgICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgfHwgXCJTYXQ6MTI6MzAtU2F0OjIwOjMwXCJcbiAgICB9KTtcbiAgfVxuXG4gIGdldEhvc3RFbmRwb2ludCgpIHtcbiAgICBpZiAodGhpcy5kYXRhYmFzZVByb3h5KSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhYmFzZVByb3h5LmVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhYmFzZS5kYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzO1xuICAgIH1cbiAgfVxuXG4gIGdldEhvc3RQb3J0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLnBvcnQpO1xuICB9XG5cbiAgZ2V0Q3JlZGVudGlhbHMoKTogU2VjcmV0IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzO1xuICB9XG5cbiAgc3RhdGljIGJ1aWxkKGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcyk6IChzYjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3Qge1xuICAgIHJldHVybiAoc2I6IFN0YWNrQnVpbGRlcikgPT4ge1xuICAgICAgY29uc3QgbmV3UHJvcHM6IFJkc1Byb3BzID0ge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIHZwYzogKHNiLmdldE5ldHdvcmsoKSBhcyBWcGMpIHx8IHByb3BzPy52cGMsXG4gICAgICAgICAgc2VjdXJpdHlHcm91cElkczogcHJvcHM/LnNlY3VyaXR5R3JvdXBJZHMgPz8gW10sXG4gICAgICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUgfHwgYCR7aWQucmVwbGFjZShcIlJkc1wiLCBcIlwiKX1gXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgbmV3UHJvcHMpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBaUU7QUFDakUsaURBUzZCO0FBQzdCLGlEQVc2QjtBQUM3Qix1RUFHd0M7QUFDeEMsMkNBQXVDO0FBQ3ZDLGdDQUF1QztBQUN2Qyx3Q0FBd0Q7QUFHeEQsMkNBQXdDO0FBcUJ4QyxNQUFhLFdBQVksU0FBUSxzQkFBUztJQWF4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBRS9CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZTtRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHO1lBQ2xCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNYLENBQUMsQ0FBQyxJQUFJLFNBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7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RUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQiwwQkFBMEIsRUFDeEIsS0FBSyxDQUFDLDBCQUEwQixJQUFJLHFCQUFxQjtTQUM1RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQWU7UUFDdEMsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBYTtnQkFDekIsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVUsSUFBSSxLQUFLLEVBQUUsR0FBRztvQkFDM0MsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixJQUFJLEVBQUU7b0JBQy9DLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7aUJBQy9EO2FBQ0YsQ0FBQztZQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF6UEQsa0NBeVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFBvcnQsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EsXG4gIERhdGFiYXNlUHJveHksXG4gIElJbnN0YW5jZUVuZ2luZSxcbiAgUG9zdGdyZXNFbmdpbmVWZXJzaW9uLFxuICBQcm94eVRhcmdldCxcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7XG4gIFNlY3JldFJvdGF0aW9uLFxuICBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9iYXNlL2F3c1N0YWNrXCI7XG5pbXBvcnQgeyBWcGMgfSBmcm9tIFwiLi4vbmV0d29ya2luZy92cGNcIjtcblxuaW50ZXJmYWNlIFJkc1Byb3BzIHtcbiAgdnBjPzogSVZwYztcbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICBlbmdpbmU/OiBJSW5zdGFuY2VFbmdpbmU7XG4gIGluc3RhbmNlVHlwZT86IHN0cmluZztcbiAgbWF4QWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYmFja3VwUmV0ZW50aW9uPzogRHVyYXRpb247XG4gIGNsdXN0ZXJJZGVudGlmaWVyPzogc3RyaW5nO1xuICBtb25pdG9yaW5nSW50ZXJ2YWw/OiBEdXJhdGlvbjtcbiAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHM/OiBib29sZWFuO1xuICBkYXRhYmFzZVByb3h5PzogYm9vbGVhbjtcbiAgLy8gVE9ETzogVGhlIGJlbG93IGNvdWxkIGJlIGEgbnVtYmVyLCB0aGVuIGl0IHNjYWxlcyBiYXNlZCBvbiB0aGUgYW1vdW50XG4gIHJlYWRSZXBsaWNhPzogYm9vbGVhbjtcbiAgc2VjdXJpdHlHcm91cElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgUmRzSW5zdGFuY2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgZGF0YWJhc2VTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHByaXZhdGUgcG9ydDogbnVtYmVyO1xuICBwcml2YXRlIGRhdGFiYXNlQ3JlZGVudGlhbHM6IFNlY3JldDtcbiAgcHJpdmF0ZSBlbmNyeXB0aW9uS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIHByaXZhdGUgZGF0YWJhc2VQZXJmb3JtYW5jZUluc2lnaHRzS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIHByaXZhdGUgZGF0YWJhc2U6IERhdGFiYXNlSW5zdGFuY2U7XG4gIHByaXZhdGUgbWFzdGVyU2VjcmV0OiBTZWNyZXQ7XG4gIHByaXZhdGUgZGF0YWJhc2VQcm94eTogRGF0YWJhc2VQcm94eTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5wb3J0ID0gcHJvcHMucG9ydCB8fCA1NDMyO1xuXG4gICAgdGhpcy5hZGRWcGMocHJvcHMpO1xuICAgIHRoaXMuYWRkRGF0YWJhc2UocHJvcHMpO1xuICAgIHRoaXMucm90YXRlU2VjcmV0KHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5kYXRhYmFzZVByb3h5KSB7XG4gICAgICB0aGlzLmFkZFByb3h5KHByb3BzKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMucmVhZFJlcGxpY2EpIHtcbiAgICAgIHRoaXMuYWRkUmVhZFJlcGxpY2EocHJvcHMpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFZwYyhwcm9wczogUmRzUHJvcHMpIHtcbiAgICB0aGlzLnZwYyA9IHByb3BzLnZwY1xuICAgICAgPyBwcm9wcy52cGNcbiAgICAgIDogbmV3IFZwYyh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9VnBjYCwge30pO1xuICB9XG5cbiAgYWRkRGF0YWJhc2UocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gRGF0YWJhc2UgQ3JlZGVudGlhbHNcbiAgICB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMgPSBuZXcgU2VjcmV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICB7XG4gICAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBcInBvc3RncmVzXCJcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVNwYWNlOiBmYWxzZSxcbiAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3VzdG9tZXIgTWFuYWdlZCBLZXlzXG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q2x1c3RlckVuY3J5cHRpb25LZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9lbmNyeXB0aW9uS2V5YFxuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cykge1xuICAgICAgdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgICB0aGlzLFxuICAgICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UGVyZm9ybWFuY2VJbnNpZ2h0c0tleWAsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9JbnNpZ2h0c0tleWBcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWN1cml0eUdyb3VwYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvL1RPRE86IFJlbW92ZSB0aGlzIGxpbmUsIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS4gUmVwbGFjZSB3aXRoIHNlcGVyYXRlZCBzZWN1cml0eSBncm91cHNcbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLFxuICAgICAgUG9ydC50Y3AoNTQzMilcbiAgICApO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLmNvbm5lY3Rpb25zO1xuXG4gICAgLy8gRGF0YWJhc2UgQ2x1c3RlclxuICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgRGF0YWJhc2VJbnN0YW5jZShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICAgIH0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgICBlbmdpbmU6XG4gICAgICAgICAgcHJvcHMuZW5naW5lIHx8XG4gICAgICAgICAgRGF0YWJhc2VJbnN0YW5jZUVuZ2luZS5wb3N0Z3Jlcyh7XG4gICAgICAgICAgICB2ZXJzaW9uOiBQb3N0Z3Jlc0VuZ2luZVZlcnNpb24uVkVSXzE3XzVcbiAgICAgICAgICB9KSxcbiAgICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgICAgYmFja3VwUmV0ZW50aW9uOiBwcm9wcy5iYWNrdXBSZXRlbnRpb24gfHwgRHVyYXRpb24uZGF5cygxNCksXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0aW9uS2V5OiB0aGlzLmVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgICBzdG9yYWdlVHlwZTogU3RvcmFnZVR5cGUuR1AzLFxuICAgICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxLFxuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlNOQVBTSE9ULFxuICAgICAgICBkZWxldGVBdXRvbWF0ZWRCYWNrdXBzOiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cyxcbiAgICAgICAgcGVyZm9ybWFuY2VJbnNpZ2h0RW5jcnlwdGlvbktleTogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0c1xuICAgICAgICAgID8gdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGVcbiAgICAgICAgICA/IG5ldyBJbnN0YW5jZVR5cGUocHJvcHMuaW5zdGFuY2VUeXBlKVxuICAgICAgICAgIDogbmV3IEluc3RhbmNlVHlwZShcInI2Zy5sYXJnZVwiKSxcbiAgICAgICAgbWF4QWxsb2NhdGVkU3RvcmFnZTogcHJvcHMubWF4QWxsb2NhdGVkU3RvcmFnZSB8fCA1MDAsXG4gICAgICAgIG1vbml0b3JpbmdJbnRlcnZhbDogcHJvcHMubW9uaXRvcmluZ0ludGVydmFsIHx8IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIG11bHRpQXo6IHRydWUsXG4gICAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICAgIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93OlxuICAgICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiLFxuICAgICAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMuZnJvbVNlY3JldCh0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0KVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByb3RhdGVTZWNyZXQocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gUm90YXRlIHRoZSBTZWNyZXQgZXZlcnkgMzAgZGF5c1xuICAgIHRoaXMubWFzdGVyU2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCwge1xuICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfU1hc3RlclNlY3JldGBcbiAgICB9KTtcblxuICAgIG5ldyBTZWNyZXRSb3RhdGlvbih0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9U2VjcmV0Um90YXRpb25gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogbmV3IFNlY3JldFJvdGF0aW9uQXBwbGljYXRpb24oXG4gICAgICAgIFwiU2VjcmV0c01hbmFnZXJSRFNQb3N0Z3JlU1FMUm90YXRpb25NdWx0aVVzZXJcIixcbiAgICAgICAgXCIxLjEuMzY3XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBpc011bHRpVXNlcjogdHJ1ZVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgc2VjcmV0OiB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0LFxuICAgICAgbWFzdGVyU2VjcmV0OiB0aGlzLm1hc3RlclNlY3JldC5zZWNyZXQsXG4gICAgICB0YXJnZXQ6IHRoaXMuZGF0YWJhc2UsXG4gICAgICB2cGM6IHRoaXMuZGF0YWJhc2UudnBjXG4gICAgfSk7XG4gIH1cblxuICBhZGRQcm94eShwcm9wczogUmRzUHJvcHMpIHtcbiAgICB0aGlzLmRhdGFiYXNlUHJveHkgPSBuZXcgRGF0YWJhc2VQcm94eShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VQcm94eWAsXG4gICAgICB7XG4gICAgICAgIHByb3h5VGFyZ2V0OiBQcm94eVRhcmdldC5mcm9tSW5zdGFuY2UodGhpcy5kYXRhYmFzZSksXG4gICAgICAgIHNlY3JldHM6IFt0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0XSxcbiAgICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgbmV3IHNlY3VyaXR5IGdyb3VwLCBhbmQgcmVtb3ZlIHRoZSBsaW5lIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZVxuICAgICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJveHlFbmRwb2ludE91dHB1dGAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgZXhwb3J0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgdmFsdWU6IHRoaXMuZGF0YWJhc2VQcm94eS5lbmRwb2ludFxuICAgIH0pO1xuICB9XG5cbiAgYWRkUmVhZFJlcGxpY2EocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgY29uc3QgcmVhZFJlcGxpY2FQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UmVhZFJlcGxpY2FSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1JlYWRSZXBsaWNhSW5zaWdodHNLZXlgXG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJlYWRSZXBsaWNhYCwge1xuICAgICAgc291cmNlRGF0YWJhc2VJbnN0YW5jZTogdGhpcy5kYXRhYmFzZSxcbiAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgfSxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgIGJhY2t1cFJldGVudGlvbjogcHJvcHMuYmFja3VwUmV0ZW50aW9uIHx8IER1cmF0aW9uLmRheXMoMTQpLFxuICAgICAgc3RvcmFnZUVuY3J5cHRlZDogdHJ1ZSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0aW9uS2V5OiB0aGlzLmVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlLkdQMyxcbiAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzEsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlNOQVBTSE9ULFxuICAgICAgZGVsZXRlQXV0b21hdGVkQmFja3VwczogZmFsc2UsXG4gICAgICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzOiBwcm9wcy5lbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzLFxuICAgICAgcGVyZm9ybWFuY2VJbnNpZ2h0RW5jcnlwdGlvbktleTogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0c1xuICAgICAgICA/IHJlYWRSZXBsaWNhUGVyZm9ybWFuY2VJbnNpZ2h0c0tleS5rZXlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1gLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGVcbiAgICAgICAgPyBuZXcgSW5zdGFuY2VUeXBlKHByb3BzLmluc3RhbmNlVHlwZSlcbiAgICAgICAgOiBuZXcgSW5zdGFuY2VUeXBlKFwicjZnLmxhcmdlXCIpLFxuICAgICAgbWF4QWxsb2NhdGVkU3RvcmFnZTogcHJvcHMubWF4QWxsb2NhdGVkU3RvcmFnZSB8fCA1MDAsXG4gICAgICBtb25pdG9yaW5nSW50ZXJ2YWw6IHByb3BzLm1vbml0b3JpbmdJbnRlcnZhbCB8fCBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgbXVsdGlBejogdHJ1ZSxcbiAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzpcbiAgICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgfHwgXCJTYXQ6MTI6MzAtU2F0OjIwOjMwXCJcbiAgICB9KTtcbiAgfVxuXG4gIGdldEhvc3RFbmRwb2ludCgpIHtcbiAgICBpZiAodGhpcy5kYXRhYmFzZVByb3h5KSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhYmFzZVByb3h5LmVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhYmFzZS5kYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzO1xuICAgIH1cbiAgfVxuXG4gIGdldEhvc3RQb3J0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLnBvcnQpO1xuICB9XG5cbiAgZ2V0Q3JlZGVudGlhbHMoKTogU2VjcmV0IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzO1xuICB9XG5cbiAgc3RhdGljIGJ1aWxkKGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcyk6IChzYjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3Qge1xuICAgIHJldHVybiAoc2I6IFN0YWNrQnVpbGRlcikgPT4ge1xuICAgICAgY29uc3QgbmV3UHJvcHM6IFJkc1Byb3BzID0ge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIHZwYzogKHNiLmdldE5ldHdvcmsoKSBhcyBWcGMpIHx8IHByb3BzPy52cGMsXG4gICAgICAgICAgc2VjdXJpdHlHcm91cElkczogcHJvcHM/LnNlY3VyaXR5R3JvdXBJZHMgPz8gW10sXG4gICAgICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUgfHwgYCR7aWQucmVwbGFjZShcIlJkc1wiLCBcIlwiKX1gXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgbmV3UHJvcHMpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -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,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=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.71.8",
3
+ "version": "0.72.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.71.8",
38
+ "@fjall/util": "^0.72.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": "13998fdf522953d5bbe5dbe7d361be6e3d060176",
47
+ "gitHead": "be0408762d5f20ef87932f859267503b75069c4f",
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 {};