@btc-embedded/cdk-extensions 0.20.11 → 0.21.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 (83) hide show
  1. package/.jsii +286 -121
  2. package/API.md +1464 -194
  3. package/CHANGELOG.md +8 -0
  4. package/README.md +45 -0
  5. package/lib/constructs/EventPipe.js +1 -1
  6. package/lib/constructs/ExportedService.js +4 -4
  7. package/lib/constructs/S3Bucket.js +1 -1
  8. package/lib/constructs/SecureRestApi.d.ts +1 -1
  9. package/lib/constructs/SecureRestApi.js +9 -5
  10. package/lib/constructs/SecureRestApiV2.d.ts +1 -1
  11. package/lib/constructs/SecureRestApiV2.js +2 -2
  12. package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
  13. package/lib/constructs/api-keys/ApiKeyManagement.js +1 -1
  14. package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
  15. package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
  16. package/lib/extensions/ApiGatewayExtension.d.ts +1 -1
  17. package/lib/extensions/ApiGatewayExtension.js +33 -11
  18. package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +2 -2
  19. package/lib/extensions/ApplicationLoadBalancerExtension.js +28 -9
  20. package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +1 -1
  21. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +5 -5
  22. package/lib/extensions/CloudMapExtension.d.ts +1 -1
  23. package/lib/extensions/CloudMapExtension.js +3 -3
  24. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  25. package/lib/extensions/DeploymentConfigExtension.js +1 -1
  26. package/lib/extensions/DocumentDbAccessExtension.d.ts +1 -1
  27. package/lib/extensions/DocumentDbAccessExtension.js +2 -2
  28. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  29. package/lib/extensions/EfsMountExtension.js +1 -1
  30. package/lib/extensions/ExtraContainerExtension.js +1 -1
  31. package/lib/extensions/HTTPApiExtension.d.ts +1 -1
  32. package/lib/extensions/HTTPApiExtension.js +5 -5
  33. package/lib/extensions/LogExtension.d.ts +1 -1
  34. package/lib/extensions/LogExtension.js +5 -5
  35. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  36. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  37. package/lib/extensions/OpenIdExtension.d.ts +1 -1
  38. package/lib/extensions/OpenIdExtension.js +3 -3
  39. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  40. package/lib/extensions/PostgresDbAccessExtension.d.ts +1 -1
  41. package/lib/extensions/PostgresDbAccessExtension.js +22 -6
  42. package/lib/extensions/SharedVolumeExtension.js +1 -1
  43. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  44. package/lib/index.d.ts +1 -0
  45. package/lib/index.js +2 -1
  46. package/lib/platform/ApiGateway.js +1 -1
  47. package/lib/platform/ApiGatewayVpcLink.d.ts +1 -1
  48. package/lib/platform/ApiGatewayVpcLink.js +6 -6
  49. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  50. package/lib/platform/ApplicationLoadBalancerV2.d.ts +2 -2
  51. package/lib/platform/ApplicationLoadBalancerV2.js +6 -6
  52. package/lib/platform/BTCLogGroup.d.ts +2 -2
  53. package/lib/platform/BTCLogGroup.js +4 -4
  54. package/lib/platform/CognitoUserPool.d.ts +1 -1
  55. package/lib/platform/CognitoUserPool.js +9 -9
  56. package/lib/platform/DefaultUserPoolClients.js +1 -1
  57. package/lib/platform/DocumentDB.d.ts +1 -1
  58. package/lib/platform/DocumentDB.js +5 -5
  59. package/lib/platform/EcsCluster.d.ts +1 -1
  60. package/lib/platform/EcsCluster.js +3 -3
  61. package/lib/platform/EfsFileSystem.d.ts +2 -2
  62. package/lib/platform/EfsFileSystem.js +4 -4
  63. package/lib/platform/HostedZone.d.ts +1 -1
  64. package/lib/platform/HostedZone.js +4 -4
  65. package/lib/platform/PrivateDnsNamespace.d.ts +1 -1
  66. package/lib/platform/PrivateDnsNamespace.js +5 -5
  67. package/lib/platform/ResourceServer.js +1 -1
  68. package/lib/platform/Vpc.d.ts +1 -1
  69. package/lib/platform/Vpc.js +4 -4
  70. package/lib/platform/VpcV2.js +1 -1
  71. package/lib/stacks/ApplicationStack.d.ts +8 -0
  72. package/lib/stacks/ApplicationStack.js +17 -0
  73. package/lib/stacks/index.d.ts +1 -0
  74. package/lib/stacks/index.js +18 -0
  75. package/lib/utils/BasePlatformStackResolver.d.ts +5 -0
  76. package/lib/utils/BasePlatformStackResolver.js +24 -0
  77. package/lib/utils/StackParameter.d.ts +8 -1
  78. package/lib/utils/StackParameter.js +13 -4
  79. package/lib/utils/configFileParsing.d.ts +26 -0
  80. package/lib/utils/configFileParsing.js +36 -1
  81. package/lib/utils/index.d.ts +1 -0
  82. package/lib/utils/index.js +2 -1
  83. package/package.json +1 -1
