@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.
- package/.jsii +286 -121
- package/API.md +1464 -194
- package/CHANGELOG.md +8 -0
- package/README.md +45 -0
- package/lib/constructs/EventPipe.js +1 -1
- package/lib/constructs/ExportedService.js +4 -4
- package/lib/constructs/S3Bucket.js +1 -1
- package/lib/constructs/SecureRestApi.d.ts +1 -1
- package/lib/constructs/SecureRestApi.js +9 -5
- package/lib/constructs/SecureRestApiV2.d.ts +1 -1
- package/lib/constructs/SecureRestApiV2.js +2 -2
- package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
- package/lib/constructs/api-keys/ApiKeyManagement.js +1 -1
- package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
- package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
- package/lib/extensions/ApiGatewayExtension.d.ts +1 -1
- package/lib/extensions/ApiGatewayExtension.js +33 -11
- package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +2 -2
- package/lib/extensions/ApplicationLoadBalancerExtension.js +28 -9
- package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +1 -1
- package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +5 -5
- package/lib/extensions/CloudMapExtension.d.ts +1 -1
- package/lib/extensions/CloudMapExtension.js +3 -3
- package/lib/extensions/DeactivatableServiceExtension.js +1 -1
- package/lib/extensions/DeploymentConfigExtension.js +1 -1
- package/lib/extensions/DocumentDbAccessExtension.d.ts +1 -1
- package/lib/extensions/DocumentDbAccessExtension.js +2 -2
- package/lib/extensions/DomainEventMessagingExtension.js +1 -1
- package/lib/extensions/EfsMountExtension.js +1 -1
- package/lib/extensions/ExtraContainerExtension.js +1 -1
- package/lib/extensions/HTTPApiExtension.d.ts +1 -1
- package/lib/extensions/HTTPApiExtension.js +5 -5
- package/lib/extensions/LogExtension.d.ts +1 -1
- package/lib/extensions/LogExtension.js +5 -5
- package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
- package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
- package/lib/extensions/OpenIdExtension.d.ts +1 -1
- package/lib/extensions/OpenIdExtension.js +3 -3
- package/lib/extensions/OpenTelemetryExtension.js +1 -1
- package/lib/extensions/PostgresDbAccessExtension.d.ts +1 -1
- package/lib/extensions/PostgresDbAccessExtension.js +22 -6
- package/lib/extensions/SharedVolumeExtension.js +1 -1
- package/lib/extensions/TcpKeepAliveExtension.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/platform/ApiGateway.js +1 -1
- package/lib/platform/ApiGatewayVpcLink.d.ts +1 -1
- package/lib/platform/ApiGatewayVpcLink.js +6 -6
- package/lib/platform/ApplicationLoadBalancer.js +1 -1
- package/lib/platform/ApplicationLoadBalancerV2.d.ts +2 -2
- package/lib/platform/ApplicationLoadBalancerV2.js +6 -6
- package/lib/platform/BTCLogGroup.d.ts +2 -2
- package/lib/platform/BTCLogGroup.js +4 -4
- package/lib/platform/CognitoUserPool.d.ts +1 -1
- package/lib/platform/CognitoUserPool.js +9 -9
- package/lib/platform/DefaultUserPoolClients.js +1 -1
- package/lib/platform/DocumentDB.d.ts +1 -1
- package/lib/platform/DocumentDB.js +5 -5
- package/lib/platform/EcsCluster.d.ts +1 -1
- package/lib/platform/EcsCluster.js +3 -3
- package/lib/platform/EfsFileSystem.d.ts +2 -2
- package/lib/platform/EfsFileSystem.js +4 -4
- package/lib/platform/HostedZone.d.ts +1 -1
- package/lib/platform/HostedZone.js +4 -4
- package/lib/platform/PrivateDnsNamespace.d.ts +1 -1
- package/lib/platform/PrivateDnsNamespace.js +5 -5
- package/lib/platform/ResourceServer.js +1 -1
- package/lib/platform/Vpc.d.ts +1 -1
- package/lib/platform/Vpc.js +4 -4
- package/lib/platform/VpcV2.js +1 -1
- package/lib/stacks/ApplicationStack.d.ts +8 -0
- package/lib/stacks/ApplicationStack.js +17 -0
- package/lib/stacks/index.d.ts +1 -0
- package/lib/stacks/index.js +18 -0
- package/lib/utils/BasePlatformStackResolver.d.ts +5 -0
- package/lib/utils/BasePlatformStackResolver.js +24 -0
- package/lib/utils/StackParameter.d.ts +8 -1
- package/lib/utils/StackParameter.js +13 -4
- package/lib/utils/configFileParsing.d.ts +26 -0
- package/lib/utils/configFileParsing.js +36 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +2 -1
- package/package.json +1 -1
package/lib/platform/Vpc.js
CHANGED
|
@@ -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.
|
|
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,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsYXRmb3JtL1ZwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUk2QjtBQUM3QixpREFBNEQ7QUFDNUQsaURBQTBDO0FBQzFDLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFtQjFDOztHQUVHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsc0JBQVM7SUFDekIsTUFBTSxDQUFDLGdCQUFnQixDQUM1QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsU0FBa0I7UUFFbEIsTUFBTSxNQUFPLFNBQVEsc0JBQVM7WUFBOUI7O2dCQUNXLFNBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELGdCQUFXLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDM0UsQ0FBQztTQUFBO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQXlCRDs7Ozs7Ozs7T0FRRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO2dCQUNoRCxPQUFPLEVBQUUsS0FBSyxDQUFDLGNBQWM7YUFDOUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDekMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQztnQkFDekIsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQzNCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixJQUFJLEtBQUssQ0FBQztRQUMvRCxNQUFNLFlBQVksR0FBaUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFMUQsR0FBRyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxHQUFHLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLGVBQXdCO1FBQ2pELE1BQU0sU0FBUyxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUN0QixDQUFDO1FBRUYsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixNQUFNLGdCQUFnQixHQUFHLElBQUksYUFBRyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDdkQsaUJBQWlCLEVBQUUsSUFBSTthQUN4QixDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLEdBQUcsU0FBUztnQkFDWiwyQkFBMkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRTthQUMxRCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O0FBNUZILGtCQTZGQzs7O0FBL0VnQix5QkFBcUIsR0FBRyxJQUFJLHNCQUFjLENBQUM7SUFDeEQsTUFBTSxFQUFFLFNBQVM7SUFDakIsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixHQUFHLEVBQUUsUUFBUTtDQUNkLENBQUMsQ0FBQztBQUVZLHdCQUFvQixHQUFHLElBQUksc0JBQWMsQ0FBQztJQUN2RCxNQUFNLEVBQUUsU0FBUztJQUNqQixJQUFJLEVBQUUsY0FBYztJQUNwQixHQUFHLEVBQUUsTUFBTTtDQUNaLENBQUMsQ0FBQztBQUVZLGlCQUFhLEdBQUcsSUFBSSxzQkFBYyxDQUFDO0lBQ2hELE1BQU0sRUFBRSxTQUFTO0lBQ2pCLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLE1BQU07Q0FDWixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBWcGMgYXMgQVdTVnBjLFxuICBJVnBjIGFzIElBV1NWcGMsXG4gIElJcEFkZHJlc3Nlcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENsdXN0ZXIsIENsdXN0ZXJQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQgeyBLZXkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN0YWNrUGFyYW1ldGVyIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjUHJvcHMge1xuICByZWFkb25seSBkZWZpbmVkVnBjTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdnBjQ2lkcj86IElJcEFkZHJlc3NlcztcbiAgcmVhZG9ubHkgbWF4QXpzPzogbnVtYmVyO1xuICByZWFkb25seSBjcmVhdGVLbXNFeGVjQ29tbWFuZEtleT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBGUUROIHdoaWNoIGFsbCBhcHBzIGFuZCBzZXJ2aWNlcyBvZiB0aGlzIGJhc2UgcGxhdGZvcm0gaGF2ZSBpbiBjb21tb25cbiAgICovXG4gIHJlYWRvbmx5IGZxZG46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVnBjIHtcbiAgcmVhZG9ubHkgZnFkbjogc3RyaW5nO1xuICByZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgY2xhc3MgaXMgZGVwcmVjYXRlZC4gVXNlIHtAbGluayBWcGNWMn0gYW5kIHtAbGluayBFY3NDbHVzdGVyfSBjbGFzc2VzIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBWcGMgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJVnBjIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tQmFzZVBsYXRmb3JtKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBzdGFja05hbWU/OiBzdHJpbmcsXG4gICk6IElWcGMge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElWcGMge1xuICAgICAgcmVhZG9ubHkgZnFkbiA9IFZwYy5mcWRuUGFyYW1ldGVyLmltcG9ydChzY29wZSwgc3RhY2tOYW1lKTtcbiAgICAgIHJlYWRvbmx5IGNsdXN0ZXJOYW1lID0gVnBjLmNsdXN0ZXJOYW1lUGFyYW1ldGVyLmltcG9ydChzY29wZSwgc3RhY2tOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2x1c3RlclZwY0lkUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBwcmVmaXg6IFwiY2x1c3RlclwiLFxuICAgIG5hbWU6IFwiQ2x1c3RlciBWUEMgSURcIixcbiAgICBrZXk6IFwidnBjLWlkXCIsXG4gIH0pO1xuXG4gIHByaXZhdGUgc3RhdGljIGNsdXN0ZXJOYW1lUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBwcmVmaXg6IFwiY2x1c3RlclwiLFxuICAgIG5hbWU6IFwiQ2x1c3RlciBOYW1lXCIsXG4gICAga2V5OiBcIm5hbWVcIixcbiAgfSk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZnFkblBhcmFtZXRlciA9IG5ldyBTdGFja1BhcmFtZXRlcih7XG4gICAgcHJlZml4OiBcImNsdXN0ZXJcIixcbiAgICBuYW1lOiBcIkZRRE5cIixcbiAgICBrZXk6IFwiZnFkblwiLFxuICB9KTtcblxuICBwdWJsaWMgdnBjSW5zdGFuY2U6IElBV1NWcGM7XG4gIHB1YmxpYyBjbHVzdGVyOiBDbHVzdGVyO1xuICBwdWJsaWMgcmVhZG9ubHkgZnFkbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY29uc3RydWN0IHRoaXMgaXMgcGFydCBvZlxuICAgKiBAcGFyYW0gaWQgSWQgb2YgdGhpcyBjb25zdHJ1Y3QgZm9yIENsb3VkZm9ybWF0aW9uXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGFsbG93aW5nIHRvIHNldCBhIHByZWRlZmluZWQgVlBDTmFtZSwgSVBBZHJlc3NCbG9nLFxuICAgKiAgICAgICAgICAgICAgbWF4TnVtYmVyIG9mIEFacyBhbmQgZGVjaXNpb24gd2V0aGVyIHRvIGNyZWF0ZSBhIEtNU0tleSBmb3IgdXNhZ2VcbiAgICogICAgICAgICAgICAgIHdpdGggdGhlIEV4ZWMgZXh0ZW5zaW9uLiBEZWZhdWx0cyB0byBhbiBlbXB0eSBvYmplY3QgY3JlYXRpbmcgYVxuICAgKiAgICAgICAgICAgICAgZGVkaWNhdGVkIFZQQywgd2l0aCBtYXggMiBBWlMgYW5kIE5PIEtleSBmb3IgRXhlY1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFZwY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcy5kZWZpbmVkVnBjTmFtZSkge1xuICAgICAgdGhpcy52cGNJbnN0YW5jZSA9IEFXU1ZwYy5mcm9tTG9va3VwKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgdnBjTmFtZTogcHJvcHMuZGVmaW5lZFZwY05hbWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnZwY0NpZHIpIHtcbiAgICAgIHRoaXMudnBjSW5zdGFuY2UgPSBuZXcgQVdTVnBjKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgbWF4QXpzOiBwcm9wcy5tYXhBenMgPz8gMixcbiAgICAgICAgaXBBZGRyZXNzZXM6IHByb3BzLnZwY0NpZHIsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoXCJFaXRoZXIgZGVmaW5lZFZwY05hbWUgb3IgdnBjQ2lkciBoYXZlIHRvIGJlIHNldC5cIik7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkQ3JlYXRlS2V5ID0gcHJvcHMuY3JlYXRlS21zRXhlY0NvbW1hbmRLZXkgPz8gZmFsc2U7XG4gICAgY29uc3QgY2x1c3RlclByb3BzOiBDbHVzdGVyUHJvcHMgPSB0aGlzLmNyZWF0ZUNsdXN0ZXJQcm9wcyhzaG91bGRDcmVhdGVLZXkpO1xuXG4gICAgdGhpcy5jbHVzdGVyID0gbmV3IENsdXN0ZXIodGhpcywgXCJDbHVzdGVyXCIsIGNsdXN0ZXJQcm9wcyk7XG5cbiAgICBWcGMuY2x1c3RlclZwY0lkUGFyYW1ldGVyLmV4cG9ydCh0aGlzLCB0aGlzLnZwY0luc3RhbmNlLnZwY0lkKTtcbiAgICBWcGMuY2x1c3Rlck5hbWVQYXJhbWV0ZXIuZXhwb3J0KHRoaXMsIHRoaXMuY2x1c3Rlci5jbHVzdGVyTmFtZSk7XG4gICAgVnBjLmZxZG5QYXJhbWV0ZXIuZXhwb3J0KHRoaXMsIHByb3BzLmZxZG4pO1xuXG4gICAgdGhpcy5mcWRuID0gcHJvcHMuZnFkbjtcbiAgICB0aGlzLmNsdXN0ZXJOYW1lID0gdGhpcy5jbHVzdGVyLmNsdXN0ZXJOYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDbHVzdGVyUHJvcHMoc2hvdWxkQ3JlYXRlS2V5OiBib29sZWFuKTogQ2x1c3RlclByb3BzIHtcbiAgICBjb25zdCBiYXNlUHJvcHMgPSB7XG4gICAgICB2cGM6IHRoaXMudnBjSW5zdGFuY2UsXG4gICAgfTtcblxuICAgIGlmIChzaG91bGRDcmVhdGVLZXkpIHtcbiAgICAgIGNvbnN0IGttc0VuY3J5cHRpb25LZXkgPSBuZXcgS2V5KHRoaXMsIFwiQ2x1c3RlckV4ZWNLZXlcIiwge1xuICAgICAgICBlbmFibGVLZXlSb3RhdGlvbjogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5iYXNlUHJvcHMsXG4gICAgICAgIGV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbjogeyBrbXNLZXk6IGttc0VuY3J5cHRpb25LZXkgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2VQcm9wcztcbiAgfVxufVxuIl19
|
package/lib/platform/VpcV2.js
CHANGED
|
@@ -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.
|
|
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,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(
|
|
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
|
-
|
|
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.
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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=
|
package/lib/utils/index.d.ts
CHANGED
package/lib/utils/index.js
CHANGED
|
@@ -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,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUE0QztBQUM1QyxzREFBb0M7QUFDcEMseURBQXVDO0FBQ3ZDLG9EQUFrQztBQUNsQyw4Q0FBNEI7QUFDNUIsZ0RBQThCO0FBQzlCLG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Jhc2VQbGF0Zm9ybVN0YWNrUmVzb2x2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ0ZpbGVQYXJzaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWFjdGl2YXRlZENvbnN0cnVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0U3RhY2tJbmZvXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0ltcG9ydFZhbHVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TdGFja1BhcmFtZXRlclwiO1xuIl19
|