@stoked-cenv/cli
Version:
A well considered cli and Node.js library for helping manage application, infrastructure, and configuration management.
203 lines • 8.74 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EnvCommand = void 0;
const nest_commander_1 = require("nest-commander");
const lib_1 = require("@stoked-cenv/lib");
const base_command_1 = require("./base.command");
let EnvCommand = class EnvCommand extends base_command_1.BaseCommand {
constructor() {
super();
}
parseLogLevel(val) {
return val;
}
parseDeploy(val) {
return val;
}
parseAdded(val) {
return val;
}
parseChanged(val) {
return val;
}
parseDeleted(val) {
return val;
}
parseListStacks(val) {
return val;
}
parseListBuckets(val) {
return val;
}
parseWithBucketLocation(val) {
return val;
}
parseCidr(val) {
return val;
}
parseExports(val) {
return val;
}
async runCommand(params, options) {
var _a, _b, _c;
try {
if (options === null || options === void 0 ? void 0 : options.listStacks) {
const filter = typeof (options === null || options === void 0 ? void 0 : options.listStacks) === 'string' ? [options.listStacks] : [];
const stacks = await (0, lib_1.listStacks)(filter);
lib_1.CenvLog.single.infoLog(`stacks:`);
stacks.forEach(s => lib_1.CenvLog.single.infoLog(JSON.stringify(s, null, 2)));
return;
}
else if (options === null || options === void 0 ? void 0 : options.listBucketsWithRegion) {
const buckets = await (0, lib_1.listBucketsWithRegion)({ region: process.env.AWS_REGION });
if (!buckets) {
lib_1.CenvLog.single.errorLog(`list buckets failed`);
return;
}
lib_1.CenvLog.single.infoLog(`buckets:`);
buckets.forEach(s => lib_1.CenvLog.single.infoLog(JSON.stringify(s, null, 2)));
return;
}
else if (options === null || options === void 0 ? void 0 : options.listBuckets) {
const buckets = await (0, lib_1.listBuckets)({ region: process.env.AWS_REGION });
lib_1.CenvLog.single.infoLog(`buckets:`);
if (!buckets) {
lib_1.CenvLog.single.errorLog(`list buckets failed`);
return;
}
buckets.forEach(s => lib_1.CenvLog.single.infoLog(JSON.stringify(s, null, 2)));
return;
}
else if ((options === null || options === void 0 ? void 0 : options.addedFiles) || (options === null || options === void 0 ? void 0 : options.changedFiles) || (options === null || options === void 0 ? void 0 : options.deletedFiles)) {
if (params.length !== 1) {
lib_1.CenvLog.single.alertLog(`You must provide an environment name when using the added, updated or deleted files options`);
return;
}
await (0, lib_1.processEnvFiles)(params[0], (_a = options === null || options === void 0 ? void 0 : options.addedFiles) === null || _a === void 0 ? void 0 : _a.split(' '), (_b = options === null || options === void 0 ? void 0 : options.changedFiles) === null || _b === void 0 ? void 0 : _b.split(' '), (_c = options === null || options === void 0 ? void 0 : options.deletedFiles) === null || _c === void 0 ? void 0 : _c.split(' '));
return;
}
await lib_1.Cenv.env(params, options);
}
catch (error) {
lib_1.CenvLog.single.catchLog(error);
}
}
};
exports.EnvCommand = EnvCommand;
__decorate([
(0, nest_commander_1.Option)({
flags: '-ll, --log-level, <logLevel>', description: `Logging mode`,
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", String)
], EnvCommand.prototype, "parseLogLevel", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-d, --deploy', description: 'Deploy the newly created environment',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], EnvCommand.prototype, "parseDeploy", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-added, --added-files [files]', description: 'List of newly added environment variables files',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", String)
], EnvCommand.prototype, "parseAdded", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-cf, --changed-files [files]', description: 'List of newly changed environment variables files',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", String)
], EnvCommand.prototype, "parseChanged", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-df, --deleted-files [files]', description: 'List of deleted environment variable files',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", String)
], EnvCommand.prototype, "parseDeleted", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-l, --list-stacks, [...filter]', description: `List environment stacks.`, choices: [
"CREATE_COMPLETE",
"CREATE_FAILED",
"CREATE_IN_PROGRESS",
"DELETE_COMPLETE",
"DELETE_FAILED",
"DELETE_IN_PROGRESS",
"IMPORT_COMPLETE",
"IMPORT_IN_PROGRESS",
"IMPORT_ROLLBACK_COMPLETE",
"IMPORT_ROLLBACK_FAILED",
"IMPORT_ROLLBACK_IN_PROGRESS",
"REVIEW_IN_PROGRESS",
"ROLLBACK_COMPLETE",
"ROLLBACK_FAILED",
"ROLLBACK_IN_PROGRESS",
"UPDATE_COMPLETE",
"UPDATE_COMPLETE_CLEANUP_IN_PROGRESS",
"UPDATE_FAILED",
"UPDATE_IN_PROGRESS",
"UPDATE_ROLLBACK_IN_PROGRESS"
],
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", String)
], EnvCommand.prototype, "parseListStacks", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-lb, --list-buckets', description: `List buckets`
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], EnvCommand.prototype, "parseListBuckets", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-lbwr, --list-buckets-with-region', description: `List buckets with region`
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], EnvCommand.prototype, "parseWithBucketLocation", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-cidr, --cidr', description: `Return the current cidr if network exists.`,
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], EnvCommand.prototype, "parseCidr", null);
__decorate([
(0, nest_commander_1.Option)({
flags: '-e, --exports', description: `Return exports`,
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], EnvCommand.prototype, "parseExports", null);
exports.EnvCommand = EnvCommand = __decorate([
(0, nest_commander_1.Command)({
name: 'env', arguments: '[environment]', description: 'Manage application environments with this command',
}),
__metadata("design:paramtypes", [])
], EnvCommand);
//# sourceMappingURL=env.command.js.map