Name

sn_cmdb_int_util.CmdbIntegrationVirtualDetectionUtil

Description

A set of functions to derive a computer virual indicator from various fields.

Script

var CmdbIntegrationVirtualDetectionUtil = Class.create();
CmdbIntegrationVirtualDetectionUtil.prototype = {
  initialize: function() {
  	
  },

  detectVirtualFromNativeIdentifier: function(nativeIndicator, currentVirtualFlag) {
  	if (currentVirtualFlag == 'true')
  		return 'true';
  	
  	if (!nativeIndicator && (!currentVirtualFlag || currentVirtualFlag.toLowerCase() == 'false'))
  		return 'false';
  			
  	switch (nativeIndicator.toLowerCase()) {
  		case 'y':
  		case 't':
  		case 'true' :
  		case 'yes':
  		case '1':
  		case 'is virtual':
  		case 'virtual':
  			return 'true';
  	}
  	
  	return 'false';
  },
  
  detectVirtualFromModelName: function(modelIn, currentVirtualFlag, vmIdentifiers) {
  	return this.deriveVirtualFromString(modelIn, currentVirtualFlag, vmIdentifiers);
  },
  
  detectVirtualFromSerialNumber: function(serialNumber, currentVirtualFlag, vmIdentifiers) {
  	return this.deriveVirtualFromString(serialNumber, currentVirtualFlag, vmIdentifiers);
  },
  
  deriveVirtualFromString: function(inputString, currentVirtualFlag, vmIdentifiers){
  	if (currentVirtualFlag == 'true')
  		return 'true';
  	
  	if (!inputString && (!currentVirtualFlag || currentVirtualFlag.toLowerCase() == 'false'))
  		return 'false';
  		
  	var inputStringLowerCase = inputString.toLowerCase();
  	vmIdentifiers = gs.nil(vmIdentifiers)? 'vmware': vmIdentifiers+'|vmware';
  	var vmIdentifiersArray = vmIdentifiers.split('|');
  	for(var i=0; i<vmIdentifiersArray.length; i++){
  		if(inputStringLowerCase.indexOf(vmIdentifiersArray[i]) > -1){
  			return true;
  		}
  	}
  	
  	if (inputStringLowerCase.indexOf('vmware') > -1)
  		return true;
  	
  	return false;
  },
  
  type: 'CmdbIntegrationVirtualDetectionUtil'
};

Sys ID

8ac7ec76731200102b6265a751ab9e8d

Offical Documentation

Official Docs: