UNPKG

@apigeeks/fbl-k8s-plugin

Version:

fbl wrapper plugin for helm and kubectl cli utilities

57 lines 2.15 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const Joi = require("joi"); const typedi_1 = require("typedi"); const fbl_1 = require("fbl"); const services_1 = require("../../services"); class K8sDeleteObjectActionHandler extends fbl_1.ActionHandler { /* istanbul ignore next */ getMetadata() { return K8sDeleteObjectActionHandler.metadata; } getValidationSchema() { return K8sDeleteObjectActionHandler.schema; } execute(options, context, snapshot, parameters) { return __awaiter(this, void 0, void 0, function* () { const obj = { apiVersion: 'v1', kind: options.kind, metadata: { name: options.name, }, }; if (options.namespace) { obj.metadata.namespace = options.namespace; } yield typedi_1.Container.get(services_1.K8sKubectlService).deleteObject(obj, context); }); } } K8sDeleteObjectActionHandler.metadata = { id: 'a6s.k8s.kubectl.delete', aliases: ['k8s.kubectl.delete', 'kubectl.delete'], }; K8sDeleteObjectActionHandler.schema = Joi.object({ kind: Joi.string() .min(1) .required(), name: Joi.string() .min(1) .required(), namespace: Joi.string().min(1), }) .required() .options({ allowUnknown: true, }); exports.K8sDeleteObjectActionHandler = K8sDeleteObjectActionHandler; //# sourceMappingURL=K8sDeleteObjectActionHandler.js.map