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