UNPKG

@apigeeks/fbl-k8s-plugin

Version:

fbl wrapper plugin for helm and kubectl cli utilities

63 lines 2.52 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 K8sGetObjectActionHandler extends fbl_1.ActionHandler { /* istanbul ignore next */ getMetadata() { return K8sGetObjectActionHandler.metadata; } getValidationSchema() { return K8sGetObjectActionHandler.schema; } execute(options, context, snapshot, parameters) { return __awaiter(this, void 0, void 0, function* () { const getObjectOptions = { apiVersion: 'v1', kind: options.kind, metadata: { name: options.name, }, }; if (options.namespace) { getObjectOptions.metadata.namespace = options.namespace; } const object = yield typedi_1.Container.get(services_1.K8sKubectlService).getObject(getObjectOptions); yield fbl_1.ContextUtil.assignTo(context, parameters, snapshot, options.assignTo, object); yield fbl_1.ContextUtil.pushTo(context, parameters, snapshot, options.pushTo, object); snapshot.setContext(context); }); } } K8sGetObjectActionHandler.metadata = { id: 'a6s.k8s.kubectl.get', aliases: ['k8s.kubectl.get', 'kubectl.get'], }; K8sGetObjectActionHandler.schema = Joi.object({ kind: Joi.string() .min(1) .required(), name: Joi.string() .min(1) .required(), namespace: Joi.string().min(1), assignTo: fbl_1.FBL_ASSIGN_TO_SCHEMA, pushTo: fbl_1.FBL_PUSH_TO_SCHEMA, }) .or('assignTo', 'pushTo') .required() .options({ allowUnknown: true, }); exports.K8sGetObjectActionHandler = K8sGetObjectActionHandler; //# sourceMappingURL=K8sGetObjectActionHandler.js.map