@broadcom/file-master-plus-for-zowe-cli
Version:
File Master Plus Plug-in for Zowe CLI
81 lines • 9.09 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
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) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const imperative_1 = require("@zowe/imperative");
const FMPSession_1 = require("../FMPSession");
const FMPCreate_1 = require("../../api/create/FMPCreate");
class CreateVRRDSHandler {
process(params) {
return __awaiter(this, void 0, void 0, function* () {
const sessCfg = yield FMPSession_1.FMPSession.createSessCfgFromArgs(params.arguments);
const sessCfgWithCreds = yield imperative_1.ConnectionPropsForSessCfg.addPropsOrPrompt(sessCfg, params.arguments, { parms: params });
const session = new imperative_1.Session(sessCfgWithCreds);
let errorMsg = "";
if (params.arguments.model === undefined && params.arguments.mrs === undefined) {
errorMsg = "Missing Required Option:\n--maximum-record-size (--mrs)\n\nOption Description:\nSpecifies the maximum length of data records.\nThis parameter is mandatory unless a model data set is specified and and it should be greater than the average record size.\nExample: --mrs 180\n\n";
}
if (params.arguments.model === undefined && params.arguments.ars === undefined) {
errorMsg = errorMsg + "Missing Required Option:\n--average-record-size (--ars)\n\nOption Description:\nSpecifies the average length of data records.\nThis parameter is mandatory unless a model data set is specified and it should be less than the maximum record size.\nExample: --ars 110\n\n";
}
if (params.arguments.model === undefined && (params.arguments.ars === undefined || params.arguments.mrs === undefined)) {
throw new imperative_1.ImperativeError({
msg: errorMsg
});
}
if (params.arguments.mrs !== undefined && params.arguments.ars !== undefined && params.arguments.mrs === params.arguments.ars) {
throw new imperative_1.ImperativeError({
msg: "maximum record size(--maximum-record-size) should be greater than the average record size(--average-record-size).\n"
});
}
const requestBody = {
model: params.arguments.model,
maximumRecordSize: params.arguments.mrs,
averageRecordSize: params.arguments.ars,
dataDSName: params.arguments.ddsn,
dataControlSizeInterval: params.arguments.dcis,
dataSpaceUnits: params.arguments.dsu,
dataPrimarySpace: params.arguments.dps,
dataSecondarySpace: params.arguments.dss,
dataVolume: params.arguments.dv,
indexDSName: params.arguments.idsn,
indexControlSizeInterval: params.arguments.icis,
indexSpaceUnits: params.arguments.isu,
indexPrimarySpace: params.arguments.iss,
indexSecondarySpace: params.arguments.iss,
indexVolume: params.arguments.iv,
bufferSpace: params.arguments.bs,
erase: params.arguments.erase,
loadRestartable: params.arguments.lr,
reuse: params.arguments.reuse,
writeCheck: params.arguments.wc,
controlIntervalFreeSpacePercentage: params.arguments.cifp,
controlAreaFreeSpacePercentage: params.arguments.cafp,
crossRegionShareOption: params.arguments.crso,
crossSystemShareOption: params.arguments.csso,
expirationDate: params.arguments.ed,
storageClass: params.arguments.sc,
managementClass: params.arguments.mc,
dataClass: params.arguments.dc,
log: params.arguments.log,
frlog: params.arguments.frlog,
logReplicate: params.arguments.lrp,
logStreamID: params.arguments.lsi,
rlsEnable: params.arguments.rls
};
const datasetName = params.arguments.name;
const response = yield FMPCreate_1.FMPCreate.doCreateVRRDS(session, datasetName, requestBody);
params.response.console.log("The VRRDS VSAM file named '" + datasetName + "'" + " has been allocated.");
params.response.data.setObj(response);
});
}
}
exports.default = CreateVRRDSHandler;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlVlJSRFMuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvY3JlYXRlL0NyZWF0ZVZSUkRTLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUF1QkEsaURBQXNJO0FBQ3RJLDhDQUEyQztBQUczQywwREFBdUQ7QUFVdkQsTUFBcUIsa0JBQWtCO0lBQ3hCLE9BQU8sQ0FBQyxNQUEwQjs7WUFFN0MsTUFBTSxPQUFPLEdBQWEsTUFBTSx1QkFBVSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVuRixNQUFNLGdCQUFnQixHQUFHLE1BQU0sc0NBQXlCLENBQUMsZ0JBQWdCLENBQ3ZFLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUMzQyxDQUFDO1lBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFHOUMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtnQkFDOUUsUUFBUSxHQUFHLG9SQUFvUixDQUFDO2FBQ2pTO1lBQ0QsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUM5RSxRQUFRLEdBQUcsUUFBUSxHQUFHLDZRQUE2USxDQUFDO2FBQ3JTO1lBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUss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