@orcabus/platform-cdk-constructs 0.0.4

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.
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DeploymentStackPipeline = exports.DEFAULT_SYNTH_STEP_PARTIAL_BUILD_SPEC = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const constructs_1 = require("constructs");
7
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
8
+ const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
9
+ const aws_ssm_1 = require("aws-cdk-lib/aws-ssm");
10
+ const pipelines_1 = require("aws-cdk-lib/pipelines");
11
+ const aws_codepipeline_1 = require("aws-cdk-lib/aws-codepipeline");
12
+ const config_1 = require("./config");
13
+ /**
14
+ * The default partial build spec for the synth step in the pipeline.
15
+ */
16
+ exports.DEFAULT_SYNTH_STEP_PARTIAL_BUILD_SPEC = {
17
+ phases: {
18
+ install: {
19
+ "runtime-versions": {
20
+ nodejs: "22.x",
21
+ },
22
+ },
23
+ },
24
+ };
25
+ class DeploymentStackPipeline extends constructs_1.Construct {
26
+ constructor(scope, id, props) {
27
+ super(scope, id);
28
+ const codeStarArn = aws_ssm_1.StringParameter.valueForStringParameter(this, "/orcabus/codestar_github_arn");
29
+ const codeStarSourceActionName = "pipeline-src";
30
+ const sourceFile = pipelines_1.CodePipelineSource.connection(`OrcaBus/${props.githubRepo}`, props.githubBranch, {
31
+ connectionArn: codeStarArn,
32
+ actionName: codeStarSourceActionName,
33
+ triggerOnPush: true,
34
+ });
35
+ this.pipeline = new aws_codepipeline_1.Pipeline(this, "DeploymentCodePipeline", {
36
+ pipelineType: aws_codepipeline_1.PipelineType.V2,
37
+ pipelineName: props.pipelineName,
38
+ crossAccountKeys: true,
39
+ });
40
+ if (props.filePaths) {
41
+ // Add event filter to only trigger if the push event is from `deploy` directory
42
+ const cfnPipeline = this.pipeline.node.defaultChild;
43
+ cfnPipeline.addPropertyOverride("Triggers", [
44
+ {
45
+ GitConfiguration: {
46
+ Push: [
47
+ {
48
+ Branches: {
49
+ Includes: [props.githubBranch],
50
+ },
51
+ FilePaths: {
52
+ Includes: props.filePaths,
53
+ },
54
+ },
55
+ ],
56
+ SourceActionName: codeStarSourceActionName,
57
+ },
58
+ ProviderType: "CodeStarSourceConnection",
59
+ },
60
+ ]);
61
+ }
62
+ const { synthBuildSpec = exports.DEFAULT_SYNTH_STEP_PARTIAL_BUILD_SPEC } = props;
63
+ const cdkPipeline = new pipelines_1.CodePipeline(this, "CDKCodePipeline", {
64
+ codePipeline: this.pipeline,
65
+ synth: new pipelines_1.CodeBuildStep("CdkSynth", {
66
+ installCommands: [
67
+ "node -v",
68
+ "npm install --global corepack@latest",
69
+ "corepack --version",
70
+ "corepack enable",
71
+ ],
72
+ commands: props.cdkSynthCmd,
73
+ input: sourceFile,
74
+ primaryOutputDirectory: props.cdkOut || "cdk.out",
75
+ partialBuildSpec: aws_codebuild_1.BuildSpec.fromObject(synthBuildSpec),
76
+ }),
77
+ selfMutation: true,
78
+ codeBuildDefaults: {
79
+ buildEnvironment: {
80
+ computeType: aws_codebuild_1.ComputeType.LARGE,
81
+ buildImage: aws_codebuild_1.LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_3_0,
82
+ environmentVariables: {
83
+ NODE_OPTIONS: {
84
+ value: "--max-old-space-size=8192",
85
+ },
86
+ },
87
+ },
88
+ },
89
+ });
90
+ const defaultStageEnv = {
91
+ beta: config_1.BETA_ENVIRONMENT,
92
+ gamma: config_1.GAMMA_ENVIRONMENT,
93
+ prod: config_1.PROD_ENVIRONMENT,
94
+ };
95
+ const stageEnv = props.stageEnv || defaultStageEnv;
96
+ cdkPipeline.addStage(new DeploymentStage(this, "OrcaBusBeta", stageEnv.beta, props.stackName, props.stack, props.stackConfig.beta));
97
+ cdkPipeline.addStage(new DeploymentStage(this, "OrcaBusGamma", stageEnv.gamma, props.stackName, props.stack, props.stackConfig.gamma), { post: [new pipelines_1.ManualApprovalStep("PromoteToProd")] });
98
+ cdkPipeline.addStage(new DeploymentStage(this, "OrcaBusProd", stageEnv.prod, props.stackName, props.stack, props.stackConfig.prod));
99
+ }
100
+ }
101
+ exports.DeploymentStackPipeline = DeploymentStackPipeline;
102
+ _a = JSII_RTTI_SYMBOL_1;
103
+ DeploymentStackPipeline[_a] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.4" };
104
+ class DeploymentStage extends aws_cdk_lib_1.Stage {
105
+ constructor(scope, environmentName, env, stackName, stackClass, appStackProps) {
106
+ super(scope, environmentName, { env: env });
107
+ new stackClass(this, stackName, {
108
+ env: env,
109
+ tags: {
110
+ "umccr-org:Product": "OrcaUI",
111
+ "umccr-org:Creator": "CDK",
112
+ },
113
+ ...appStackProps,
114
+ });
115
+ }
116
+ }
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF1QztBQUN2Qyw2Q0FBd0Q7QUFDeEQsNkRBSW1DO0FBQ25DLGlEQUFzRDtBQUN0RCxxREFLK0I7QUFDL0IsbUVBSXNDO0FBQ3RDLHFDQUlrQjtBQUVsQjs7R0FFRztBQUNVLFFBQUEscUNBQXFDLEdBQUc7SUFDbkQsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1Asa0JBQWtCLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxNQUFNO2FBQ2Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQXVGRixNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBTXBELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcseUJBQWUsQ0FBQyx1QkFBdUIsQ0FDekQsSUFBSSxFQUNKLDhCQUE4QixDQUMvQixDQUFDO1FBQ0YsTUFBTSx3QkFBd0IsR0FBRyxjQUFjLENBQUM7UUFDaEQsTUFBTSxVQUFVLEdBQUcsOEJBQWtCLENBQUMsVUFBVSxDQUM5QyxXQUFXLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFDN0IsS0FBSyxDQUFDLFlBQVksRUFDbEI7WUFDRSxhQUFhLEVBQUUsV0FBVztZQUMxQixVQUFVLEVBQUUsd0JBQXdCO1lBQ3BDLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRTtZQUMzRCxZQUFZLEVBQUUsK0JBQVksQ0FBQyxFQUFFO1lBQzdCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLFNB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LEtBQWdCLEVBQ2hCLGVBQXVCLEVBQ3ZCLEdBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLFVBQW1FLEVBQ25FLGFBQWtCO1FBRWxCLEtBQUssQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM5QixHQUFHLEVBQUUsR0FBRztZQUNSLElBQUksRUFBRTtnQkFDSixtQkFBbUIsRUFBRSxRQUFRO2dCQUM3QixtQkFBbUIsRUFBRSxLQUFLO2FBQzNCO1lBQ0QsR0FBRyxhQUFhO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgU3RhY2ssIFN0YWdlIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBCdWlsZFNwZWMsXG4gIENvbXB1dGVUeXBlLFxuICBMaW51eEFybUJ1aWxkSW1hZ2UsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNzbVwiO1xuaW1wb3J0IHtcbiAgQ29kZUJ1aWxkU3RlcCxcbiAgQ29kZVBpcGVsaW5lLFxuICBDb2RlUGlwZWxpbmVTb3VyY2UsXG4gIE1hbnVhbEFwcHJvdmFsU3RlcCxcbn0gZnJvbSBcImF3cy1jZGstbGliL3BpcGVsaW5lc1wiO1xuaW1wb3J0IHtcbiAgUGlwZWxpbmUsXG4gIENmblBpcGVsaW5lLFxuICBQaXBlbGluZVR5cGUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBCRVRBX0VOVklST05NRU5ULFxuICBHQU1NQV9FTlZJUk9OTUVOVCxcbiAgUFJPRF9FTlZJUk9OTUVOVCxcbn0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgcGFydGlhbCBidWlsZCBzcGVjIGZvciB0aGUgc3ludGggc3RlcCBpbiB0aGUgcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NZTlRIX1NURVBfUEFSVElBTF9CVUlMRF9TUEVDID0ge1xuICBwaGFzZXM6IHtcbiAgICBpbnN0YWxsOiB7XG4gICAgICBcInJ1bnRpbWUtdmVyc2lvbnNcIjoge1xuICAgICAgICBub2RlanM6IFwiMjIueFwiLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFnZUVudlByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBmb3IgdGhlIGJldGEgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGJldGE6IEVudmlyb25tZW50O1xuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IGZvciB0aGUgZ2FtbWEgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGdhbW1hOiBFbnZpcm9ubWVudDtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBmb3IgdGhlIHByb2Qgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2Q6IEVudmlyb25tZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrQ29uZmlnUHJvcHMge1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBiZXRhIChkZXYpIHN0YWdlXG4gICAqL1xuICByZWFkb25seSBiZXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnYW1tYSAoc3RnKSBzdGFnZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2FtbWE6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHByb2Qgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2Q6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudFN0YWNrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZ2l0aHViIGJyYW5jaCBuYW1lIGl0IHdpbGwgbGlzdGVuIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViQnJhbmNoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSBuYW1lIHRoYXQgZXhpc3QgaW4gdGhlICdPcmNhQnVzJyBnaXRodWIgb3JnYW5pc2F0aW9uLiBlLmcuIGBhLW1pY3JvLXNlcnZpY2UtcmVwb2BcbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1YlJlcG86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0byB3aGljaCB0aGUgcGlwZWxpbmUgd2lsbCBiZSBkZXBsb3lpbmcgdG8gaXRzIHJlc3BlY3RpdmUgYWNjb3VudFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2s6IGFueTtcbiAgLyoqXG4gICAqIFRoZSBzdGFjayBuYW1lIChpbiBjbG91ZGZvcm1hdGlvbikgZm9yIHRoZSBzdGFjayBkZWZpbmVkIGluIGBzdGFja2AuIFRoZSBzdGFjayBuYW1lIHdpbGwgcHJlcGVuZCB3aXRoIHRoZSBzdGFnZVxuICAgKiBuYW1lIGUuZy4gYE9yY2FCdXNCZXRhLTxzdGFja05hbWU+YCwgYE9yY2FCdXNHYW1tYS08c3RhY2tOYW1lPmAsIGBPcmNhQnVzUHJvZC08c3RhY2tOYW1lPmBcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHN0YWNrIGNvbmZpZ3VyYXRpb24vY29uc3RhbnRzIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHN0YWNrIHByb3BzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tDb25maWc6IFN0YWNrQ29uZmlnUHJvcHM7XG4gIC8qKlxuICAgKiBUaGUgcGlwZWxpbmUgbmFtZSBpbiB0aGUgYmFzdGlvbiBhY2NvdW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBwYXRocyB0byB0cmlnZ2VyIHRoZSBwaXBlbGluZS4gZS5nLiBbXCJzdGF0ZWxlc3MvKipcIl1cbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtY29kZXBpcGVsaW5lLXBpcGVsaW5lLWdpdGZpbGVwYXRoZmlsdGVyY3JpdGVyaWEuaHRtbFxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZVBhdGhzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCB0byBydW4gdG8gc3ludGggdGhlIGNkayBzdGFjayB3aGljaCBhbHNvIGluc3RhbGxpbmcgdGhlIGNkayBkZXBlbmRlbmNpZXMuIGUuZy4gW1wieWFybiBpbnN0YWxsIC0taW1tdXRhYmxlXCIsIFwieWFybiBjZGsgc3ludGhcIl1cbiAgICovXG4gIHJlYWRvbmx5IGNka1N5bnRoQ21kOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgY2RrIG91dHB1dCB3aWxsIGJlIHN0b3JlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgY2RrLm91dFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrT3V0Pzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgQ29kZUJ1aWxkIHN0ZXAgZHVyaW5nIHRoZSBDREsgc3ludGggcGhhc2UuIEl0IHdpbGwgcGFzc2VkIGFzIHRoZSBgcGFydGlhbEJ1aWxkU3BlY2AgdG8gdGhlIGBDb2RlQnVpbGRTdGVwYC5cbiAgICpcbiAgICogQGRlZmF1bHQgREVGQVVMVF9TWU5USF9TVEVQX1BBUlRJQUxfQlVJTERfU1BFQ1xuICAgKi9cbiAgcmVhZG9ubHkgc3ludGhCdWlsZFNwZWM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogVGhlIHN0YWdlIGVudmlyb25tZW50IGZvciB0aGUgZGVwbG95bWVudCBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2VFbnY/OiBTdGFnZUVudlByb3BzO1xufVxuXG5leHBvcnQgY2xhc3MgRGVwbG95bWVudFN0YWNrUGlwZWxpbmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIGNvZGUgcGlwZWxpbmUgY29uc3RydWN0IHRoYXQgaXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lOiBQaXBlbGluZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IERlcGxveW1lbnRTdGFja1BpcGVsaW5lUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjb2RlU3RhckFybiA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclN0cmluZ1BhcmFtZXRlcihcbiAgICAgIHRoaXMsXG4gICAgICBcIi9vcmNhYnVzL2NvZGVzdGFyX2dpdGh1Yl9hcm5cIixcbiAgICApO1xuICAgIGNvbnN0IGNvZGVTdGFyU291cmNlQWN0aW9uTmFtZSA9IFwicGlwZWxpbmUtc3JjXCI7XG4gICAgY29uc3Qgc291cmNlRmlsZSA9IENvZGVQaXBlbGluZVNvdXJjZS5jb25uZWN0aW9uKFxuICAgICAgYE9yY2FCdXMvJHtwcm9wcy5naXRodWJSZXBvfWAsXG4gICAgICBwcm9wcy5naXRodWJCcmFuY2gsXG4gICAgICB7XG4gICAgICAgIGNvbm5lY3Rpb25Bcm46IGNvZGVTdGFyQXJuLFxuICAgICAgICBhY3Rpb25OYW1lOiBjb2RlU3RhclNvdXJjZUFjdGlvbk5hbWUsXG4gICAgICAgIHRyaWdnZXJPblB1c2g6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLnBpcGVsaW5lID0gbmV3IFBpcGVsaW5lKHRoaXMsIFwiRGVwbG95bWVudENvZGVQaXBlbGluZVwiLCB7XG4gICAgICBwaXBlbGluZVR5cGU6IFBpcGVsaW5lVHlwZS5WMixcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgY3Jvc3NBY2NvdW50S2V5czogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5maWxlUGF0aHMpIHtcbiAgICAgIC8vIEFkZCBldmVudCBmaWx0ZXIgdG8gb25seSB0cmlnZ2VyIGlmIHRoZSBwdXNoIGV2ZW50IGlzIGZyb20gYGRlcGxveWAgZGlyZWN0b3J5XG4gICAgICBjb25zdCBjZm5QaXBlbGluZSA9IHRoaXMucGlwZWxpbmUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUGlwZWxpbmU7XG4gICAgICBjZm5QaXBlbGluZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKFwiVHJpZ2dlcnNcIiwgW1xuICAgICAgICB7XG4gICAgICAgICAgR2l0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgUHVzaDogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgQnJhbmNoZXM6IHtcbiAgICAgICAgICAgICAgICAgIEluY2x1ZGVzOiBbcHJvcHMuZ2l0aHViQnJhbmNoXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIEZpbGVQYXRoczoge1xuICAgICAgICAgICAgICAgICAgSW5jbHVkZXM6IHByb3BzLmZpbGVQYXRocyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFNvdXJjZUFjdGlvbk5hbWU6IGNvZGVTdGFyU291cmNlQWN0aW9uTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIFByb3ZpZGVyVHlwZTogXCJDb2RlU3RhclNvdXJjZUNvbm5lY3Rpb25cIixcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGNvbnN0IHsgc3ludGhCdWlsZFNwZWMgPSBERUZBVUxUX1NZTlRIX1NURVBfUEFSVElBTF9CVUlMRF9TUEVDIH0gPSBwcm9wcztcbiAgICBjb25zdCBjZGtQaXBlbGluZSA9IG5ldyBDb2RlUGlwZWxpbmUodGhpcywgXCJDREtDb2RlUGlwZWxpbmVcIiwge1xuICAgICAgY29kZVBpcGVsaW5lOiB0aGlzLnBpcGVsaW5lLFxuICAgICAgc3ludGg6IG5ldyBDb2RlQnVpbGRTdGVwKFwiQ2RrU3ludGhcIiwge1xuICAgICAgICBpbnN0YWxsQ29tbWFuZHM6IFtcbiAgICAgICAgICBcIm5vZGUgLXZcIixcbiAgICAgICAgICBcIm5wbSBpbnN0YWxsIC0tZ2xvYmFsIGNvcmVwYWNrQGxhdGVzdFwiLFxuICAgICAgICAgIFwiY29yZXBhY2sgLS12ZXJzaW9uXCIsXG4gICAgICAgICAgXCJjb3JlcGFjayBlbmFibGVcIixcbiAgICAgICAgXSxcbiAgICAgICAgY29tbWFuZHM6IHByb3BzLmNka1N5bnRoQ21kLFxuICAgICAgICBpbnB1dDogc291cmNlRmlsZSxcbiAgICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogcHJvcHMuY2RrT3V0IHx8IFwiY2RrLm91dFwiLFxuICAgICAgICBwYXJ0aWFsQnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdChzeW50aEJ1aWxkU3BlYyksXG4gICAgICB9KSxcbiAgICAgIHNlbGZNdXRhdGlvbjogdHJ1ZSxcbiAgICAgIGNvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTEFSR0UsXG4gICAgICAgICAgYnVpbGRJbWFnZTogTGludXhBcm1CdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yX1NUQU5EQVJEXzNfMCxcbiAgICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczoge1xuICAgICAgICAgICAgTk9ERV9PUFRJT05TOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBcIi0tbWF4LW9sZC1zcGFjZS1zaXplPTgxOTJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWZhdWx0U3RhZ2VFbnY6IFN0YWdlRW52UHJvcHMgPSB7XG4gICAgICBiZXRhOiBCRVRBX0VOVklST05NRU5ULFxuICAgICAgZ2FtbWE6IEdBTU1BX0VOVklST05NRU5ULFxuICAgICAgcHJvZDogUFJPRF9FTlZJUk9OTUVOVCxcbiAgICB9O1xuICAgIGNvbnN0IHN0YWdlRW52ID0gcHJvcHMuc3RhZ2VFbnYgfHwgZGVmYXVsdFN0YWdlRW52O1xuXG4gICAgY2RrUGlwZWxpbmUuYWRkU3RhZ2UoXG4gICAgICBuZXcgRGVwbG95bWVudFN0YWdlKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk9yY2FCdXNCZXRhXCIsXG4gICAgICAgIHN0YWdlRW52LmJldGEsXG4gICAgICAgIHByb3BzLnN0YWNrTmFtZSxcbiAgICAgICAgcHJvcHMuc3RhY2ssXG4gICAgICAgIHByb3BzLnN0YWNrQ29uZmlnLmJldGEsXG4gICAgICApLFxuICAgICk7XG5cbiAgICBjZGtQaXBlbGluZS5hZGRTdGFnZShcbiAgICAgIG5ldyBEZXBsb3ltZW50U3RhZ2UoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiT3JjYUJ1c0dhbW1hXCIsXG4gICAgICAgIHN0YWdlRW52LmdhbW1hLFxuICAgICAgICBwcm9wcy5zdGFja05hbWUsXG4gICAgICAgIHByb3BzLnN0YWNrLFxuICAgICAgICBwcm9wcy5zdGFja0NvbmZpZy5nYW1tYSxcbiAgICAgICksXG4gICAgICB7IHBvc3Q6IFtuZXcgTWFudWFsQXBwcm92YWxTdGVwKFwiUHJvbW90ZVRvUHJvZFwiKV0gfSxcbiAgICApO1xuXG4gICAgY2RrUGlwZWxpbmUuYWRkU3RhZ2UoXG4gICAgICBuZXcgRGVwbG95bWVudFN0YWdlKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk9yY2FCdXNQcm9kXCIsXG4gICAgICAgIHN0YWdlRW52LnByb2QsXG4gICAgICAgIHByb3BzLnN0YWNrTmFtZSxcbiAgICAgICAgcHJvcHMuc3RhY2ssXG4gICAgICAgIHByb3BzLnN0YWNrQ29uZmlnLnByb2QsXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cblxuY2xhc3MgRGVwbG95bWVudFN0YWdlIGV4dGVuZHMgU3RhZ2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGVudmlyb25tZW50TmFtZTogc3RyaW5nLFxuICAgIGVudjogRW52aXJvbm1lbnQsXG4gICAgc3RhY2tOYW1lOiBzdHJpbmcsXG4gICAgc3RhY2tDbGFzczogbmV3IChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogYW55KSA9PiBTdGFjayxcbiAgICBhcHBTdGFja1Byb3BzOiBhbnksXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBlbnZpcm9ubWVudE5hbWUsIHsgZW52OiBlbnYgfSk7XG4gICAgbmV3IHN0YWNrQ2xhc3ModGhpcywgc3RhY2tOYW1lLCB7XG4gICAgICBlbnY6IGVudixcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgXCJ1bWNjci1vcmc6UHJvZHVjdFwiOiBcIk9yY2FVSVwiLFxuICAgICAgICBcInVtY2NyLW9yZzpDcmVhdG9yXCI6IFwiQ0RLXCIsXG4gICAgICB9LFxuICAgICAgLi4uYXBwU3RhY2tQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * as apigateway from "./api-gateway";
2
+ export * as deploymentPipeline from "./deployment-stack-pipeline";
3
+ export * as utils from "./utils";
package/index.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.utils = exports.deploymentPipeline = exports.apigateway = void 0;
4
+ exports.apigateway = require("./api-gateway");
5
+ exports.deploymentPipeline = require("./deployment-stack-pipeline");
6
+ exports.utils = require("./utils");
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBNEM7QUFDNUMsb0VBQWtFO0FBQ2xFLG1DQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIGFwaWdhdGV3YXkgZnJvbSBcIi4vYXBpLWdhdGV3YXlcIjtcbmV4cG9ydCAqIGFzIGRlcGxveW1lbnRQaXBlbGluZSBmcm9tIFwiLi9kZXBsb3ltZW50LXN0YWNrLXBpcGVsaW5lXCI7XG5leHBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlsc1wiO1xuIl19
package/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * as apigateway from "./api-gateway";
2
+ export * as deploymentPipeline from "./deployment-stack-pipeline";
3
+ export * as utils from "./utils";
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@orcabus/platform-cdk-constructs",
3
+ "version": "0.0.4",
4
+ "description": "CDK Package for OrcaBus infrastructure.",
5
+ "main": "index.ts",
6
+ "types": "index.d.ts",
7
+ "scripts": {
8
+ "build": "jsii",
9
+ "build:watch": "jsii --watch",
10
+ "package": "jsii-pacmak"
11
+ },
12
+ "keywords": [
13
+ "aws",
14
+ "cdk"
15
+ ],
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/OrcaBus/platform-cdk-construct.git",
19
+ "directory": "packages"
20
+ },
21
+ "license": "MIT",
22
+ "author": {
23
+ "name": "University of Melbourne Centre for Cancer Research",
24
+ "organization": true
25
+ },
26
+ "devDependencies": {
27
+ "aws-cdk": "^2.1006.0",
28
+ "aws-cdk-lib": "2.183.0",
29
+ "constructs": "10.4.2",
30
+ "jsii": "^5.8.3",
31
+ "jsii-pacmak": "^1.110.0",
32
+ "publib": "^0.2.965"
33
+ },
34
+ "peerDependencies": {
35
+ "aws-cdk-lib": "^2.183.0",
36
+ "constructs": "^10.4.2"
37
+ },
38
+ "stability": "experimental",
39
+ "jsii": {
40
+ "outdir": "dist",
41
+ "versionFormat": "short",
42
+ "targets": {},
43
+ "excludeTypescript": [
44
+ "dev/**/*.ts"
45
+ ]
46
+ }
47
+ }
@@ -0,0 +1 @@
1
+ export type StageName = "BETA" | "GAMMA" | "PROD";
package/utils/index.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU3RhZ2VOYW1lID0gXCJCRVRBXCIgfCBcIkdBTU1BXCIgfCBcIlBST0RcIjtcbiJdfQ==