@zowe/cics-for-zowe-sdk
Version:
Zowe SDK for IBM CICS Transaction Server
123 lines • 6.21 kB
JavaScript
;
/**
* This program and the accompanying materials are made available under the terms of the
* Eclipse Public License v2.0 which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-v20.html
*
* SPDX-License-Identifier: EPL-2.0
*
* Copyright Contributors to the Zowe Project.
*
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.installUrimap = exports.installTransaction = exports.installProgram = void 0;
const imperative_1 = require("@zowe/imperative");
const constants_1 = require("../../constants");
const rest_1 = require("../../rest");
const utils_1 = require("../../utils");
/**
* Install a program definition to CICS through CMCI REST API
* @param {AbstractSession} session - the session to connect to CMCI with
* @param {IProgramParms} parms - parameters for installing your program
* @returns {Promise<any>} promise that resolves to the response (XML parsed into a javascript object)
* when the request is complete
* @throws {ImperativeError} CICS program name not defined or blank
* @throws {ImperativeError} CICS CSD group not defined or blank
* @throws {ImperativeError} CICS region name not defined or blank
* @throws {ImperativeError} CicsCmciRestClient request fails
*/
function installProgram(session, parms) {
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.name, "CICS Program name", "CICS program name is required");
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.csdGroup, "CICS CSD Group", "CICS CSD group is required");
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.regionName, "CICS Region name", "CICS region name is required");
imperative_1.Logger.getAppLogger().debug("Attempting to install a program with the following parameters:\n%s", JSON.stringify(parms));
const requestBody = {
request: {
action: {
$: {
name: "CSDINSTALL",
},
},
},
};
const options = {
cicsPlex: parms.cicsPlex,
regionName: parms.regionName,
criteria: `NAME=${parms.name}`,
parameter: `CSDGROUP(${parms.csdGroup})`,
};
const cmciResource = utils_1.Utils.getResourceUri(constants_1.CicsCmciConstants.CICS_DEFINITION_PROGRAM, options);
return rest_1.CicsCmciRestClient.putExpectParsedXml(session, cmciResource, [], requestBody);
}
exports.installProgram = installProgram;
/**
* Install a transaction definition to CICS through CMCI REST API
* @param {AbstractSession} session - the session to connect to CMCI with
* @param {IProgramParms} parms - parameters for installing your transaction
* @returns {Promise<any>} promise that resolves to the response (XML parsed into a javascript object)
* when the request is complete
* @throws {ImperativeError} CICS transaction name not defined or blank
* @throws {ImperativeError} CICS CSD group not defined or blank
* @throws {ImperativeError} CICS region name not defined or blank
* @throws {ImperativeError} CicsCmciRestClient request fails
*/
function installTransaction(session, parms) {
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.name, "CICS Transaction name", "CICS transaction name is required");
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.csdGroup, "CICS CSD Group", "CICS CSD group is required");
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.regionName, "CICS Region name", "CICS region name is required");
imperative_1.Logger.getAppLogger().debug("Attempting to install a transaction with the following parameters:\n%s", JSON.stringify(parms));
const requestBody = {
request: {
action: {
$: {
name: "CSDINSTALL",
},
},
},
};
const options = {
cicsPlex: parms.cicsPlex,
regionName: parms.regionName,
criteria: `NAME=${parms.name}`,
parameter: `CSDGROUP(${parms.csdGroup})`,
};
const cmciResource = utils_1.Utils.getResourceUri(constants_1.CicsCmciConstants.CICS_DEFINITION_TRANSACTION, options);
return rest_1.CicsCmciRestClient.putExpectParsedXml(session, cmciResource, [], requestBody);
}
exports.installTransaction = installTransaction;
/**
* Install a URIMap installed in CICS through CMCI REST API
* @param {AbstractSession} session - the session to connect to CMCI with
* @param {IURIMapParms} parms - parameters for enabling your URIMap
* @returns {Promise<ICMCIApiResponse>} promise that resolves to the response (XML parsed into a javascript object)
* when the request is complete
* @throws {ImperativeError} CICS URIMap name not defined or blank
* @throws {ImperativeError} CICS CSD group not defined or blank
* @throws {ImperativeError} CICS region name not defined or blank
* @throws {ImperativeError} CicsCmciRestClient request fails
*/
function installUrimap(session, parms) {
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.name, "CICS URIMap name", "CICS URIMap name is required");
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.csdGroup, "CICS CSD group", "CICS CSD group name is required");
imperative_1.ImperativeExpect.toBeDefinedAndNonBlank(parms.regionName, "CICS Region name", "CICS region name is required");
imperative_1.Logger.getAppLogger().debug("Attempting to install a URIMap with the following parameters:\n%s", JSON.stringify(parms));
const options = {
cicsPlex: parms.cicsPlex,
regionName: parms.regionName,
criteria: `NAME=${parms.name}`,
parameter: `CSDGROUP(${parms.csdGroup})`,
};
const cmciResource = utils_1.Utils.getResourceUri(constants_1.CicsCmciConstants.CICS_DEFINITION_URIMAP, options);
const requestBody = {
request: {
action: {
$: {
name: "CSDINSTALL",
},
},
},
};
return rest_1.CicsCmciRestClient.putExpectParsedXml(session, cmciResource, [], requestBody);
}
exports.installUrimap = installUrimap;
//# sourceMappingURL=Install.js.map