Name

sn_cmdb_int_util.CmdbIntegrationClassUtil

Description

Utility class to derive new CI class name from various fields.

Script

var CmdbIntegrationClassUtil = Class.create();
CmdbIntegrationClassUtil.prototype = {
  initialize: function() {
  	this.computer_class_name = "cmdb_ci_computer";
  	this.server_class_name = "cmdb_ci_server";
  	this.windows_server_class_name = "cmdb_ci_win_server";
  	this.linux_server_class_name = "cmdb_ci_linux_server";
  },

  deriveClassNameFromModelInput: function (modelName, className) {
  	if (!modelName && !className)
  		return null;
  	else if (!modelName && className)
  		return className;
  	
  	var result = className;
  	var modelNameLowerCase = modelName.toLowerCase();
  	
  	if (modelNameLowerCase.includes("server") &&
  		(className == this.computer_class_name || className == this.server_class_name) )
  	{
  		if (modelNameLowerCase.includes("window") || modelNameLowerCase.includes("microsoft"))
  			result = this.windows_server_class_name;
  		else if (modelNameLowerCase.includes("linux") ||
                   modelNameLowerCase.includes("arch") ||
                   modelNameLowerCase.includes("centos") ||
                   modelNameLowerCase.includes("debian") ||
                   modelNameLowerCase.includes("fedora") ||
                   modelNameLowerCase.includes("suse") ||
                   modelNameLowerCase.includes("oracle") ||
                   modelNameLowerCase.includes("red hat") ||
                   modelNameLowerCase.includes("rhel") ||
                   modelNameLowerCase.includes("ubuntu"))
  			result = this.linux_server_class_name;
  		else
  			result = this.server_class_name;
  	}
  	
  	return result;
  },
  
  deriveClassNameFromNativeValue: function (nativeValue, className) {
  	// Use the same derive logic as model input for now
  	return this.deriveClassNameFromModelInput(nativeValue, className);
  },
  
  deriveClassNameFromOsName: function (osName, className) {
  	// Use the same derive logic as model input for now
  	return this.deriveClassNameFromModelInput(osName, className);
  },

  type: 'CmdbIntegrationClassUtil'
};

Sys ID

5da9ab9e0f920010d041436eef767e54

Offical Documentation

Official Docs: