Name
sn_itom_pde.MidFromCredentialAffinity
Description
This script will help in getting the record from Credential Affinity table associated with any given IP.
Script
var MidFromCredentialAffinity = Class.create();
MidFromCredentialAffinity.prototype = {
initialize: function() {
},
/*
This method will fetch records of mid agent from Credential Affinities table against provided IP address
*/
getMidsFromCredAffinity : function(ip,methodType){
var mids = {};
var result ="";
var grMidCredAffnty = new GlideRecord("dscy_credentials_affinity");
grMidCredAffnty.addQuery("ip_address",ip);
grMidCredAffnty.orderByDesc('sys_updated_on');
grMidCredAffnty.query();
while(grMidCredAffnty.next() && global.JSUtil.nil(result) ){
if(this.checkMidStatus(grMidCredAffnty.agent)){
if(methodType == "try_all_eligible_mid")
mids[grMidCredAffnty.getValue('agent')] = true;
else //Automatic_mid_selection
result = grMidCredAffnty.getValue('agent');
}
}
if(methodType == "try_all_eligible_mid"){
return mids;
}
else
return result;
},
checkMidStatus : function(midSysId){
var result = true;
if (global.JSUtil.notNil(midSysId)) {
result = false;
var grEccAgent = new GlideRecord("ecc_agent");
grEccAgent.get(midSysId);
if (grEccAgent.status == 'Up' && grEccAgent.validated == "true")
result = true;
}
return result;
},
type: 'MidFromCredentialAffinity'
};
Sys ID
e440b49a475351100c807395d36d4308