@@ -16,8 +16,8 @@ class Vpc extends constructs_1.Construct {
16
16
  class Import extends constructs_1.Construct {
17
17
  constructor() {
18
18
  super(...arguments);
19
- this.fqdn = Vpc.fqdnParameter.import(stackName);
20
- this.clusterName = Vpc.clusterNameParameter.import(stackName);
19
+ this.fqdn = Vpc.fqdnParameter.import(scope, stackName);
20
+ this.clusterName = Vpc.clusterNameParameter.import(scope, stackName);
21
21
  }
22
22
  }
23
23
  return new Import(scope, id);
@@ -74,7 +74,7 @@ class Vpc extends constructs_1.Construct {
74
74
  }
75
75
  exports.Vpc = Vpc;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- Vpc[_a] = { fqn: "@btc-embedded/cdk-extensions.Vpc", version: "0.20.11" };
77
+ Vpc[_a] = { fqn: "@btc-embedded/cdk-extensions.Vpc", version: "0.21.0" };
78
78
  Vpc.clusterVpcIdParameter = new utils_1.StackParameter({
79
79
  prefix: "cluster",
80
80
  name: "Cluster VPC ID",
@@ -90,4 +90,4 @@ Vpc.fqdnParameter = new utils_1.StackParameter({
90
90
  name: "FQDN",
91
91
  key: "fqdn",
92
92
  });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsYXRmb3JtL1ZwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUk2QjtBQUM3QixpREFBNEQ7QUFDNUQsaURBQTBDO0FBQzFDLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFtQjFDOztHQUVHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsc0JBQVM7SUFDekIsTUFBTSxDQUFDLGdCQUFnQixDQUM1QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsU0FBaUI7UUFFakIsTUFBTSxNQUFPLFNBQVEsc0JBQVM7WUFBOUI7O2dCQUNXLFNBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDM0MsZ0JBQVcsR0FBRyxHQUFHLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7U0FBQTtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUF5QkQ7Ozs7Ozs7O09BUUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDaEQsT0FBTyxFQUFFLEtBQUssQ0FBQyxjQUFjO2FBQzlCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksYUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7Z0JBQ3pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTzthQUMzQixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxLQUFLLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQWlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTFELEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRSxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQzlDLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxlQUF3QjtRQUNqRCxNQUFNLFNBQVMsR0FBRztZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDdEIsQ0FBQztRQUVGLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGFBQUcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ3ZELGlCQUFpQixFQUFFLElBQUk7YUFDeEIsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxHQUFHLFNBQVM7Z0JBQ1osMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUU7YUFDMUQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztBQTVGSCxrQkE2RkM7OztBQS9FZ0IseUJBQXFCLEdBQUcsSUFBSSxzQkFBYyxDQUFDO0lBQ3hELE1BQU0sRUFBRSxTQUFTO0lBQ2pCLElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsR0FBRyxFQUFFLFFBQVE7Q0FDZCxDQUFDLENBQUM7QUFFWSx3QkFBb0IsR0FBRyxJQUFJLHNCQUFjLENBQUM7SUFDdkQsTUFBTSxFQUFFLFNBQVM7SUFDakIsSUFBSSxFQUFFLGNBQWM7SUFDcEIsR0FBRyxFQUFFLE1BQU07Q0FDWixDQUFDLENBQUM7QUFFWSxpQkFBYSxHQUFHLElBQUksc0JBQWMsQ0FBQztJQUNoRCxNQUFNLEVBQUUsU0FBUztJQUNqQixJQUFJLEVBQUUsTUFBTTtJQUNaLEdBQUcsRUFBRSxNQUFNO0NBQ1osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVnBjIGFzIEFXU1ZwYyxcbiAgSVZwYyBhcyBJQVdTVnBjLFxuICBJSXBBZGRyZXNzZXMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBDbHVzdGVyLCBDbHVzdGVyUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTdGFja1BhcmFtZXRlciB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZwY1Byb3BzIHtcbiAgcmVhZG9ubHkgZGVmaW5lZFZwY05hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwY0NpZHI/OiBJSXBBZGRyZXNzZXM7XG4gIHJlYWRvbmx5IG1heEF6cz86IG51bWJlcjtcbiAgcmVhZG9ubHkgY3JlYXRlS21zRXhlY0NvbW1hbmRLZXk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgRlFETiB3aGljaCBhbGwgYXBwcyBhbmQgc2VydmljZXMgb2YgdGhpcyBiYXNlIHBsYXRmb3JtIGhhdmUgaW4gY29tbW9uXG4gICAqL1xuICByZWFkb25seSBmcWRuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZwYyB7XG4gIHJlYWRvbmx5IGZxZG46IHN0cmluZztcbiAgcmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGNsYXNzIGlzIGRlcHJlY2F0ZWQuIFVzZSB7QGxpbmsgVnBjVjJ9IGFuZCB7QGxpbmsgRWNzQ2x1c3Rlcn0gY2xhc3NlcyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgVnBjIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVZwYyB7XG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJhc2VQbGF0Zm9ybShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgc3RhY2tOYW1lOiBzdHJpbmcsXG4gICk6IElWcGMge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElWcGMge1xuICAgICAgcmVhZG9ubHkgZnFkbiA9IFZwYy5mcWRuUGFyYW1ldGVyLmltcG9ydChzdGFja05hbWUpO1xuICAgICAgcmVhZG9ubHkgY2x1c3Rlck5hbWUgPSBWcGMuY2x1c3Rlck5hbWVQYXJhbWV0ZXIuaW1wb3J0KHN0YWNrTmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNsdXN0ZXJWcGNJZFBhcmFtZXRlciA9IG5ldyBTdGFja1BhcmFtZXRlcih7XG4gICAgcHJlZml4OiBcImNsdXN0ZXJcIixcbiAgICBuYW1lOiBcIkNsdXN0ZXIgVlBDIElEXCIsXG4gICAga2V5OiBcInZwYy1pZFwiLFxuICB9KTtcblxuICBwcml2YXRlIHN0YXRpYyBjbHVzdGVyTmFtZVBhcmFtZXRlciA9IG5ldyBTdGFja1BhcmFtZXRlcih7XG4gICAgcHJlZml4OiBcImNsdXN0ZXJcIixcbiAgICBuYW1lOiBcIkNsdXN0ZXIgTmFtZVwiLFxuICAgIGtleTogXCJuYW1lXCIsXG4gIH0pO1xuXG4gIHByaXZhdGUgc3RhdGljIGZxZG5QYXJhbWV0ZXIgPSBuZXcgU3RhY2tQYXJhbWV0ZXIoe1xuICAgIHByZWZpeDogXCJjbHVzdGVyXCIsXG4gICAgbmFtZTogXCJGUUROXCIsXG4gICAga2V5OiBcImZxZG5cIixcbiAgfSk7XG5cbiAgcHVibGljIHZwY0luc3RhbmNlOiBJQVdTVnBjO1xuICBwdWJsaWMgY2x1c3RlcjogQ2x1c3RlcjtcbiAgcHVibGljIHJlYWRvbmx5IGZxZG46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNvbnN0cnVjdCB0aGlzIGlzIHBhcnQgb2ZcbiAgICogQHBhcmFtIGlkIElkIG9mIHRoaXMgY29uc3RydWN0IGZvciBDbG91ZGZvcm1hdGlvblxuICAgKiBAcGFyYW0gcHJvcHMgUHJvcGVydGllcyBhbGxvd2luZyB0byBzZXQgYSBwcmVkZWZpbmVkIFZQQ05hbWUsIElQQWRyZXNzQmxvZyxcbiAgICogICAgICAgICAgICAgIG1heE51bWJlciBvZiBBWnMgYW5kIGRlY2lzaW9uIHdldGhlciB0byBjcmVhdGUgYSBLTVNLZXkgZm9yIHVzYWdlXG4gICAqICAgICAgICAgICAgICB3aXRoIHRoZSBFeGVjIGV4dGVuc2lvbi4gRGVmYXVsdHMgdG8gYW4gZW1wdHkgb2JqZWN0IGNyZWF0aW5nIGFcbiAgICogICAgICAgICAgICAgIGRlZGljYXRlZCBWUEMsIHdpdGggbWF4IDIgQVpTIGFuZCBOTyBLZXkgZm9yIEV4ZWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBWcGNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAocHJvcHMuZGVmaW5lZFZwY05hbWUpIHtcbiAgICAgIHRoaXMudnBjSW5zdGFuY2UgPSBBV1NWcGMuZnJvbUxvb2t1cCh0aGlzLCBcIlZwY1wiLCB7XG4gICAgICAgIHZwY05hbWU6IHByb3BzLmRlZmluZWRWcGNOYW1lLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy52cGNDaWRyKSB7XG4gICAgICB0aGlzLnZwY0luc3RhbmNlID0gbmV3IEFXU1ZwYyh0aGlzLCBcIlZwY1wiLCB7XG4gICAgICAgIG1heEF6czogcHJvcHMubWF4QXpzID8/IDIsXG4gICAgICAgIGlwQWRkcmVzc2VzOiBwcm9wcy52cGNDaWRyLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiRWl0aGVyIGRlZmluZWRWcGNOYW1lIG9yIHZwY0NpZHIgaGF2ZSB0byBiZSBzZXQuXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZENyZWF0ZUtleSA9IHByb3BzLmNyZWF0ZUttc0V4ZWNDb21tYW5kS2V5ID8/IGZhbHNlO1xuICAgIGNvbnN0IGNsdXN0ZXJQcm9wczogQ2x1c3RlclByb3BzID0gdGhpcy5jcmVhdGVDbHVzdGVyUHJvcHMoc2hvdWxkQ3JlYXRlS2V5KTtcblxuICAgIHRoaXMuY2x1c3RlciA9IG5ldyBDbHVzdGVyKHRoaXMsIFwiQ2x1c3RlclwiLCBjbHVzdGVyUHJvcHMpO1xuXG4gICAgVnBjLmNsdXN0ZXJWcGNJZFBhcmFtZXRlci5leHBvcnQodGhpcywgdGhpcy52cGNJbnN0YW5jZS52cGNJZCk7XG4gICAgVnBjLmNsdXN0ZXJOYW1lUGFyYW1ldGVyLmV4cG9ydCh0aGlzLCB0aGlzLmNsdXN0ZXIuY2x1c3Rlck5hbWUpO1xuICAgIFZwYy5mcWRuUGFyYW1ldGVyLmV4cG9ydCh0aGlzLCBwcm9wcy5mcWRuKTtcblxuICAgIHRoaXMuZnFkbiA9IHByb3BzLmZxZG47XG4gICAgdGhpcy5jbHVzdGVyTmFtZSA9IHRoaXMuY2x1c3Rlci5jbHVzdGVyTmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2x1c3RlclByb3BzKHNob3VsZENyZWF0ZUtleTogYm9vbGVhbik6IENsdXN0ZXJQcm9wcyB7XG4gICAgY29uc3QgYmFzZVByb3BzID0ge1xuICAgICAgdnBjOiB0aGlzLnZwY0luc3RhbmNlLFxuICAgIH07XG5cbiAgICBpZiAoc2hvdWxkQ3JlYXRlS2V5KSB7XG4gICAgICBjb25zdCBrbXNFbmNyeXB0aW9uS2V5ID0gbmV3IEtleSh0aGlzLCBcIkNsdXN0ZXJFeGVjS2V5XCIsIHtcbiAgICAgICAgZW5hYmxlS2V5Um90YXRpb246IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYmFzZVByb3BzLFxuICAgICAgICBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb246IHsga21zS2V5OiBrbXNFbmNyeXB0aW9uS2V5IH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBiYXNlUHJvcHM7XG4gIH1cbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsYXRmb3JtL1ZwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUk2QjtBQUM3QixpREFBNEQ7QUFDNUQsaURBQTBDO0FBQzFDLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFtQjFDOztHQUVHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsc0JBQVM7SUFDekIsTUFBTSxDQUFDLGdCQUFnQixDQUM1QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsU0FBa0I7UUFFbEIsTUFBTSxNQUFPLFNBQVEsc0JBQVM7WUFBOUI7O2dCQUNXLFNBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELGdCQUFXLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDM0UsQ0FBQztTQUFBO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQXlCRDs7Ozs7Ozs7T0FRRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO2dCQUNoRCxPQUFPLEVBQUUsS0FBSyxDQUFDLGNBQWM7YUFDOUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDekMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQztnQkFDekIsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQzNCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixJQUFJLEtBQUssQ0FBQztRQUMvRCxNQUFNLFlBQVksR0FBaUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFMUQsR0FBRyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxHQUFHLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLGVBQXdCO1FBQ2pELE1BQU0sU0FBUyxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUN0QixDQUFDO1FBRUYsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixNQUFNLGdCQUFnQixHQUFHLElBQUksYUFBRyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDdkQsaUJBQWlCLEVBQUUsSUFBSTthQUN4QixDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLEdBQUcsU0FBUztnQkFDWiwyQkFBMkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRTthQUMxRCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O0FBNUZILGtCQTZGQzs7O0FBL0VnQix5QkFBcUIsR0FBRyxJQUFJLHNCQUFjLENBQUM7SUFDeEQsTUFBTSxFQUFFLFNBQVM7SUFDakIsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixHQUFHLEVBQUUsUUFBUTtDQUNkLENBQUMsQ0FBQztBQUVZLHdCQUFvQixHQUFHLElBQUksc0JBQWMsQ0FBQztJQUN2RCxNQUFNLEVBQUUsU0FBUztJQUNqQixJQUFJLEVBQUUsY0FBYztJQUNwQixHQUFHLEVBQUUsTUFBTTtDQUNaLENBQUMsQ0FBQztBQUVZLGlCQUFhLEdBQUcsSUFBSSxzQkFBYyxDQUFDO0lBQ2hELE1BQU0sRUFBRSxTQUFTO0lBQ2pCLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLE1BQU07Q0FDWixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBWcGMgYXMgQVdTVnBjLFxuICBJVnBjIGFzIElBV1NWcGMsXG4gIElJcEFkZHJlc3Nlcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENsdXN0ZXIsIENsdXN0ZXJQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQgeyBLZXkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN0YWNrUGFyYW1ldGVyIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjUHJvcHMge1xuICByZWFkb25seSBkZWZpbmVkVnBjTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdnBjQ2lkcj86IElJcEFkZHJlc3NlcztcbiAgcmVhZG9ubHkgbWF4QXpzPzogbnVtYmVyO1xuICByZWFkb25seSBjcmVhdGVLbXNFeGVjQ29tbWFuZEtleT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBGUUROIHdoaWNoIGFsbCBhcHBzIGFuZCBzZXJ2aWNlcyBvZiB0aGlzIGJhc2UgcGxhdGZvcm0gaGF2ZSBpbiBjb21tb25cbiAgICovXG4gIHJlYWRvbmx5IGZxZG46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVnBjIHtcbiAgcmVhZG9ubHkgZnFkbjogc3RyaW5nO1xuICByZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgY2xhc3MgaXMgZGVwcmVjYXRlZC4gVXNlIHtAbGluayBWcGNWMn0gYW5kIHtAbGluayBFY3NDbHVzdGVyfSBjbGFzc2VzIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBWcGMgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJVnBjIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tQmFzZVBsYXRmb3JtKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBzdGFja05hbWU/OiBzdHJpbmcsXG4gICk6IElWcGMge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElWcGMge1xuICAgICAgcmVhZG9ubHkgZnFkbiA9IFZwYy5mcWRuUGFyYW1ldGVyLmltcG9ydChzY29wZSwgc3RhY2tOYW1lKTtcbiAgICAgIHJlYWRvbmx5IGNsdXN0ZXJOYW1lID0gVnBjLmNsdXN0ZXJOYW1lUGFyYW1ldGVyLmltcG9ydChzY29wZSwgc3RhY2tOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2x1c3RlclZwY0lkUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBwcmVmaXg6IFwiY2x1c3RlclwiLFxuICAgIG5hbWU6IFwiQ2x1c3RlciBWUEMgSURcIixcbiAgICBrZXk6IFwidnBjLWlkXCIsXG4gIH0pO1xuXG4gIHByaXZhdGUgc3RhdGljIGNsdXN0ZXJOYW1lUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBwcmVmaXg6IFwiY2x1c3RlclwiLFxuICAgIG5hbWU6IFwiQ2x1c3RlciBOYW1lXCIsXG4gICAga2V5OiBcIm5hbWVcIixcbiAgfSk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZnFkblBhcmFtZXRlciA9IG5ldyBTdGFja1BhcmFtZXRlcih7XG4gICAgcHJlZml4OiBcImNsdXN0ZXJcIixcbiAgICBuYW1lOiBcIkZRRE5cIixcbiAgICBrZXk6IFwiZnFkblwiLFxuICB9KTtcblxuICBwdWJsaWMgdnBjSW5zdGFuY2U6IElBV1NWcGM7XG4gIHB1YmxpYyBjbHVzdGVyOiBDbHVzdGVyO1xuICBwdWJsaWMgcmVhZG9ubHkgZnFkbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY29uc3RydWN0IHRoaXMgaXMgcGFydCBvZlxuICAgKiBAcGFyYW0gaWQgSWQgb2YgdGhpcyBjb25zdHJ1Y3QgZm9yIENsb3VkZm9ybWF0aW9uXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGFsbG93aW5nIHRvIHNldCBhIHByZWRlZmluZWQgVlBDTmFtZSwgSVBBZHJlc3NCbG9nLFxuICAgKiAgICAgICAgICAgICAgbWF4TnVtYmVyIG9mIEFacyBhbmQgZGVjaXNpb24gd2V0aGVyIHRvIGNyZWF0ZSBhIEtNU0tleSBmb3IgdXNhZ2VcbiAgICogICAgICAgICAgICAgIHdpdGggdGhlIEV4ZWMgZXh0ZW5zaW9uLiBEZWZhdWx0cyB0byBhbiBlbXB0eSBvYmplY3QgY3JlYXRpbmcgYVxuICAgKiAgICAgICAgICAgICAgZGVkaWNhdGVkIFZQQywgd2l0aCBtYXggMiBBWlMgYW5kIE5PIEtleSBmb3IgRXhlY1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFZwY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcy5kZWZpbmVkVnBjTmFtZSkge1xuICAgICAgdGhpcy52cGNJbnN0YW5jZSA9IEFXU1ZwYy5mcm9tTG9va3VwKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgdnBjTmFtZTogcHJvcHMuZGVmaW5lZFZwY05hbWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnZwY0NpZHIpIHtcbiAgICAgIHRoaXMudnBjSW5zdGFuY2UgPSBuZXcgQVdTVnBjKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgbWF4QXpzOiBwcm9wcy5tYXhBenMgPz8gMixcbiAgICAgICAgaXBBZGRyZXNzZXM6IHByb3BzLnZwY0NpZHIsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoXCJFaXRoZXIgZGVmaW5lZFZwY05hbWUgb3IgdnBjQ2lkciBoYXZlIHRvIGJlIHNldC5cIik7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkQ3JlYXRlS2V5ID0gcHJvcHMuY3JlYXRlS21zRXhlY0NvbW1hbmRLZXkgPz8gZmFsc2U7XG4gICAgY29uc3QgY2x1c3RlclByb3BzOiBDbHVzdGVyUHJvcHMgPSB0aGlzLmNyZWF0ZUNsdXN0ZXJQcm9wcyhzaG91bGRDcmVhdGVLZXkpO1xuXG4gICAgdGhpcy5jbHVzdGVyID0gbmV3IENsdXN0ZXIodGhpcywgXCJDbHVzdGVyXCIsIGNsdXN0ZXJQcm9wcyk7XG5cbiAgICBWcGMuY2x1c3RlclZwY0lkUGFyYW1ldGVyLmV4cG9ydCh0aGlzLCB0aGlzLnZwY0luc3RhbmNlLnZwY0lkKTtcbiAgICBWcGMuY2x1c3Rlck5hbWVQYXJhbWV0ZXIuZXhwb3J0KHRoaXMsIHRoaXMuY2x1c3Rlci5jbHVzdGVyTmFtZSk7XG4gICAgVnBjLmZxZG5QYXJhbWV0ZXIuZXhwb3J0KHRoaXMsIHByb3BzLmZxZG4pO1xuXG4gICAgdGhpcy5mcWRuID0gcHJvcHMuZnFkbjtcbiAgICB0aGlzLmNsdXN0ZXJOYW1lID0gdGhpcy5jbHVzdGVyLmNsdXN0ZXJOYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDbHVzdGVyUHJvcHMoc2hvdWxkQ3JlYXRlS2V5OiBib29sZWFuKTogQ2x1c3RlclByb3BzIHtcbiAgICBjb25zdCBiYXNlUHJvcHMgPSB7XG4gICAgICB2cGM6IHRoaXMudnBjSW5zdGFuY2UsXG4gICAgfTtcblxuICAgIGlmIChzaG91bGRDcmVhdGVLZXkpIHtcbiAgICAgIGNvbnN0IGttc0VuY3J5cHRpb25LZXkgPSBuZXcgS2V5KHRoaXMsIFwiQ2x1c3RlckV4ZWNLZXlcIiwge1xuICAgICAgICBlbmFibGVLZXlSb3RhdGlvbjogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5iYXNlUHJvcHMsXG4gICAgICAgIGV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbjogeyBrbXNLZXk6IGttc0VuY3J5cHRpb25LZXkgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2VQcm9wcztcbiAgfVxufVxuIl19
@@ -54,7 +54,7 @@ class VpcV2 extends constructs_1.Construct {
54
54
  }
55
55
  exports.VpcV2 = VpcV2;
56
56
  _a = JSII_RTTI_SYMBOL_1;
57
- VpcV2[_a] = { fqn: "@btc-embedded/cdk-extensions.VpcV2", version: "0.20.11" };
57
+ VpcV2[_a] = { fqn: "@btc-embedded/cdk-extensions.VpcV2", version: "0.21.0" };
58
58
  VpcV2.vpcIdParameter = new utils_1.StackParameter({
59
59
  prefix: "vpc",
60
60
  name: "VPC ID",
@@ -0,0 +1,8 @@
1
+ import { Stack, StackProps } from "aws-cdk-lib";
2
+ import { Construct } from "constructs";
3
+ export interface ApplicationStackProps extends StackProps {
4
+ readonly basePlatformStackName: string;
5
+ }
6
+ export declare class ApplicationStack extends Stack {
7
+ constructor(scope: Construct, id: string, props: ApplicationStackProps);
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ApplicationStack = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const BasePlatformStackResolver_1 = require("../utils/BasePlatformStackResolver");
8
+ class ApplicationStack extends aws_cdk_lib_1.Stack {
9
+ constructor(scope, id, props) {
10
+ super(scope, id, props);
11
+ this.node.setContext(BasePlatformStackResolver_1.BASE_PLATFORM_STACK_NAME_CONTEXT_KEY, props.basePlatformStackName);
12
+ }
13
+ }
14
+ exports.ApplicationStack = ApplicationStack;
15
+ _a = JSII_RTTI_SYMBOL_1;
16
+ ApplicationStack[_a] = { fqn: "@btc-embedded/cdk-extensions.ApplicationStack", version: "0.21.0" };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25TdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGFja3MvQXBwbGljYXRpb25TdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFnRDtBQUVoRCxrRkFBMEY7QUFNMUYsTUFBYSxnQkFBaUIsU0FBUSxtQkFBSztJQUN6QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUNsQixnRUFBb0MsRUFDcEMsS0FBSyxDQUFDLHFCQUFxQixDQUM1QixDQUFDO0lBQ0osQ0FBQzs7QUFQSCw0Q0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQkFTRV9QTEFURk9STV9TVEFDS19OQU1FX0NPTlRFWFRfS0VZIH0gZnJvbSBcIi4uL3V0aWxzL0Jhc2VQbGF0Zm9ybVN0YWNrUmVzb2x2ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvblN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgYmFzZVBsYXRmb3JtU3RhY2tOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvblN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXBwbGljYXRpb25TdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgdGhpcy5ub2RlLnNldENvbnRleHQoXG4gICAgICBCQVNFX1BMQVRGT1JNX1NUQUNLX05BTUVfQ09OVEVYVF9LRVksXG4gICAgICBwcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1 @@
1
+ export * from "./ApplicationStack";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ApplicationStack"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhY2tzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9BcHBsaWNhdGlvblN0YWNrXCI7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { Construct } from "constructs";
2
+ export declare const BASE_PLATFORM_STACK_NAME_CONTEXT_KEY = "cdk-extensions:basePlatformStackName";
3
+ export declare class BasePlatformStackResolver {
4
+ static resolve(scope: Construct, propsValue?: string): string;
5
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.BasePlatformStackResolver = exports.BASE_PLATFORM_STACK_NAME_CONTEXT_KEY = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ exports.BASE_PLATFORM_STACK_NAME_CONTEXT_KEY = "cdk-extensions:basePlatformStackName";
7
+ class BasePlatformStackResolver {
8
+ static resolve(scope, propsValue) {
9
+ if (propsValue) {
10
+ return propsValue;
11
+ }
12
+ const contextValue = scope.node.tryGetContext(exports.BASE_PLATFORM_STACK_NAME_CONTEXT_KEY);
13
+ if (contextValue) {
14
+ return contextValue;
15
+ }
16
+ throw new Error("basePlatformStackName not configured. Either:\n" +
17
+ "1. Extend ApplicationStack and set basePlatformStackName in stack props, or\n" +
18
+ "2. Pass basePlatformStackName explicitly to this construct");
19
+ }
20
+ }
21
+ exports.BasePlatformStackResolver = BasePlatformStackResolver;
22
+ _a = JSII_RTTI_SYMBOL_1;
23
+ BasePlatformStackResolver[_a] = { fqn: "@btc-embedded/cdk-extensions.BasePlatformStackResolver", version: "0.21.0" };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVBsYXRmb3JtU3RhY2tSZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9CYXNlUGxhdGZvcm1TdGFja1Jlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRWEsUUFBQSxvQ0FBb0MsR0FDL0Msc0NBQXNDLENBQUM7QUFFekMsTUFBYSx5QkFBeUI7SUFDcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFnQixFQUFFLFVBQW1CO1FBQ2xELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQzNDLDRDQUFvQyxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYixpREFBaUQ7WUFDL0MsK0VBQStFO1lBQy9FLDREQUE0RCxDQUMvRCxDQUFDO0lBQ0osQ0FBQzs7QUFsQkgsOERBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGNvbnN0IEJBU0VfUExBVEZPUk1fU1RBQ0tfTkFNRV9DT05URVhUX0tFWSA9XG4gIFwiY2RrLWV4dGVuc2lvbnM6YmFzZVBsYXRmb3JtU3RhY2tOYW1lXCI7XG5cbmV4cG9ydCBjbGFzcyBCYXNlUGxhdGZvcm1TdGFja1Jlc29sdmVyIHtcbiAgc3RhdGljIHJlc29sdmUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHNWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHByb3BzVmFsdWUpIHtcbiAgICAgIHJldHVybiBwcm9wc1ZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHRWYWx1ZSA9IHNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dChcbiAgICAgIEJBU0VfUExBVEZPUk1fU1RBQ0tfTkFNRV9DT05URVhUX0tFWSxcbiAgICApO1xuICAgIGlmIChjb250ZXh0VmFsdWUpIHtcbiAgICAgIHJldHVybiBjb250ZXh0VmFsdWU7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJiYXNlUGxhdGZvcm1TdGFja05hbWUgbm90IGNvbmZpZ3VyZWQuIEVpdGhlcjpcXG5cIiArXG4gICAgICAgIFwiMS4gRXh0ZW5kIEFwcGxpY2F0aW9uU3RhY2sgYW5kIHNldCBiYXNlUGxhdGZvcm1TdGFja05hbWUgaW4gc3RhY2sgcHJvcHMsIG9yXFxuXCIgK1xuICAgICAgICBcIjIuIFBhc3MgYmFzZVBsYXRmb3JtU3RhY2tOYW1lIGV4cGxpY2l0bHkgdG8gdGhpcyBjb25zdHJ1Y3RcIixcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -47,9 +47,16 @@ export declare class StackParameter {
47
47
  /**
48
48
  * Import the parameter as {stackName}:{prefix}-v{version}:{key}.
49
49
  *
50
+ * The stack name can be provided explicitly, or resolved from the construct tree
51
+ * context (set by ApplicationStack).
52
+ *
53
+ * @param scope - The construct scope for context resolution
54
+ * @param stackName - Optional explicit stack name. If not provided, will resolve from context.
55
+ * @returns The imported CloudFormation value
56
+ *
50
57
  * -v{version} is only emitted when the version is greater than 1.
51
58
  */
52
- import(stackName: string): string;
59
+ import(scope: Construct, stackName?: string): string;
53
60
  /**
54
61
  * Export the parameter as {stackName}:{prefix}-v{version}:{key}.
55
62
  *
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.StackParameter = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const BasePlatformStackResolver_1 = require("./BasePlatformStackResolver");
7
8
  const common_1 = require("./common");
8
9
  function createKeyIdentifier(version, ...prefixes) {
9
10
  const validatedPrefixes = prefixes
@@ -42,10 +43,18 @@ class StackParameter {
42
43
  /**
43
44
  * Import the parameter as {stackName}:{prefix}-v{version}:{key}.
44
45
  *
46
+ * The stack name can be provided explicitly, or resolved from the construct tree
47
+ * context (set by ApplicationStack).
48
+ *
49
+ * @param scope - The construct scope for context resolution
50
+ * @param stackName - Optional explicit stack name. If not provided, will resolve from context.
51
+ * @returns The imported CloudFormation value
52
+ *
45
53
  * -v{version} is only emitted when the version is greater than 1.
46
54
  */
47
- import(stackName) {
48
- return aws_cdk_lib_1.Fn.importValue(createKeyIdentifier(this.options.version, stackName, ...this.prefixes));
55
+ import(scope, stackName) {
56
+ const resolvedStackName = BasePlatformStackResolver_1.BasePlatformStackResolver.resolve(scope, stackName);
57
+ return aws_cdk_lib_1.Fn.importValue(createKeyIdentifier(this.options.version, resolvedStackName, ...this.prefixes));
49
58
  }
50
59
  /**
51
60
  * Export the parameter as {stackName}:{prefix}-v{version}:{key}.
@@ -64,5 +73,5 @@ class StackParameter {
64
73
  }
65
74
  exports.StackParameter = StackParameter;
66
75
  _a = JSII_RTTI_SYMBOL_1;
67
- StackParameter[_a] = { fqn: "@btc-embedded/cdk-extensions.StackParameter", version: "0.20.11" };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tQYXJhbWV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvU3RhY2tQYXJhbWV0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUQ7QUFFbkQscUNBQThDO0FBRTlDLFNBQVMsbUJBQW1CLENBQzFCLE9BQTJCLEVBQzNCLEdBQUcsUUFBa0I7SUFFckIsTUFBTSxpQkFBaUIsR0FBRyxRQUFRO1NBQy9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDM0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2QsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUEsa0JBQVMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUNiLFdBQVcsQ0FBQywrQkFBK0IsSUFBQSxrQkFBUyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVELENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztJQUVMLElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUN2QyxPQUFPLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVyRSxPQUFPLFFBQVE7U0FDWixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQXNDRDs7O0dBR0c7QUFDSCxNQUFhLGNBQWM7SUFJekI7Ozs7T0FJRztJQUNILFlBQVksT0FBOEI7UUFDeEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLEdBQUcsSUFBQSxnQkFBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFNBQWlCO1FBQzdCLE9BQU8sZ0JBQUUsQ0FBQyxXQUFXLENBQ25CLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEtBQWdCLEVBQUUsS0FBYTtRQUMzQyxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQ3BCLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFDekIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUNqQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksR0FBRyxVQUFVLFFBQVEsQ0FBQztRQUU3RCxPQUFPLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3JDLFVBQVU7WUFDVixLQUFLO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9DSCx3Q0FnREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIEZuLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGlzQXJyYXksIGtlYmFiQ2FzZSB9IGZyb20gXCIuL2NvbW1vblwiO1xuXG5mdW5jdGlvbiBjcmVhdGVLZXlJZGVudGlmaWVyKFxuICB2ZXJzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIC4uLnByZWZpeGVzOiBzdHJpbmdbXVxuKSB7XG4gIGNvbnN0IHZhbGlkYXRlZFByZWZpeGVzID0gcHJlZml4ZXNcbiAgICAuZmlsdGVyKChwKSA9PiBwLmxlbmd0aCA+IDApXG4gICAgLm1hcCgocCwgaWR4KSA9PiB7XG4gICAgICBpZiAoaWR4ID4gMCAmJiBrZWJhYkNhc2UocCkgIT09IHApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBwcmVmaXggJyR7cH0nIG11c3QgYmUga2ViYWItY2FzZSAobGlrZSAnJHtrZWJhYkNhc2UocCl9JylgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHA7XG4gICAgfSk7XG5cbiAgaWYgKHZhbGlkYXRlZFByZWZpeGVzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGtleSBtdXN0IGNvbnNpc3Qgb2YgYXQgbGVhc3Qgb25lIG5vbi1lbXB0eSBwcmVmaXhgKTtcbiAgfVxuXG4gIC8vIHRoZSB2ZXJzaW9uIHN1ZmZpeCBzaG91bGQgYmUgZWl0aGVyIGF0IGZpcnN0IG9yIDJuZCBwcmVmaXggYW5kIG9ubHkgaWYgdiA+IDFcbiAgY29uc3Qgc2hvdWxkR2V0VmVyc2lvbiA9IChpZHg6IG51bWJlcikgPT5cbiAgICB2ZXJzaW9uICYmIHZlcnNpb24gPiAxICYmIGlkeCA9PT0gTWF0aC5taW4ocHJlZml4ZXMubGVuZ3RoLCAyKSAtIDE7XG5cbiAgcmV0dXJuIHByZWZpeGVzXG4gICAgLm1hcCgocCwgaWR4KSA9PiAoc2hvdWxkR2V0VmVyc2lvbihpZHgpID8gYCR7cH0tdiR7dmVyc2lvbn1gIDogcCkpXG4gICAgLmpvaW4oXCI6XCIpO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNyZWF0aW5nIGEgU3RhY2tQYXJhbWV0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tQYXJhbWV0ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBwcmVmaXgoZXMpIGZvciB0aGUgc3RhY2sgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBQcmVmaXhlcyBtdXN0IGJlIGtlYmFiLWNhc2UgKGxvd2VyY2FzZSBsZXR0ZXJzLCBudW1iZXJzLCBhbmQgaHlwaGVucykuIElmXG4gICAqIG11bHRpcGxlIHByZWZpeGVzIGFyZSBwcm92aWRlZCwgdGhleSB3aWxsIGJlIGpvaW5lZCB3aXRoIGNvbG9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBrZXkgZm9yIHRoZSBzdGFjayBwYXJhbWV0ZXIuXG4gICAqL1xuICByZWFkb25seSBrZXk6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSB1c2VkIGZvciB0aGUgZXhwb3J0IGNvbnN0cnVjdCBsb2dpY2FsIElELlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiBmb3IgdGhlIHN0YWNrIHBhcmFtZXRlci5cbiAgICpcbiAgICogSWYgcHJvdmlkZWQgYW5kIGdyZWF0ZXIgdGhhbiAxLCB0aGUgdmVyc2lvbiB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZVxuICAgKiBwYXJhbWV0ZXIgbmFtZSBkdXJpbmcgZXhwb3J0IGFuZCBpbXBvcnQgYXMgYC12e3ZlcnNpb259YC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciB0aGUgZXhwb3J0ZWQgcGFyYW1ldGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgbWVhbnMgdG8gZXhwb3J0IGFuZCBpbXBvcnQgc3RhY2sgcGFyYW1ldGVycy5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja1BhcmFtZXRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU3RhY2tQYXJhbWV0ZXJPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZWZpeGVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgc3RhY2sgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBUaGUgc3RhY2sgcGFyYW1ldGVyIGlzIGNoYXJhY3Rlcml6ZWQgYnkgYSBwcmVmaXgsIGEga2V5LCBhIGRlc2NyaXB0aXZlIG5hbWUsIGFuZCBhbiBvcHRpb25hbCB2ZXJzaW9uLlxuICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9uczogU3RhY2tQYXJhbWV0ZXJPcHRpb25zKSB7XG4gICAgY29uc3QgeyBwcmVmaXgsIGtleSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBwID0gaXNBcnJheShwcmVmaXgpID8gcHJlZml4IDogW3ByZWZpeF07XG4gICAgdGhpcy5wcmVmaXhlcyA9IFsuLi5wLCBrZXldO1xuXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgdGhlIHBhcmFtZXRlciBhcyB7c3RhY2tOYW1lfTp7cHJlZml4fS12e3ZlcnNpb259OntrZXl9LlxuICAgKlxuICAgKiAtdnt2ZXJzaW9ufSBpcyBvbmx5IGVtaXR0ZWQgd2hlbiB0aGUgdmVyc2lvbiBpcyBncmVhdGVyIHRoYW4gMS5cbiAgICovXG4gIHB1YmxpYyBpbXBvcnQoc3RhY2tOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gRm4uaW1wb3J0VmFsdWUoXG4gICAgICBjcmVhdGVLZXlJZGVudGlmaWVyKHRoaXMub3B0aW9ucy52ZXJzaW9uLCBzdGFja05hbWUsIC4uLnRoaXMucHJlZml4ZXMpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHRoZSBwYXJhbWV0ZXIgYXMge3N0YWNrTmFtZX06e3ByZWZpeH0tdnt2ZXJzaW9ufTp7a2V5fS5cbiAgICpcbiAgICogLXZ7dmVyc2lvbn0gaXMgb25seSBlbWl0dGVkIHdoZW4gdGhlIHZlcnNpb24gaXMgZ3JlYXRlciB0aGFuIDEuXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBleHBvcnROYW1lID0gY3JlYXRlS2V5SWRlbnRpZmllcihcbiAgICAgIHRoaXMub3B0aW9ucy52ZXJzaW9uLFxuICAgICAgU3RhY2sub2Yoc2NvcGUpLnN0YWNrTmFtZSxcbiAgICAgIC4uLnRoaXMucHJlZml4ZXMsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvZ2ljYWxJZCA9IHRoaXMub3B0aW9ucy5uYW1lID8/IGAke2V4cG9ydE5hbWV9T3V0cHV0YDtcblxuICAgIHJldHVybiBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBsb2dpY2FsSWQsIHtcbiAgICAgIGV4cG9ydE5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLm9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
76
+ StackParameter[_a] = { fqn: "@btc-embedded/cdk-extensions.StackParameter", version: "0.21.0" };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tQYXJhbWV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvU3RhY2tQYXJhbWV0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUQ7QUFFbkQsMkVBQXdFO0FBQ3hFLHFDQUE4QztBQUU5QyxTQUFTLG1CQUFtQixDQUMxQixPQUEyQixFQUMzQixHQUFHLFFBQWtCO0lBRXJCLE1BQU0saUJBQWlCLEdBQUcsUUFBUTtTQUMvQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNkLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFBLGtCQUFTLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FDYixXQUFXLENBQUMsK0JBQStCLElBQUEsa0JBQVMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUM7SUFFTCxJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELCtFQUErRTtJQUMvRSxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDdkMsT0FBTyxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckUsT0FBTyxRQUFRO1NBQ1osR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUM7QUFzQ0Q7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBSXpCOzs7O09BSUc7SUFDSCxZQUFZLE9BQThCO1FBQ3hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLElBQUEsZ0JBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxNQUFNLENBQUMsS0FBZ0IsRUFBRSxTQUFrQjtRQUNoRCxNQUFNLGlCQUFpQixHQUFHLHFEQUF5QixDQUFDLE9BQU8sQ0FDekQsS0FBSyxFQUNMLFNBQVMsQ0FDVixDQUFDO1FBQ0YsT0FBTyxnQkFBRSxDQUFDLFdBQVcsQ0FDbkIsbUJBQW1CLENBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUNwQixpQkFBaUIsRUFDakIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUNqQixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFnQixFQUFFLEtBQWE7UUFDM0MsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUNwQixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQ3pCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDakIsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEdBQUcsVUFBVSxRQUFRLENBQUM7UUFFN0QsT0FBTyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUNyQyxVQUFVO1lBQ1YsS0FBSztZQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7U0FDdEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE5REgsd0NBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBGbiwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBCYXNlUGxhdGZvcm1TdGFja1Jlc29sdmVyIH0gZnJvbSBcIi4vQmFzZVBsYXRmb3JtU3RhY2tSZXNvbHZlclwiO1xuaW1wb3J0IHsgaXNBcnJheSwga2ViYWJDYXNlIH0gZnJvbSBcIi4vY29tbW9uXCI7XG5cbmZ1bmN0aW9uIGNyZWF0ZUtleUlkZW50aWZpZXIoXG4gIHZlcnNpb246IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgLi4ucHJlZml4ZXM6IHN0cmluZ1tdXG4pIHtcbiAgY29uc3QgdmFsaWRhdGVkUHJlZml4ZXMgPSBwcmVmaXhlc1xuICAgIC5maWx0ZXIoKHApID0+IHAubGVuZ3RoID4gMClcbiAgICAubWFwKChwLCBpZHgpID0+IHtcbiAgICAgIGlmIChpZHggPiAwICYmIGtlYmFiQ2FzZShwKSAhPT0gcCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYHByZWZpeCAnJHtwfScgbXVzdCBiZSBrZWJhYi1jYXNlIChsaWtlICcke2tlYmFiQ2FzZShwKX0nKWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcDtcbiAgICB9KTtcblxuICBpZiAodmFsaWRhdGVkUHJlZml4ZXMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihga2V5IG11c3QgY29uc2lzdCBvZiBhdCBsZWFzdCBvbmUgbm9uLWVtcHR5IHByZWZpeGApO1xuICB9XG5cbiAgLy8gdGhlIHZlcnNpb24gc3VmZml4IHNob3VsZCBiZSBlaXRoZXIgYXQgZmlyc3Qgb3IgMm5kIHByZWZpeCBhbmQgb25seSBpZiB2ID4gMVxuICBjb25zdCBzaG91bGRHZXRWZXJzaW9uID0gKGlkeDogbnVtYmVyKSA9PlxuICAgIHZlcnNpb24gJiYgdmVyc2lvbiA+IDEgJiYgaWR4ID09PSBNYXRoLm1pbihwcmVmaXhlcy5sZW5ndGgsIDIpIC0gMTtcblxuICByZXR1cm4gcHJlZml4ZXNcbiAgICAubWFwKChwLCBpZHgpID0+IChzaG91bGRHZXRWZXJzaW9uKGlkeCkgPyBgJHtwfS12JHt2ZXJzaW9ufWAgOiBwKSlcbiAgICAuam9pbihcIjpcIik7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYSBTdGFja1BhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFja1BhcmFtZXRlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByZWZpeChlcykgZm9yIHRoZSBzdGFjayBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIFByZWZpeGVzIG11c3QgYmUga2ViYWItY2FzZSAobG93ZXJjYXNlIGxldHRlcnMsIG51bWJlcnMsIGFuZCBoeXBoZW5zKS4gSWZcbiAgICogbXVsdGlwbGUgcHJlZml4ZXMgYXJlIHByb3ZpZGVkLCB0aGV5IHdpbGwgYmUgam9pbmVkIHdpdGggY29sb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGtleSBmb3IgdGhlIHN0YWNrIHBhcmFtZXRlci5cbiAgICovXG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIHVzZWQgZm9yIHRoZSBleHBvcnQgY29uc3RydWN0IGxvZ2ljYWwgSUQuXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIGZvciB0aGUgc3RhY2sgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBJZiBwcm92aWRlZCBhbmQgZ3JlYXRlciB0aGFuIDEsIHRoZSB2ZXJzaW9uIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlXG4gICAqIHBhcmFtZXRlciBuYW1lIGR1cmluZyBleHBvcnQgYW5kIGltcG9ydCBhcyBgLXZ7dmVyc2lvbn1gLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gZm9yIHRoZSBleHBvcnRlZCBwYXJhbWV0ZXIuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBtZWFucyB0byBleHBvcnQgYW5kIGltcG9ydCBzdGFjayBwYXJhbWV0ZXJzLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWNrUGFyYW1ldGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBTdGFja1BhcmFtZXRlck9wdGlvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlZml4ZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBzdGFjayBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIFRoZSBzdGFjayBwYXJhbWV0ZXIgaXMgY2hhcmFjdGVyaXplZCBieSBhIHByZWZpeCwgYSBrZXksIGEgZGVzY3JpcHRpdmUgbmFtZSwgYW5kIGFuIG9wdGlvbmFsIHZlcnNpb24uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTdGFja1BhcmFtZXRlck9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHByZWZpeCwga2V5IH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHAgPSBpc0FycmF5KHByZWZpeCkgPyBwcmVmaXggOiBbcHJlZml4XTtcbiAgICB0aGlzLnByZWZpeGVzID0gWy4uLnAsIGtleV07XG5cbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCB0aGUgcGFyYW1ldGVyIGFzIHtzdGFja05hbWV9OntwcmVmaXh9LXZ7dmVyc2lvbn06e2tleX0uXG4gICAqXG4gICAqIFRoZSBzdGFjayBuYW1lIGNhbiBiZSBwcm92aWRlZCBleHBsaWNpdGx5LCBvciByZXNvbHZlZCBmcm9tIHRoZSBjb25zdHJ1Y3QgdHJlZVxuICAgKiBjb250ZXh0IChzZXQgYnkgQXBwbGljYXRpb25TdGFjaykuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGNvbnRleHQgcmVzb2x1dGlvblxuICAgKiBAcGFyYW0gc3RhY2tOYW1lIC0gT3B0aW9uYWwgZXhwbGljaXQgc3RhY2sgbmFtZS4gSWYgbm90IHByb3ZpZGVkLCB3aWxsIHJlc29sdmUgZnJvbSBjb250ZXh0LlxuICAgKiBAcmV0dXJucyBUaGUgaW1wb3J0ZWQgQ2xvdWRGb3JtYXRpb24gdmFsdWVcbiAgICpcbiAgICogLXZ7dmVyc2lvbn0gaXMgb25seSBlbWl0dGVkIHdoZW4gdGhlIHZlcnNpb24gaXMgZ3JlYXRlciB0aGFuIDEuXG4gICAqL1xuICBwdWJsaWMgaW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIHN0YWNrTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHJlc29sdmVkU3RhY2tOYW1lID0gQmFzZVBsYXRmb3JtU3RhY2tSZXNvbHZlci5yZXNvbHZlKFxuICAgICAgc2NvcGUsXG4gICAgICBzdGFja05hbWUsXG4gICAgKTtcbiAgICByZXR1cm4gRm4uaW1wb3J0VmFsdWUoXG4gICAgICBjcmVhdGVLZXlJZGVudGlmaWVyKFxuICAgICAgICB0aGlzLm9wdGlvbnMudmVyc2lvbixcbiAgICAgICAgcmVzb2x2ZWRTdGFja05hbWUsXG4gICAgICAgIC4uLnRoaXMucHJlZml4ZXMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHRoZSBwYXJhbWV0ZXIgYXMge3N0YWNrTmFtZX06e3ByZWZpeH0tdnt2ZXJzaW9ufTp7a2V5fS5cbiAgICpcbiAgICogLXZ7dmVyc2lvbn0gaXMgb25seSBlbWl0dGVkIHdoZW4gdGhlIHZlcnNpb24gaXMgZ3JlYXRlciB0aGFuIDEuXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBleHBvcnROYW1lID0gY3JlYXRlS2V5SWRlbnRpZmllcihcbiAgICAgIHRoaXMub3B0aW9ucy52ZXJzaW9uLFxuICAgICAgU3RhY2sub2Yoc2NvcGUpLnN0YWNrTmFtZSxcbiAgICAgIC4uLnRoaXMucHJlZml4ZXMsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvZ2ljYWxJZCA9IHRoaXMub3B0aW9ucy5uYW1lID8/IGAke2V4cG9ydE5hbWV9T3V0cHV0YDtcblxuICAgIHJldHVybiBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBsb2dpY2FsSWQsIHtcbiAgICAgIGV4cG9ydE5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLm9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,12 @@
1
1
  import { App, Environment, Stack } from "aws-cdk-lib";
2
2
  import { Construct } from "constructs";
3
+ import { ApplicationStack } from "../stacks/ApplicationStack";
3
4
  export type ConfigType = {
4
5
  env?: Environment;
5
6
  };
7
+ export type ApplicationConfigType = ConfigType & {
8
+ basePlatformStackName: string;
9
+ };
6
10
  /**
7
11
  * A schema which provides a `parse` method to parse configuration data read from a config file.
8
12
  */
@@ -68,3 +72,25 @@ export declare function createApp<T extends ConfigType>({ directory, schema, cre
68
72
  schema: ParseableSchema<T>;
69
73
  createStack: (scope: Construct, config: T) => Stack;
70
74
  }): App;
75
+ /**
76
+ * Create an AWS CDK app with ApplicationStack support.
77
+ *
78
+ * This function will create a CDK app with the stage configurations from the
79
+ * given directory. The stage is chosen based on the CDK_STAGE environment
80
+ * variable. If no stage is specified, all stages will be added to the app.
81
+ *
82
+ * Unlike {@link createApp}, this function requires the config to include
83
+ * `basePlatformStackName` and automatically sets it in the ApplicationStack
84
+ * context, making it available to all child constructs.
85
+ *
86
+ * @param directory the directory containing the stage configurations
87
+ * @param schema the schema to validate the configuration files (must include basePlatformStackName)
88
+ * @param createStack a function which instantiates a user-provided ApplicationStack
89
+ *
90
+ * @returns the app
91
+ */
92
+ export declare function createApplicationApp<T extends ApplicationConfigType>({ directory, schema, createStack, }: {
93
+ directory: string;
94
+ schema: ParseableSchema<T>;
95
+ createStack: (scope: Construct, config: T) => ApplicationStack;
96
+ }): App;
@@ -5,6 +5,7 @@ exports.getStageConfigurations = getStageConfigurations;
5
5
  exports.isDeveloperStack = isDeveloperStack;
6
6
  exports.developerStackDifferentiator = developerStackDifferentiator;
7
7
  exports.createApp = createApp;
8
+ exports.createApplicationApp = createApplicationApp;
8
9
  const fs = require("fs");
9
10
  const path = require("path/posix");
10
11
  const aws_cdk_lib_1 = require("aws-cdk-lib");
@@ -132,4 +133,38 @@ function createApp({ directory, schema, createStack, }) {
132
133
  });
133
134
  return app;
134
135
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnRmlsZVBhcnNpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29uZmlnRmlsZVBhcnNpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEyQ0EsMENBa0JDO0FBV0Qsd0RBc0JDO0FBK0JELDRDQUVDO0FBVUQsb0VBSUM7QUFlRCw4QkFzQ0M7QUFsTUQseUJBQXlCO0FBQ3pCLG1DQUFtQztBQUNuQyw2Q0FBeUU7QUFFekUsNkJBQTZCO0FBQzdCLHFDQUFzQztBQUV0QyxNQUFNLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDO0FBb0JyRCxTQUFTLGNBQWMsQ0FBQyxHQUFZO0lBQ2xDLE9BQU8sQ0FDTCxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQ3ZCLEdBQUcsS0FBSyxJQUFJO1FBQ1osUUFBUSxJQUFJLEdBQUc7UUFDZixLQUFLLENBQUMsT0FBTyxDQUFFLEdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FDbkMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLElBQVksRUFDWixNQUEwQjtJQUUxQixJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUNiLCtCQUErQixJQUFJLE9BQU87Z0JBQ3hDLENBQUMsQ0FBQyxNQUFNO3FCQUNMLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFB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QUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7UUFDbkIsSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUNGLENBQUM7SUFFRixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IEFwcCwgRW52aXJvbm1lbnQsIFN0YWNrLCBTdGFnZSwgU3RhZ2VQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSBcInlhbWxcIjtcbmltcG9ydCB7IGNhcGl0YWxpemUgfSBmcm9tIFwiLi9jb21tb25cIjtcblxuY29uc3Qgc3RhZ2VTdWZmaXhWYXJpYWJsZSA9IFwiREVWRUxPUEVSX1NUQUdFX1NVRkZJWFwiO1xuXG5leHBvcnQgdHlwZSBDb25maWdUeXBlID0ge1xuICBlbnY/OiBFbnZpcm9ubWVudDtcbn07XG5cbi8qKlxuICogQSBzY2hlbWEgd2hpY2ggcHJvdmlkZXMgYSBgcGFyc2VgIG1ldGhvZCB0byBwYXJzZSBjb25maWd1cmF0aW9uIGRhdGEgcmVhZCBmcm9tIGEgY29uZmlnIGZpbGUuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnNlYWJsZVNjaGVtYTxUIGV4dGVuZHMgQ29uZmlnVHlwZT4gPSB7XG4gIHBhcnNlOiAoZGF0YTogdW5rbm93bikgPT4gVDtcbn07XG5cbnR5cGUgUHJpbnRhYmxlRXJyb3IgPSB7XG4gIGVycm9yczogQXJyYXk8e1xuICAgIHBhdGg6IHN0cmluZ1tdO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgfT47XG59O1xuXG5mdW5jdGlvbiBjaGVja0Vycm9yVHlwZShvYmo6IHVua25vd24pOiBvYmogaXMgUHJpbnRhYmxlRXJyb3Ige1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiZcbiAgICBvYmogIT09IG51bGwgJiZcbiAgICBcImVycm9yc1wiIGluIG9iaiAmJlxuICAgIEFycmF5LmlzQXJyYXkoKG9iaiBhcyBhbnkpLmVycm9ycylcbiAgKTtcbn1cblxuLyoqXG4gKiBQYXJzZSBhIFlBTUwgY29uZmlndXJhdGlvbiBmaWxlIGFuZCB2YWxpZGF0ZSBpdCBhZ2FpbnN0IHRoZSBnaXZlbiBzY2hlbWEuXG4gKlxuICogQHBhcmFtIGZpbGUgdGhlIGZpbGUgdG8gcGFyc2VcbiAqIEBwYXJhbSBzY2hlbWEgdGhlIHNjaGVtYSB0byB2YWxpZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlXG4gKiBAcmV0dXJucyB0aGUgcGFyc2VkIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNvbmZpZ0ZpbGU8VCBleHRlbmRzIENvbmZpZ1R5cGU+KFxuICBmaWxlOiBzdHJpbmcsXG4gIHNjaGVtYTogUGFyc2VhYmxlU2NoZW1hPFQ+LFxuKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgY29uZmlnRGF0YSA9IHlhbWwucGFyc2UoZnMucmVhZEZpbGVTeW5jKGZpbGUsIFwidXRmLThcIikpO1xuICAgIHJldHVybiBzY2hlbWEucGFyc2UoY29uZmlnRGF0YSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoY2hlY2tFcnJvclR5cGUoZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYHVuYWJsZSB0byBwYXJzZSBjb25maWcgZmlsZSAke2ZpbGV9OlxcblxcdGAgK1xuICAgICAgICAgIGUuZXJyb3JzXG4gICAgICAgICAgICAubWFwKChlcnIpID0+IGBhdCAnJHtlcnIucGF0aC5qb2luKFwiL1wiKX0nOiAke2Vyci5tZXNzYWdlfWApXG4gICAgICAgICAgICAuam9pbihcIlxcblxcdFwiKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHN0YWdlIGNvbmZpZ3VyYXRpb25zIGF2YWlsYWJsZSBpbiB0aGUgcHJvdmlkZWQgY29uZmlnIGRpcmVjdG9yeS5cbiAqXG4gKiBAcGFyYW0gZGlyZWN0b3J5IHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc3RhZ2UgY29uZmlndXJhdGlvbnNcbiAqIEBwYXJhbSBzY2hlbWEgdGhlIHNjaGVtYSB0byB2YWxpZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlc1xuICogQHBhcmFtIHN0YWdlTmFtZSB0aGUgbmFtZSBvZiB0aGUgc3RhZ2UsIGxlYXZlIHVuZGVmaW5lZCB0byByZXR1cm4gYWxsIHN0YWdlc1xuICpcbiAqIEByZXR1cm5zIGEgbGlzdCBvZiBzdGFnZSBuYW1lIGFuZCBwYXJzZWQgY29uZmlnIGNvbnRlbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFnZUNvbmZpZ3VyYXRpb25zPFQgZXh0ZW5kcyBDb25maWdUeXBlPih7XG4gIGRpcmVjdG9yeSxcbiAgc2NoZW1hLFxuICBzdGFnZU5hbWUsXG59OiB7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xuICBzY2hlbWE6IFBhcnNlYWJsZVNjaGVtYTxUPjtcbiAgc3RhZ2VOYW1lPzogc3RyaW5nO1xufSkge1xuICByZXR1cm4gZnNcbiAgICAucmVhZGRpclN5bmMoZGlyZWN0b3J5KVxuICAgIC5maWx0ZXIoXG4gICAgICAoZmlsZSkgPT5cbiAgICAgICAgL1xcLih5YT9tbCkkLy50ZXN0KGZpbGUpICYmXG4gICAgICAgICghc3RhZ2VOYW1lIHx8IGZpbGUucmVwbGFjZSgvXFwuKHlhP21sKSQvLCBcIlwiKSA9PT0gc3RhZ2VOYW1lKSxcbiAgICApXG4gICAgLm1hcCgoZmlsZSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogZmlsZS5yZXBsYWNlKC9cXC4oeWE/bWwpJC8sIFwiXCIpLFxuICAgICAgICBjb25maWc6IHBhcnNlQ29uZmlnRmlsZShwYXRoLmpvaW4oZGlyZWN0b3J5LCBmaWxlKSwgc2NoZW1hKSxcbiAgICAgIH07XG4gICAgfSk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBjdVxuXG5zdG9tIHN0YWNrIElELCBpZiB0aGUgdmFyaWFibGUgZGVmaW5lZCBpbiB7QGxpbmsgc3RhZ2VTdWZmaXhWYXJpYWJsZX0gaXMgc2V0LlxuICogVGhlIHZhbHVlIHdpbGwgYmUgYXBwZW5kZWQgYXMgc3VmZml4IHRvIHRoZSBJRC4gSWYgdGhlIHZhcmlhYmxlIGlzIG5vdCBzZXQsIHRoZSBvcmlnaW5hbFxuICogSUQgaXMgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIGlkIFRoZSBvcmlnaW5hbCBJRCB0byBiZSB1c2VkIGFkIGJhc2UuXG4gKiBAcmV0dXJucyBUaGUgc3VmZml4ZWQgSUQgb3IgdGhlIG9yaWdpbmFsIElELCBpZiBubyBjdXN0b20gc3RhY2sgaW5zdGFuY2UgaXMgY3JlYXRlZC5cbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVJZChpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHN0YWdlU3VmZml4VmFsdWUgPSBwcm9jZXNzLmVudltzdGFnZVN1ZmZpeFZhcmlhYmxlXTtcbiAgaWYgKHN0YWdlU3VmZml4VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghc3RhZ2VTdWZmaXhWYWx1ZS5tYXRjaCgvXlthLXpBLVowLTldKyQvKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHZhbHVlIHNldCBpbiAke3N0YWdlU3VmZml4VmFyaWFibGV9IG1heSBub3QgYmUgZW1wdHkgYW5kIG1heSBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBgJHtpZH0tJHtzdGFnZVN1ZmZpeFZhbHVlfWA7XG4gIH1cbiAgcmV0dXJuIGlkO1xufVxuXG4vKipcbiAqIFRlc3QsIGlmIHRoZSBjdXJyZW50IGRlcGxveW1lbnQgaXMgdGhhdCBvZiBhIGRldmVsb3BlciBzdGFjay4gVGhpcyBtaWdodCBiZSBvZiBpbnRlcmVzdCBmb3JcbiAqIHNvbWUgY29uc3RydWN0cywgYXMgYSBkaWZmZXJlbnQgYmVoYXZpb3IgaXMgZXhwZWN0ZWQgaW4gdGhlIGRldmVsb3BlciBlbnZpcm9ubWVudC5cbiAqXG4gKiBAcmV0dXJucyBgdHJ1ZWAsIGlmIGEgZGV2ZWxvcGVyIHN0YWNrIGluc3RhbmNlIGlzIGRlcGxveWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEZXZlbG9wZXJTdGFjaygpOiBib29sZWFuIHtcbiAgcmV0dXJuIHByb2Nlc3MuZW52W3N0YWdlU3VmZml4VmFyaWFibGVdICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogR2V0IGEgZGlmZmVyZW50aWF0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbiBkZXZlbG9wZXIgc3RhY2tzLiBVc2UgY2FzZXMgZm9yIHRoaXMgYXJlXG4gKiBkZXBsb3ltZW50cyBvZiByZXNvdXJjZXMgd2hpY2gncyBuYW1lL2lkIGRvZXMgbm90IGRlcGVuZCBvbiB0aGUgbmFtZSBvZiB0aGUgc3RhY2suXG4gKiBBbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgbm8gZGV2ZWxvcGVyIHN0YWNrIGlzIGRlcGxveWVkLlxuICogQHJldHVybnMgQSBzdHJpbmcgKHN0YXJ0aW5nIHdpdGggYW4gdXBwZXJjYXNlIGxldHRlciBmb3IgdXNlIGluIGNhbWVsY2FzZSkgdG9cbiAqICBkaWZmZXJlbnRpYXRlIHRoZSByZXNvdXJjZSBuYW1lIG9yIGFuIGVtcHR5IHN0cmluZyBvZiBubyBkZXZlbG9wZXIgc3RhY2sgaXNcbiAqICBkZXBsb3llZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldmVsb3BlclN0YWNrRGlmZmVyZW50aWF0b3IoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHByb2Nlc3MuZW52W3N0YWdlU3VmZml4VmFyaWFibGVdICE9PSB1bmRlZmluZWRcbiAgICA/IGNhcGl0YWxpemUocHJvY2Vzcy5lbnZbc3RhZ2VTdWZmaXhWYXJpYWJsZV0pXG4gICAgOiBcIlwiO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBBV1MgQ0RLIGFwcC5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIGEgQ0RLIGFwcCB3aXRoIHRoZSBzdGFnZSBjb25maWd1cmF0aW9ucyBmcm9tIHRoZVxuICogZ2l2ZW4gZGlyZWN0b3J5LiAgVGhlIHN0YWdlIGlzIGNob3NlbiBiYXNlZCBvbiB0aGUgQ0RLX1NUQUdFIGVudmlyb25tZW50XG4gKiB2YXJpYWJsZS4gSWYgbm8gc3RhZ2UgaXMgc3BlY2lmaWVkLCBhbGwgc3RhZ2VzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGFwcC5cbiAqXG4gKiBAcGFyYW0gZGlyZWN0b3J5IHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc3RhZ2UgY29uZmlndXJhdGlvbnNcbiAqIEBwYXJhbSBzY2hlbWEgdGhlIHNjaGVtYSB0byB2YWxpZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlc1xuICogQHBhcmFtIGNyZWF0ZVN0YWNrIGEgZnVuY3Rpb24gd2hpY2ggaW5zdGFudGlhdGVzIGEgdXNlci1wcm92aWRlZCBzdGFja1xuICpcbiAqIEByZXR1cm5zIHRoZSBhcHBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFwcDxUIGV4dGVuZHMgQ29uZmlnVHlwZT4oe1xuICBkaXJlY3RvcnksXG4gIHNjaGVtYSxcbiAgY3JlYXRlU3RhY2ssXG59OiB7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xuICBzY2hlbWE6IFBhcnNlYWJsZVNjaGVtYTxUPjtcbiAgY3JlYXRlU3RhY2s6IChzY29wZTogQ29uc3RydWN0LCBjb25maWc6IFQpID0+IFN0YWNrO1xufSkge1xuICBjb25zdCBzdGFnZU5hbWUgPSBwcm9jZXNzLmVudi5DREtfU1RBR0UgfHwgdW5kZWZpbmVkO1xuXG4gIGlmICghc3RhZ2VOYW1lKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgXCJ3YXJuaW5nOiBubyBzdGFnZSBzcGVjaWZpZWQgdmlhIENES19TVEFHRSwgc3ludGhlc2l6aW5nIGFsbCBzdGFnZXMuIFRoaXMgaXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQuXCIsXG4gICAgKTtcbiAgfVxuXG4gIGNsYXNzIEFwcFN0YWdlIGV4dGVuZHMgU3RhZ2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICAgIGlkOiBzdHJpbmcsXG4gICAgICBwcm9wczogU3RhZ2VQcm9wcyxcbiAgICAgIHN0YWNrQ29uZmlnOiBULFxuICAgICkge1xuICAgICAgc3VwZXIoc2NvcGUsIGdlbmVyYXRlSWQoaWQpLCBwcm9wcyk7XG4gICAgICBjcmVhdGVTdGFjayh0aGlzLCBzdGFja0NvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG4gIGdldFN0YWdlQ29uZmlndXJhdGlvbnMoeyBkaXJlY3RvcnksIHNjaGVtYSwgc3RhZ2VOYW1lIH0pLmZvckVhY2goXG4gICAgKHsgbmFtZSwgY29uZmlnIH0pID0+IHtcbiAgICAgIG5ldyBBcHBTdGFnZShhcHAsIG5hbWUsIHsgZW52OiBjb25maWcuZW52IH0sIGNvbmZpZyk7XG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4gYXBwO1xufVxuIl19
136
+ /**
137
+ * Create an AWS CDK app with ApplicationStack support.
138
+ *
139
+ * This function will create a CDK app with the stage configurations from the
140
+ * given directory. The stage is chosen based on the CDK_STAGE environment
141
+ * variable. If no stage is specified, all stages will be added to the app.
142
+ *
143
+ * Unlike {@link createApp}, this function requires the config to include
144
+ * `basePlatformStackName` and automatically sets it in the ApplicationStack
145
+ * context, making it available to all child constructs.
146
+ *
147
+ * @param directory the directory containing the stage configurations
148
+ * @param schema the schema to validate the configuration files (must include basePlatformStackName)
149
+ * @param createStack a function which instantiates a user-provided ApplicationStack
150
+ *
151
+ * @returns the app
152
+ */
153
+ function createApplicationApp({ directory, schema, createStack, }) {
154
+ const stageName = process.env.CDK_STAGE || undefined;
155
+ if (!stageName) {
156
+ console.warn("warning: no stage specified via CDK_STAGE, synthesizing all stages. This is probably not what you want.");
157
+ }
158
+ class AppStage extends aws_cdk_lib_1.Stage {
159
+ constructor(scope, id, props, stackConfig) {
160
+ super(scope, generateId(id), props);
161
+ createStack(this, stackConfig);
162
+ }
163
+ }
164
+ const app = new aws_cdk_lib_1.App();
165
+ getStageConfigurations({ directory, schema, stageName }).forEach(({ name, config }) => {
166
+ new AppStage(app, name, { env: config.env }, config);
167
+ });
168
+ return app;
169
+ }
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnRmlsZVBhcnNpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29uZmlnRmlsZVBhcnNpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnREEsMENBa0JDO0FBV0Qsd0RBc0JDO0FBK0JELDRDQUVDO0FBVUQsb0VBSUM7QUFlRCw4QkFzQ0M7QUFtQkQsb0RBc0NDO0FBaFFELHlCQUF5QjtBQUN6QixtQ0FBbUM7QUFDbkMsNkNBQXlFO0FBRXpFLDZCQUE2QjtBQUM3QixxQ0FBc0M7QUFHdEMsTUFBTSxtQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztBQXdCckQsU0FBUyxjQUFjLENBQUMsR0FBWTtJQUNsQyxPQUFPLENBQ0wsT0FBTyxHQUFHLEtBQUssUUFBUTtRQUN2QixHQUFHLEtBQUssSUFBSTtRQUNaLFFBQVEsSUFBSSxHQUFHO1FBQ2YsS0FBSyxDQUFDLE9BQU8sQ0FBRSxHQUFXLENBQUMsTUFBTSxDQUFDLENBQ25DLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsZUFBZSxDQUM3QixJQUFZLEVBQ1osTUFBMEI7SUFFMUIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzlELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FDYiwrQkFBK0IsSUFBSSxPQUFPO2dCQUN4QyxDQUFDLENBQUMsTUFBTTtxQkFDTCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMs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QU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aC9wb3NpeFwiO1xuaW1wb3J0IHsgQXBwLCBFbnZpcm9ubWVudCwgU3RhY2ssIFN0YWdlLCBTdGFnZVByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tIFwieWFtbFwiO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSB9IGZyb20gXCIuL2NvbW1vblwiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25TdGFjayB9IGZyb20gXCIuLi9zdGFja3MvQXBwbGljYXRpb25TdGFja1wiO1xuXG5jb25zdCBzdGFnZVN1ZmZpeFZhcmlhYmxlID0gXCJERVZFTE9QRVJfU1RBR0VfU1VGRklYXCI7XG5cbmV4cG9ydCB0eXBlIENvbmZpZ1R5cGUgPSB7XG4gIGVudj86IEVudmlyb25tZW50O1xufTtcblxuZXhwb3J0IHR5cGUgQXBwbGljYXRpb25Db25maWdUeXBlID0gQ29uZmlnVHlwZSAmIHtcbiAgYmFzZVBsYXRmb3JtU3RhY2tOYW1lOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEEgc2NoZW1hIHdoaWNoIHByb3ZpZGVzIGEgYHBhcnNlYCBtZXRob2QgdG8gcGFyc2UgY29uZmlndXJhdGlvbiBkYXRhIHJlYWQgZnJvbSBhIGNvbmZpZyBmaWxlLlxuICovXG5leHBvcnQgdHlwZSBQYXJzZWFibGVTY2hlbWE8VCBleHRlbmRzIENvbmZpZ1R5cGU+ID0ge1xuICBwYXJzZTogKGRhdGE6IHVua25vd24pID0+IFQ7XG59O1xuXG50eXBlIFByaW50YWJsZUVycm9yID0ge1xuICBlcnJvcnM6IEFycmF5PHtcbiAgICBwYXRoOiBzdHJpbmdbXTtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gIH0+O1xufTtcblxuZnVuY3Rpb24gY2hlY2tFcnJvclR5cGUob2JqOiB1bmtub3duKTogb2JqIGlzIFByaW50YWJsZUVycm9yIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiICYmXG4gICAgb2JqICE9PSBudWxsICYmXG4gICAgXCJlcnJvcnNcIiBpbiBvYmogJiZcbiAgICBBcnJheS5pc0FycmF5KChvYmogYXMgYW55KS5lcnJvcnMpXG4gICk7XG59XG5cbi8qKlxuICogUGFyc2UgYSBZQU1MIGNvbmZpZ3VyYXRpb24gZmlsZSBhbmQgdmFsaWRhdGUgaXQgYWdhaW5zdCB0aGUgZ2l2ZW4gc2NoZW1hLlxuICpcbiAqIEBwYXJhbSBmaWxlIHRoZSBmaWxlIHRvIHBhcnNlXG4gKiBAcGFyYW0gc2NoZW1hIHRoZSBzY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZVxuICogQHJldHVybnMgdGhlIHBhcnNlZCBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb25maWdGaWxlPFQgZXh0ZW5kcyBDb25maWdUeXBlPihcbiAgZmlsZTogc3RyaW5nLFxuICBzY2hlbWE6IFBhcnNlYWJsZVNjaGVtYTxUPixcbikge1xuICB0cnkge1xuICAgIGNvbnN0IGNvbmZpZ0RhdGEgPSB5YW1sLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhmaWxlLCBcInV0Zi04XCIpKTtcbiAgICByZXR1cm4gc2NoZW1hLnBhcnNlKGNvbmZpZ0RhdGEpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGNoZWNrRXJyb3JUeXBlKGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGB1bmFibGUgdG8gcGFyc2UgY29uZmlnIGZpbGUgJHtmaWxlfTpcXG5cXHRgICtcbiAgICAgICAgICBlLmVycm9yc1xuICAgICAgICAgICAgLm1hcCgoZXJyKSA9PiBgYXQgJyR7ZXJyLnBhdGguam9pbihcIi9cIil9JzogJHtlcnIubWVzc2FnZX1gKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cXHRcIiksXG4gICAgICApO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBzdGFnZSBjb25maWd1cmF0aW9ucyBhdmFpbGFibGUgaW4gdGhlIHByb3ZpZGVkIGNvbmZpZyBkaXJlY3RvcnkuXG4gKlxuICogQHBhcmFtIGRpcmVjdG9yeSB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHN0YWdlIGNvbmZpZ3VyYXRpb25zXG4gKiBAcGFyYW0gc2NoZW1hIHRoZSBzY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXNcbiAqIEBwYXJhbSBzdGFnZU5hbWUgdGhlIG5hbWUgb2YgdGhlIHN0YWdlLCBsZWF2ZSB1bmRlZmluZWQgdG8gcmV0dXJuIGFsbCBzdGFnZXNcbiAqXG4gKiBAcmV0dXJucyBhIGxpc3Qgb2Ygc3RhZ2UgbmFtZSBhbmQgcGFyc2VkIGNvbmZpZyBjb250ZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhZ2VDb25maWd1cmF0aW9uczxUIGV4dGVuZHMgQ29uZmlnVHlwZT4oe1xuICBkaXJlY3RvcnksXG4gIHNjaGVtYSxcbiAgc3RhZ2VOYW1lLFxufToge1xuICBkaXJlY3Rvcnk6IHN0cmluZztcbiAgc2NoZW1hOiBQYXJzZWFibGVTY2hlbWE8VD47XG4gIHN0YWdlTmFtZT86IHN0cmluZztcbn0pIHtcbiAgcmV0dXJuIGZzXG4gICAgLnJlYWRkaXJTeW5jKGRpcmVjdG9yeSlcbiAgICAuZmlsdGVyKFxuICAgICAgKGZpbGUpID0+XG4gICAgICAgIC9cXC4oeWE/bWwpJC8udGVzdChmaWxlKSAmJlxuICAgICAgICAoIXN0YWdlTmFtZSB8fCBmaWxlLnJlcGxhY2UoL1xcLih5YT9tbCkkLywgXCJcIikgPT09IHN0YWdlTmFtZSksXG4gICAgKVxuICAgIC5tYXAoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IGZpbGUucmVwbGFjZSgvXFwuKHlhP21sKSQvLCBcIlwiKSxcbiAgICAgICAgY29uZmlnOiBwYXJzZUNvbmZpZ0ZpbGUocGF0aC5qb2luKGRpcmVjdG9yeSwgZmlsZSksIHNjaGVtYSksXG4gICAgICB9O1xuICAgIH0pO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgY3Vcblxuc3RvbSBzdGFjayBJRCwgaWYgdGhlIHZhcmlhYmxlIGRlZmluZWQgaW4ge0BsaW5rIHN0YWdlU3VmZml4VmFyaWFibGV9IGlzIHNldC5cbiAqIFRoZSB2YWx1ZSB3aWxsIGJlIGFwcGVuZGVkIGFzIHN1ZmZpeCB0byB0aGUgSUQuIElmIHRoZSB2YXJpYWJsZSBpcyBub3Qgc2V0LCB0aGUgb3JpZ2luYWxcbiAqIElEIGlzIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBpZCBUaGUgb3JpZ2luYWwgSUQgdG8gYmUgdXNlZCBhZCBiYXNlLlxuICogQHJldHVybnMgVGhlIHN1ZmZpeGVkIElEIG9yIHRoZSBvcmlnaW5hbCBJRCwgaWYgbm8gY3VzdG9tIHN0YWNrIGluc3RhbmNlIGlzIGNyZWF0ZWQuXG4gKi9cbmZ1bmN0aW9uIGdlbmVyYXRlSWQoaWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCBzdGFnZVN1ZmZpeFZhbHVlID0gcHJvY2Vzcy5lbnZbc3RhZ2VTdWZmaXhWYXJpYWJsZV07XG4gIGlmIChzdGFnZVN1ZmZpeFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXN0YWdlU3VmZml4VmFsdWUubWF0Y2goL15bYS16QS1aMC05XSskLykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSB2YWx1ZSBzZXQgaW4gJHtzdGFnZVN1ZmZpeFZhcmlhYmxlfSBtYXkgbm90IGJlIGVtcHR5IGFuZCBtYXkgb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLmAsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gYCR7aWR9LSR7c3RhZ2VTdWZmaXhWYWx1ZX1gO1xuICB9XG4gIHJldHVybiBpZDtcbn1cblxuLyoqXG4gKiBUZXN0LCBpZiB0aGUgY3VycmVudCBkZXBsb3ltZW50IGlzIHRoYXQgb2YgYSBkZXZlbG9wZXIgc3RhY2suIFRoaXMgbWlnaHQgYmUgb2YgaW50ZXJlc3QgZm9yXG4gKiBzb21lIGNvbnN0cnVjdHMsIGFzIGEgZGlmZmVyZW50IGJlaGF2aW9yIGlzIGV4cGVjdGVkIGluIHRoZSBkZXZlbG9wZXIgZW52aXJvbm1lbnQuXG4gKlxuICogQHJldHVybnMgYHRydWVgLCBpZiBhIGRldmVsb3BlciBzdGFjayBpbnN0YW5jZSBpcyBkZXBsb3llZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGV2ZWxvcGVyU3RhY2soKTogYm9vbGVhbiB7XG4gIHJldHVybiBwcm9jZXNzLmVudltzdGFnZVN1ZmZpeFZhcmlhYmxlXSAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdldCBhIGRpZmZlcmVudGlhdG9yIHRoYXQgY2FuIGJlIHVzZWQgaW4gZGV2ZWxvcGVyIHN0YWNrcy4gVXNlIGNhc2VzIGZvciB0aGlzIGFyZVxuICogZGVwbG95bWVudHMgb2YgcmVzb3VyY2VzIHdoaWNoJ3MgbmFtZS9pZCBkb2VzIG5vdCBkZXBlbmQgb24gdGhlIG5hbWUgb2YgdGhlIHN0YWNrLlxuICogQW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkIGlmIG5vIGRldmVsb3BlciBzdGFjayBpcyBkZXBsb3llZC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIChzdGFydGluZyB3aXRoIGFuIHVwcGVyY2FzZSBsZXR0ZXIgZm9yIHVzZSBpbiBjYW1lbGNhc2UpIHRvXG4gKiAgZGlmZmVyZW50aWF0ZSB0aGUgcmVzb3VyY2UgbmFtZSBvciBhbiBlbXB0eSBzdHJpbmcgb2Ygbm8gZGV2ZWxvcGVyIHN0YWNrIGlzXG4gKiAgZGVwbG95ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXZlbG9wZXJTdGFja0RpZmZlcmVudGlhdG9yKCk6IHN0cmluZyB7XG4gIHJldHVybiBwcm9jZXNzLmVudltzdGFnZVN1ZmZpeFZhcmlhYmxlXSAhPT0gdW5kZWZpbmVkXG4gICAgPyBjYXBpdGFsaXplKHByb2Nlc3MuZW52W3N0YWdlU3VmZml4VmFyaWFibGVdKVxuICAgIDogXCJcIjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gQVdTIENESyBhcHAuXG4gKlxuICogVGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0ZSBhIENESyBhcHAgd2l0aCB0aGUgc3RhZ2UgY29uZmlndXJhdGlvbnMgZnJvbSB0aGVcbiAqIGdpdmVuIGRpcmVjdG9yeS4gIFRoZSBzdGFnZSBpcyBjaG9zZW4gYmFzZWQgb24gdGhlIENES19TVEFHRSBlbnZpcm9ubWVudFxuICogdmFyaWFibGUuIElmIG5vIHN0YWdlIGlzIHNwZWNpZmllZCwgYWxsIHN0YWdlcyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBhcHAuXG4gKlxuICogQHBhcmFtIGRpcmVjdG9yeSB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHN0YWdlIGNvbmZpZ3VyYXRpb25zXG4gKiBAcGFyYW0gc2NoZW1hIHRoZSBzY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXNcbiAqIEBwYXJhbSBjcmVhdGVTdGFjayBhIGZ1bmN0aW9uIHdoaWNoIGluc3RhbnRpYXRlcyBhIHVzZXItcHJvdmlkZWQgc3RhY2tcbiAqXG4gKiBAcmV0dXJucyB0aGUgYXBwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcHA8VCBleHRlbmRzIENvbmZpZ1R5cGU+KHtcbiAgZGlyZWN0b3J5LFxuICBzY2hlbWEsXG4gIGNyZWF0ZVN0YWNrLFxufToge1xuICBkaXJlY3Rvcnk6IHN0cmluZztcbiAgc2NoZW1hOiBQYXJzZWFibGVTY2hlbWE8VD47XG4gIGNyZWF0ZVN0YWNrOiAoc2NvcGU6IENvbnN0cnVjdCwgY29uZmlnOiBUKSA9PiBTdGFjaztcbn0pIHtcbiAgY29uc3Qgc3RhZ2VOYW1lID0gcHJvY2Vzcy5lbnYuQ0RLX1NUQUdFIHx8IHVuZGVmaW5lZDtcblxuICBpZiAoIXN0YWdlTmFtZSkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIFwid2FybmluZzogbm8gc3RhZ2Ugc3BlY2lmaWVkIHZpYSBDREtfU1RBR0UsIHN5bnRoZXNpemluZyBhbGwgc3RhZ2VzLiBUaGlzIGlzIHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50LlwiLFxuICAgICk7XG4gIH1cblxuICBjbGFzcyBBcHBTdGFnZSBleHRlbmRzIFN0YWdlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgICBpZDogc3RyaW5nLFxuICAgICAgcHJvcHM6IFN0YWdlUHJvcHMsXG4gICAgICBzdGFja0NvbmZpZzogVCxcbiAgICApIHtcbiAgICAgIHN1cGVyKHNjb3BlLCBnZW5lcmF0ZUlkKGlkKSwgcHJvcHMpO1xuICAgICAgY3JlYXRlU3RhY2sodGhpcywgc3RhY2tDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuICBnZXRTdGFnZUNvbmZpZ3VyYXRpb25zKHsgZGlyZWN0b3J5LCBzY2hlbWEsIHN0YWdlTmFtZSB9KS5mb3JFYWNoKFxuICAgICh7IG5hbWUsIGNvbmZpZyB9KSA9PiB7XG4gICAgICBuZXcgQXBwU3RhZ2UoYXBwLCBuYW1lLCB7IGVudjogY29uZmlnLmVudiB9LCBjb25maWcpO1xuICAgIH0sXG4gICk7XG5cbiAgcmV0dXJuIGFwcDtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gQVdTIENESyBhcHAgd2l0aCBBcHBsaWNhdGlvblN0YWNrIHN1cHBvcnQuXG4gKlxuICogVGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0ZSBhIENESyBhcHAgd2l0aCB0aGUgc3RhZ2UgY29uZmlndXJhdGlvbnMgZnJvbSB0aGVcbiAqIGdpdmVuIGRpcmVjdG9yeS4gVGhlIHN0YWdlIGlzIGNob3NlbiBiYXNlZCBvbiB0aGUgQ0RLX1NUQUdFIGVudmlyb25tZW50XG4gKiB2YXJpYWJsZS4gSWYgbm8gc3RhZ2UgaXMgc3BlY2lmaWVkLCBhbGwgc3RhZ2VzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGFwcC5cbiAqXG4gKiBVbmxpa2Uge0BsaW5rIGNyZWF0ZUFwcH0sIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIGNvbmZpZyB0byBpbmNsdWRlXG4gKiBgYmFzZVBsYXRmb3JtU3RhY2tOYW1lYCBhbmQgYXV0b21hdGljYWxseSBzZXRzIGl0IGluIHRoZSBBcHBsaWNhdGlvblN0YWNrXG4gKiBjb250ZXh0LCBtYWtpbmcgaXQgYXZhaWxhYmxlIHRvIGFsbCBjaGlsZCBjb25zdHJ1Y3RzLlxuICpcbiAqIEBwYXJhbSBkaXJlY3RvcnkgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzdGFnZSBjb25maWd1cmF0aW9uc1xuICogQHBhcmFtIHNjaGVtYSB0aGUgc2NoZW1hIHRvIHZhbGlkYXRlIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIChtdXN0IGluY2x1ZGUgYmFzZVBsYXRmb3JtU3RhY2tOYW1lKVxuICogQHBhcmFtIGNyZWF0ZVN0YWNrIGEgZnVuY3Rpb24gd2hpY2ggaW5zdGFudGlhdGVzIGEgdXNlci1wcm92aWRlZCBBcHBsaWNhdGlvblN0YWNrXG4gKlxuICogQHJldHVybnMgdGhlIGFwcFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXBwbGljYXRpb25BcHA8VCBleHRlbmRzIEFwcGxpY2F0aW9uQ29uZmlnVHlwZT4oe1xuICBkaXJlY3RvcnksXG4gIHNjaGVtYSxcbiAgY3JlYXRlU3RhY2ssXG59OiB7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xuICBzY2hlbWE6IFBhcnNlYWJsZVNjaGVtYTxUPjtcbiAgY3JlYXRlU3RhY2s6IChzY29wZTogQ29uc3RydWN0LCBjb25maWc6IFQpID0+IEFwcGxpY2F0aW9uU3RhY2s7XG59KSB7XG4gIGNvbnN0IHN0YWdlTmFtZSA9IHByb2Nlc3MuZW52LkNES19TVEFHRSB8fCB1bmRlZmluZWQ7XG5cbiAgaWYgKCFzdGFnZU5hbWUpIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBcIndhcm5pbmc6IG5vIHN0YWdlIHNwZWNpZmllZCB2aWEgQ0RLX1NUQUdFLCBzeW50aGVzaXppbmcgYWxsIHN0YWdlcy4gVGhpcyBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudC5cIixcbiAgICApO1xuICB9XG5cbiAgY2xhc3MgQXBwU3RhZ2UgZXh0ZW5kcyBTdGFnZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICBzY29wZTogQ29uc3RydWN0LFxuICAgICAgaWQ6IHN0cmluZyxcbiAgICAgIHByb3BzOiBTdGFnZVByb3BzLFxuICAgICAgc3RhY2tDb25maWc6IFQsXG4gICAgKSB7XG4gICAgICBzdXBlcihzY29wZSwgZ2VuZXJhdGVJZChpZCksIHByb3BzKTtcbiAgICAgIGNyZWF0ZVN0YWNrKHRoaXMsIHN0YWNrQ29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbiAgZ2V0U3RhZ2VDb25maWd1cmF0aW9ucyh7IGRpcmVjdG9yeSwgc2NoZW1hLCBzdGFnZU5hbWUgfSkuZm9yRWFjaChcbiAgICAoeyBuYW1lLCBjb25maWcgfSkgPT4ge1xuICAgICAgbmV3IEFwcFN0YWdlKGFwcCwgbmFtZSwgeyBlbnY6IGNvbmZpZy5lbnYgfSwgY29uZmlnKTtcbiAgICB9LFxuICApO1xuXG4gIHJldHVybiBhcHA7XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ export * from "./BasePlatformStackResolver";
1
2
  export * from "./configFileParsing";
2
3
  export * from "./deactivatedConstruct";
3
4
  export * from "./exportStackInfo";
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BasePlatformStackResolver"), exports);
17
18
  __exportStar(require("./configFileParsing"), exports);
18
19
  __exportStar(require("./deactivatedConstruct"), exports);
19
20
  __exportStar(require("./exportStackInfo"), exports);
20
21
  __exportStar(require("./functions"), exports);
21
22
  __exportStar(require("./ImportValue"), exports);
22
23
  __exportStar(require("./StackParameter"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsb0RBQWtDO0FBQ2xDLDhDQUE0QjtBQUM1QixnREFBOEI7QUFDOUIsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY29uZmlnRmlsZVBhcnNpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlYWN0aXZhdGVkQ29uc3RydWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnRTdGFja0luZm9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Z1bmN0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW1wb3J0VmFsdWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1N0YWNrUGFyYW1ldGVyXCI7XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUE0QztBQUM1QyxzREFBb0M7QUFDcEMseURBQXVDO0FBQ3ZDLG9EQUFrQztBQUNsQyw4Q0FBNEI7QUFDNUIsZ0RBQThCO0FBQzlCLG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Jhc2VQbGF0Zm9ybVN0YWNrUmVzb2x2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ0ZpbGVQYXJzaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWFjdGl2YXRlZENvbnN0cnVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0U3RhY2tJbmZvXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0ltcG9ydFZhbHVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TdGFja1BhcmFtZXRlclwiO1xuIl19
package/package.json CHANGED
@@ -127,7 +127,7 @@
127
127
  ],
128
128
  "main": "lib/index.js",
129
129
  "license": "Apache-2.0",
130
- "version": "0.20.11",
130
+ "version": "0.21.0",
131
131
  "jest": {
132
132
  "coverageProvider": "v8",
133
133
  "maxWorkers": 4,