UNPKG

@broadcom/ops-for-zowe-cli

Version:

OPS/MVS® Plug-in for Zowe CLI

311 lines 17.6 kB
"use strict"; /* * Copyright (c) 2024 Broadcom. All Rights Reserved. The term * "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * * This software and all information contained therein is * confidential and proprietary and shall not be duplicated, * used, disclosed, or disseminated in any way except as * authorized by the applicable license agreement, without the * express written permission of Broadcom. All authorized * reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO * THE EXTENT PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS * SOFTWARE WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT * LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM * BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR * DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE, * INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS * INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS * EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.SSMResourceListUtils = void 0; const constants_1 = require("../constants"); const OpsTextUtils_1 = require("./OpsTextUtils"); class SSMResourceListUtils { static printShowResourceResponse(SSMResourceList, params) { if (params.arguments.restApi === false) { return SSMResourceListUtils.formatNotRestApiResourceList(SSMResourceList, params); } else { return SSMResourceListUtils.formatRestApiAllResourceList(SSMResourceList, params); } } static printResourceStateList(SSMResourceList, params) { if (params.arguments.restApi === false) { return SSMResourceListUtils.formatNotRestApiResourceList(SSMResourceList, params); } else { return SSMResourceListUtils.formatRestApiResourceList(SSMResourceList, params); } } static formatNotRestApiResourceList(SSMResourceList, params) { let table = ""; let output = ""; for (let i = 0; i < SSMResourceList.count; i += 1) { table = SSMResourceList.ssmresource[i].table; if (i > 0) { output = output + "\n"; } output = output + SSMResourceListUtils.formatResourceResponse(table, SSMResourceList.ssmresource[i].resource); output = `${output}\n${SSMResourceListUtils.formatStateResponse(SSMResourceList.ssmresource[i].current, SSMResourceList.ssmresource[i].desired, params.arguments.restApi)}`; } return output; } static formatRestApiResourceList(SSMResourceList, params) { let table = ""; let output = ""; if (SSMResourceList.length > 0) { for (let i = 0; i < SSMResourceList.length; i += 1) { table = SSMResourceList[i].table; if (i > 0) { output = output + "\n"; } output = output + SSMResourceListUtils.formatResourceResponse(table, SSMResourceList[i].resource); output = `${output}\n${SSMResourceListUtils.formatStateResponse(SSMResourceList[i].currentState, SSMResourceList[i].desiredState, params.arguments.restApi)}`; } } else { table = SSMResourceList.table; output = SSMResourceListUtils.formatResourceResponse(table, SSMResourceList.resource); output = `${output}\n${SSMResourceListUtils.formatStateResponse(SSMResourceList.currentState, SSMResourceList.desiredState, params.arguments.restApi)}`; } return output; } static formatRestApiAllResourceList(SSMResourceList, params) { let output = ""; if (SSMResourceList.length > 0) { for (let i = 0; i < SSMResourceList.length; i += 1) { const resource = SSMResourceList[i]; output = output + SSMResourceListUtils.formatOutputFromArrayRestApi(resource, i, params); } // close out JSON if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) { output = output + "]"; } } else { output = output + SSMResourceListUtils.formatOutputRestApi(SSMResourceList, params); } return output; } static formatOutputFromArrayRestApi(resource, i, params) { let output = ""; if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) { if (i === 0) { output = `${output}${SSMResourceListUtils.formatAllCsvHeaderResponse()}`; } output = `${output}\n${SSMResourceListUtils.formatAllCsvDataResponse(resource)}`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) { if (i === 0) { output = output + "["; } else if (i > 0) { output = output + ",\n"; } output = `${output}${SSMResourceListUtils.formatAllDataResponseJson(resource)}`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) { if (i > 0) { output = output + "\n"; } output = `${output}${SSMResourceListUtils.formatAllDataResponseWithColor(resource)}`; } else { if (i > 0) { output = output + "\n"; } output = `${output}${SSMResourceListUtils.formatAllDataResponse(resource)}`; } return output; } static formatOutputRestApi(resource, params) { let output = ""; if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.CSV) { output = `${SSMResourceListUtils.formatAllCsvHeaderResponse()}`; output = `${output}\n${SSMResourceListUtils.formatAllCsvDataResponse(resource)}`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.JSON) { output = `[${output}${SSMResourceListUtils.formatAllDataResponseJson(resource)}]`; } else if (params.arguments.format.toUpperCase() === constants_1.OpsConstants.NAMEVALUECOLOR) { output = `${output}${SSMResourceListUtils.formatAllDataResponseWithColor(resource)}`; } else { output = `${output}${SSMResourceListUtils.formatAllDataResponse(resource)}`; } return output; } static formatResourceResponse(table, resourceName) { const name = OpsTextUtils_1.OpsTextUtils.colorizeAttention("name: "); return `${name}/${table}/${resourceName}`; } static formatStateResponse(current, desired, restApi) { const state = " state"; let currentStateString = "current"; let desiredStateString = "desired"; if (restApi) { currentStateString = currentStateString + state; desiredStateString = desiredStateString + state; } let currentState = current; let desiredState = desired; if (currentState === desiredState) { currentState = OpsTextUtils_1.OpsTextUtils.colorizeOK(currentState); desiredState = OpsTextUtils_1.OpsTextUtils.colorizeOK(desiredState); } else { currentState = OpsTextUtils_1.OpsTextUtils.colorizeError(currentState); desiredState = OpsTextUtils_1.OpsTextUtils.colorizeError(desiredState); } const currentAttention = OpsTextUtils_1.OpsTextUtils.colorizeAttention(currentStateString + ": "); const desiredAttention = OpsTextUtils_1.OpsTextUtils.colorizeAttention(desiredStateString + ": "); return `${currentAttention}${currentState} ${desiredAttention}${desiredState}`; } static formatAllDataResponse(SSMResourceList) { let output = `name: /${SSMResourceList.table}/${SSMResourceList.resource}\n`; const lineLength = 30; output = output + ` sysplex: ${SSMResourceList.sysplex} system: ${SSMResourceList.system}`; // if no value then show '' if (SSMResourceList.jobName === "") { SSMResourceList.jobName = "''"; } output = output + ` subsystem: ${SSMResourceList.subsystem} jobName: ${SSMResourceList.jobName}\n`; output = output + ` type: ${SSMResourceList.type} currentState: ${SSMResourceList.currentState}`; output = output + ` desiredState: ${SSMResourceList.desiredState}`; // if no value then show '' if (SSMResourceList.prereqs === "") { SSMResourceList.prereqs = "''"; } // For prereqs place on separate line if long value if (SSMResourceList.prereqs.length > lineLength) { output = output + `\n prereqs: ${SSMResourceList.prereqs}\n`; } else { output = output + ` prereqs: ${SSMResourceList.prereqs}\n`; } // if no value then show '' if (SSMResourceList.missingPrereqs === "") { SSMResourceList.missingPrereqs = "''"; } // For missingPrereqs place on separate line if long value if (SSMResourceList.missingPrereqs.length > lineLength) { output = output + ` missingPrereqs: ${SSMResourceList.missingPrereqs}\n`; } else { output = output + ` missingPrereqs: ${SSMResourceList.missingPrereqs}`; } output = output + ` resourceMode: ${SSMResourceList.resourceMode}`; output = output + ` prereqMode: ${SSMResourceList.prereqMode} referenceMode: ${SSMResourceList.referenceMode}\n`; output = output + ` actionMode: ${SSMResourceList.actionMode} scheduleMode: ${SSMResourceList.scheduleMode}`; output = output + ` checkpointState: ${SSMResourceList.chkpointState} iplState: ${SSMResourceList.iplState}`; return output; } static formatAllDataResponseJson(SSMResourceList) { let output = `{`; output = output + `"sysplex": "${SSMResourceList.sysplex}", "system": "${SSMResourceList.system}", `; output = output + `"subsystem": "${SSMResourceList.subsystem}", "table": "${SSMResourceList.table}", `; output = output + `"resource": "${SSMResourceList.resource}", "jobName": "${SSMResourceList.jobName}", `; output = output + `"type": "${SSMResourceList.type}", "currentState": "${SSMResourceList.currentState}", `; output = output + `"desiredState": "${SSMResourceList.desiredState}", "prereqs": "${SSMResourceList.prereqs}", `; output = output + `"missingPrereqs": "${SSMResourceList.missingPrereqs}", "resourceMode": "${SSMResourceList.resourceMode}", `; output = output + `"prereqMode": "${SSMResourceList.prereqMode}", "referenceMode": "${SSMResourceList.referenceMode}", `; output = output + `"actionMode": "${SSMResourceList.actionMode}", "scheduleMode": "${SSMResourceList.scheduleMode}", `; output = output + `"checkpointState": "${SSMResourceList.chkpointState}", "iplState": "${SSMResourceList.iplState}"`; output = output + `}`; return output; } static formatAllDataResponseWithColor(SSMResourceList) { const name = OpsTextUtils_1.OpsTextUtils.colorizeAttention("name: "); let output = `${name}/${SSMResourceList.table}/${SSMResourceList.resource}\n`; const sysplexText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("sysplex: "); const sysplexValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.sysplex); const systemText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("system: "); const systemValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.system); const subsystemText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("subsystem: "); const subsystemValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.subsystem); // if no value then show '' if (SSMResourceList.jobName === "") { SSMResourceList.jobName = "''"; } const jobNameText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("jobName: "); const jobNameValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.jobName); const typeText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("type: "); const typeValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.type); const currentStateText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("currentState: "); const currentStateValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.currentState); const desiredStateText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("desiredState: "); const desiredStateValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.desiredState); // if no value then show '' if (SSMResourceList.prereqs === "") { SSMResourceList.prereqs = "''"; } const prereqsText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("prereqs: "); const prereqsValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.prereqs); // if no value then show '' if (SSMResourceList.missingPrereqs === "") { SSMResourceList.missingPrereqs = "''"; } const missingPrereqsText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("missingPrereqs: "); const missingPrereqsValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.missingPrereqs); const resourceModeText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("resourceMode: "); const resourceModeValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.resourceMode); const prereqModeText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("prereqMode: "); const prereqModeValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.prereqMode); const referenceModeText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("referenceMode: "); const referenceModeValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.referenceMode); const actionModeText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("actionMode: "); const actionModeValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.actionMode); const scheduleModeText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("scheduleMode: "); const scheduleModeValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.scheduleMode); const chkpointStateText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("chkpointState: "); const chkpointStateValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.chkpointState); const iplStateText = OpsTextUtils_1.OpsTextUtils.colorizeAttention("iplState: "); const iplStateValue = OpsTextUtils_1.OpsTextUtils.colorizeOK(SSMResourceList.iplState); const lineLength = 30; output = output + ` ${sysplexText}${sysplexValue} ${systemText}${systemValue}`; output = output + ` ${subsystemText}${subsystemValue} ${jobNameText}${jobNameValue}\n`; output = output + ` ${typeText}${typeValue} ${currentStateText}${currentStateValue}`; output = output + ` ${desiredStateText}${desiredStateValue}`; // For prereqs and missingPrereqs place on separate line if long value if (SSMResourceList.prereqs.length > lineLength) { output = output + `\n ${prereqsText}${prereqsValue}\n`; } else { output = output + ` ${prereqsText}${prereqsValue}\n`; } if (SSMResourceList.missingPrereqs.length > lineLength) { output = output + `\n ${missingPrereqsText}${missingPrereqsValue}\n`; } else { output = output + ` ${missingPrereqsText}${missingPrereqsValue}`; } output = output + ` ${resourceModeText}${resourceModeValue}`; output = output + ` ${prereqModeText}${prereqModeValue} ${referenceModeText}${referenceModeValue}\n`; output = output + ` ${actionModeText}${actionModeValue} ${scheduleModeText}${scheduleModeValue}`; output = output + ` ${chkpointStateText}${chkpointStateValue} ${iplStateText}${iplStateValue}\n`; return output; } static formatAllCsvHeaderResponse() { let output = `Sysplex,System,Subsystem,Job Name,Type,Current State,Desired State,Prereqs,Missing Prereqs,Resource Mode,`; output = output + `Prereq Mode,Reference Mode,Action Mode,Schedule Mode,Checkpoint State,IPL State`; return output; } static formatAllCsvDataResponse(SSMResourceList) { let output = `"${SSMResourceList.sysplex}","${SSMResourceList.system}",`; output = output + `"${SSMResourceList.subsystem}","${SSMResourceList.jobName}",`; output = output + `"${SSMResourceList.type}","${SSMResourceList.currentState}",`; output = output + `"${SSMResourceList.desiredState}","${SSMResourceList.prereqs}",`; output = output + `"${SSMResourceList.missingPrereqs}","${SSMResourceList.resourceMode}",`; output = output + `"${SSMResourceList.prereqMode}","${SSMResourceList.referenceMode}",`; output = output + `"${SSMResourceList.actionMode}","${SSMResourceList.scheduleMode}",`; output = output + `"${SSMResourceList.chkpointState}","${SSMResourceList.iplState}"`; return output; } } exports.SSMResourceListUtils = SSMResourceListUtils; //# sourceMappingURL=SSMResourceListUtils.js.map