UNPKG

@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
"use strict"; 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