Name
sn_em_connector.ConnectorTestExecutor
Description
Event management pull connector test api.
Script
var ConnectorTestExecutor = Class.create();
// Note: this is duplicate of 'Test Connector' UI action. If you are making any logic changes here, please check if those needs to be added in UI action.
ConnectorTestExecutor.prototype = {
ERROR: "error",
initialize: function() {
this.evtMgmtConnectorMediator = new global.EvtMgmtConnectorMediator();
},
execute: function(connectorInstanceId) {
var message;
// Validate if connectorInstanceId is valid
var ciGr = new GlideRecord("em_connector_instance");
if (!ciGr.get(connectorInstanceId)) {
message = gs.getMessage("Cannot find a connector instance with id - {0}", [connectorInstanceId]);
return this.generateResponse(this.ERROR, message);
}
var validSCOMVersions = {
"2007": ' ',
"2012": ' ',
"2016": ' ',
"2019": ' ',
"2022": ' '
};
// validate if version is defined for SCOM connector instance
if (ciGr.connector_definition.name == "SCOM") {
var connectorVal = new GlideRecord("em_connector_instance_value");
connectorVal.addQuery("connector_instance", ciGr.sys_id);
connectorVal.addQuery("name", "scom_version");
connectorVal.query();
var isDefined = 0;
if (connectorVal.next()) {
if(validSCOMVersions[connectorVal.getValue("value")])
isDefined = 1;
}
if (isDefined == 0) {
message = gs.getMessage("SCOM version is not defined or invalid");
return this.generateResponse(this.ERROR, message);
}
}
if (this.evtMgmtConnectorMediator.testPullConnector &&
(typeof this.evtMgmtConnectorMediator.testPullConnector == 'function')) {
return this.evtMgmtConnectorMediator.testPullConnector(ciGr);
}
return this.generateResponse(this.ERROR, "Could not find mediator function to call pull connector test.");
},
generateResponse: function(status, message) {
var results = {};
results['status'] = status ? status : this.ERROR;
results['message'] = message;
results['output_summary'] = message;
return results;
},
type: 'ConnectorTestExecutor'
};
Sys ID
6189723343579110a86b78114bb8f2f1