projen
Version:
CDK for software projects
86 lines • 8.71 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CdktnTasks = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const component_1 = require("../component");
/**
* Adds standard CDKTN tasks to your project.
*/
class CdktnTasks extends component_1.Component {
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.cdktn.CdktnTasks", version: "0.103.12" };
/**
* Gets/updates Terraform providers and modules.
*/
get;
/**
* Synthesizes your app.
*/
synth;
/**
* Synthesizes your app and suppresses stdout.
*/
synthSilent;
/**
* Plan your app deployment.
*/
plan;
/**
* Deploys your app.
*/
deploy;
/**
* Destroys all the stacks.
*/
destroy;
/**
* Diff against the currently deployed stacks.
*/
diff;
/**
* Watch task.
*/
watch;
constructor(project) {
super(project);
this.get = project.addTask("get", {
description: "Imports and updates Terraform providers and modules",
execArgs: ["cdktn", "get"],
});
this.synth = project.addTask("synth", {
description: "Synthesizes your CDKTN app into cdktf.out",
execArgs: ["cdktn", "synth"],
});
this.synthSilent = project.addTask("synth:silent", {
description: 'Synthesizes your CDKTN app into cdktf.out and suppresses the template in stdout (part of "yarn build")',
execArgs: ["cdktn", "synth", "-q"],
});
this.plan = project.addTask("plan", {
description: "Plan your CDKTN app deployment",
execArgs: ["cdktn", "plan"],
receiveArgs: true,
});
this.deploy = project.addTask("deploy", {
description: "Deploys your CDKTN app",
execArgs: ["cdktn", "deploy"],
receiveArgs: true,
});
this.destroy = project.addTask("destroy", {
description: "Destroys your CDKTN app",
execArgs: ["cdktn", "destroy"],
receiveArgs: true,
});
this.diff = project.addTask("diff", {
description: "Diffs the currently deployed stacks against your code",
execArgs: ["cdktn", "diff"],
});
// typescript projects already have a "watch" task, we will repurpose it
const watch = project.tasks.tryFind("watch") ?? project.addTask("watch");
watch.reset();
watch.description =
"Watches changes in your source code and rebuilds and deploys to the current account";
watch.execArgs(["cdktn", "watch"]);
this.watch = watch;
}
}
exports.CdktnTasks = CdktnTasks;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdG4tdGFza3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrdG4vY2RrdG4tdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDRDQUF5QztBQUl6Qzs7R0FFRztBQUNILE1BQWEsVUFBVyxTQUFRLHFCQUFTOztJQUN2Qzs7T0FFRztJQUNhLEdBQUcsQ0FBTztJQUUxQjs7T0FFRztJQUNhLEtBQUssQ0FBTztJQUU1Qjs7T0FFRztJQUNhLFdBQVcsQ0FBTztJQUVsQzs7T0FFRztJQUNhLElBQUksQ0FBTztJQUUzQjs7T0FFRztJQUNhLE1BQU0sQ0FBTztJQUU3Qjs7T0FFRztJQUNhLE9BQU8sQ0FBTztJQUU5Qjs7T0FFRztJQUNhLElBQUksQ0FBTztJQUUzQjs7T0FFRztJQUNhLEtBQUssQ0FBTztJQUU1QixZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDaEMsV0FBVyxFQUFFLHFEQUFxRDtZQUNsRSxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO1NBQzNCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDcEMsV0FBVyxFQUFFLDJDQUEyQztZQUN4RCxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDakQsV0FBVyxFQUNULHdHQUF3RztZQUMxRyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQztTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxnQ0FBZ0M7WUFDN0MsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztZQUMzQixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSx3QkFBd0I7WUFDckMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztZQUM3QixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3hDLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztZQUM5QixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xDLFdBQVcsRUFBRSx1REFBdUQ7WUFDcEUsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztTQUM1QixDQUFDLENBQUM7UUFFSCx3RUFBd0U7UUFDeEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6RSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZCxLQUFLLENBQUMsV0FBVztZQUNmLHFGQUFxRixDQUFDO1FBRXhGLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOztBQTdGSCxnQ0E4RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcblxuLyoqXG4gKiBBZGRzIHN0YW5kYXJkIENES1ROIHRhc2tzIHRvIHlvdXIgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIENka3RuVGFza3MgZXh0ZW5kcyBDb21wb25lbnQge1xuICAvKipcbiAgICogR2V0cy91cGRhdGVzIFRlcnJhZm9ybSBwcm92aWRlcnMgYW5kIG1vZHVsZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZ2V0OiBUYXNrO1xuXG4gIC8qKlxuICAgKiBTeW50aGVzaXplcyB5b3VyIGFwcC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzeW50aDogVGFzaztcblxuICAvKipcbiAgICogU3ludGhlc2l6ZXMgeW91ciBhcHAgYW5kIHN1cHByZXNzZXMgc3Rkb3V0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN5bnRoU2lsZW50OiBUYXNrO1xuXG4gIC8qKlxuICAgKiBQbGFuIHlvdXIgYXBwIGRlcGxveW1lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGxhbjogVGFzaztcblxuICAvKipcbiAgICogRGVwbG95cyB5b3VyIGFwcC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXBsb3k6IFRhc2s7XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIGFsbCB0aGUgc3RhY2tzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlc3Ryb3k6IFRhc2s7XG5cbiAgLyoqXG4gICAqIERpZmYgYWdhaW5zdCB0aGUgY3VycmVudGx5IGRlcGxveWVkIHN0YWNrcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkaWZmOiBUYXNrO1xuXG4gIC8qKlxuICAgKiBXYXRjaCB0YXNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHdhdGNoOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuZ2V0ID0gcHJvamVjdC5hZGRUYXNrKFwiZ2V0XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkltcG9ydHMgYW5kIHVwZGF0ZXMgVGVycmFmb3JtIHByb3ZpZGVycyBhbmQgbW9kdWxlc1wiLFxuICAgICAgZXhlY0FyZ3M6IFtcImNka3RuXCIsIFwiZ2V0XCJdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zeW50aCA9IHByb2plY3QuYWRkVGFzayhcInN5bnRoXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN5bnRoZXNpemVzIHlvdXIgQ0RLVE4gYXBwIGludG8gY2RrdGYub3V0XCIsXG4gICAgICBleGVjQXJnczogW1wiY2RrdG5cIiwgXCJzeW50aFwiXSxcbiAgICB9KTtcblxuICAgIHRoaXMuc3ludGhTaWxlbnQgPSBwcm9qZWN0LmFkZFRhc2soXCJzeW50aDpzaWxlbnRcIiwge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdTeW50aGVzaXplcyB5b3VyIENES1ROIGFwcCBpbnRvIGNka3RmLm91dCBhbmQgc3VwcHJlc3NlcyB0aGUgdGVtcGxhdGUgaW4gc3Rkb3V0IChwYXJ0IG9mIFwieWFybiBidWlsZFwiKScsXG4gICAgICBleGVjQXJnczogW1wiY2RrdG5cIiwgXCJzeW50aFwiLCBcIi1xXCJdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wbGFuID0gcHJvamVjdC5hZGRUYXNrKFwicGxhblwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJQbGFuIHlvdXIgQ0RLVE4gYXBwIGRlcGxveW1lbnRcIixcbiAgICAgIGV4ZWNBcmdzOiBbXCJjZGt0blwiLCBcInBsYW5cIl0sXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuZGVwbG95ID0gcHJvamVjdC5hZGRUYXNrKFwiZGVwbG95XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkRlcGxveXMgeW91ciBDREtUTiBhcHBcIixcbiAgICAgIGV4ZWNBcmdzOiBbXCJjZGt0blwiLCBcImRlcGxveVwiXSxcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXN0cm95ID0gcHJvamVjdC5hZGRUYXNrKFwiZGVzdHJveVwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJEZXN0cm95cyB5b3VyIENES1ROIGFwcFwiLFxuICAgICAgZXhlY0FyZ3M6IFtcImNka3RuXCIsIFwiZGVzdHJveVwiXSxcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kaWZmID0gcHJvamVjdC5hZGRUYXNrKFwiZGlmZlwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJEaWZmcyB0aGUgY3VycmVudGx5IGRlcGxveWVkIHN0YWNrcyBhZ2FpbnN0IHlvdXIgY29kZVwiLFxuICAgICAgZXhlY0FyZ3M6IFtcImNka3RuXCIsIFwiZGlmZlwiXSxcbiAgICB9KTtcblxuICAgIC8vIHR5cGVzY3JpcHQgcHJvamVjdHMgYWxyZWFkeSBoYXZlIGEgXCJ3YXRjaFwiIHRhc2ssIHdlIHdpbGwgcmVwdXJwb3NlIGl0XG4gICAgY29uc3Qgd2F0Y2ggPSBwcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJ3YXRjaFwiKSA/PyBwcm9qZWN0LmFkZFRhc2soXCJ3YXRjaFwiKTtcblxuICAgIHdhdGNoLnJlc2V0KCk7XG4gICAgd2F0Y2guZGVzY3JpcHRpb24gPVxuICAgICAgXCJXYXRjaGVzIGNoYW5nZXMgaW4geW91ciBzb3VyY2UgY29kZSBhbmQgcmVidWlsZHMgYW5kIGRlcGxveXMgdG8gdGhlIGN1cnJlbnQgYWNjb3VudFwiO1xuXG4gICAgd2F0Y2guZXhlY0FyZ3MoW1wiY2RrdG5cIiwgXCJ3YXRjaFwiXSk7XG5cbiAgICB0aGlzLndhdGNoID0gd2F0Y2g7XG4gIH1cbn1cbiJdfQ==