@stoked-cenv/cli
Version:
A well considered cli and Node.js library for helping manage application, infrastructure, and configuration management.
150 lines • 6.71 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.ParamsRemoveCommand = void 0;
const nest_commander_1 = require("nest-commander");
const lib_1 = require("@stoked-cenv/lib");
const base_command_1 = require("./base.command");
let ParamsRemoveCommand = class ParamsRemoveCommand extends base_command_1.BaseCommand {
constructor() {
super();
}
parseConfig(val) {
return val;
}
parseEnvironment(val) {
return val;
}
parseGlobal(val) {
return val;
}
parseGlobalEnv(val) {
return val;
}
parseKill(val) {
return val;
}
parseAll(val) {
return val;
}
parsePath(val) {
return val;
}
printRm(key, type) {
lib_1.CenvLog.colors.info('removing parameter ' + lib_1.CenvLog.colors.infoBold(key) + ' from ' + lib_1.CenvLog.colors.infoBold(type));
}
async runCommand(params, options, packages) {
try {
if (options === null || options === void 0 ? void 0 : options.path) {
await (0, lib_1.deleteParametersByPath)(options === null || options === void 0 ? void 0 : options.path);
return;
}
if (!options) {
return;
}
const types = (0, lib_1.filteredCount)(Object.keys(options), lib_1.variableTypes);
if (types.length > 1) {
lib_1.CenvLog.single.errorLog(`Must only contain zero or one type flag (${lib_1.CenvLog.colors.infoBold('--app-type')}, ${lib_1.CenvLog.colors.infoBold('--environment-type')}, ${lib_1.CenvLog.colors.infoBold('--global-type')}, ${lib_1.CenvLog.colors.infoBold('--global-env-type')}`);
return;
}
const originalCwd = process.cwd();
if (packages === null || packages === void 0 ? void 0 : packages.length) {
for (let i = 0; i < (packages === null || packages === void 0 ? void 0 : packages.length);) {
const app = packages.shift();
const allTypes = originalCwd === (app === null || app === void 0 ? void 0 : app.path);
if (app && app.chDir() && app.params) {
await app.params.removeParameters(params, Object.assign(Object.assign({}, options), { allTypes }), types);
}
}
return;
}
}
catch (e) {
lib_1.CenvLog.single.errorLog(e);
}
}
};
exports.ParamsRemoveCommand = ParamsRemoveCommand;
__decorate([
(0, nest_commander_1.Option)({
name: 'app type',
flags: '-A, --app-type',
description: 'Adds an app parameter. App parameters are the same across all environments and are not used in other applications.',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], ParamsRemoveCommand.prototype, "parseConfig", null);
__decorate([
(0, nest_commander_1.Option)({
name: 'environment type',
flags: '-E, --environment-type',
description: 'Adds an environment parameter. Environment parameters are unique to each environment and are not used in other applications.',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], ParamsRemoveCommand.prototype, "parseEnvironment", null);
__decorate([
(0, nest_commander_1.Option)({
name: 'global type',
flags: '-G, --global-type',
description: 'Adds a global parameter. Global parameters are available to all applications in all environments.',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], ParamsRemoveCommand.prototype, "parseGlobal", null);
__decorate([
(0, nest_commander_1.Option)({
name: 'globalEnv type',
flags: '-GE, --global-env-type',
description: 'Adds a global environment parameter. Global environment parameters are available to all applications in a single environment.',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], ParamsRemoveCommand.prototype, "parseGlobalEnv", null);
__decorate([
(0, nest_commander_1.Option)({
name: 'kill',
flags: '-k, --kill',
description: 'Forces the system to actually delete the parameter. This is not recommended. This parameter may be used by another service.',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], ParamsRemoveCommand.prototype, "parseKill", null);
__decorate([
(0, nest_commander_1.Option)({
name: 'all',
flags: '--all',
description: 'Removes all parameters related to the service. Global links will be removed but the parameters will remain.',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Boolean]),
__metadata("design:returntype", Boolean)
], ParamsRemoveCommand.prototype, "parseAll", null);
__decorate([
(0, nest_commander_1.Option)({
name: 'path', flags: '-P, --path, [path]', description: 'Removes everything under the given paths hierarchy in AWS Parameter Store.',
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", String)
], ParamsRemoveCommand.prototype, "parsePath", null);
exports.ParamsRemoveCommand = ParamsRemoveCommand = __decorate([
(0, nest_commander_1.SubCommand)({
name: 'rm', description: 'Add parameter(s) to package', arguments: '[key] [moreKeys...]',
}),
__metadata("design:paramtypes", [])
], ParamsRemoveCommand);
//# sourceMappingURL=params.rm.command.js.map