Name

sn_cmdb_ci_class.NIDSUtils

Description

Utilities for the cmdb_ci_nids devices.

Script

var NIDSUtils = Class.create();

NIDSUtils.constants = {};
NIDSUtils.constants.NIDS_TABLE_NAME  = 'cmdb_ci_nids';
NIDSUtils.constants.FIELD_MAP_LIST_PROPERTY = 'sn_cmdb_ci_class.nids_map_fields';
NIDSUtils.constants.API_FIELD_MAP_LIST = ',network_type,correlation_id,source_name';

NIDSUtils.getValidSensors = function(nidsSourceName) {
  var sourceQuery = '';
  if (nidsSourceName && (typeof nidsSourceName === 'string') && nidsSourceName.trim()) {
  	sourceQuery = '^source_name=' + nidsSourceName.trim();
  }

  var fieldMapString = gs.getProperty(NIDSUtils.constants.FIELD_MAP_LIST_PROPERTY);
  if (!fieldMapString)
  	return;

  var resultList = [];

  try {
  	fieldMapString += NIDSUtils.constants.API_FIELD_MAP_LIST;

  	var fieldMapList = fieldMapString.split(',');
  	var grNIDS = new GlideRecord(NIDSUtils.constants.NIDS_TABLE_NAME);
  	grNIDS.addEncodedQuery('nids_manager=false^validated=true' + sourceQuery);
  	grNIDS.query();

  	while (grNIDS.next()) {
  		var sensorObj = {};

  		for (var i = 0; i < fieldMapList.length; i++) {
  			sensorObj[fieldMapList[i]] = grNIDS.getValue(fieldMapList[i]);
  		}

  		resultList.push(sensorObj);
  	}
  } catch (ex) {
  	gs.error('Error occurred in NIDSUtils.getAllValidSensors: ' + ex.message);
  }

  return resultList;
};

NIDSUtils.prototype = {
  initialize: function() {
  },

  type: 'NIDSUtils'
};

Sys ID

89359daab7e97010bdddc4d0ee11a985

Offical Documentation

Official Docs: